*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui);font-size:14px;line-height:1.45}h1{margin:0 0 12px;font-size:20px}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,input,select{font:inherit;color:inherit}button{background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.auth{justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:24px}.card p{margin:0 0 12px}.card .aside{color:var(--text-secondary);margin:16px 0 0;font-size:13px}.qr{background:var(--bg-elevated);margin:0 auto 12px;display:block}.secret{overflow-wrap:anywhere;background:var(--bg-app);border:1px solid var(--border);font-family:var(--font-mono);border-radius:6px;padding:6px 8px;display:block}.error{color:var(--down);background:var(--bg-app);border:1px solid var(--down);border-radius:6px;padding:8px 10px}.hint{color:var(--text-secondary);font-size:13px}.captcha{margin:0 0 12px}label{color:var(--text-secondary);margin:0 0 12px;font-size:13px;display:block}label input,label select{background:var(--bg-app);border:1px solid var(--border);border-radius:6px;width:100%;margin-top:4px;padding:7px 10px;display:block}label input:focus-visible,label select:focus-visible{border-color:var(--accent)}.shell{grid-template:"top top"48px"side content"1fr/200px 1fr;height:100%;display:grid}.top{background:var(--bg-panel);border-bottom:1px solid var(--border);grid-area:top;align-items:center;gap:12px;padding:0 16px;display:flex}.brand{font-size:15px}.badge{color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px}.spacer{flex:1}.who{color:var(--text-secondary);font-size:13px}.side{background:var(--bg-panel);border-right:1px solid var(--border);grid-area:side;padding:12px 8px;overflow-y:auto}.side ul{margin:0;padding:0;list-style:none}.side a{color:var(--text-secondary);border-radius:6px;padding:7px 10px;text-decoration:none;display:block}.side a:hover{color:var(--text-primary)}.side a[aria-current=page]{color:var(--text-primary);background:var(--bg-elevated);box-shadow:inset 2px 0 0 var(--accent)}.content{grid-area:content;padding:20px 24px;overflow:auto}.notice{color:var(--text-secondary)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th{color:var(--text-secondary);font-size:12px;font-weight:600}tbody tr:hover{background:var(--bg-panel)}.num{text-align:right;font-variant-numeric:tabular-nums}.tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;display:grid}.tile{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.tile dt{color:var(--text-secondary);font-size:13px}.tile dd{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:26px}.search{align-items:flex-end;gap:8px;max-width:560px;margin:0 0 16px;display:flex}.search label{flex:1;margin:0}.paging{align-items:center;gap:16px;margin:16px 0 0;display:flex}.paging [aria-disabled=true]{color:var(--text-secondary);opacity:.55;cursor:not-allowed}[role=alert] button{margin-top:4px}.action-dialog{z-index:10;width:min(480px,100% - 32px);max-height:calc(100% - 32px);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;margin:auto;padding:20px;position:fixed;inset:0;overflow:auto}.action-dialog h2{margin:0 0 8px;font-size:16px}.action-dialog .field{margin:12px 0}.action-dialog textarea{width:100%;font:inherit;color:inherit;background:var(--bg-app);border:1px solid var(--border);resize:vertical;border-radius:6px;margin:4px 0;padding:6px 8px;display:block}.action-dialog small{color:var(--text-secondary)}.action-dialog .actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}button.primary.danger{background:var(--down);border-color:var(--down)}.action-dialog:focus{outline:none}button.danger{color:var(--down);border-color:var(--down)}.user-head{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0 0 12px;display:flex}.user-head h1{overflow-wrap:anywhere;margin:0}.badges{flex-wrap:wrap;gap:6px;display:flex}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin:0 0 16px;display:flex}.tabs a{color:var(--text-secondary);border-bottom:2px solid #0000;padding:8px 12px;text-decoration:none}.tabs a:hover{color:var(--text-primary)}.tabs a[aria-current=page]{color:var(--text-primary);border-bottom-color:var(--accent)}.facts{grid-template-columns:minmax(140px,220px) 1fr;gap:8px 16px;max-width:720px;margin:0 0 20px;display:grid}.facts dt{color:var(--text-secondary)}.facts dd{overflow-wrap:anywhere;margin:0}.facts dd.pre{white-space:pre-wrap}.account-actions{flex-wrap:wrap;gap:8px;display:flex}.banner{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-panel);border-radius:6px;margin:0 0 16px;padding:10px 12px}.access-tab section>h2,.devices-tab section>h2,.data-tab section>h2,.system-page section>h2{margin:24px 0 8px;font-size:16px}.grant-actions{flex-wrap:wrap;gap:6px;display:flex}.choices{border:0;margin:0 0 12px;padding:0}.choices legend{color:var(--text-secondary);margin:0 0 4px;padding:0;font-size:13px}label.choice{color:var(--text-primary);align-items:center;gap:6px;margin:0 16px 0 0;font-size:14px;display:inline-flex}label.choice input{width:auto;margin:0;display:inline-block}.action-dialog .hint{margin:0 0 8px}.filters{flex-wrap:wrap;max-width:720px}.filters small{color:var(--down);margin-top:4px;display:block}.picks{margin:0 0 12px;padding:0;list-style:none}.picks li{margin:0 0 4px}.picked{margin:0 0 8px;font-weight:600}.level-ok{--level:var(--up)}.level-warn{--level:var(--highlight)}.level-critical{--level:var(--down)}.level-unknown{--level:var(--text-secondary)}.metric{border-left:4px solid var(--level)}.metric .value{font-size:20px}.metric .level-text{color:var(--level);margin:4px 0 0;font-size:13px;font-weight:600}.rows{margin:0 0 12px;padding:0;list-style:none}.rows li{border-left:4px solid var(--level,var(--border));margin:0 0 4px;padding:2px 0 2px 10px}.sparks{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.sparks figure{margin:0}.sparks figcaption{color:var(--text-secondary);font-size:13px}.spark{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;max-width:100%;height:auto}.spark polyline{stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.spark circle{fill:var(--accent)}
