
:root{--green:#176b50;--green2:#21845f;--dark:#123e32;--ink:#20312a;--muted:#819089;--line:#e7eeea;--bg:#f5f8f6;--white:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app{height:100dvh;display:flex;background:#fff}.sidebar{width:280px;flex-shrink:0;background:var(--dark);color:#eaf4ee;display:flex;flex-direction:column;padding:20px 14px 12px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;padding:0 7px 22px}.logo{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#29a878,#126347);display:grid;place-items:center;color:white;font-size:24px;font-weight:700}.logo.mini{width:34px;height:34px;border-radius:11px;font-size:18px}.workspace{padding:12px;background:#ffffff12;border-radius:10px;font-size:12px;color:#b8d1c4;margin-bottom:24px}.workspace:first-letter{color:#69d99e}.side-title{font-size:10px;letter-spacing:1.3px;color:#8eafa0;font-weight:700;padding:0 9px 9px;margin-top:12px}.nav-list{display:grid;gap:3px}.nav-item{border:0;background:transparent;color:#c5d9ce;text-align:left;padding:10px;border-radius:8px;display:flex;align-items:center;gap:10px;font-size:13px;width:100%}.nav-item:hover,.nav-item.active{background:#ffffff18;color:#fff}.nav-item .symbol{width:18px;text-align:center;color:#8eb7a1;font-weight:700}.people{overflow:auto}.side-footer{margin-top:auto;border-top:1px solid #ffffff20;padding:14px 4px 4px;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;background:#d3ecdf;color:#176b50;display:grid;place-items:center;font-weight:700;font-size:12px;flex-shrink:0}.user-info{display:grid;gap:2px;min-width:0;flex:1;font-size:12px}.user-info small{color:#a4c1b2}.text-btn,.logout{border:0;background:transparent;color:#d5e8dc}.text-btn{font-size:11px;padding:7px}.logout{font-size:20px}.chat{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:13px}.hash{width:38px;height:38px;border-radius:12px;background:#e8f5ee;color:var(--green);display:grid;place-items:center;font-size:21px;font-weight:700}.chat-heading{flex:1}.chat-heading h2{margin:0;font-size:16px}.chat-heading p{margin:4px 0 0;color:var(--muted);font-size:11px}.connected{font-size:11px;color:#668276}.connected i{display:inline-block;width:7px;height:7px;background:#32b878;border-radius:50%;margin-right:5px}.messages{flex:1;overflow:auto;padding:26px clamp(16px,5vw,72px);background:linear-gradient(#fff,#fbfdfc);display:flex;flex-direction:column;gap:18px}.welcome{margin:auto;text-align:center;color:var(--muted)}.welcome div{font-size:40px}.welcome h2{color:var(--ink);font-size:19px}.welcome p{font-size:13px}.message{display:flex;gap:10px;max-width:760px;align-items:flex-start}.message.mine{align-self:flex-end;flex-direction:row-reverse}.message .avatar{width:31px;height:31px;font-size:10px}.bubble-wrap{min-width:0}.sender{font-size:11px;color:#6f8178;font-weight:700;margin:0 0 5px 2px}.bubble{background:#f0f5f2;padding:11px 14px;border-radius:4px 15px 15px 15px;font-size:13px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.mine .bubble{background:#e1f4e8;border-radius:15px 4px 15px 15px}.time{font-size:9px;color:#91a097;margin:5px 3px 0}.file-card{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px;background:#ffffffb8;border:1px solid #dce9e1;border-radius:10px;max-width:330px}.file-icon{width:34px;height:34px;background:#e9f4ed;border-radius:9px;display:grid;place-items:center;color:var(--green);font-weight:700}.file-card a{color:var(--green);font-size:12px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.file-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.compose-area{padding:12px clamp(14px,5vw,72px) 20px;border-top:1px solid var(--line);background:#fff}.compose-tools{display:flex;align-items:center;gap:9px;color:#99a69f;font-size:10px;margin-bottom:8px}.attach{font-size:22px;line-height:20px;color:var(--green);cursor:pointer}.composer{display:flex;align-items:flex-end;gap:10px;background:#f5f8f6;border:1px solid #e5ede8;border-radius:14px;padding:9px 10px 9px 15px}.composer textarea{flex:1;resize:none;border:0;outline:0;background:transparent;min-height:25px;max-height:120px;font-size:13px;color:var(--ink)}.send,.primary{border:0;background:var(--green);color:white;border-radius:10px;padding:10px 16px;font-weight:600}.send{width:38px;height:36px;padding:0;font-size:18px}.login-screen,.setup{min-height:100dvh;display:grid;place-items:center;padding:20px;background:linear-gradient(140deg,#eaf5ee,#f8fbf9)}.login-card,.setup-card{width:min(420px,100%);background:#fff;padding:34px;border-radius:22px;box-shadow:0 18px 60px #1b56351a}.login-card .logo,.setup-card .logo{margin-bottom:18px}.login-card h1,.setup-card h1{font-size:23px;margin:0 0 7px}.muted{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 22px}.login-card label,.setup-card label,.modal-box label{display:grid;gap:7px;font-size:12px;font-weight:600;margin:15px 0}.login-card input,.setup-card input,.modal-box input{padding:12px;border:1px solid var(--line);border-radius:9px;outline-color:#69b993;width:100%}.login-card .primary,.setup-card .primary{width:100%;margin-top:10px}.error{color:#b44343;font-size:12px;margin:10px 0}.modal{position:fixed;inset:0;background:#0b211bd1;display:grid;place-items:center;padding:18px;z-index:5}.modal-box{background:white;border-radius:18px;padding:28px;width:min(440px,100%);position:relative}.modal-box h2{font-size:20px;margin:0 0 8px}.modal-box .muted{margin-bottom:15px}.modal-box small{font-size:10px;color:var(--muted);font-weight:400}.close{position:absolute;right:17px;top:12px;border:0;background:transparent;font-size:24px;color:var(--muted)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#183e32;color:white;padding:11px 17px;border-radius:10px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.notice{background:#e6f5eb;color:#176b50;padding:12px;border-radius:10px;font-size:13px;margin:15px 0}.setup-card form .primary{width:100%}.setup-card hr{border:0;border-top:1px solid var(--line);margin:22px 0}.mobile{display:none}
@media(max-width:720px){.sidebar{position:fixed;z-index:4;inset:0 auto 0 0;width:min(300px,85vw);transform:translateX(-102%);transition:transform .22s}.sidebar.open{transform:translateX(0)}.topbar{height:65px;padding:0 14px}.mobile{display:block;border:0;background:transparent;font-size:19px;color:var(--green)}.connected{display:none}.messages{padding:18px 13px}.compose-area{padding:10px 12px 14px}.side-footer{padding-bottom:10px}}

.brand small{display:block;font-size:9px;letter-spacing:2px;color:#9ec9b2;font-weight:600;margin-top:2px}.side-search{margin:0 0 8px;padding:10px;border:1px solid #ffffff20;border-radius:8px;background:#ffffff12;color:white;outline:0;font-size:12px}.side-search::placeholder{color:#a9c5b7}.tiny{width:24px;height:24px;font-size:9px;flex-shrink:0}.chat-tools{display:flex;gap:6px;align-items:center}.chat-tools input{width:min(190px,20vw);border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11px}.small-btn,.mini-btn{border:1px solid var(--line);background:#fff;color:var(--green);padding:7px 10px;border-radius:8px;font-size:11px}.announcements{padding:10px 28px;background:#f2f8f4;border-bottom:1px solid var(--line);display:grid;gap:7px}.announcements article{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-size:11px}.announcements article b{color:var(--green)}.announcements article small{color:var(--muted)}.message-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:4px}.message-actions button{border:0;background:transparent;color:#72877b;font-size:10px;padding:2px 4px}.message-actions button:hover{color:#a33}.modal-box.wide{width:min(960px,96vw);max-height:90dvh;overflow:auto}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-grid section{border:1px solid var(--line);border-radius:12px;padding:15px;min-width:0}.admin-grid h3{font-size:13px;margin:0 0 10px}.admin-grid label{font-size:11px}.admin-grid input,.admin-grid select,.admin-grid textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit;font-size:12px}.admin-grid select[multiple]{height:100px}.admin-grid .primary,.admin-grid .secondary,.admin-grid .danger{font-size:11px;padding:9px 12px}.secondary{border:1px solid #d9e8df;background:#f4faf6;color:var(--green);border-radius:9px;font-weight:600}.danger{border:0;background:#a63e3e;color:#fff;border-radius:9px;font-weight:600}.full{width:100%;margin-top:10px}.account-list{max-height:230px;overflow:auto;margin-bottom:12px}.account-row{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:8px 0;font-size:11px}.account-row span:first-child{display:grid;gap:3px;min-width:0}.account-row small,.file-row small,.audit-row small{display:block;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.account-row select{width:auto;padding:5px}.account-row .mini-btn{padding:5px 7px}.file-list,.audit-list{max-height:160px;overflow:auto}.file-row,.audit-row{padding:7px 0;border-bottom:1px solid var(--line);font-size:11px}.file-row a{color:var(--green);text-decoration:none;font-weight:600}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.super-only[hidden],.super-only-panel[hidden]{display:none!important}.notice{line-height:1.5}
@media(max-width:720px){.chat-tools input{width:110px}.chat-tools .small-btn{display:none}.topbar{gap:8px;padding:0 10px}.announcements{padding:9px 12px}.announcements article{grid-template-columns:1fr;gap:3px}.admin-grid{grid-template-columns:1fr}.modal-box.wide{padding:22px 16px}.account-row{align-items:flex-start}.side-footer{flex-wrap:wrap}}
