:root{--bg:#f4f6f5;--surface:#fff;--surface-2:#eef2f1;--border:#d8e0de;--text:#16211f;--muted:#5d6e6a;--primary:#0f766e;--primary-d:#0b5c56;--primary-soft:#d9f0ec;--on-primary:#fff;--warn:#b45309;--warn-soft:#fef3c7;--danger:#b42318;--danger-soft:#fde7e4;--ok:#15803d;--ok-soft:#dcfce7;--info:#1d4ed8;--info-soft:#dbeafe;--bubble-in:#fff;--bubble-out:#d9f0ec;--bubble-sys:#eceff1;--radius:10px;--shadow:0 1px 2px #10211f14, 0 4px 14px #10211f0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e1514;--surface:#162120;--surface-2:#1d2b29;--border:#2a3b38;--text:#e6efed;--muted:#93a7a2;--primary:#2dd4bf;--primary-d:#5eead4;--primary-soft:#12403b;--on-primary:#06201d;--warn:#fbbf24;--warn-soft:#3a2a07;--danger:#f87171;--danger-soft:#3b1512;--ok:#4ade80;--ok-soft:#10301b;--info:#93c5fd;--info-soft:#14284d;--bubble-in:#1d2b29;--bubble-out:#12403b;--bubble-sys:#1a2523;--shadow:0 1px 2px #00000080}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--primary)}button,input,select,textarea{font:inherit;color:inherit}h1{margin:0 0 .75rem;font-size:1.35rem}h2{margin:0 0 .5rem;font-size:1.1rem}h3{margin:0 0 .4rem;font-size:.95rem}small,.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;min-height:36px;padding:.45rem .8rem;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--primary-d)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.sm{min-height:30px;padding:.25rem .55rem;font-size:.88rem}.btn.link{color:var(--primary);background:0 0;border:0;min-height:0;padding:.2rem;text-decoration:underline}.field{flex-direction:column;gap:.25rem;margin-bottom:.8rem;display:flex}.field>label,.field>.lbl{font-size:.88rem;font-weight:600}.field .hint{color:var(--muted);font-size:.8rem}input[type=text],input[type=password],input[type=search],input[type=number],input[type=date],input[type=datetime-local],input[type=month],select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;min-height:38px;padding:.5rem .65rem}textarea{resize:vertical;min-height:80px}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.grow{flex:auto;min-width:0}.stack>*+*{margin-top:.75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card+.card{margin-top:1rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .6rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap;font-size:.78rem}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:.08rem .5rem;font-size:.74rem;font-weight:600;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.info{background:var(--info-soft);color:var(--info);border-color:#0000}.badge.primary{background:var(--primary-soft);color:var(--primary);border-color:#0000}.banner{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;margin-bottom:.75rem;padding:.6rem .8rem}.banner.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.banner.danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.banner.info{background:var(--info-soft);color:var(--info);border-color:#0000}.banner.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.empty{text-align:center;color:var(--muted);padding:2rem 1rem}.app{grid-template-rows:52px 1fr;grid-template-columns:220px 1fr;height:100%;display:grid}.topbar{background:var(--primary);min-width:0;color:var(--on-primary);grid-column:1/-1;align-items:center;gap:.75rem;padding:0 1rem;display:flex}.topbar .brand{letter-spacing:.01em;white-space:nowrap;font-weight:700}.topbar small{color:inherit;opacity:.9}.topbar .user-btn{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:40vw;overflow:hidden}.live-label{white-space:nowrap}.topbar .spacer{flex:1}.topbar .btn{color:inherit;border-color:color-mix(in srgb, currentColor 40%, transparent);background:0 0}.topbar .btn:hover:not(:disabled){background:color-mix(in srgb, currentColor 14%, transparent)}.nav{background:var(--surface);border-right:1px solid var(--border);padding:.75rem .5rem;overflow-y:auto}.nav h4{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin:.9rem .6rem .3rem;font-size:.72rem}.nav a{color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .6rem;text-decoration:none;display:flex}.nav a:hover{background:var(--surface-2)}.nav a.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.content{padding:1rem 1.25rem;overflow:auto}.content.flush{padding:0;overflow:hidden}.menu-btn{display:none}.live{background:#9ca3af;border-radius:50%;width:9px;height:9px;display:inline-block}.live.on{background:#4ade80}.inbox{grid-template-columns:330px minmax(0,1fr) 320px;height:100%;display:grid}.pane{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.pane:last-child{border-right:0}.pane-head{border-bottom:1px solid var(--border);padding:.6rem .75rem}.tabs{flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;display:flex}.tab{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;padding:.2rem .65rem;font-size:.85rem}.tab[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.list{flex:1;overflow-y:auto}.conv{text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;width:100%;padding:.6rem .75rem;display:block}.conv:hover{background:var(--surface-2)}.conv[aria-current=true]{background:var(--primary-soft)}.conv .top{justify-content:space-between;gap:.5rem;display:flex}.conv .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.conv .prev{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.conv .meta{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.25rem;display:flex}.unread{background:var(--primary);color:var(--on-primary);border-radius:999px;padding:0 .45rem;font-size:.74rem;font-weight:700}.thread{background:var(--bg);flex:1;padding:.75rem 1rem;overflow-y:auto}.day{text-align:center;margin:.75rem 0}.day span{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.1rem .7rem;font-size:.78rem}.msg{margin:.25rem 0;display:flex}.msg.out{justify-content:flex-end}.msg.sys{justify-content:center}.bubble{background:var(--bubble-in);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;max-width:min(78%,560px);padding:.45rem .65rem}.msg.out .bubble{background:var(--bubble-out);border-color:#0000}.msg.sys .bubble{background:var(--bubble-sys);color:var(--muted);text-align:center;max-width:90%;font-size:.88rem;font-style:italic}.bubble .meta{color:var(--muted);justify-content:flex-end;align-items:center;gap:.4rem;margin-top:.15rem;font-size:.72rem;display:flex}.bubble .tpl{color:var(--muted);margin-bottom:.15rem;font-size:.72rem}.bubble .err{color:var(--danger);font-size:.8rem}.bubble img.media{border-radius:8px;max-width:100%;max-height:320px;display:block}.btns{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.composer{border-top:1px solid var(--border);background:var(--surface);padding:.6rem .75rem}.composer textarea{min-height:64px;max-height:200px}.countdown{font-variant-numeric:tabular-nums}.panel-body{flex:1;padding:.75rem;overflow-y:auto}.panel-body section{border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.75rem}.kv{grid-template-columns:110px 1fr;gap:.15rem .5rem;font-size:.9rem;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}.suggest{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-height:200px;margin-bottom:.4rem;overflow-y:auto}.suggest button{text-align:left;border:0;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;width:100%;padding:.4rem .6rem;display:block}.suggest button:hover{background:var(--surface-2)}.back-btn{display:none}.overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--surface);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow);border-radius:12px;padding:1.1rem;overflow-y:auto}.modal h2{margin-bottom:.6rem}.toasts{z-index:60;flex-direction:column;gap:.5rem;max-width:min(92vw,380px);display:flex;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:8px;padding:.6rem .85rem}.toast.error{background:var(--danger);color:#fff}.toast.ok{background:var(--ok);color:#fff}.login{background:linear-gradient(160deg, var(--primary-soft), var(--bg));place-items:center;min-height:100%;padding:1rem;display:grid}.login .card{width:min(420px,100%)}.login h1{color:var(--primary)}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.stat .v{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.stat .l{color:var(--muted);font-size:.82rem}.bars{align-items:flex-end;gap:2px;height:120px;padding:.25rem 0;display:flex}.bar{background:var(--primary);opacity:.85;border-radius:3px 3px 0 0;flex:1;min-width:3px}.bar.h0{height:2%}.bar.h10{height:10%}.bar.h20{height:20%}.bar.h30{height:30%}.bar.h40{height:40%}.bar.h50{height:50%}.bar.h60{height:60%}.bar.h70{height:70%}.bar.h80{height:80%}.bar.h90{height:90%}.bar.h100{height:100%}.meter{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.meter>i{background:var(--primary);height:100%;display:block}.meter>i.w0{width:0}.meter>i.w10{width:10%}.meter>i.w20{width:20%}.meter>i.w30{width:30%}.meter>i.w40{width:40%}.meter>i.w50{width:50%}.meter>i.w60{width:60%}.meter>i.w70{width:70%}.meter>i.w80{width:80%}.meter>i.w90{width:90%}.meter>i.w100{width:100%}.meter>i.bad{background:var(--danger)}.meter>i.mid{background:var(--warn)}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.kbd{background:var(--surface-2);border-radius:4px;padding:0 .3rem;font-family:ui-monospace,Menlo,Consolas,monospace}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}@media (max-width:1180px){.inbox{grid-template-columns:300px minmax(0,1fr)}.inbox .pane.info{display:none}.inbox.show-info .pane.info{z-index:20;width:min(360px,94vw);box-shadow:var(--shadow);display:flex;position:absolute;top:52px;bottom:0;right:0}}@media (max-width:800px){.app{grid-template-columns:1fr}.nav{z-index:30;width:240px;transition:transform .15s;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%)}.nav.open{box-shadow:var(--shadow);transform:none}.menu-btn{display:inline-flex}.hide-sm{display:none}.live-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.topbar{gap:.5rem;padding:0 .6rem}.inbox{grid-template-columns:1fr}.inbox .pane.list-pane{display:flex}.inbox.has-conv .pane.list-pane,.inbox:not(.has-conv) .pane.thread-pane{display:none}.back-btn{display:inline-flex}.bubble{max-width:90%}.content{padding:.75rem}}.narrow{max-width:520px}.wide-table td{white-space:nowrap}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88rem}.chips{flex-wrap:wrap;gap:.3rem;display:flex}.modal[data-wide]{max-width:860px}.sticky-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.narrow-wide{max-width:860px}.day-label{min-width:4.5rem}.qr{border:1px solid var(--border);background:#fff;border-radius:8px;width:224px;max-width:100%;height:224px;margin:0 auto;display:block}.code-input{letter-spacing:.3em;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.35rem}.secret-text{word-break:break-all;-webkit-user-select:all;user-select:all}.recovery-grid{background:var(--surface-2);border:1px dashed var(--border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .8rem;padding:.8rem;display:grid}.recovery-grid span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.95rem}@media (max-width:420px){.recovery-grid{grid-template-columns:minmax(0,1fr)}}.check{align-items:flex-start;gap:.5rem;display:flex}.check input{flex:none;margin-top:.22rem}
