:root{color-scheme:dark;font-family:system-ui,sans-serif}body{margin:0;background:#0d1117;color:#e6edf3}.login-page{display:flex;align-items:center;justify-content:center;height:100vh}.login-form{display:flex;flex-direction:column;gap:.75rem;width:280px;padding:2rem;background:#161b22;border-radius:8px;border:1px solid #30363d}.login-form input,.login-form button{padding:.5rem;border-radius:4px;border:1px solid #30363d;background:#0d1117;color:#e6edf3}.login-form button{background:#238636;border:none;cursor:pointer}.login-divider{text-align:center;color:#8b949e;font-size:.8rem}.oidc-button{display:block;text-align:center;padding:.5rem;border-radius:4px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;text-decoration:none}.oidc-button:hover{border-color:#58a6ff}.error{color:#e5484d}.dashboard{max-width:1100px;margin:0 auto;padding:1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-header button{margin-left:.75rem;background:none;border:1px solid #30363d;color:#e6edf3;padding:.3rem .75rem;border-radius:4px;cursor:pointer}.host-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:1.5rem}.host-card{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:.75rem}.host-card.status-down{opacity:.6}.host-card-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.host-name{font-weight:600;flex:1}.host-uptime{font-size:.75rem;color:#8b949e}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.status-up{background:#3fb950}.status-dot.status-down{background:#e5484d}.status-dot.status-unknown{background:#8b949e}.bar-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-bottom:.25rem}.bar-label{width:32px;color:#8b949e}.bar-track{flex:1;height:6px;background:#21262d;border-radius:3px;overflow:hidden}.bar-fill{height:100%}.bar-value{width:36px;text-align:right}.pressure-row{display:flex;gap:.75rem;font-size:.7rem;color:#8b949e;margin-top:.35rem}.device-count{color:#8b949e;font-weight:400}.device-ratio{color:#8b949e;font-weight:400;font-size:.75rem}.device-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.85rem}.device-table th{text-align:left;color:#8b949e;font-weight:500;padding:0;border-bottom:1px solid #30363d}.sort-header{width:100%;text-align:left;padding:.4rem .6rem;background:none;border:none;color:inherit;font:inherit;cursor:pointer}.sort-header:hover{color:#e6edf3}.sort-arrow{color:#58a6ff}.name-cell{cursor:pointer;display:inline-block;min-width:3rem}.name-cell:hover{text-decoration:underline dotted}.name-hint{color:#8b949e;font-style:italic}.label-edit-form{display:flex;gap:.3rem;align-items:center}.label-edit-form input{padding:.2rem .4rem;border-radius:4px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;font-size:.85rem;width:160px}.label-edit-form button{padding:.2rem .5rem;border-radius:4px;border:1px solid #30363d;background:#21262d;color:#e6edf3;font-size:.8rem;cursor:pointer}.deep-check-button{padding:.2rem .5rem;border-radius:4px;border:1px solid #30363d;background:#21262d;color:#e6edf3;font-size:.75rem;cursor:pointer}.deep-check-button:hover:not(:disabled){border-color:#58a6ff}.deep-check-button:disabled{opacity:.6;cursor:default}.deep-check-row td{background:#0d1117;padding:.6rem 1rem}.deep-check-empty{color:#8b949e;font-size:.85rem;margin:0}.deep-check-results{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem;margin:0;font-size:.85rem}.deep-check-results dt{color:#8b949e}.deep-check-results dd{margin:0}.deep-check-http{display:contents}.deep-check-server{color:#8b949e}.device-table td{padding:.4rem .6rem;border-bottom:1px solid #21262d}.device-table .mono{font-family:ui-monospace,monospace;color:#8b949e}.device-table .empty{text-align:center;color:#8b949e;padding:1rem}.device-badge{font-size:.7rem;padding:.1rem .5rem;border-radius:10px}.device-badge.known{background:#1a4d2e;color:#3fb950}.device-badge.unknown{background:#4d2a1a;color:#f5a623}.device-badge.new{background:#1a3a4d;color:#58a6ff;margin-left:.3rem}.sparkline{width:100%;height:24px;margin-top:.4rem;display:block}
