:root{--navy:#123957;--navy2:#0c2b45;--blue:#1768a7;--mint:#e8f6f0;--green:#158361;--ink:#203649;--muted:#657a8e;--line:#dce6ee}
body{margin:0;background:#f3f7fa;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.app-shell{display:flex;min-height:100vh}.sidebar{width:258px;flex:0 0 258px;background:var(--navy2);color:#e8f2f7;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20}.brand{padding:27px 19px 25px;display:flex;gap:12px;align-items:center;border-bottom:1px solid #ffffff1c}.brand-mark{width:42px;height:42px;background:#299d93;border-radius:12px;display:grid;place-items:center;font-size:28px;color:white}.brand b{display:block;font-size:14px;letter-spacing:.6px}.brand small{display:block;font-size:10px;color:#b0ccdc;letter-spacing:1px;margin-top:5px}.side-caption{font-size:10px;letter-spacing:1.6px;color:#8cb0c7;padding:27px 23px 8px}.sidebar nav{padding:0 10px;display:grid;gap:3px}.sidebar nav button{background:transparent;border:0;color:#cfdfeb;text-align:left;padding:11px 13px;border-radius:9px;font-weight:550;font-size:13px}.sidebar nav button span{font-size:17px;display:inline-block;width:28px;color:#8ebad0}.sidebar nav button:hover,.sidebar nav button.active{background:#215175;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #5fe0bb}.sidebar-foot{margin:auto 16px 18px;padding:14px;border-top:1px solid #ffffff24;font-size:12px;color:#d4e7ed;line-height:1.8}.sidebar-foot small{color:#9eb9ca}.status-dot{display:inline-block;background:#67d6b3;width:8px;height:8px;border-radius:50%;margin-right:5px}.main-column{min-width:0;flex:1}.topbar{height:68px;display:flex;align-items:center;gap:13px;background:#fff;border-bottom:1px solid var(--line);padding:0 30px}.top-title{display:flex;flex-direction:column;line-height:1.35}.top-title strong{font-size:14px}.top-title span{font-size:11px;color:var(--muted)}.top-actions{margin-left:auto;display:flex;gap:19px;align-items:center}.top-date{font-size:11px;color:var(--muted)}.icon-btn{display:none;background:none;border:0;font-size:19px;color:var(--navy)}.content{padding:26px 32px 40px;max-width:1700px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(105deg,#164a6b,#0e766f);color:#fff;border-radius:14px;padding:26px 32px;min-height:134px;overflow:hidden;position:relative}.hero h1{margin:5px 0 6px;font-size:25px;letter-spacing:-.4px}.hero p{margin:0;color:#d5f3ed;font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;color:#abeddd;font-weight:750}.hero-decor{border:1px solid #ffffff31;border-radius:50%;width:150px;height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:52px;font-weight:800;color:#ffffff20;transform:rotate(-15deg);position:absolute;right:32px;top:-15px}.hero-decor span{font-size:13px}.filter-card{margin-top:18px;box-shadow:0 2px 12px #193b5610;border:1px solid var(--line)}.filter-row{display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(150px,.9fr) minmax(175px,1fr) minmax(180px,1.2fr) auto;gap:12px;align-items:end}.filter-row label,.advanced-filters label{font-size:11px;font-weight:700;color:#577185;display:block}.filter-row select,.filter-row input,.advanced-filters select{margin-top:6px}.advanced-filters{padding-top:15px;margin-top:14px;border-top:1px solid var(--line);display:flex;gap:16px;align-items:end}.advanced-filters[hidden]{display:none}.advanced-filters label{min-width:180px}.dataset-ribbon{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:15px 2px 18px;font-size:11px;color:var(--muted)}.pill{border-radius:20px;padding:4px 9px;background:#e8f1f8;color:#275878;font-weight:650}.pill.warn{background:#fff0d6;color:#8c5e0a}.pill.ok{background:#dbf4e9;color:#117658}.pill.bad{background:#ffe7e8;color:#ad3342}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{border:1px solid var(--line);border-radius:11px;background:#fff;padding:18px 19px;box-shadow:0 3px 12px #1b3e5b08;min-height:125px}.metric .label{font-size:11px;color:#667e91;font-weight:650}.metric .number{font-size:25px;font-weight:780;letter-spacing:-.5px;margin:13px 0 3px;color:#173e5d;white-space:nowrap}.metric .number.green{color:var(--green)}.metric .number.amber{color:#a2670c}.metric .number.red{color:#af3445}.metric small{color:#8497a6;font-size:11px}.unit{font-size:13px;font-weight:550;color:#6e8798}.grid-two{display:grid;grid-template-columns:1.28fr 1fr;gap:16px;margin-top:18px}.panel{border:1px solid var(--line);box-shadow:0 3px 12px #1b3e5b08;border-radius:11px;overflow:hidden;background:#fff}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid #e7eef3;gap:12px}.panel-header h2{font-size:14px;margin:0;font-weight:760}.panel-header small{color:var(--muted)}.panel-body{padding:18px 20px}.bar-row{display:grid;grid-template-columns:135px 1fr 90px;gap:12px;align-items:center;margin:14px 0;font-size:12px;cursor:pointer}.bar-row:hover .bar-fill{filter:brightness(.9)}.bar-track{height:11px;background:#edf2f5;border-radius:8px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#1d77ad,#25a892);border-radius:8px}.bar-row strong{text-align:right;font-variant-numeric:tabular-nums}.bar-row .delta.negative{color:#ba3c4e}.notice{border:1px solid #f0d9a0;background:#fffaf0;border-radius:8px;padding:12px 15px;color:#815b16;font-size:12px;line-height:1.55}.notice.info{background:#eff7fc;border-color:#cfe4f0;color:#36607b}.notice.danger{background:#fff2f2;border-color:#f2d0d2;color:#9b3840}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:24px 0 12px;gap:10px}.section-heading h2{font-size:18px;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.table-wrap{overflow-x:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.data-table th{background:#f5f9fc;color:#506d82;font-weight:700;padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;position:sticky;top:0}.data-table td{padding:11px 13px;border-bottom:1px solid #ebf0f4}.data-table tbody tr:hover{background:#f7fbfc}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .linkish{color:#126495;font-weight:700;cursor:pointer}.data-table .linkish:hover{text-decoration:underline}.muted{color:#8598a7}.strong{font-weight:730}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0}.toolbar .controls{display:flex;gap:7px;align-items:center}.toolbar select{width:auto}.pagination-row{display:flex;justify-content:space-between;align-items:center;padding:12px 17px;font-size:12px;color:var(--muted)}.mini-stat{font-size:12px;color:var(--muted)}.compare-pickers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-pickers label{font-size:11px;font-weight:700;color:#627c90}.compare-pickers select{margin-top:5px}.compare-summary{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center}.compare-summary>div{padding:18px;border-radius:9px;background:#f4f8fb}.compare-summary .arrow{background:none;font-size:30px;color:#87aabd}.compare-summary strong{font-size:22px;display:block;margin-top:9px}.issue-list{list-style:none;margin:0;padding:0}.issue-list li{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f4;font-size:12px}.issue-list li:last-child{border:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid label{font-size:11px;font-weight:700;color:var(--muted)}.form-grid input,.form-grid select{margin-top:5px}.source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.source-card{border:1px solid var(--line);border-radius:9px;padding:14px}.source-card b{display:block;font-size:12px;word-break:break-word}.source-card small{color:var(--muted)}.source-card p{font-size:11px;color:#587083;margin:8px 0 0}.detail-dialog{border:0;border-radius:14px;padding:0;width:min(880px,95vw);max-height:90vh;box-shadow:0 20px 60px #092c4180}.detail-dialog::backdrop{background:#09263899}.detail-dialog #detailContent{padding:25px;overflow:auto;max-height:calc(90vh - 70px)}.detail-dialog form{padding:12px 25px;border-top:1px solid var(--line);text-align:right}.detail-dialog h2{font-size:19px}.detail-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0;border-bottom:1px solid var(--line)}.detail-tabs button{border:0;background:transparent;padding:10px;color:#657b8b;font-size:12px}.detail-tabs button.active{color:#146c9a;border-bottom:2px solid #146c9a;font-weight:700}.detail-pane{font-size:12px;line-height:1.7}.detail-pane dl{display:grid;grid-template-columns:135px 1fr;gap:8px}.detail-pane dt{color:var(--muted)}.detail-pane dd{margin:0}.toast-msg{position:fixed;right:18px;bottom:20px;z-index:40;background:#173d56;color:#fff;border-radius:8px;padding:10px 17px;box-shadow:0 10px 25px #1238;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast-msg.show{opacity:1;transform:none}.footer{border-top:1px solid var(--line);padding:16px 32px;font-size:11px;color:#7d91a0;background:#fff}.empty{text-align:center;padding:42px;color:#7d91a0}.loader{padding:60px;text-align:center;color:#5d8094}.sortable{cursor:pointer}.sortable:hover{color:#116ca3}@media(max-width:1150px){.filter-row{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.top-date{display:none}}@media(max-width:760px){.sidebar{position:fixed;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}.icon-btn{display:block}.topbar{padding:0 15px}.top-title strong{font-size:12px}.top-title span{display:none}.top-actions{display:none}.content{padding:14px}.hero{padding:20px;min-height:115px}.hero h1{font-size:20px;max-width:250px}.hero-decor{right:-35px}.filter-row{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/3}.advanced-filters{flex-wrap:wrap}.advanced-filters label{min-width:130px;flex:1}.kpis{gap:8px}.metric{padding:13px;min-height:110px}.metric .number{font-size:19px}.source-grid,.form-grid,.compare-pickers{grid-template-columns:1fr}.compare-summary{grid-template-columns:1fr}.compare-summary .arrow{text-align:center;padding:0;font-size:20px}.bar-row{grid-template-columns:95px 1fr 75px;gap:6px}.footer{padding:14px}.panel-header,.panel-body{padding:14px}}
@media print{.sidebar,.topbar,.filter-card,.hero-decor,.toolbar,.footer,.detail-dialog{display:none!important}.content{padding:0}.hero{color:#111;background:none;padding:0;min-height:auto}.hero p{color:#555}.panel,.metric{box-shadow:none;break-inside:avoid}}
.bar-row{border:0;background:none;width:100%;padding:0;text-align:left;color:var(--ink)}.bar-row:focus-visible{outline:2px solid #2079a3;outline-offset:5px}.bar-fill.negative{background:linear-gradient(90deg,#bc4f68,#e6a485)}.bar-row strong{font-size:12px}.advanced-filters{flex-wrap:wrap}.advanced-filters label{flex:1;min-width:170px}.metric small{display:block;overflow-wrap:anywhere;line-height:1.55}.metric .number{font-size:23px}.source-card a{overflow-wrap:anywhere}.column-picker{margin-bottom:14px;font-size:12px;background:white;border:1px solid var(--line);border-radius:8px;padding:10px 14px}.column-picker label{display:inline-block;margin:8px 15px 2px 0}.edit-panel{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.edit-panel h3{font-size:14px}.data-table td a{display:inline-block;max-width:270px;white-space:normal;overflow-wrap:anywhere}.issue-list .btn{padding:0;text-align:left;white-space:normal;font-size:12px}.grid-two .panel{min-width:0}#printArea{display:none}
@media(max-width:760px){.metric .number{font-size:18px}.bar-row{grid-template-columns:100px 1fr 85px}.hero-decor{display:none}.compare-pickers>div{min-width:0}.advanced-filters label{min-width:130px}.source-card b{font-size:11px}.topbar{height:58px}}
@media print{@page{size:A4 landscape;margin:12mm}.app-shell,.detail-dialog,.toast-msg{display:none!important}#printArea{display:block;font-family:Arial,sans-serif;font-size:10px}#printArea h1{font-size:18px}#printArea h2{font-size:15px}#printArea p{font-size:10px;line-height:1.5}#printArea .table-wrap{overflow:visible}#printArea .data-table{font-size:9px;white-space:normal}#printArea th,#printArea td{padding:5px;overflow-wrap:anywhere;max-width:140px}#printArea thead{display:table-header-group}#printArea tr{break-inside:avoid}#printArea th{position:static}}
.hero h1{color:#fff}.icon-btn{display:block}.menu-collapsed .sidebar{display:none}
