:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#152e3a;background:#f2f6f6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:#0b7883;text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:230px;flex:none;background:#0d303b;color:#dbeaec;padding:26px 16px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;color:white;font-size:1.14rem;font-weight:650;line-height:1.05;margin:6px 8px 34px}.brand:hover{text-decoration:none}.brand-icon{display:grid;place-items:center;background:#24b0aa;width:40px;height:40px;border-radius:11px;font-weight:900;color:#07323a}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:12px 13px;border-radius:9px;color:#bcd0d4;font-size:.91rem}.sidebar nav a:hover,.sidebar nav .selected{background:#20505a;color:#fff;text-decoration:none}.sidebar form{margin-top:auto}.logout{background:transparent;color:#c9dadd;border:0;padding:12px;cursor:pointer;text-align:left}.content{min-width:0;flex:1;max-width:1800px;padding:33px clamp(18px,3vw,50px) 80px}.top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{color:#087c82;font-size:.72rem;letter-spacing:.14em;font-weight:800}.top h1,.installer h1{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.05em;line-height:1.05;margin:10px 0}.top p,.panel p,.installer p,.login p{color:#607780;line-height:1.5;margin:5px 0 13px}.snapshot-choice label{font-size:.77rem;font-weight:750;color:#55727b}.snapshot-choice select{display:block;margin-top:6px;max-width:min(380px,80vw)}.panel,.metric,.login{background:#fff;border:1px solid #dfebec;border-radius:17px;box-shadow:0 7px 28px #0b2d3710}.panel{padding:24px;margin-bottom:18px}.panel h2{font-size:1.16rem;letter-spacing:-.02em;margin:0 0 6px}.panel h3{font-size:.88rem;color:#264753;margin:20px 0 10px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:19px}.metrics.condensed{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{padding:20px}.metric span{display:block;color:#5c7982;font-size:.8rem;font-weight:650}.metric strong{display:block;font-size:clamp(1.3rem,2vw,1.9rem);letter-spacing:-.045em;margin-top:7px}.layout-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bar-row{margin:13px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:.79rem}.bar-row span{color:#668089;white-space:nowrap}.bar-track{margin-top:6px;height:9px;background:#eaf2f3;border-radius:9px;overflow:hidden}.bar-track>div{height:100%;border-radius:9px;background:#0f8d91}.tablewrap{overflow:auto;max-height:70vh}table{border-collapse:collapse;width:100%;font-size:.81rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e8eef0;vertical-align:top}th{white-space:nowrap;color:#58717a;position:sticky;top:0;background:#f8fbfb;z-index:1}td{min-width:60px}td:nth-child(1),td:nth-child(2){font-weight:600}button,.button{display:inline-block;background:#087f86;color:white;border:0;padding:11px 16px;border-radius:9px;font-weight:700;cursor:pointer;font-size:.87rem}.button:hover{color:white;text-decoration:none}.secondary{background:#e5f2f2;color:#08717b}.secondary:hover{color:#075d64}.notice,.error{padding:12px 15px;border-radius:9px;margin:12px 0 20px}.notice{background:#dff4e9;color:#176047}.error{background:#ffede7;color:#a13a27}.formgrid,.mapgrid,.setup-form{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.formgrid label,.mapgrid label,.setup-form label,.snapshot-choice label{font-size:.77rem;font-weight:700;color:#59717a}.formgrid input,.formgrid select,.mapgrid input,.setup-form input,.login input,.snapshot-choice select{width:100%;background:white;border:1px solid #cadcde;padding:10px;border-radius:8px;color:#18333e;margin-top:6px;min-width:0}.formgrid label:first-child input{min-width:0}.mapgrid{grid-template-columns:repeat(3,minmax(160px,1fr));margin:18px 0}.report-form .section-head{margin-bottom:22px}.checks{display:flex;gap:16px;align-items:center;margin-top:17px;flex-wrap:wrap;font-size:.86rem}.checks input{vertical-align:middle}.form-actions{display:flex;align-items:end;gap:12px}.compare-form{margin:18px 0 4px}.import-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}.import-form input{max-width:100%}.pager{display:flex;gap:18px;margin-top:15px;font-size:.84rem}.login{padding:35px;max-width:420px;margin:13vh auto;align-self:start;width:calc(100% - 24px)}.login h1{font-size:2rem;margin:13px 0}.login label{display:block;margin:15px 0;font-size:.86rem;font-weight:700}.login button{width:100%}.installer{max-width:850px;margin:45px auto;padding:15px}.installer .panel{margin-top:20px}.requirements{list-style:none;padding:0}.requirements li{padding:9px 0;display:flex;justify-content:space-between;border-top:1px solid #e5eeee}.requirements .pass{color:#167352}.requirements .fail{color:#a13a27}.setup-form{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-actions{grid-column:1/-1}.setup-form small{display:block;margin:4px 0;color:#6b7f86}.empty{padding:50px}.empty .button{margin-top:15px}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1100px){.layout-two{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.shell{display:block}.sidebar{position:static;min-height:0;height:auto;width:100%;padding:12px}.sidebar .brand{margin:6px}.sidebar nav{display:flex;overflow:auto;white-space:nowrap}.sidebar nav a{padding:9px}.sidebar form{position:absolute;right:12px;top:8px}.content{padding:22px 13px 70px}.top{align-items:start;flex-direction:column}.metrics.condensed{grid-template-columns:repeat(2,minmax(0,1fr))}.mapgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:490px){.metrics,.metrics.condensed,.formgrid,.mapgrid,.setup-form{grid-template-columns:1fr 1fr}.metric{padding:14px}.panel{padding:17px}.formgrid{grid-template-columns:1fr}.setup-form,.mapgrid{grid-template-columns:1fr}}
.asset-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e5edef;margin:15px 0 32px}.asset-fields>div{background:#fff;padding:11px;min-width:0}.asset-fields dt{font-size:.72rem;color:#607983;font-weight:700}.asset-fields dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:.86rem}@media(max-width:800px){.asset-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:470px){.asset-fields{grid-template-columns:1fr}}
/* Report visual refresh */
:root{--chart-blue:#376eac;--chart-teal:#087f8c;--chart-green:#258770;--chart-red:#bb625c;--chart-orange:#d88e49;--chart-purple:#736ab7;--page:#eef3f5;--paper:#ffffff;--stroke:#dce7eb;--ink:#193441;--muted:#637d88}body{background:var(--page);color:var(--ink)}.content{background:radial-gradient(circle at 96% 4%,#dbeeee 0,transparent 23%),var(--page);padding-top:38px}.sidebar{background:linear-gradient(160deg,#103644,#0b2936 75%);box-shadow:8px 0 32px #203a4512}.sidebar nav a{transition:background .15s ease,transform .15s ease}.sidebar nav a:hover{transform:translateX(2px)}.sidebar nav .selected{background:#24616a;box-shadow:inset 3px 0 0 #55d0c1}.top{padding-bottom:18px;border-bottom:1px solid #dce6e9}.top h1{font-weight:760}.panel,.metric{border-color:var(--stroke);box-shadow:0 8px 30px #2545550b}.panel{padding:26px}.metric{position:relative;overflow:hidden}.metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#64acae}.metric strong{font-variant-numeric:tabular-nums}.metrics>.metric:nth-child(4):before{background:var(--chart-red)}.metrics>.metric:nth-child(5):before{background:var(--chart-teal)}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chart-panel{min-width:0}.chart-panel .section-head{align-items:flex-start}.chart-select{font-size:.76rem;color:var(--muted);font-weight:700;min-width:160px}.chart-select select{display:block;width:100%;padding:9px 12px;margin-top:6px;border:1px solid #cbdfe2;border-radius:9px;background:#f8fbfc;color:var(--ink)}.chart{min-height:230px;margin-top:22px}.chart-series{display:grid;gap:11px}.graph-row{display:grid;grid-template-columns:minmax(120px,30%) minmax(80px,1fr) 85px;align-items:center;gap:12px;min-height:27px}.graph-label{font-size:.77rem;font-weight:650;color:#395763;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-lane{height:14px;border-radius:12px;background:#edf3f5;overflow:hidden}.graph-fill{display:block;height:100%;border-radius:12px;transform-origin:left;animation:grow .55s cubic-bezier(.21,.75,.26,1) both}.graph-value{text-align:right;font-size:.78rem;font-variant-numeric:tabular-nums}.chart-note{font-size:.75rem;margin:17px 0 0!important}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}.export-actions{display:flex;gap:9px;flex-wrap:wrap}.section-head h2{margin-bottom:5px}.tablewrap{border:1px solid #e4ecef;border-radius:10px}.tablewrap table th{background:#ecf4f5;color:#395965;padding:13px 12px}.tablewrap table tr:nth-child(even) td{background:#fbfcfd}.tablewrap table tr:hover td{background:#eef8f8}.tablewrap table td{padding:11px 12px;font-variant-numeric:tabular-nums}.report-form{padding:3px}.formgrid input:focus,.formgrid select:focus,.snapshot-choice select:focus,.setup-form input:focus{outline:2px solid #75c8c7;outline-offset:1px}.notice{border:1px solid #bfe4d5}.error{border:1px solid #f4c7ba}@media(max-width:1280px){.charts-grid{grid-template-columns:1fr}}@media(max-width:700px){.chart-panel .section-head{flex-direction:column}.graph-row{grid-template-columns:105px minmax(55px,1fr) 65px;gap:6px}.graph-value,.graph-label{font-size:.69rem}.panel{padding:18px}.export-actions{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.graph-fill{animation:none}.sidebar nav a{transition:none}}
