.member-shell{background:radial-gradient(at 10% 10%,#dce9df 0,#0000 42%),#f2f4ef;justify-content:center;align-items:stretch;height:100dvh;min-height:540px;padding:22px;display:flex}.chat-view{background:#fff;border:1px solid #e5e9e3;border-radius:18px;flex-direction:column;width:min(100%,980px);height:100%;display:flex;overflow:hidden;box-shadow:0 24px 70px #193b2710}.chat-topbar{border-bottom:1px solid #edf0ec;flex:0 0 76px;justify-content:space-between;align-items:center;height:76px;padding:0 24px;display:flex}.chat-title{align-items:center;gap:12px;display:flex}.chat-title strong,.chat-title span{display:block}.chat-title strong{font-size:14px}.presence{color:#8a958e;margin-top:5px;font-size:11px}.presence i{background:#b7c1ba;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.presence i.online{background:#42a36a;box-shadow:0 0 0 3px #42a36a1a}.avatar{color:#28543b;background:#eaf0e9;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.top-actions{align-items:center;gap:12px;display:flex}.socket-state{text-transform:capitalize;color:#8a958e;font-size:11px}.socket-state.connected{color:#32744a}.quiet-button,.icon-button{color:#5c6b61;background:0 0;width:auto;margin:0;padding:8px 10px;font-size:12px}.quiet-button:hover,.icon-button:hover{color:#173d2c;background:#f3f6f2}.back-button{font-size:20px}.message-list{background:linear-gradient(#fff,#fcfdfb);flex:1;padding:28px clamp(16px,5vw,64px);overflow:auto}.empty-chat{text-align:center;color:#8b988f;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.empty-chat>span{color:#528164;background:#eff4ef;border-radius:50%;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.empty-chat h2{color:#35473a;margin:18px 0 5px;font-family:Georgia,serif;font-size:25px;font-weight:400}.empty-chat p{margin:0;font-size:13px}.message-row{margin:12px 0;display:flex}.message-row.mine{justify-content:flex-end}.bubble{color:#29352d;background:#f0f3ef;border-radius:14px;max-width:min(74%,620px);padding:12px 14px 8px;box-shadow:0 1px 1px #17211d08}.mine .bubble{background:#e8f1e9;border-bottom-right-radius:4px}.theirs .bubble{border-bottom-left-radius:4px}.bubble>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.message-meta{color:#8a958e;justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;font-size:10px;display:flex}.message-meta button,.message-menu summary{color:#819087;cursor:pointer;background:0 0;width:auto;margin:0;padding:0;font-size:10px}.message-meta button:hover{color:#28543b;text-decoration:underline}.message-menu{position:relative}.message-menu>div{z-index:2;background:#fff;border:1px solid #e1e7e1;border-radius:9px;width:160px;padding:6px;position:absolute;bottom:18px;right:0;box-shadow:0 12px 30px #1427191c}.message-menu>div button{text-align:left;width:100%;padding:8px;display:block}.attachment{margin-top:8px}.attachment img,.attachment video{border-radius:9px;max-width:min(100%,440px);max-height:360px;display:block}.file-pill{color:#31543c;text-align:left;background:#fff;border:1px solid #dce4dc;width:auto;margin:0;padding:9px 10px;font-size:12px}.file-pill:hover{background:#f4f7f4}.typing-indicator{color:#839087;padding:8px 0;font-size:12px}.typing-indicator span{color:#4b7858;letter-spacing:2px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.3}}.composer{background:#fbfcfb;border:1px solid #dfe6df;border-radius:13px;flex:none;align-items:center;gap:10px;margin:0 20px;padding:12px;display:flex}.composer input:not([type=file]){box-shadow:none;background:0 0;border:0;padding:9px 4px;font-size:14px}.attach-button{color:#3d674a;cursor:pointer;background:#eff4ef;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:22px;display:grid}.attach-button input{display:none}.send-button{white-space:nowrap;width:auto;margin:0;padding:10px 14px}.send-button span{margin-left:8px}.privacy-note{text-align:center;color:#9aa49d;margin:10px 0 13px;font-size:10px}.chat-error{color:#9d3030;background:#fbefed;border-radius:8px;justify-content:space-between;margin:8px 20px 0;padding:8px 12px;font-size:12px;display:flex}.chat-error button{width:auto;color:inherit;background:0 0;margin:0;padding:0}.admin-shell{color:#233128;background:#f5f7f4;height:100dvh;min-height:580px;display:flex}.admin-sidebar{color:#e8f0e9;background:#153a2a;flex-direction:column;flex:0 0 246px;width:246px;padding:22px 14px 14px;display:flex}.brandline{align-items:center;gap:11px;padding:2px 8px 25px;display:flex}.small-mark{background:#315b43;border-radius:11px;width:36px;height:36px;font-size:12px}.brandline b,.brandline small,.owner-profile b,.owner-profile small{display:block}.brandline b{font-size:13px}.brandline small{color:#a7bdad;margin-top:3px;font-size:10px}.admin-nav{gap:4px;display:grid}.admin-nav button{text-align:left;color:#bbccbf;background:0 0;border-radius:8px;width:100%;margin:0;padding:11px 12px;font-weight:500}.admin-nav button.selected,.admin-nav button:hover{color:#fff;background:#ffffff17}.admin-nav button span{margin-left:8px}.room-nav-label{color:#8eaa97;letter-spacing:.14em;justify-content:space-between;align-items:center;margin:28px 8px 8px;font-size:9px;font-weight:700;display:flex}.room-nav-label button{color:#e5eee6;background:#ffffff17;border-radius:6px;width:22px;height:22px;margin:0;padding:0;font-size:16px}.room-list{flex:1;overflow:auto}.room-list>button{text-align:left;color:#d7e3d9;background:0 0;border-radius:8px;align-items:center;gap:8px;width:100%;margin:2px 0;padding:10px 9px;display:flex}.room-list>button:hover,.room-list>button.active-room{background:#ffffff14}.room-dot{background:#78b987;border-radius:50%;width:7px;height:7px}.room-id{flex:1;font:11px ui-monospace,monospace}.room-list small{color:#91a996;font-size:9px}.owner-profile{border-top:1px solid #ffffff20;align-items:center;gap:9px;padding:13px 7px 3px;display:flex}.owner-profile .avatar{background:#dce9dd}.owner-profile b{font-size:11px}.owner-profile small{color:#9eb5a4;margin-top:3px;font-size:10px}.owner-profile>button{color:#a8baad;background:0 0;width:25px;margin:0 0 0 auto;padding:5px}.admin-content{flex:1;padding:32px clamp(18px,4vw,48px);overflow:auto}.admin-header{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.admin-header .eyebrow{margin:0 0 8px;font-size:9px}.admin-header h1{letter-spacing:-.03em;font-family:Georgia,serif;font-size:32px}.admin-secure{color:#698171;background:#eaf2eb;border-radius:16px;padding:7px 10px;font-size:11px}.admin-card{background:#fff;border-radius:12px;margin:auto;padding:28px}.login-card h1{font-size:38px}.login-card label{margin-top:16px}.login-card button{margin-top:22px}.welcome-panel{text-align:center;background:#fff;border:1px solid #e8ede8;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;max-width:760px;min-height:420px;margin:8vh auto;padding:45px;display:flex;box-shadow:0 18px 60px #213c2c08}.welcome-icon{color:#467052;background:#edf4ed;border-radius:15px;place-items:center;width:50px;height:50px;font-size:26px;display:grid}.welcome-panel h2{margin:20px 0 8px;font:400 30px Georgia,serif}.welcome-panel>p{color:#78857c;max-width:440px;font-size:13px;line-height:1.6}.welcome-panel>button{width:auto;margin-top:16px;padding:12px 16px}.welcome-panel>button span{margin-left:15px}.stat-strip{border-top:1px solid #edf0ec;gap:52px;margin-top:52px;padding-top:24px;display:flex}.stat-strip b,.stat-strip small{display:block}.stat-strip b{font:24px Georgia,serif}.stat-strip small{color:#849188;margin-top:5px;font-size:10px}.room-detail-grid,.security-grid,.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.panel,.metric-card{background:#fff;border:1px solid #e6ebe5;border-radius:13px;padding:19px;box-shadow:0 7px 22px #193b2705}.panel-title{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.panel-title h2{color:#2c3a30;margin:0;font-size:14px}.panel-title p{color:#89958d;margin:5px 0 0;font-size:11px}.count-badge{color:#486a52;background:#edf4ed;border-radius:12px;padding:5px 8px;font-size:10px}.panel-empty{text-align:center;color:#8b968e;padding:35px 12px;font-size:12px;line-height:1.5}.device-row{border-top:1px solid #f0f2ef;align-items:center;gap:11px;padding:13px 0;display:flex}.device-icon{color:#597460;background:#f0f4f0;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.device-info{flex:1;min-width:0}.device-info b,.device-info small{display:block}.device-info b{font-size:12px}.device-info small{color:#89958d;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.device-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.device-actions button{width:auto;margin:0;padding:7px 8px;font-size:10px}.mini-primary{background:#28583d}.mini-quiet{color:#56665a;background:#f0f3ef}.mini-link{color:#64776a;background:0 0}.conversation-row{text-align:left;color:#2f4034;background:#fff;border-top:1px solid #f0f2ef;align-items:center;gap:10px;width:100%;margin:0;padding:11px 2px;display:flex}.conversation-row:hover{background:#f8faf7}.conversation-row>div:nth-child(2){flex:1}.conversation-row b,.conversation-row small{display:block}.conversation-row b{font-size:12px}.conversation-row small{color:#89958d;margin-top:4px;font-size:10px}.conversation-row>span{color:#5d7a64;font-size:10px}.room-state-panel{grid-column:1/-1}.state-pill{border-radius:14px;padding:6px 9px;font-size:9px;font-weight:700}.state-pill.active{color:#317146;background:#eaf5ec}.state-pill.archived{color:#796a38;background:#f6f1df}.state-pill.revoked{color:#8b4545;background:#f8eaea}.danger-actions{gap:9px;padding-top:12px;display:flex}.danger-actions button{color:#815145;background:#f5f1ee;width:auto;margin:0;padding:10px 13px;font-size:11px}.danger-actions button:last-child{color:#9b3931;background:#f7e9e7}.muted-copy{color:#7e8a82;font-size:12px}.notice{border-radius:10px;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;display:flex}.notice button{width:auto;margin:0}.code-notice{background:#edf5ed;border:1px solid #d9e8da;justify-content:space-between}.code-notice>div{gap:5px;min-width:0;display:grid}.code-notice b{font-size:12px}.code-notice code{word-break:break-all;font-size:13px}.code-notice small{color:#78887b;font-size:10px}.close-notice{color:#66796b;background:0 0;padding:2px;font-size:18px}.error-notice{color:#9b3931;background:#f9edeb;justify-content:space-between;font-size:12px}.error-notice button{color:inherit;background:0 0;padding:2px;font-size:18px}.security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-row{border-top:1px solid #f0f2ef;align-items:center;gap:10px;padding:12px 0;display:flex}.activity-row>div{flex:1}.activity-row b,.activity-row small{display:block}.activity-row b{font-size:11px}.activity-row small{color:#8a958e;margin-top:4px;font-size:9px}.event-dot{background:#d89b64;border-radius:50%;width:8px;height:8px}.audit-icon{color:#418252;background:#e8f2e9;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.severity{color:#8c6652;font-size:9px}.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card small,.metric-card span{color:#849087;font-size:10px;display:block}.metric-card>b{margin:13px 0;font:28px Georgia,serif;display:block}.metric-card>span{margin-top:9px;line-height:1.5}.meter{background:#edf1ed;border-radius:5px;height:6px;overflow:hidden}.meter i{background:#507d5b;border-radius:5px;height:100%;display:block}.warning-card>b{color:#725d38;font:18px system-ui}.modal-backdrop{z-index:10;background:#10241980;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.stepup-modal{background:#fff;border-radius:15px;width:min(100%,390px);padding:30px;position:relative;box-shadow:0 24px 80px #0003}.stepup-modal .eyebrow{margin:0 0 10px}.stepup-modal h2{margin:0;font:28px Georgia,serif}.stepup-modal p:not(.eyebrow){color:#78857c;font-size:12px;line-height:1.5}.stepup-modal label{margin-top:13px}.stepup-modal button[type=submit]{margin-top:18px}.modal-close{color:#6d7a70;background:0 0;width:auto;margin:0;padding:4px;font-size:20px;position:absolute;top:12px;right:14px}.admin-entry{text-align:center;color:#708177;margin-top:17px;font-size:11px;text-decoration:none;display:block}.admin-entry:hover{text-decoration:underline}@media (width<=850px){.admin-sidebar{flex-basis:210px;width:210px}.room-detail-grid,.security-grid,.usage-grid{grid-template-columns:1fr}.room-state-panel{grid-column:auto}}@media (width<=620px){.member-shell{min-height:0;padding:0}.chat-view{border:0;border-radius:0;height:100dvh}.chat-topbar{padding:0 14px}.message-list{padding:18px 13px}.bubble{max-width:87%}.composer{margin:0 10px;padding:8px}.admin-shell{height:100dvh;display:block;overflow:auto}.admin-sidebar{z-index:4;grid-template-columns:1fr auto;align-items:center;width:100%;height:auto;padding:9px 12px;display:grid;position:sticky;top:0}.brandline{padding:0}.brandline small,.room-nav-label,.room-list,.owner-profile{display:none}.admin-nav{gap:3px;display:flex}.admin-nav button{width:auto;padding:8px}.admin-nav button span{display:none}.admin-content{padding:22px 15px}.admin-header h1{font-size:27px}.admin-secure{display:none}.welcome-panel{min-height:360px;margin:35px auto;padding:28px 19px}.stat-strip{gap:30px}.device-row{flex-wrap:wrap;align-items:flex-start}.device-info{max-width:calc(100% - 50px)}.device-actions{justify-content:flex-start;width:100%;margin-left:45px}.danger-actions{flex-wrap:wrap}.code-notice{flex-wrap:wrap;align-items:flex-start}.code-notice>div{width:100%}.login-card{margin-top:8vh}}.image-attachment{gap:8px;max-width:min(100%,420px);display:grid}.image-attachment img{-o-object-fit:contain;object-fit:contain;background:#f1f3ef;border-radius:10px;max-width:100%;max-height:300px;display:block}.image-attachment a{color:#506d57;font-size:11px;text-decoration:underline}@media (width<=620px){.infra-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.connection-banner{z-index:12;color:#645735;background:#fffaf0;border:1px solid #e6d8b8;border-radius:999px;align-items:center;gap:9px;padding:9px 14px;font-size:12px;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #172a181a}.connection-banner small{color:#8f8060;font-variant-numeric:tabular-nums}.connection-dot{background:#c49842;border-radius:50%;width:7px;height:7px;animation:1.2s infinite pulse}.infra-health-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.infra-health{background:#fff;border:1px solid #e8ece7;border-radius:11px;gap:8px;padding:15px;display:grid}.infra-health small{text-transform:capitalize;color:#849087;font-size:10px}.infra-health b{text-transform:capitalize;font-size:13px}.health-ready,.health-reachable{color:#34794c}.health-unavailable,.health-waking{color:#aa5748}.infra-health-grid>p{color:#849087;grid-column:1/-1;margin:0;font-size:10px}@media (width<=620px){.infra-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cleanup-panel{margin:16px 0}.cleanup-panel p{color:#718076;max-width:680px;font-size:11px;line-height:1.5}.cleanup-panel small{color:#8a958e;font-size:10px}.cleanup-panel .panel-title>button{width:auto;max-width:190px;margin:0;padding:10px 12px;font-size:11px}.cleanup-panel button:disabled{opacity:.45;cursor:not-allowed}.history-modal{max-height:85vh;overflow:auto}.history-modal h3{color:#35473a;margin:22px 0 8px;font-size:12px}.history-item{border-top:1px solid #edf0ec;grid-template-columns:1fr auto;gap:4px;padding:10px 0;display:grid}.history-item b,.history-item span{font-size:10px}.history-item span,.history-item small{color:#849087}.history-item small{overflow-wrap:anywhere;grid-column:1/-1;font-size:9px}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color:#17211d;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.shell{background:radial-gradient(at 10% 10%,#dce9df 0,#0000 42%),#f2f4ef;place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:#fff;border:1px solid #e5e9e3;border-radius:20px;width:min(100%,448px);padding:42px;box-shadow:0 24px 70px #193b2710}.mark{color:#fff;letter-spacing:-.04em;background:#173d2c;border-radius:13px;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.eyebrow{color:#64806e;letter-spacing:.16em;margin:30px 0 10px;font-size:11px;font-weight:700}h1{letter-spacing:-.04em;margin:0;font-family:Georgia,serif;font-size:46px;font-weight:400;line-height:1.04}.intro{color:#66736a;margin:16px 0 30px;line-height:1.6}label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}input{background:#fbfcfa;border:1px solid #d8dfd9;border-radius:9px;outline:none;width:100%;padding:13px 14px;font-size:14px}input:focus{border-color:#46765b;box-shadow:0 0 0 3px #46765b20}button{color:#fff;cursor:pointer;background:#173d2c;border:0;border-radius:9px;width:100%;margin-top:12px;padding:14px;font-size:14px;font-weight:600}button:hover{background:#24563c}button:disabled{opacity:.65;cursor:wait}.status{color:#53645a;min-height:20px;margin:18px 0;font-size:13px}.error{color:#a52d2d;font-size:13px}.foot{color:#829087;border-top:1px solid #edf0ec;margin:22px 0 0;padding-top:17px;font-size:12px;line-height:1.6}@media (width<=480px){.card{padding:30px 24px}h1{font-size:40px}}
