:root{--brand-blue:#00a3d8;--brand-blue-deep:#0084b0;--brand-dark:#001319;--body-blue:#002835;--accent-orange:#f58300;--brand-red:#a1172e;--page:#fff;--canvas:#ebf1f7;--card:#fff;--tint:#dff2fa;--tint-2:#eff9fd;--ink:#0e1b26;--ink-2:#51606d;--ink-mute:#8c99a6;--hairline:#e2e8ef;--baseline:#c9d3dd;--shadow-1:0 2px 10px #0d2a440f;--shadow-2:0 8px 24px #0d2a441f;--shadow-pop:0 12px 30px #0083b02e;--r-card:14px;--r-row:12px;--r-pill:999px;--series-1:#0077a3;--series-2:#d96d00;--series-3:#2e8540;--series-4:#6b5ca5;--ord-1:#52bce0;--ord-2:#009fd3;--ord-3:#0084b0;--ord-4:#00364a;--st-good:#0077a3;--st-warn:#b97900;--st-serious:#c25322;--st-critical:#a1172e;--st-warn-bg:#fdf3dd;--st-serious-bg:#fbe9e0;--st-critical-bg:#f7e3e6;--st-good-bg:#e1f4fb;--font-head:"Montserrat","Open Sans",Arial,sans-serif;--font-body:"Open Sans",Arial,sans-serif}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--page);font-size:14px}#root{display:flex}h1,h2,h3,.font-head{font-family:var(--font-head)}button{font:inherit;cursor:pointer}#sidebar{background:var(--page);flex-direction:column;flex-shrink:0;width:248px;min-height:100vh;padding:10px 0;display:flex}#sidebar .logo{padding:22px 26px 18px}#sidebar .logo img{width:112px;display:block}#sidebar nav{flex-direction:column;flex:1;gap:6px;padding:26px 14px;display:flex}#sidebar nav a,#sidebar nav button{color:var(--ink);text-align:left;width:100%;font-family:var(--font-head);border-radius:var(--r-row);background:0 0;border:none;align-items:center;gap:14px;padding:12px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:background .12s,box-shadow .12s;display:flex}#sidebar nav a svg,#sidebar nav button svg{color:var(--ink-2);flex-shrink:0}#sidebar nav a:hover,#sidebar nav button:hover{background:var(--tint-2)}#sidebar nav a.active,#sidebar nav button.active{background:var(--brand-blue);color:#fff;box-shadow:var(--shadow-pop)}#sidebar nav a.active svg,#sidebar nav button.active svg{color:#fff}#sidebar nav .cnt{background:var(--tint);color:var(--brand-blue-deep);border-radius:var(--r-pill);margin-left:auto;padding:0 8px;font-size:11px;font-weight:700;line-height:19px}#sidebar nav .active .cnt{color:#fff;background:#ffffff40}#sidebar .foot{color:var(--ink-mute);padding:12px 26px;font-size:11px;line-height:1.6}#sidebar .logout{font-family:var(--font-head);color:var(--ink);border-radius:var(--r-row);background:0 0;border:none;align-items:center;gap:12px;margin:4px 14px 12px;padding:12px 16px;font-size:15px;font-weight:600;display:flex}#sidebar .logout:hover{background:var(--tint-2)}#main{background:var(--page);flex-direction:column;flex:1;min-width:0;display:flex}header.top{flex-wrap:wrap;align-items:center;gap:22px;padding:20px 36px 16px 30px;display:flex}.top-right{align-items:center;gap:14px;min-width:0;margin-left:auto;display:flex}.placebar{flex-shrink:0;align-items:center;gap:2px;display:flex}.placebar .crumbwrap{align-items:center;gap:2px;display:inline-flex}.placebar .sep{color:var(--baseline);padding:0 4px;font-size:16px;font-weight:300}.crumbbox{position:relative}.crumb{font-family:var(--font-head);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:9px;align-items:center;gap:7px;max-width:230px;padding:8px 10px;font-size:14.5px;font-weight:700;display:inline-flex;overflow:hidden}.crumb svg{color:var(--ink-mute);flex-shrink:0}button.crumb:hover{background:var(--tint-2)}.crumb.locked{color:var(--ink);cursor:default}.place-menu{min-width:230px;max-height:340px;left:0;right:auto;overflow-y:auto}.place-menu .ck{width:16px;color:var(--brand-blue-deep);flex-shrink:0;display:inline-flex}.searchbox{flex-shrink:0;width:150px;height:38px;position:relative}.search{border-radius:10px;align-items:center;gap:10px;height:38px;padding:7px 10px;display:flex}.search svg{color:var(--ink);flex-shrink:0}.search input{font-family:var(--font-head);color:var(--ink);background:0 0;border:none;outline:none;width:100%;min-width:0;font-size:16px;font-weight:500}.search input::placeholder{color:var(--ink-2)}.searchbox.open .search{z-index:81;background:var(--card);width:380px;box-shadow:var(--shadow-2);border-radius:12px;position:absolute;top:0;right:0}.search-pop{background:var(--card);min-width:380px;max-width:460px;box-shadow:var(--shadow-2);z-index:80;border-radius:12px;padding:8px;position:absolute;top:46px;right:0}.search-pop button{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:10px;padding:9px 12px;font-size:13.5px;display:flex}.search-pop button:hover{background:var(--tint-2)}.search-pop .ico{color:var(--ink-2);flex-shrink:0;margin-top:2px;display:flex}.search-pop .txt{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.search-pop .txt .sub{color:var(--ink-mute);font-size:12px}.search-pop .kind{font-size:10.5px;font-weight:700;font-family:var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-blue-deep);background:var(--tint);border-radius:6px;flex-shrink:0;margin-top:2px;padding:2px 7px}.search-foot{color:var(--ink-mute);border-top:1px solid var(--hairline);margin-top:6px;padding:8px 12px 4px;font-size:11.5px}.bell{background:0 0;border:none;border-radius:50%;padding:8px;display:flex;position:relative}.bell:hover{background:var(--tint-2)}.bell .dot{border:2px solid var(--page);background:#c21d3a;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:7px}.userbox{position:relative}.userchip{background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:6px 8px;display:flex}.userchip:hover{background:var(--tint-2)}.userchip .avatar{background:var(--tint);width:44px;height:44px;color:var(--brand-blue-deep);font-family:var(--font-head);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.userchip .who{text-align:left}.userchip .who .nm{font-family:var(--font-head);color:var(--ink);font-size:16px;font-weight:700}.userchip .who .rl{color:var(--ink-2);font-size:13px}.menu{background:var(--card);box-shadow:var(--shadow-2);z-index:70;border-radius:12px;min-width:250px;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.menu .menu-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);padding:8px 12px 4px;font-size:11px;font-weight:700}.menu button{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;display:flex}.menu button:hover{background:var(--tint-2)}.menu button.on{background:var(--tint);color:var(--brand-blue-deep);font-weight:600}.menu button.danger{color:var(--brand-red)}.menu .scope{color:var(--ink-mute);margin-left:auto;padding-left:12px;font-size:11px}.menu .menu-sep{border-top:1px solid var(--hairline);margin:6px 4px}#sheet{background:var(--canvas);border-top-left-radius:34px;flex:1;min-width:0;padding:32px 32px 48px}.tscroll{margin:0 -2px;padding:0 2px;overflow-x:auto}.page-head{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.page-head h1{color:var(--ink);letter-spacing:-.01em;font-size:34px;font-weight:700}.add-btn{background:var(--brand-blue);color:#fff;width:34px;height:34px;box-shadow:var(--shadow-1);border:none;border-radius:10px;justify-content:center;align-items:center;margin-top:5px;display:flex}.add-btn:hover{background:var(--brand-blue-deep)}.page-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.act{border:1px solid var(--hairline);background:var(--card);font-family:var(--font-head);color:var(--ink);box-shadow:var(--shadow-1);border-radius:10px;align-items:center;gap:8px;padding:9px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.act:hover{border-color:var(--brand-blue);color:var(--brand-blue-deep)}.act.primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.act.primary:hover{background:var(--brand-blue-deep)}.act.lit{border-color:var(--brand-blue);color:var(--brand-blue)}.range-row{justify-content:flex-end;align-items:center;gap:10px;width:100%;margin:10px 0 0;display:flex}.range-chip{color:var(--ink-2);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.range-chip .tag{background:var(--tint);color:var(--brand-blue-deep);font-weight:700;font-family:var(--font-head);border-radius:6px;padding:3px 8px;font-size:11.5px}.range-chip select{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:none;outline:none;font-size:12.5px}.head-rule{border:none;border-top:1.5px solid var(--baseline);margin:14px 0 20px}.chips-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.fchip{background:var(--card);border:1px solid var(--hairline);color:var(--ink);box-shadow:var(--shadow-1);border-radius:10px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.fchip.locked{background:var(--tint-2);border-color:var(--tint);color:var(--brand-blue-deep)}.fchip .x{color:var(--ink-mute);background:0 0;border:none;padding:0 0 0 2px;font-size:14px;line-height:1;display:flex}.fchip .x:hover{color:var(--brand-red)}.fchip select{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;outline:none;max-width:170px;font-size:13px;font-weight:600}.view-toggle{gap:8px;margin-left:auto;display:flex}.view-toggle button{border:1px solid var(--hairline);background:var(--card);width:36px;height:36px;color:var(--ink-2);box-shadow:var(--shadow-1);border-radius:9px;justify-content:center;align-items:center;display:flex}.view-toggle button.on{background:var(--tint);border-color:var(--brand-blue);color:var(--brand-blue-deep)}.grid{gap:18px;display:grid}.kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:18px}.two-col{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.cards-3{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-1);border:1.5px solid #0000;min-width:0;padding:20px 22px;overflow:hidden}.card h3{color:var(--ink);overflow-wrap:break-word;margin-bottom:2px;font-size:14px;font-weight:700}.card .sub{color:var(--ink-mute);overflow-wrap:break-word;margin-bottom:12px;font-size:12.5px}.card table.data{table-layout:auto}.card .chart-wrap{max-width:100%;overflow:hidden}.card .chart-wrap svg{width:100%;max-width:100%;height:auto;display:block}.widget-slot{min-width:0}.card-head{align-items:baseline;gap:10px;display:flex}.card-head .toggle{border:1px solid var(--hairline);border-radius:8px;margin-left:auto;display:flex;overflow:hidden}.card-head .toggle button{background:var(--card);color:var(--ink-2);font-size:11.5px;font-weight:600;font-family:var(--font-head);border:none;padding:4px 12px}.card-head .toggle button.on{background:var(--brand-blue);color:#fff}.ecard{cursor:pointer;transition:box-shadow .14s,transform .14s,border-color .14s;position:relative}.ecard:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.ecard.selected{border-color:var(--brand-blue);box-shadow:var(--shadow-pop)}.ecard .t{align-items:center;gap:10px;margin-bottom:14px;display:flex}.ecard .t h4{font-family:var(--font-head);color:var(--ink);flex:1;font-size:17px;font-weight:700}.ecard .row{color:var(--ink);align-items:flex-start;gap:12px;padding:6px 0;font-size:13.5px;display:flex}.ecard .row svg{color:var(--ink-2);flex-shrink:0;margin-top:1px}.ecard .foot-row{align-items:center;margin-top:4px;display:flex}.tile .label{color:var(--ink-2);font-size:12.5px}.tile .value{font-family:var(--font-head);color:var(--ink);margin:2px 0 0;font-size:30px;font-weight:700}.tile .delta{font-size:12px;font-weight:600}.tile .delta.good{color:#006300}.tile .delta.bad{color:var(--st-critical)}.tile .delta.flat{color:var(--ink-2)}.tile .spark{margin-top:8px}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{font-family:var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);text-align:left;border-bottom:1px solid var(--baseline);padding:8px 10px;font-size:11px}table.data td{border-bottom:1px solid var(--hairline);font-variant-numeric:tabular-nums;padding:9px 10px}table.data tr:last-child td{border-bottom:none}table.data tr.rowbtn{cursor:pointer}table.data tr.rowbtn:hover td{background:var(--tint-2)}table.float{border-collapse:separate;border-spacing:0 10px;width:100%;font-size:13.5px}table.float thead th{font-family:var(--font-head);color:var(--ink);text-align:left;white-space:nowrap;background:var(--tint);border-top:1.5px solid var(--brand-blue);border-bottom:1.5px solid var(--brand-blue);padding:12px 14px;font-size:12.5px;font-weight:700}table.float thead th:first-child{border-left:1.5px solid var(--brand-blue);border-radius:10px 0 0 10px}table.float thead th:last-child{border-right:1.5px solid var(--brand-blue);border-radius:0 10px 10px 0}table.float tbody td{background:var(--card);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-1);border-top:1.5px solid #0000;border-bottom:1.5px solid #0000;padding:13px 14px}table.float tbody td:first-child{border-radius:var(--r-row) 0 0 var(--r-row);border-left:1.5px solid #0000}table.float tbody td:last-child{border-radius:0 var(--r-row) var(--r-row) 0;border-right:1.5px solid #0000}table.float tbody tr{transition:transform .12s}table.float tbody tr:hover td{box-shadow:var(--shadow-2)}table.float tbody tr.rowbtn{cursor:pointer}table.float tbody tr.selected td{border-color:var(--brand-blue);box-shadow:var(--shadow-pop)}table.float .sort{align-items:center;gap:4px;display:inline-flex}.num{text-align:right}table.data.center-nums th,table.data.center-nums td{text-align:center}table.data.center-nums th:first-child,table.data.center-nums td:first-child{text-align:left}.usage-tile{transition:background .15s,box-shadow .15s}.usage-tile:hover{background:#eff9fd;box-shadow:0 2px 6px #0083b01a}.usage-tile:focus-visible{outline:2px solid var(--brand-blue,#0084b0);outline-offset:2px}.empty{color:var(--ink-mute);padding:14px 4px;font-size:13px}.cellsub{color:var(--ink-mute);font-size:12px;display:block}input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-blue);cursor:pointer}.kebab-wrap{display:inline-flex;position:relative}.kebab{color:var(--ink-2);background:0 0;border:none;border-radius:8px;padding:4px;display:flex}.kebab:hover{background:var(--tint-2);color:var(--ink)}.dot{border-radius:50%;width:13px;height:13px;display:inline-block}.dot.ok{background:var(--brand-blue)}.dot.warn{background:var(--accent-orange)}.dot.crit{background:#c21d3a}.dot-lbl{color:var(--ink-2);align-items:center;gap:7px;font-size:13px;display:inline-flex}.chip{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:5px;padding:2px 10px 2px 7px;font-size:12px;font-weight:600;display:inline-flex}.chip svg{flex-shrink:0}.chip.critical{color:var(--st-critical);background:var(--st-critical-bg)}.chip.serious{color:var(--st-serious);background:var(--st-serious-bg)}.chip.warning{color:var(--st-warn);background:var(--st-warn-bg)}.chip.good{color:var(--st-good);background:var(--st-good-bg)}.state{font-size:11px;font-weight:600;font-family:var(--font-head);border:1px solid var(--hairline);color:var(--ink-2);white-space:nowrap;border-radius:6px;padding:3px 9px;display:inline-block}.state.open{border-color:var(--st-critical);color:var(--st-critical)}.state.acknowledged{border-color:var(--series-1);color:var(--series-1)}.state.escalated{border-color:var(--accent-orange);color:#9a5300}.state.resolved,.state.done,.state.paid{border-color:var(--st-good);color:var(--st-good)}.state.in_progress,.state.assigned,.state.new{border-color:var(--series-1);color:var(--series-1)}.state.unpaid{border-color:var(--st-critical);color:var(--st-critical)}.state.pending{border-color:var(--accent-orange);color:#9a5300}.meter{align-items:center;gap:8px;display:inline-flex}.meter .track{border-radius:4px;width:110px;height:8px;position:relative;overflow:hidden}.meter .fill{border-radius:4px 0 0 4px;height:100%;display:block}.meter .pct{color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:34px;font-size:12px}.btn{border:1px solid var(--hairline);background:var(--card);font-size:12.5px;font-weight:600;font-family:var(--font-head);color:var(--ink-2);box-shadow:var(--shadow-1);border-radius:8px;padding:6px 13px}.btn:hover{border-color:var(--brand-blue);color:var(--brand-blue-deep)}.btn.primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.btn.primary:hover{background:var(--brand-blue-deep);color:#fff}.btn[disabled]{opacity:.45;cursor:default;pointer-events:none}.chart-wrap{position:relative}.chart-wrap svg{width:100%;height:auto;display:block}.legend{flex-wrap:wrap;gap:16px;margin-bottom:8px;display:flex}.legend .key{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;display:inline-flex}.legend .key .line{border-top:3px solid;border-radius:2px;width:16px;height:0}.legend .key .swatch{border-radius:3px;width:11px;height:11px}.viz-tip{pointer-events:none;background:var(--brand-dark);color:#fff;box-shadow:var(--shadow-2);z-index:30;border-radius:8px;min-width:130px;padding:8px 10px;font-size:12px;position:absolute}.viz-tip .t-date{color:#9fb3ba;margin-bottom:4px;font-size:11px}.viz-tip .t-row{align-items:center;gap:6px;display:flex}.viz-tip .t-row .k{border-top:3px solid;border-radius:2px;width:12px;height:0}.viz-tip .t-row .v{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.viz-tip .t-row .n{color:#c9d4d8}.badge-pct{border:1px solid var(--hairline);color:var(--ink-2);box-shadow:var(--shadow-1);background:var(--card);border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.badge-pct b{color:#1d7a34;background:#dff4e4;border-radius:6px;padding:2px 8px;font-size:12px}#drawer{background:var(--card);z-index:50;border-radius:22px 0 0 22px;flex-direction:column;width:520px;max-width:92vw;height:100vh;transition:right .22s;display:flex;position:fixed;top:0;right:-520px;box-shadow:-12px 0 34px #0d2a4429}#drawer.open{right:0}#drawer .d-head{border-bottom:1.5px solid var(--hairline);align-items:center;gap:12px;padding:20px 24px;display:flex}#drawer .d-head h2{color:var(--ink);font-size:18px}#drawer .d-body{flex:1;padding:20px 24px;overflow-y:auto}#drawer .d-close{color:var(--ink-2);background:0 0;border:none;border-radius:8px;margin-left:auto;padding:4px 8px;font-size:20px;line-height:1}#drawer .d-close:hover{background:var(--tint-2)}#drawer .d-back{border:1px solid var(--hairline);color:var(--brand-blue-deep,#0084b0);font-family:var(--font-head);cursor:pointer;background:0 0;border-radius:8px;margin-right:4px;padding:6px 12px;font-size:13px;font-weight:600}#drawer .d-back:hover{background:var(--tint-2,#eff9fd);border-color:var(--brand-blue)}#drawer.inline{width:auto;max-width:none;height:auto;box-shadow:none;background:0 0;border-radius:0;transition:none;display:block;position:static;top:auto;right:auto}#drawer.inline .d-head{border-bottom:1.5px solid var(--baseline,#c9d3dd);margin-bottom:16px;padding:0 0 14px}#drawer.inline .d-head h2{letter-spacing:-.01em;font-size:24px}#drawer.inline .d-body{padding:0;overflow:visible}.kv{grid-template-columns:130px 1fr;gap:5px 12px;margin-bottom:16px;font-size:13px;display:grid}.kv dt{color:var(--ink-mute)}.kv dd{color:var(--ink)}.frame{border:1px solid var(--hairline);color:var(--body-blue);white-space:pre;background:#f6f9fc;border-radius:10px;margin-bottom:7px;padding:9px 11px;font-family:Consolas,monospace;font-size:11.5px;overflow-x:auto}#scrim{z-index:40;background:#0d2a4447;position:fixed;inset:0}.stub{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-1);text-align:center;color:var(--ink-2);padding:60px 40px}.stub svg{color:var(--brand-blue);margin-bottom:14px}.stub h3{color:var(--ink);margin-bottom:6px;font-size:17px}.stub p{max-width:520px;margin:0 auto;font-size:13.5px}.tabs{gap:8px;margin-bottom:18px;display:flex}.tabs button{border:1px solid var(--hairline);background:var(--card);font-family:var(--font-head);color:var(--ink-2);box-shadow:var(--shadow-1);border-radius:10px;padding:8px 16px;font-size:13.5px;font-weight:600}.tabs button:hover{color:var(--brand-blue-deep);border-color:var(--brand-blue)}.tabs button.on{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.thsort{font:inherit;color:inherit;font-family:var(--font-head);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-weight:700;display:inline-flex}.thsort:hover{color:var(--brand-blue-deep)}body[data-density=compact] table.float{border-spacing:0 7px;font-size:13px}body[data-density=compact] table.float thead th{padding:9px 12px}body[data-density=compact] table.float tbody td{padding:8px 12px}body[data-density=compact] table.data td{padding:6px 10px}.tag-ro{font-size:10.5px;font-weight:700;font-family:var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-blue-deep);background:var(--tint);vertical-align:middle;border-radius:6px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.btn.breakglass{border-color:var(--brand-red);color:var(--brand-red);align-items:center;gap:8px;display:inline-flex}.btn.breakglass:hover{background:var(--st-critical-bg);color:var(--brand-red)}.bg-note{color:var(--ink-mute);margin-top:6px;font-size:11.5px}details.dsec{border:1px solid var(--hairline);background:var(--card);border-radius:10px;margin-bottom:10px}details.dsec summary{cursor:pointer;font-family:var(--font-head);color:var(--ink);align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:700;list-style:none;display:flex}details.dsec summary::-webkit-details-marker{display:none}details.dsec summary .n{color:var(--ink-mute);margin-left:auto;font-size:11px;font-weight:600}details.dsec[open] summary{border-bottom:1px solid var(--hairline)}details.dsec .dsec-body{padding:10px 14px}.denied{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-1);text-align:center;color:var(--ink-2);padding:70px 40px}.denied svg{color:var(--brand-red);margin-bottom:14px}.denied h2{color:var(--ink);font-size:20px;font-family:var(--font-head);margin-bottom:10px}.denied p{max-width:560px;margin:0 auto 20px;font-size:13.5px}#toast{background:var(--brand-dark);color:#fff;border-left:4px solid var(--brand-blue);z-index:60;box-shadow:var(--shadow-2);border-radius:10px;padding:11px 18px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.section-title{color:var(--ink);font-size:15px;font-weight:700;font-family:var(--font-head);margin:4px 0 14px}.mb{margin-bottom:14px}.uselect{font:inherit;border:1px solid var(--hairline);background:var(--card);color:var(--ink);border-radius:8px;padding:6px 10px;font-size:13px}.modal{background:var(--card);width:520px;max-width:94vw;max-height:88vh;box-shadow:var(--shadow-2);z-index:55;border-radius:18px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal.wide{width:760px}.modal .m-head{border-bottom:1.5px solid var(--hairline);align-items:center;gap:12px;padding:18px 22px;display:flex}.modal .m-head h2{color:var(--ink);font-size:17px;font-family:var(--font-head)}.modal .m-body{color:var(--ink-2);flex:1;padding:18px 22px;font-size:13.5px;overflow-y:auto}.modal .m-foot{border-top:1px solid var(--hairline);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.btn.dangerous{background:var(--brand-red);border-color:var(--brand-red)}.btn.dangerous:hover{background:#9e2b23}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field .f-label{font-family:var(--font-head);color:var(--ink);font-size:12.5px;font-weight:600}.field .f-hint{color:var(--ink-mute);font-size:11.5px}.field input[type=text],.field input[type=email],.field input[type=number],.field input[type=date],.field select,.field textarea{font:inherit;border:1px solid var(--hairline);background:var(--card);color:var(--ink);border-radius:8px;outline:none;width:100%;padding:8px 11px;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-blue)}.field textarea{resize:vertical;min-height:64px}.field-row{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.field .derived{background:var(--tint-2)}.stepper{gap:6px;margin-bottom:18px;display:flex}.stepper .step{border:1px solid var(--hairline);font-family:var(--font-head);color:var(--ink-mute);background:var(--card);border-radius:10px;flex:1;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;font-weight:600;display:flex}.stepper .step .num{background:var(--tint-2);width:20px;height:20px;color:var(--ink-2);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.stepper .step.on{border-color:var(--brand-blue);color:var(--brand-blue-deep)}.stepper .step.on .num{background:var(--brand-blue);color:#fff}.stepper .step.done{color:var(--ink-2)}.stepper .step.done .num{color:#1d7a34;background:#dff4e4}.widget-slot{position:relative}.widget-slot .drag-grip{color:var(--ink-mute);cursor:grab;z-index:2;opacity:0;background:var(--card);border-radius:6px;padding:2px;transition:opacity .12s;position:absolute;top:10px;right:36px}.widget-slot .minimize-btn{color:var(--ink-mute);cursor:pointer;z-index:2;opacity:0;background:var(--card);border:1px solid var(--hairline);border-radius:6px;padding:1px 4px;line-height:0;transition:opacity .12s;position:absolute;top:10px;right:12px}.widget-slot .minimize-btn:hover{color:var(--brand-red,#a1172e);border-color:var(--brand-red,#a1172e)}.widget-slot:hover .drag-grip,.widget-slot:hover .minimize-btn{opacity:1}.widget-slot.drag-over{outline:2px dashed var(--brand-blue);outline-offset:4px;border-radius:var(--r-card)}.widget-slot.dragging{opacity:.45}@media (prefers-reduced-motion:reduce){.widget-slot{transition:none}}.stashed-bar{background:var(--tint-2,#eff9fd);border:1px dashed var(--brand-blue-deep,#0084b0);border-radius:var(--r-card,14px);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:12px 14px;display:flex}.stashed-label{font-family:var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-blue-deep,#0084b0);margin-right:4px;font-size:11px;font-weight:700}.stashed-chip{background:var(--card);border:1px solid var(--hairline);border-radius:var(--r-pill,999px);font-size:12px;font-weight:600;font-family:var(--font-head);color:var(--ink-2);cursor:pointer;align-items:center;gap:5px;padding:4px 12px 4px 8px;display:inline-flex}.stashed-chip:hover{border-color:var(--brand-blue);color:var(--brand-blue-deep,#0084b0);background:var(--tint,#dff2fa)}.cat-card .cat-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.cat-card .cat-icon{background:var(--tint,#dff2fa);width:26px;height:26px;color:var(--brand-blue-deep,#0084b0);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cat-card h3{color:var(--ink,#0e1b26);font-size:14px;font-weight:700}.cat-card .cat-tag{color:var(--ink-mute);font-size:11px;font-family:var(--font-head);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-pill,999px);background:var(--tint-2,#eff9fd);margin-left:2px;padding:2px 8px;font-weight:600}.cat-card .cat-count{background:var(--brand-blue);color:#fff;border-radius:var(--r-pill,999px);font-family:var(--font-head);font-variant-numeric:tabular-nums;text-align:center;min-width:26px;margin-left:auto;padding:1px 9px;font-size:11px;font-weight:700}.cat-list{margin:0;padding:0;list-style:none}.cat-list li{border-bottom:1px solid var(--hairline);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.cat-list li:last-child{border-bottom:none}.sev-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.sev-dot.sev-critical{background:var(--brand-red,#a1172e)}.sev-dot.sev-serious{background:#c25322}.sev-dot.sev-warning{background:#b97900}.sev-dot.sev-info{background:var(--brand-blue,#00a3d8)}.sev-dot.sev-good{background:var(--st-good,#0b8a0b)}.cat-alert{min-width:0}.cat-alert-title{color:var(--ink,#0e1b26);font-size:13px;font-weight:600}.cat-alert-meta{color:var(--ink-mute);margin-top:1px;font-size:11.5px}.cat-alert-when{color:var(--ink-mute);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.homes-online .online-big{align-items:baseline;gap:10px;margin-top:4px;display:flex}.homes-online .pct{font-family:var(--font-head);color:var(--brand-dark,#001319);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:1}.homes-online .online-sub{color:var(--ink-2);font-size:12.5px}.homes-online .online-bar{background:#eef1f3;border-radius:4px;height:8px;margin:10px 0 12px;overflow:hidden}.homes-online .online-fill{background:linear-gradient(90deg,var(--brand-blue),var(--brand-blue-deep,#0084b0));border-radius:4px;height:100%}.homes-online .online-cta{text-align:left;background:var(--st-warn-bg,#fdf3dd);width:100%;color:var(--ink,#0e1b26);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:13px;display:flex}.homes-online .online-cta b{font-family:var(--font-head);font-weight:700}.homes-online .online-cta:hover{border-color:#b97900}.homes-online .online-cta .cat-alert-when{color:var(--ink-2);margin-left:auto;font-weight:600}.homes-online .online-note{color:var(--ink-mute);margin-top:10px;font-size:12px}.company-alerts .cat-icon{color:#fff;background:#001319}.div-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;display:grid}@media (width<=900px){.div-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.div-cell{padding:6px 0}.div-label{font-family:var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:700}.div-value{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:6px;display:flex}.div-value b{font-family:var(--font-head);color:var(--brand-dark,#001319);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1}.div-unit{color:var(--ink-2);font-size:12.5px;font-family:var(--font-head);font-weight:600}.div-delta{font-size:12px;font-family:var(--font-head);font-weight:700}.div-delta.good{color:var(--st-good,#0b8a0b)}.div-delta.bad{color:var(--brand-red,#a1172e)}.div-sub{color:var(--ink-mute);margin-top:3px;font-size:11.5px}.builder-score .score-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:6px;display:grid}@media (width<=900px){.builder-score .score-row{grid-template-columns:1fr}}.builder-score .score-metric{padding:6px 0}.score-metric-label{font-family:var(--font-head);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:700}.score-metric-value{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:6px;display:flex}.score-metric-value b{font-family:var(--font-head);color:var(--brand-dark,#001319);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.score-metric-value.rank b{color:var(--brand-blue-deep,#0084b0)}.score-metric-sub{color:var(--ink-mute);margin-top:3px;font-size:11.5px}.score-badge{background:linear-gradient(90deg,var(--tint,#dff2fa),var(--tint-2,#eff9fd));border:1px solid var(--brand-blue);color:var(--brand-dark,#001319);border-radius:12px;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;font-size:13px;display:flex}.score-badge svg{color:var(--brand-blue-deep,#0084b0);flex-shrink:0}.score-badge b{font-family:var(--font-head);font-weight:700}.logo-preview{align-items:center;gap:14px;margin:10px 0;display:flex}.logo-preview img{border:1px solid var(--hairline);background:#fff;border-radius:10px;max-width:220px;max-height:56px;padding:8px}.print-area table.data td,.print-area table.data th{border-bottom:1px solid var(--hairline)}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{background:#fff;padding:24px;position:absolute;inset:0;overflow:visible}.modal{box-shadow:none;width:auto;max-height:none;position:static;transform:none}}.auth-splash{background:var(--bg,#f2f3f5);min-height:100vh;color:var(--fg,#001319);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-family:Montserrat,Open Sans,Arial,sans-serif;display:flex}.auth-splash h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.auth-splash p{opacity:.7;margin:0;font-size:14px}.auth-splash .err{text-align:center;opacity:1;color:#a1172e;max-width:46ch;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.auth-splash button{cursor:pointer;color:#001319;background:#00a3d8;border:0;border-radius:8px;margin-top:8px;padding:8px 18px;font-size:14px;font-weight:600}
