:root{color-scheme:light;--bg:#f3f5f1;--card:#fff;--text:#18251e;--muted:#69786e;--line:#dce3da;--accent:#195d42;--soft:#e4f0e8;--danger:#b44040;--shadow:0 16px 60px #1a38200a;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#101713;--card:#19221d;--text:#e5ede6;--muted:#99aa9e;--line:#2d3b32;--accent:#9cdeb5;--soft:#273c2e;--danger:#f29999;--shadow:none}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101713;--card:#19221d;--text:#e5ede6;--muted:#99aa9e;--line:#2d3b32;--accent:#9cdeb5;--soft:#273c2e;--danger:#f29999;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:.65rem 1rem;background:var(--card);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:1rem;font-weight:600}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);border-color:var(--accent);color:var(--card)}.quiet{background:transparent}.danger{background:var(--danger);color:var(--card)}.danger-text{color:var(--danger)}[hidden]{display:none!important}.shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}.topbar{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;color:var(--text);text-decoration:none;letter-spacing:-.5px}.brand-mark{width:36px;height:36px;border-radius:11px;background:var(--accent);color:var(--card);display:grid;place-items:center;font-weight:800}.brand strong{font-weight:400;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--accent)}h1{font-size:44px;line-height:1.15;letter-spacing:-1.7px;font-weight:550;margin:14px 0}h2{font-weight:600;font-size:20px;letter-spacing:-.4px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.login-card{max-width:470px;margin:70px auto 100px;padding:40px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.login-card h1{font-size:36px}.login-card form{margin-top:30px}.login-card>.small{margin-top:25px;text-align:center}label{font-size:13px;display:block;font-weight:600;margin-bottom:8px}input,select,textarea{display:block;width:100%;padding:12px 13px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;margin:8px 0 18px}input::placeholder{color:var(--muted)}.wide{width:100%}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:54px 0 30px}.page-heading p{margin:12px 0}.stats{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 0}.stats>div{display:flex;flex-direction:column;padding:0 28px;gap:8px;border-right:1px solid var(--line)}.stats>div:last-child{border:0;min-width:0}.stats span{font-size:12px}.stats strong{font-size:22px;font-weight:550}.stats .mono{font-size:15px;overflow-wrap:anywhere;line-height:33px}.toolbar{display:flex;align-items:end;gap:20px;margin:35px 0 24px}.toolbar label{margin:0}.toolbar input,.toolbar select{margin-bottom:0;background:var(--card)}.search-label{flex:1}.toolbar>button{margin-bottom:1px;min-height:46px}.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.device-card{border:1px solid var(--line);border-radius:14px;padding:23px;background:var(--card);min-width:0;box-shadow:var(--shadow)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{font-size:10px;letter-spacing:1px;padding:4px 8px;border-radius:5px;background:var(--soft);color:var(--accent);font-weight:700}.guest{background:var(--bg);color:var(--muted)}.device-card h2{margin:22px 0 8px;overflow-wrap:anywhere}.device-card p{margin:4px 0;overflow-wrap:anywhere}.card-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:25px}.card-actions button{font-size:12px;padding:7px 10px}.paused{border-style:dashed}.paused h2{color:var(--muted)}.group-guide{display:flex;gap:35px;margin:32px 0 60px;padding:24px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.group-guide p{flex:1}.group-guide strong{color:var(--text);display:block;margin-bottom:5px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:24px 0 32px}.notice{padding:14px 18px;background:var(--soft);color:var(--accent);border-radius:9px;margin-top:20px;overflow-wrap:anywhere}.notice.error{color:var(--danger);border:1px solid var(--danger);background:var(--card)}.empty{text-align:center;padding:50px;color:var(--muted)}dialog{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:28px;width:min(500px,calc(100% - 32px));max-height:90vh;overflow:auto;box-shadow:0 30px 100px #0004}dialog::backdrop{background:#08150db3;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:16px}.dialog-heading h2{margin:0;overflow-wrap:anywhere}.dialog-heading button{border:0;padding:4px 10px}#qr{display:block;max-width:100%;height:auto;margin:15px auto 22px;border-radius:8px}textarea{font-size:12px;resize:vertical;overflow-wrap:anywhere}
@media(max-width:960px){.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:12px 24px}.stats>div:nth-child(2){border-right:0}}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.topbar{height:80px}.brand{font-size:18px}.topbar button{padding:7px 10px;font-size:12px}.page-heading{align-items:start;flex-direction:column;padding-top:35px;gap:10px}h1{font-size:36px}.device-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap;gap:12px}.search-label{flex-basis:100%}.toolbar>label:not(.search-label){flex:1}.stats>div{padding:12px 16px}.stats strong{font-size:19px}.stats .mono{font-size:12px}.login-card{padding:28px 22px;margin-top:36px}.login-card h1{font-size:32px}.group-guide{flex-direction:column;gap:0}dialog{padding:22px}}
