:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#e3e6ea;--text:#17202a;--text-2:#5b6673;--muted:#8a94a1;--primary:#0f766e;--primary-2:#0d9488;--primary-soft:#e6f4f2;--green:#15803d;--green-soft:#e8f5ec;--amber:#b45309;--amber-soft:#fdf1e3;--red:#b91c1c;--red-soft:#fdeaea;--blue:#1d4ed8;--blue-soft:#e9eefc;--gray:#4b5563;--gray-soft:#eef0f2;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #1018280d, 0 4px 16px #1018280d;--sidebar-width:268px;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.01em;font-size:22px;font-weight:700}h3{font-size:15px;font-weight:650}.muted{color:var(--muted);font-size:12.5px}.link{color:var(--primary);font-weight:600}.link:hover{text-decoration:underline}.negative{color:var(--red)}.positive{color:var(--green)}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);color:#d3e0de;z-index:40;background:#0b1f1d;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{align-items:center;gap:12px;padding:18px 18px 12px;display:flex;position:relative}.brand strong{color:#fff;font-size:14px;display:block}.brand .muted{color:#7f9995}.brand-mark{color:#fff;letter-spacing:.03em;background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:40px;height:40px;font-size:13px;font-weight:800;display:flex;box-shadow:0 4px 10px #0f766e59}.brand-bars{align-items:flex-end;gap:2px;display:flex}.brand-bars i{border-radius:2px;height:3px;display:block}.brand-bars i:first-child{background:#fbbf24;width:8px}.brand-bars i:last-child{background:#5eead4;width:12px}.sidebar-close{color:#9fb5b1;margin-left:auto;display:none}.sidebar-position{border-radius:var(--radius-sm);background:#14b8a61f;border:1px solid #14b8a638;flex-direction:column;gap:2px;margin:6px 14px 10px;padding:12px;display:flex}.sidebar-position .muted{color:#8fb3ae}.sidebar-position strong{color:#fff;font-size:18px}.sidebar-position-split{color:#9fc2bd;gap:10px;font-size:11.5px;display:flex}.sidebar nav{flex-direction:column;flex:1;gap:2px;padding:4px 10px 12px;display:flex}.nav-group{margin-bottom:6px}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:#6d8580;padding:10px 8px 4px;font-size:10.5px;display:block}.nav-item{border-radius:var(--radius-sm);color:#c2d4d1;align-items:center;gap:10px;padding:9px 10px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{background:var(--primary);color:#fff}.nav-badge{color:#fff;background:#ef4444;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.sidebar-footer{border-top:1px solid #ffffff14;padding:12px 14px 16px}.sidebar-alert{color:#fecaca;border-radius:var(--radius-sm);background:#ef444426;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:12.5px;display:flex}.user-row{align-items:center;gap:10px;display:flex}.avatar{color:#fff;background:#164e47;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.user-meta{flex:1;min-width:0}.user-meta strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.user-meta .badge{margin-top:2px}.content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#ffffffe6;align-items:center;gap:12px;padding:10px 22px;display:flex;position:sticky;top:0}.topbar-title{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.topbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.menu-btn{display:none}.dot{background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.page{flex-direction:column;gap:16px;width:100%;max-width:1400px;padding:22px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header p{margin-top:2px}.page-actions,.card-actions,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);border-left:3px solid var(--border);padding:14px 16px}.stat.primary{border-left-color:var(--primary)}.stat.success,.stat.green{border-left-color:var(--green)}.stat.danger,.stat.red{border-left-color:var(--red)}.stat.warning,.stat.amber{border-left-color:var(--amber)}.stat.blue{border-left-color:var(--blue)}.stat-top{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--text-2);font-size:12.5px;font-weight:600}.stat-icon{color:var(--muted)}.stat-value{letter-spacing:-.02em;margin-top:4px;font-size:21px;font-weight:750}.stat-hint{color:var(--muted);margin-top:2px;font-size:12px}.dash-grid{grid-template-columns:1.35fr 1fr;gap:14px;display:grid}.kv-list{flex-direction:column;gap:8px;display:flex}.kv-list.cols{flex-flow:wrap;gap:20px}.kv{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding-bottom:6px;font-size:13px;display:flex}.kv-list.cols .kv{border:0;flex-direction:column;gap:2px}.kv span{color:var(--text-2)}.btn{border-radius:var(--radius-sm);cursor:pointer;background:var(--primary);color:#fff;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 13px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--primary-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{border-color:var(--border);color:var(--text);background:0 0}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{background:var(--red)}.btn.danger:hover{background:#991b1b}.btn.sm{padding:5px 10px;font-size:12px}.icon-btn{width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn.danger:hover{background:var(--red-soft);color:var(--red)}.icon-btn.success:hover{background:var(--green-soft);color:var(--green)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--text-2);font-size:12px;font-weight:600}.field-hint{color:var(--muted);font-size:11.5px}.input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--surface);color:var(--text);padding:8px 10px}.input:focus{border-color:var(--primary);outline:2px solid #0f766e40}.input-icon{align-items:center;display:flex;position:relative}.input-icon svg{color:var(--muted);position:absolute;left:10px}.input-icon .input{padding-left:32px}.filters{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.filters .input,.filters .field{width:auto;min-width:150px}.filters .grow{flex:1;min-width:220px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.span-2{grid-column:span 2}.stack,.stack-sm{flex-direction:column;gap:12px;display:flex}.stack-sm{gap:6px}.checkbox{align-items:center;gap:8px;font-size:13px;display:flex}.badge{background:var(--blue-soft);color:var(--blue);text-transform:capitalize;border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:650;display:inline-flex}.badge.green{background:var(--green-soft);color:var(--green)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.gray{background:var(--gray-soft);color:var(--gray)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.alert{border-radius:var(--radius-sm);border:1px solid #0000;padding:9px 12px;font-size:13px}.alert.info{background:var(--blue-soft);color:#1e3a8a;border-color:#c7d7fb}.alert.success{background:var(--green-soft);color:#14532d;border-color:#c3e6cd}.alert.error{background:var(--red-soft);color:#7f1d1d;border-color:#f3c6c6}.alert.warning{background:var(--amber-soft);color:#78350f;border-color:#f2d9b8}.alert:empty{display:none}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.tab{font:inherit;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 14px;font-weight:600}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:11.5px}td{vertical-align:top;border-bottom:1px solid #f0f2f4;padding:9px 10px}tbody tr:hover{background:#fafbfc}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;padding-top:12px;font-size:12.5px;display:flex}.totals-row{color:var(--text-2);flex-wrap:wrap;gap:16px;padding:6px 2px 10px;font-size:12.5px;display:flex}.empty{text-align:center;color:var(--muted);padding:26px 10px;font-size:13px}.modal-backdrop{z-index:60;background:#0f172a73;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;box-shadow:0 20px 60px #0f172a4d}.modal.wide{max-width:720px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-body{padding:16px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.modal-hint{color:var(--muted);align-items:center;gap:6px;margin-top:12px;font-size:12px;display:flex}.mini-chart{align-items:flex-end;gap:4px;height:140px;padding-top:8px;display:flex}.mini-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.mini-bar{background:linear-gradient(180deg, #14b8a6, var(--primary));border-radius:4px 4px 0 0;width:100%;min-height:4px}.mini-bar-wrap span{color:var(--muted);font-size:10px}.chart-footer{color:var(--text-2);justify-content:space-between;padding-top:8px;font-size:12.5px;display:flex}.alert-list{flex-direction:column;gap:8px;display:flex}.alert-row{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:9px 10px;display:flex}.alert-row:hover{background:var(--surface-2)}.alert-icon{border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.alert-icon.amber{background:var(--amber-soft);color:var(--amber)}.alert-icon.red{background:var(--red-soft);color:var(--red)}.alert-icon.blue{background:var(--blue-soft);color:var(--blue)}.alert-icon.green{background:var(--green-soft);color:var(--green)}.advisor-callout{border-left:3px solid var(--primary);align-items:center;gap:12px;display:flex}.advisor-callout-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.advisor-callout p{color:var(--text-2);font-size:13px}.advisor-callout .btn{margin-left:auto}.low-float-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.low-float-values{text-align:right;min-width:130px}.low-float-values small{color:var(--muted);font-size:11px}.progress{background:var(--surface-2);border-radius:999px;height:6px;margin:4px 0 2px;overflow:hidden}.progress-fill{background:var(--blue);border-radius:999px;height:100%}.progress-fill.green{background:var(--green)}.progress-fill.amber{background:var(--amber)}.progress-fill.red{background:var(--red)}.trust-breakdown{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.trust-item{border:1px solid var(--border);border-radius:var(--radius-sm);text-transform:capitalize;justify-content:space-between;padding:8px 10px;font-size:12.5px;display:flex}.bar-list{flex-direction:column;gap:8px;display:flex}.bar-row{grid-template-columns:70px 1fr 110px;align-items:center;gap:10px;font-size:12.5px;display:grid}.bar-row .progress{margin:0}.bar-row span:last-child{text-align:right;color:var(--text-2)}.status-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.status-card{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:3px;padding:10px;display:flex}.status-card.down{background:snow;border-color:#f3c6c6}.status-card.slow{background:#fffdf7;border-color:#f2d9b8}.status-card.restored{background:#f9fdfa;border-color:#c3e6cd}.status-head{justify-content:space-between;align-items:center;display:flex}.notification-list{flex-direction:column;gap:8px;display:flex}.notification{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.notification.read{opacity:.65}.notification-main{flex:1}.notification-head{align-items:center;gap:8px;margin-bottom:3px;display:flex}.notification p{color:var(--text-2);font-size:12.5px}.code{background:var(--surface-2);border-radius:5px;padding:1px 6px;font-size:11.5px}.code-block,.sms-quote{color:#d7e2f0;border-radius:var(--radius-sm);white-space:pre-wrap;background:#0f172a;padding:12px;font-size:12px;overflow-x:auto}.sms-quote{background:var(--surface-2);color:var(--text);border:1px dashed var(--border)}.sms-body{max-width:380px;color:var(--text-2);font-size:12.5px;display:block}.token-box{color:#a5f3ec;border-radius:var(--radius-sm);background:#0f172a;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.token-box code{word-break:break-all;font-size:12.5px}.token-box .icon-btn{color:#a5f3ec}.hint-block{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text-2);margin-top:14px;padding:12px 14px;font-size:12.5px}.hint-block ol{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;display:flex}.threshold-cell{min-width:120px}.login-page{background:radial-gradient(1000px 500px at 70% -10%,#0f766e 0%,#0b1f1d 55%,#071412 100%);place-items:center;min-height:100vh;padding:22px;display:grid}.login-card{background:var(--surface);border-radius:16px;flex-direction:column;gap:18px;width:100%;max-width:430px;padding:26px;display:flex;box-shadow:0 24px 80px #00000059}.login-brand{align-items:center;gap:12px;display:flex}.login-brand h1{font-size:18px}.login-demo{border-top:1px solid var(--border);padding-top:14px}.demo-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.demo-account{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);font:inherit;cursor:pointer;color:var(--text-2);align-items:center;gap:6px;padding:7px 9px;font-size:12px;display:flex}.demo-account:hover{border-color:var(--primary);color:var(--primary)}.login-register{text-align:center;font-size:13px}.login-register a,.register-login a{color:var(--primary);font-weight:700}.register-plan{color:var(--text-2);flex-direction:row;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.register-plan svg{color:var(--primary);flex-shrink:0;margin-top:1px}.register-login{text-align:center;font-size:13px}.sub-banner{color:#9a3412;background:#fff7ed;border-bottom:1px solid #fed7aa;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.sub-banner-danger{color:#b91c1c;background:#fef2f2;border-bottom-color:#fecaca}.sub-banner-link{color:inherit;white-space:nowrap;margin-left:auto;font-weight:800;text-decoration:underline}@media (width<=720px){.sub-banner{padding:9px 12px;font-size:12px}}.boot{place-items:center;min-height:60vh;display:grid}.spinner{border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-overlay{display:none}.ai-shell{grid-template-columns:1fr;gap:16px;display:grid}.ai-chat{flex-direction:column;gap:12px;max-height:58vh;padding:4px 2px;display:flex;overflow-y:auto}.ai-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:86%;padding:10px 13px;font-size:13.5px;line-height:1.55}.ai-bubble.user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.ai-bubble.assistant{background:var(--surface-2,#0000000a);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.ai-bubble.pending{opacity:.7;font-style:italic}.ai-prompt-row{flex-wrap:wrap;gap:8px;display:flex}.ai-prompt{border:1px dashed var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;padding:6px 11px;font-size:12px}.ai-prompt:hover{border-color:var(--primary);color:var(--primary)}.ai-report h4{margin:14px 0 6px;font-size:13px}.ai-report ul{gap:5px;margin:0;padding-left:18px;font-size:13px;display:grid}.ai-report li{line-height:1.5}.ai-risk{border-bottom:1px dashed var(--border);align-items:flex-start;gap:8px;padding:7px 0;font-size:13px;display:flex}.ai-risk:last-child{border-bottom:0}.ai-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:11.5px;display:flex}.sms-result{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:8px;padding:10px 12px;display:grid}.sms-result p{margin:0;font-size:12.5px}@media (width<=1080px){.dash-grid{grid-template-columns:1fr}}@media (width<=860px){.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close,.menu-btn{display:inline-grid}.content{margin-left:0}.sidebar-overlay{z-index:35;background:#0f172a66;display:block;position:fixed;inset:0}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.page{padding:14px}}.swal2-popup{border-radius:16px;font-family:inherit}.swal2-title{font-size:19px;font-weight:700}.swal2-html-container{font-size:14px}.swal2-confirm,.swal2-cancel,.swal2-deny{border-radius:9px;font-weight:600}.hss-toast{font-size:13px}@media (width<=720px){.page{padding:12px;padding-bottom:calc(26px + env(safe-area-inset-bottom));gap:12px}h1{font-size:18px}.page-header{flex-direction:column;align-items:stretch;gap:10px}.page-actions{width:100%}.page-actions .btn{flex:1;justify-content:center}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:11px 12px}.stat-value{overflow-wrap:anywhere;font-size:17px}.card{border-radius:12px;padding:12px}.filters{gap:6px}.filters .input,.filters .field,.filters .grow{flex:100%;width:100%;min-width:0}.filters .field{flex-direction:column}.input{min-height:44px;padding:10px 12px;font-size:16px}textarea.input{min-height:90px}.btn{justify-content:center;min-height:42px}.btn.sm{min-height:36px}.icon-btn{width:38px;height:38px}.tabs{gap:0}.tab{padding:10px 12px;font-size:13px}.dash-grid{grid-template-columns:1fr;gap:12px}.advisor-callout{flex-wrap:wrap}.advisor-callout .btn{width:100%;margin-left:0}.kv-list.cols{flex-direction:column;gap:8px}.modal-backdrop{align-items:flex-end;padding:0}.modal,.modal.wide{border-radius:18px 18px 0 0;max-width:100%;max-height:94vh}.modal-header,.modal-body{padding:14px}.modal-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.modal-footer .btn{flex:1}.notification{flex-wrap:wrap}.row-actions{gap:6px}.topbar{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top))}.sidebar{width:min(84vw,300px)}.brand{padding-top:calc(18px + env(safe-area-inset-top))}.login-card{border-radius:14px;padding:20px}.demo-grid{grid-template-columns:1fr}.mini-chart{height:110px}.bar-row{grid-template-columns:58px 1fr 78px;font-size:11.5px}.trust-breakdown{grid-template-columns:repeat(2,1fr)}.status-grid{grid-template-columns:1fr}.low-float-row{flex-direction:column;align-items:flex-start}.low-float-values{text-align:left;width:100%}.sms-body{max-width:100%}.totals-row{gap:10px}.swal2-popup{width:92%!important;padding:1.2em .9em 1.1em!important}.swal2-title{font-size:17px!important}.table-wrap table,.table-wrap tbody{display:block}.table-wrap thead{display:none}.table-wrap tr{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;margin-bottom:10px;padding:8px 10px;display:block}.table-wrap td{border:0;justify-content:space-between;align-items:flex-start;gap:10px;min-height:26px;padding:5px 0;display:flex}.table-wrap td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;flex:0 0 40%;padding-top:2px;font-size:10.5px;font-weight:700}.table-wrap td:last-child{border-top:1px dashed var(--border);margin-top:4px;padding-top:8px}.table-wrap td[data-label=""]:before{display:none}.table-wrap td[data-label=""]{justify-content:flex-end}.table-wrap td:empty{display:none}.pagination{flex-wrap:wrap}.pagination .btn{flex:1}}
