:root{--navy: #1A1A2E;--orange: #FF6B35;--orange-hover: #E85A26;--blue: #4A90E2;--sky: #E8F1FB;--bg: #F8F9FA;--panel: #FFFFFF;--panel-raised: #F3F6FA;--line: #E3E6EC;--text: #1A1A2E;--text-dim: #4A4A5A;--text-faint: #8A8A9C;--primary: var(--orange);--primary-hover: var(--orange-hover);--on-primary: #FFFFFF;--accent: var(--blue);--good: #2E9E6B;--warn: #D9A21B;--danger: #D64545;--font-display: "DM Serif Display", Georgia, serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 8px;--radius-md: 12px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #12121F;--panel: #1A1A2E;--panel-raised: #222238;--line: #2E2E48;--text: #F4F4F8;--text-dim: #B4B4C6;--text-faint: #7C7C94;--sky: rgba(74, 144, 226, .14);--good: #4CC38A;--warn: #E8B83A;--danger: #EF6B6B}}:root[data-theme=dark]{--bg: #12121F;--panel: #1A1A2E;--panel-raised: #222238;--line: #2E2E48;--text: #F4F4F8;--text-dim: #B4B4C6;--text-faint: #7C7C94;--sky: rgba(74, 144, 226, .14);--good: #4CC38A;--warn: #E8B83A;--danger: #EF6B6B}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;margin:0}a{color:var(--accent)}button,input,textarea,select{font-family:inherit}button{cursor:pointer}.num{font-variant-numeric:tabular-nums;font-weight:600}.shell{max-width:1180px;margin:0 auto;padding:0 16px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 0;border-bottom:3px solid var(--orange);margin-bottom:24px}.brand{display:flex;align-items:center;gap:16px;flex-wrap:wrap;text-decoration:none;color:inherit}.wordmark{display:flex;flex-direction:column;line-height:1}.wordmark .name{font-weight:700;font-size:20px;letter-spacing:.06em;color:var(--text);white-space:nowrap}.wordmark .name b{color:var(--orange)}.wordmark .tag{font-size:8.5px;font-weight:600;letter-spacing:.14em;color:var(--text-faint);margin-top:5px;white-space:nowrap}.brand-divider{width:1px;height:30px;background:var(--line)}.brand h1{font-size:19px}.topbar-right{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-dim)}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}@media (max-width: 860px){.grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px 22px}.stack>*+*{margin-top:18px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:10px;flex-wrap:wrap}.panel-head h2{font-size:18px}.meta{font-size:12px;color:var(--text-faint)}.empty-note{color:var(--text-faint);font-size:13px;padding:8px 0}.error-note{color:var(--danger);font-size:13px}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;margin-bottom:20px}@media (max-width: 700px){.stat-strip{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--panel);padding:16px 18px}.stat .value{font-family:var(--font-display);font-size:27px;font-variant-numeric:tabular-nums}.stat .value small{font-family:var(--font-body);font-size:12px;color:var(--text-faint);margin-left:4px}.stat .label{font-size:12px;color:var(--text-dim);margin-top:4px}.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--text-dim)}.input{background:var(--panel-raised);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:9px 11px;font-size:14px;min-width:0}.input:focus{outline:none;border-color:var(--primary)}.btn{background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--radius-sm);padding:10px 18px;font-size:13.5px;font-weight:700;letter-spacing:.02em}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{background:none;border:1px solid var(--line);color:var(--text)}.btn.ghost:hover{border-color:var(--primary)}.btn.sm{padding:7px 13px;font-size:12.5px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-weight:500;color:var(--text-faint);font-size:11.5px;padding:6px 8px;border-bottom:1px solid var(--line)}td{padding:9px 8px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:none}.status-pill{font-size:11px;padding:3px 9px;border-radius:20px;white-space:nowrap;font-weight:600}.status-pill.ok{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}.status-pill.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}.status-pill.miss{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.c-good{color:var(--good)}.c-warn{color:var(--warn)}.c-danger{color:var(--danger)}.c-faint{color:var(--text-faint)}.roster-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:13px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;border-radius:6px}.roster-row:last-child{border-bottom:none}.roster-row:hover{background:var(--sky)}.avatar{width:34px;height:34px;border-radius:50%;border:1px solid;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700}.roster-name{font-size:14px;font-weight:600}.roster-sub{font-size:11.5px;color:var(--text-faint)}.roster-metric{font-size:13px;color:var(--text-dim);white-space:nowrap}@media (max-width: 560px){.roster-row{grid-template-columns:auto 1fr auto}.roster-metric{display:none}}.back-link{color:var(--text-dim);font-size:13px;display:inline-flex;gap:5px;margin-bottom:16px;text-decoration:none}.back-link:hover{color:var(--primary)}.chat-wrap{display:flex;flex-direction:column;height:460px}.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px;margin-bottom:12px}.msg{max-width:78%;padding:9px 12px;border-radius:12px;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}.msg .who{font-size:10.5px;color:var(--text-faint);margin-bottom:2px}.msg.them{align-self:flex-start;background:var(--panel-raised);border:1px solid var(--line);border-bottom-left-radius:3px}.msg.me{align-self:flex-end;background:var(--primary);color:var(--on-primary);border-bottom-right-radius:3px}.msg.me .who{color:#fffc}.chat-input{display:flex;gap:8px}.chat-input .input{flex:1;border-radius:20px;padding:10px 15px}.login{max-width:400px;margin:12vh auto 0;padding:0 16px}.login .panel{padding:28px}.login h2{font-size:26px;margin:18px 0 6px}.login p{color:var(--text-dim);font-size:14px;margin:0 0 18px}.login .input{width:100%}.login .btn{width:100%;margin-top:12px}@media (max-width: 560px){.brand-divider,.brand h1{display:none}.topbar{padding:14px 0;margin-bottom:18px}.topbar-right{width:100%;justify-content:space-between}.panel{padding:16px}.stat{padding:14px}.stat .value{font-size:24px}.chat-wrap{height:400px}.msg{max-width:88%}.input{font-size:16px}}.login .field label{font-weight:600}.login-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--text-dim)}.link-btn{background:none;border:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}.password-input{position:relative;display:flex}.password-input .input{flex:1;padding-right:64px}.password-input .link-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.install-card{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:50;max-width:480px;margin:0 auto;display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:var(--radius-md);padding:12px 14px;box-shadow:0 8px 28px #1a1a2e2e}.install-card img{border-radius:10px;flex-shrink:0}.install-text{flex:1;display:flex;flex-direction:column;font-size:13px;color:var(--text-dim);line-height:1.4}.install-text strong{color:var(--text);font-size:14px}.install-text b{color:var(--text)}.install-close{background:none;border:none;color:var(--text-faint);font-size:22px;line-height:1;padding:0 2px;align-self:flex-start}.install-close:hover{color:var(--text)}html:root{background:var(--bg)}body{display:flow-root}
