:root{--bg: #f3f2f1;--canvas: #faf9f8;--surface: #ffffff;--surface-2: #faf9f8;--hover: #f3f2f1;--border: #e5e3e1;--border-strong: #d2d0ce;--text: #1b1a19;--text-2: #605e5c;--muted: #8a8886;--brand: #0f6cbd;--brand-hover: #115ea3;--brand-fg: #ffffff;--brand-tint: #ebf3fc;--brand-tint-2: #deecfa;--success: #0e700e;--success-bg: #dff6dd;--warning: #9a5b00;--warning-bg: #fff4ce;--danger: #b10e1c;--danger-bg: #fde7e9;--chart-grid: #eceae8;--shadow-2: 0 .3px .9px rgba(0, 0, 0, .07), 0 1.6px 3.6px rgba(0, 0, 0, .1);--shadow-8: 0 .6px 1.8px rgba(0, 0, 0, .1), 0 3.2px 7.2px rgba(0, 0, 0, .13);--shadow-16: 0 1.2px 3.6px rgba(0, 0, 0, .11), 0 6.4px 14.4px rgba(0, 0, 0, .14);--color-bg: var(--bg);--color-surface: var(--surface);--color-surface-hover: var(--hover);--color-border: var(--border);--color-text: var(--text);--color-text-muted: var(--text-2);--color-primary: var(--brand);--color-primary-light: var(--brand-hover);--color-success: var(--success);--color-warning: var(--warning);--color-danger: var(--danger);--color-info: #6264a7;--color-chart-grid: var(--chart-grid);--color-chart-tick: var(--muted);--color-tooltip-bg: var(--surface);--color-tooltip-border: var(--border-strong);--color-tooltip-text: var(--text);--font-mono: "Cascadia Code", "SF Mono", "Fira Code", ui-monospace, monospace;--radius: 8px;--radius-lg: 10px}:root[data-theme=dark]{--bg: #1b1a19;--canvas: #201f1e;--surface: #292827;--surface-2: #323130;--hover: #3b3a39;--border: #3b3a39;--border-strong: #484644;--text: #f3f2f1;--text-2: #c8c6c4;--muted: #979593;--brand: #479ef5;--brand-hover: #62abf5;--brand-fg: #0a1726;--brand-tint: #0c2c47;--brand-tint-2: #0f3658;--success: #5bb85b;--success-bg: #103218;--warning: #f7a922;--warning-bg: #3d2c07;--danger: #f1707b;--danger-bg: #3a141a;--chart-grid: #3b3a39;--shadow-2: 0 .3px .9px rgba(0, 0, 0, .28), 0 1.6px 3.6px rgba(0, 0, 0, .36);--shadow-8: 0 .6px 1.8px rgba(0, 0, 0, .32), 0 3.2px 7.2px rgba(0, 0, 0, .42);--shadow-16: 0 1.2px 3.6px rgba(0, 0, 0, .34), 0 6.4px 14.4px rgba(0, 0, 0, .46)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Segoe UI Web,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--brand);color:#fff}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px;border:2px solid var(--bg)}.app-layout{display:flex;min-height:100vh}.sidebar{width:250px;flex:none;background:var(--surface);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar-logo{width:30px;height:30px;flex:none;border-radius:9px;background:var(--brand);display:flex;align-items:center;justify-content:center}.content-col{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:58px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 22px}.topbar-title{font-size:16px;font-weight:700;letter-spacing:-.01em}.topbar-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:7px;background:var(--canvas);width:230px;color:var(--muted);font-size:13px}.tenant-pill{display:flex;align-items:center;gap:8px;height:36px;padding:0 6px 0 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.tenant-pill select{border:none;background:transparent;color:var(--text);font-size:13px;font-weight:600;outline:none;cursor:pointer;max-width:180px}.icon-btn{width:36px;height:36px;flex:none;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background .12s}.icon-btn:hover{background:var(--hover)}.nav-dot{width:7px;height:7px;border-radius:50%;flex:none}.user-avatar{width:34px;height:34px;flex:none;border-radius:50%;background:linear-gradient(135deg,var(--brand),#2899f5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.sidebar-header{height:58px;flex:none;padding:0 16px;border-bottom:1px solid var(--border);margin-bottom:4px;display:flex;align-items:center;justify-content:flex-start;gap:10px}.sidebar-header .brand{min-width:0}.sidebar-header h1{font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.18;color:var(--text)}.sidebar-nav{list-style:none;padding:4px 0}.sidebar-section{padding:12px 18px 5px;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.sidebar-nav a{display:flex;align-items:center;gap:10px;margin:1px 8px;padding:8px 10px;border-radius:6px;color:var(--text-2);font-size:13.5px;font-weight:500;transition:background .12s,color .12s}.sidebar-nav a:hover{background:var(--hover);color:var(--text);text-decoration:none}.sidebar-nav a.active{background:var(--brand-tint);color:var(--brand);font-weight:600}.main-content{flex:1;padding:26px 28px 60px;min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-2)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-title{font-size:14px;font-weight:600;color:var(--text)}.card-subtitle{font-size:12px;color:var(--muted)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:14px;margin-bottom:24px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:15px 16px;box-shadow:var(--shadow-2);transition:box-shadow .15s,transform .15s}.metric-card:hover{box-shadow:var(--shadow-8);transform:translateY(-2px)}.metric-label{font-size:12px;color:var(--text-2);font-weight:600;margin-bottom:6px}.metric-value{font-size:27px;font-weight:700;letter-spacing:-.025em;line-height:1}.metric-change{font-size:12px;font-weight:600;margin-top:8px}.metric-change.positive{color:var(--success)}.metric-change.negative{color:var(--danger)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;margin-bottom:24px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.healthy{background:var(--success-bg);color:var(--success)}.status-badge.degraded{background:var(--warning-bg);color:var(--warning)}.status-badge.down{background:var(--danger-bg);color:var(--danger)}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.health-table{width:100%;border-collapse:collapse}.health-table th,.health-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border)}.health-table th{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.health-table td{font-size:13.5px}.health-table tbody tr{transition:background .12s}.health-table tbody tr:hover{background:var(--canvas)}.issue-item{padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:var(--surface)}.issue-title{font-weight:600;font-size:14px;margin-bottom:4px}.issue-meta{font-size:12px;color:var(--muted)}.time-range{display:inline-flex;gap:3px;background:var(--canvas);border:1px solid var(--border);border-radius:8px;padding:3px}.time-range button{padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--text-2);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.time-range button:hover{color:var(--text)}.time-range button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-2)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-title{font-size:23px;font-weight:700;letter-spacing:-.02em}.page-subtitle{font-size:13.5px;color:var(--text-2);margin-top:4px}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--muted)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-2)}.empty-state h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px;color:var(--text)}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:.9}}.skeleton{background:var(--hover);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-text{height:14px}.skeleton-chart{height:240px;border-radius:var(--radius-lg)}.login-split{display:flex;min-height:100vh;background:var(--bg)}.login-hero{flex:1.15;min-width:0;position:relative;overflow:hidden;background:linear-gradient(135deg,#072143,#0f6cbd 52%,#2899f5);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:46px 56px}.login-pane{width:472px;flex:none;background:var(--surface);display:flex;flex-direction:column;justify-content:center;padding:0 56px;position:relative}@media(max-width:900px){.login-hero{display:none!important}.login-pane{width:100%!important}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:radial-gradient(1200px 600px at 100% -10%,var(--brand-tint),transparent 60%),var(--bg)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:36px 32px;box-shadow:var(--shadow-16)}.login-header{text-align:center;margin-bottom:28px}.login-header h1{font-size:22px;font-weight:700;letter-spacing:-.015em;color:var(--text);margin-bottom:4px}.login-header span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px;flex:1}.login-field label{font-size:13px;font-weight:600;color:var(--text-2)}.login-field input{padding:11px 12px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:14px;transition:border-color .12s,box-shadow .12s}.login-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.login-button{padding:12px;border:none;border-radius:6px;background:var(--brand);color:var(--brand-fg);font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-2);transition:background .12s;margin-top:8px}.login-button:hover{background:var(--brand-hover)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:10px 12px;border-radius:6px;background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);font-size:13px}.sidebar-user{margin-top:auto;padding:12px 14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface)}.sidebar-user-info{min-width:0}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:11px;color:var(--muted)}.sidebar-signout{padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-2);font-size:12px;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.sidebar-signout:hover{color:var(--danger);border-color:var(--danger)}.theme-toggle{width:32px;height:32px;flex:none;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.theme-toggle:hover{background:var(--hover)}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.btn-primary{background:var(--brand);color:var(--brand-fg);box-shadow:var(--shadow-2)}.btn-primary:hover{background:var(--brand-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover{background:var(--hover)}.btn-small{padding:4px 10px;font-size:12px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);cursor:pointer}.btn-small:hover{color:var(--text);background:var(--hover)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{filter:brightness(.97)}.btn-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.btn-success:hover{filter:brightness(.97)}.invite-form .form-row{display:flex;gap:12px;margin-bottom:12px}.tenant-access-panel{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-top:8px;min-width:200px}.tenant-checkboxes{display:flex;flex-direction:column;gap:6px}.tenant-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.tenant-checkbox input[type=checkbox]{accent-color:var(--brand)}input,select,textarea{font-family:inherit}.combo-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-16);max-height:360px;overflow-y:auto;padding:4px}.combo-row{display:flex;flex-direction:column;gap:1px;padding:7px 10px;border-radius:6px;cursor:pointer}.combo-row:hover,.combo-row.active{background:var(--brand-tint)}.combo-row .combo-name{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combo-row .combo-upn{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:769px)and (max-width:1024px){.charts-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(3,1fr)}.main-content{padding:22px 24px}}.print-only{display:none}@media print{.sidebar,.topbar,.no-print{display:none!important}.main-content{margin:0!important;padding:0!important}body,.app-layout{background:#fff!important}.card{box-shadow:none!important;border-color:#ccc!important;break-inside:avoid}.reads-card{break-inside:auto!important}.reads-card thead{display:table-header-group}.reads-card tr{break-inside:avoid}.print-only{display:block!important}}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px}.charts-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}}
