*{box-sizing:border-box}body{margin:0;background:#f3f5f1;color:#203a32;font:15px/1.6 system-ui,-apple-system,'Microsoft YaHei',sans-serif}header{padding:22px 4%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4da}.brand{font-size:25px;font-weight:750}.brand span{font-size:13px;font-weight:400;margin-left:15px;color:#678071}.badge{padding:5px 10px;border-radius:20px;background:#e3ece2;font-size:12px;white-space:nowrap}main{max-width:1480px;margin:auto;padding:26px 4%}.intro{margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:2px;color:#718574;margin:0 0 5px}h1{font-size:34px;font-weight:650;margin:5px 0}h2{font-size:17px;margin:0 0 14px}.intro>p:last-child{color:#718075}.layout{display:grid;grid-template-columns:250px minmax(0,1fr) 260px;gap:18px;align-items:start}.card{background:#fff;border:1px solid #e0e6dc;border-radius:18px;padding:22px;box-shadow:0 8px 30px #24432a05}aside .card+.card{margin-top:16px}label{display:block;font-size:13px;margin:12px 0 6px}input,select,textarea{width:100%;border:1px solid #cbd7cc;border-radius:9px;padding:11px;background:#fff;color:inherit;font:inherit}textarea{resize:vertical}button{background:#214f42;color:#fff;border:0;border-radius:9px;padding:11px 15px;font:inherit;font-size:13px;cursor:pointer;margin-top:10px}button:disabled{opacity:.5;cursor:wait}.secondary{background:#edf2ea;color:#2f5747;width:100%}.text{background:transparent;color:#3a6953;padding:0;margin:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading h2{margin:0}.muted,small{font-size:12px;color:#778777}.rooms button{width:100%;text-align:left;background:#f3f5f0;color:#38503e;overflow-wrap:anywhere}.rooms button.active{background:#dcead9}.chat{min-height:620px;display:flex;flex-direction:column}.messages{height:330px;overflow:auto;padding:20px 0;display:flex;flex-direction:column;gap:12px;margin-top:10px}.empty{margin:auto;text-align:center;color:#82907f}.bubble{max-width:90%;background:#edf2e9;padding:10px 14px;border-radius:12px;align-self:start;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.own{background:#dbe9dc;align-self:end}.bubble small{display:block;margin-bottom:4px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}hr{border:0;border-top:1px solid #e4e9df;margin:25px 0}#feedback{position:sticky;bottom:18px;background:#243f35;color:#fff;border-radius:10px;padding:0 18px;max-width:700px;margin:15px auto 0}#feedback:not(:empty){padding:12px 18px}footer{text-align:center;color:#83907c;font-size:12px;padding:25px}details{margin-top:16px}summary{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a8bb69;outline-offset:3px}[hidden]{display:none!important}@media(max-width:1100px){.layout{grid-template-columns:240px minmax(0,1fr)}.notify{grid-column:1/-1}}@media(max-width:650px){.layout{display:block}.card{margin-bottom:15px}h1{font-size:26px}.intro{margin-bottom:20px}header{padding:15px}.brand span{display:none}main{padding:20px 14px}.chat{min-height:540px}.messages{height:300px}.heading small{max-width:150px}}
.report-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px}.report-detail{margin-top:20px}.report-layout fieldset{border:0;padding:0;margin:0}.report-layout .heading button{width:auto}.report-text{white-space:pre-wrap;overflow-wrap:anywhere}.report-layout details{border-top:1px solid #e2e8df;padding-top:10px}@media(max-width:700px){.report-layout{display:block}}

/* Shared workspace shell */
:root{--rail:88px;--ink:#203a32;--accent:#245b49;--line:#e2e8e2;--muted:#718277}body{background:#f4f6f3}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-nav{position:fixed;inset:0 auto 0 0;width:var(--rail);background:#173f34;display:flex;flex-direction:column;align-items:center;gap:13px;padding:22px 10px;z-index:40}.app-nav a{color:#afc7bb;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:12px;border-radius:12px;width:64px;padding:11px 4px;text-decoration:none}.app-nav a.active{background:#315c4e;color:#fff}.app-nav a:hover{background:#254e40;color:#fff}.app-nav .nav-logo{font-size:26px;font-weight:750;color:#fff;padding:0 0 24px;background:none}.app-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}header{height:74px;padding:0 34px;margin-left:var(--rail);background:#fff;border-bottom:1px solid var(--line)}.brand{font-size:22px}.brand span{font-size:12px;color:#819087}.profile-link{font-size:13px;background:#eef3ed;padding:7px 14px;border-radius:30px}main{margin:0 0 0 var(--rail);max-width:none;padding:24px 30px}.intro{margin-bottom:22px}.intro h1{font-size:28px;margin:2px 0 5px}.intro p{margin:4px 0}.eyebrow{letter-spacing:1px}.card{box-shadow:none;border-radius:14px;border-color:var(--line)}.layout{grid-template-columns:270px minmax(0,1fr);gap:20px}.layout aside{min-width:0}.layout aside>.card{min-height:calc(100dvh - 130px);padding:20px 16px}.layout aside .heading{margin-bottom:20px}.chat{height:calc(100dvh - 122px);min-height:620px;padding:22px 24px}.chat>.heading{padding-bottom:14px;border-bottom:1px solid var(--line)}.chat .messages{flex:1;min-height:180px;height:auto;margin:0;padding:22px 2px}.chat>details{margin-top:10px}.chat summary{font-size:12px;color:#6b8072}.chat #composer{padding-top:12px;border-top:1px solid var(--line)}#composer>label[for=mentionUser]{display:inline;font-size:12px}#mentionUser{width:140px;margin:0 8px;padding:5px 8px;font-size:12px}#body{border:0;background:#f6f8f4;min-height:82px;padding:12px;margin-top:8px}#composer>label[for=body]{position:absolute;width:1px;height:1px;overflow:hidden}.composer-tools{margin:8px 0;max-height:240px;overflow:auto}.composer-tools .secondary{width:auto;margin-right:8px}.composer-tools input[type=file]{font-size:12px}.bubble{max-width:78%;font-size:14px;line-height:1.6;padding:12px 15px;background:#edf2eb}.bubble.own{background:#deeddf}.bubble blockquote{border-left:3px solid #a8c4b3;margin:5px 0 10px;padding-left:10px;font-size:12px;color:#6f8175}.bubble>div:last-child{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.bubble .text,.bubble a{font-size:11px}.bubble audio{max-width:100%;width:260px}.bubble small{font-size:10px;color:#728474}.rooms button{border-radius:10px;padding:14px;margin:4px 0;background:transparent;border:1px solid transparent}.rooms button.active{background:#e7f0e3;border-color:#d7e4d1}.empty{padding:45px 10px;line-height:2}#loginView{max-width:820px;margin:7vh auto}#loginView .intro{text-align:center;margin-bottom:30px}.login-card{max-width:420px;margin:auto;padding:30px}.login-card button{width:100%;margin-top:22px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1100px}.settings-grid .card{margin:0}.setting-link{display:block;border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:20px;font-weight:600}.setting-link span{display:block;font-size:12px;color:var(--muted);font-weight:400}.report-layout{gap:20px;max-width:1300px}.report-layout>.card,.report-layout>section>.card{padding:24px}.report-layout .heading .secondary{width:auto}.report-layout input[type=date]{max-width:230px}.report-layout h3{font-size:13px;color:#526c5b}.report-layout textarea{background:#fafbf9}#todoList button{display:block;text-align:left;padding:15px;margin-bottom:8px}#feedback{z-index:45;font-size:13px}fieldset{min-width:0;border:0;padding:0;margin:0}.badge{color:#53715f;background:#ecf3e8}.secondary{background:#eef3eb}button:hover:not(:disabled){filter:brightness(.96)}.heading small{font-size:11px}#adminContent{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
@media(min-width:1500px){main{padding:30px 44px}.layout{grid-template-columns:300px minmax(0,1fr)}.chat{height:calc(100dvh - 140px)}}
@media(max-width:1050px){.layout{grid-template-columns:225px minmax(0,1fr)}main{padding:20px}.chat{padding:18px;min-height:600px}#adminContent{grid-template-columns:repeat(2,minmax(0,1fr))}.report-layout{grid-template-columns:1fr}}
@media(max-width:700px){:root{--rail:0px}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.app-nav{inset:auto 0 0;width:100%;height:calc(70px + env(safe-area-inset-bottom));padding:5px 8px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);flex-direction:row;justify-content:space-around;gap:0}.app-nav .nav-logo{display:none}.app-nav a{color:#7b8e80;width:23%;padding:6px 0;gap:2px}.app-nav a.active{background:#edf4e8;color:#245b49}.app-nav a:hover{background:#edf4e8;color:#245b49}header{height:60px;padding:0 18px}.brand{font-size:21px}.profile-link{font-size:12px}main{padding:18px 14px}.layout{display:block}.layout aside>.card{min-height:0;margin-bottom:14px}.layout aside .rooms{display:flex;overflow:auto;gap:8px;max-height:135px}.rooms button{min-width:145px;width:auto}.chat{height:auto;min-height:610px;padding:18px 14px}.chat .messages{height:310px;flex:none;min-height:240px}.settings-grid,#adminContent{grid-template-columns:1fr;gap:14px}.report-layout{display:block}.card{margin-bottom:14px}.intro h1{font-size:26px}.report-layout>.card,.report-layout>section>.card{padding:20px}.bubble{max-width:92%}#feedback{bottom:80px}#loginView{margin:3vh auto}.login-card{padding:24px}.report-layout input[type=date]{max-width:100%}.chat .heading small{max-width:175px}audio{max-width:100%}}
