@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg:#fafaf8;--surface:#fff;--surface-2:#f4f3ef;--ink:#1a1d1a;--ink-soft:#565b55;--ink-faint:#8a8f86;--line:#e5e3db;--line-strong:#d4d1c7;--brand:#0e5c5c;--brand-soft:#e2eeed;--green:#2f7d58;--green-bg:#e6f1ea;--amber:#b9742a;--amber-bg:#f8eedd;--red:#c2453d;--red-bg:#fae7e5;--blue:#3b6fb0;--blue-bg:#e7eef7;--gray:#8a8f86;--gray-bg:#ecebe5;--radius:10px;--shadow:0 1px 2px #1a1d1a0d, 0 1px 1px #1a1d1a0a;--shadow-pop:0 8px 30px #1a1d1a1f}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Inter,system-ui,sans-serif;font-weight:600}button,input,select{font-family:inherit}a{color:var(--brand)}.shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:0 0 248px;width:248px;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:20px 20px 16px;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:grid}.brand-name{font-size:15px;font-weight:600;line-height:1.2}.brand-name small{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:3px;font-size:10px;font-weight:500;display:block}.nav{flex:1;padding:12px;overflow:auto}.nav-group{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);padding:14px 10px 6px;font-size:10px;font-weight:600}.nav-item{text-align:left;cursor:pointer;width:100%;color:var(--ink-soft);background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;margin-bottom:1px;padding:8px 10px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.nav-item.disabled{cursor:default;color:var(--ink-faint);opacity:.75}.nav-badge{background:var(--amber);color:#fff;text-align:center;border-radius:999px;min-width:20px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.nav-badge.q{background:var(--gray)}.sidebar-footer{border-top:1px solid var(--line);padding:10px 12px 16px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--surface);flex:0 0 56px;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.org-switcher select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 10px;font-size:13px}.org-name{color:var(--ink-soft);font-size:13px;font-weight:600}.user-menu{align-items:center;gap:14px;display:flex}.username{color:var(--ink-soft);font-size:13px}.btn-link{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:500}.content{flex:1;padding:24px 28px;overflow:auto}.page-header{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.page-header h1{font-size:20px}.page-subtitle{color:var(--ink-soft);margin-top:4px;font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{border-bottom:1px solid var(--line);padding:14px 18px;font-size:14px;font-weight:600}.card-body{padding:18px}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.kpi.alert{border-color:var(--amber);background:linear-gradient(180deg, #fff, var(--amber-bg))}.kpi .lbl{color:var(--ink-soft);margin-bottom:6px;font-size:12px}.kpi .val{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600}.kpi .val small{color:var(--ink-faint);margin-left:4px;font-size:12px;font-weight:500}table.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.data-table tr:last-child td{border-bottom:0}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.gray{background:var(--gray-bg);color:var(--ink-soft)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn .ico{flex-shrink:0;width:15px;height:15px}.nav-item .ico{opacity:.8;flex-shrink:0;width:16px;height:16px}.nav-item.active .ico{opacity:1}.nav-item.disabled .ico{opacity:.5}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:#0a4747}.form-row{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-row label{color:var(--ink-soft);font-size:12.5px;font-weight:600}.form-row input,.form-row select{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:8px;padding:9px 11px;font-size:13.5px}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--radius);text-align:center;color:var(--ink-soft);cursor:pointer;background:var(--surface-2);padding:26px;font-size:13px}.dropzone[data-dragover=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.empty-note{color:var(--ink-faint);text-align:center;padding:24px;font-size:13px}.error-note{background:var(--red-bg);color:var(--red);border:1px solid var(--red);border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.progress-bar{background:var(--gray-bg);border-radius:999px;height:6px;overflow:hidden}.progress-bar>div{background:var(--brand);height:100%}.stage-checklist{flex-direction:column;gap:8px;display:flex}.stage-checklist .stage{align-items:center;gap:10px;font-size:13px;display:flex}.stage-checklist .dot{background:var(--gray);border-radius:999px;flex:0 0 9px;width:9px;height:9px}.stage-checklist .stage.done .dot{background:var(--green)}.stage-checklist .stage.current .dot{background:var(--brand)}.stage-checklist .stage.done{color:var(--ink-soft)}.conf{align-items:center;gap:6px;display:inline-flex}.bars{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.bars i{background:var(--line-strong);border-radius:1px;width:4px;display:block}.bars i:first-child{height:6px}.bars i:nth-child(2){height:10px}.bars i:nth-child(3){height:14px}.conf.hi .bars i{background:var(--green)}.conf.mid .bars i:first-child,.conf.mid .bars i:nth-child(2){background:var(--amber)}.conf.lo .bars i:first-child{background:var(--red)}.conf small{color:var(--ink-faint);font-size:11px;font-weight:500}.tabs{background:var(--surface-2);border-radius:10px;gap:4px;width:fit-content;margin-bottom:18px;padding:4px;display:flex}.tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600}.tab.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.banner{border:1px solid;border-radius:10px;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;font-size:13px;display:flex}.banner .ico{flex-shrink:0}.banner b{font-weight:700}.banner.safe{background:var(--green-bg);border-color:var(--green);color:#235e41}.banner.info{background:var(--blue-bg);border-color:var(--blue);color:#2c5587}.banner.warn{background:var(--amber-bg);border-color:var(--amber);color:#8a571c}.banner.danger{background:var(--red-bg);border-color:var(--red);color:#9a342d}.evidence{background:var(--surface-2);color:var(--ink-soft);border-radius:8px;margin:10px 0;padding:12px 16px;font-size:12.5px}.evidence ul{margin:0;padding:0;list-style:none}.evidence li{padding:3px 0 3px 20px;position:relative}.evidence li:before{content:"✓";color:var(--green);font-weight:700;position:absolute;left:0}.evidence li.q:before{content:"?";color:var(--amber)}.dash-alerts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px;display:grid}.alert-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;flex-direction:column;gap:3px;padding:15px 16px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.alert-card:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.alert-card.red{border-left-color:var(--red)}.alert-card .big{align-items:baseline;gap:8px;font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600;line-height:1;display:flex}.alert-card .big .go{color:var(--ink-faint);margin-left:auto}.alert-card .txt{color:var(--ink-soft);font-family:Inter,sans-serif;font-size:13px;font-weight:500}.alert-card .meta{color:var(--ink-faint);margin-top:5px;font-size:11.5px}.data-table tr.highlight td{background:var(--brand-soft);font-weight:600}.delta{font-family:IBM Plex Mono,monospace;font-size:12.5px;font-weight:600}.delta.up{color:var(--red)}.delta.down{color:var(--green)}.delta.flat{color:var(--ink-faint)}.login-screen{background:var(--surface-2);place-items:center;min-height:100vh;display:grid}.login-card{flex-direction:column;align-items:stretch;gap:4px;width:340px;padding:28px;display:flex}.login-card .brand-mark{background:var(--brand);color:#fff;border-radius:9px;place-items:center;width:36px;height:36px;margin-bottom:14px;font-weight:700;display:grid}.login-card h1{margin-bottom:4px;font-size:19px}.login-card .page-subtitle{margin-bottom:18px}.login-card .btn{justify-content:center;margin-top:6px}
