:root{--ink:#17221d;--muted:#69756d;--line:#dce4de;--paper:#f5f7f3;--card:#fff;--accent:#d9ef62;--dark:#22352c;--sheet-blue:#2b6f9e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{max-width:1440px;margin:0 auto;padding:0 28px 36px}.topbar{padding:22px 0 18px;border-bottom:1px solid var(--line)}.brand-group,.topbar{display:flex;align-items:end}.brand-group{gap:38px}.eyebrow{margin:0 0 7px;color:var(--muted);font-size:11px;letter-spacing:.16em;font-weight:700}.brand{font-size:25px;font-weight:800;letter-spacing:-.04em}nav{display:flex;gap:4px;font-size:13px;font-weight:700}nav a{padding:10px 13px 11px;border-bottom:3px solid transparent;color:var(--muted)}nav a.active,nav a:hover{color:var(--ink)}nav a.active{border-bottom-color:var(--dark);background:var(--accent)}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:32px 0 20px}h1{margin:0;font-size:clamp(32px,5vw,62px);line-height:.95;letter-spacing:-.07em}.lede{max-width:460px;color:var(--muted);line-height:1.55;margin:0}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(38,57,45,.04)}.toolbar{display:flex;flex-wrap:wrap;gap:9px;padding:12px;align-items:end}label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em}input,select{border:1px solid var(--line);border-radius:5px;background:white;padding:7px 9px;color:var(--ink);font:inherit}.search{min-width:270px;flex:1 1}.statline{display:flex;gap:26px;align-items:center;margin:0 12px 12px;color:var(--muted);font-size:11px}.statline strong{color:var(--ink);font-size:16px}.table-wrap{overflow:auto;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:1280px;font-size:12px}th{background:#f0f4ef;color:var(--muted);text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}td,th{padding:8px 11px;border-bottom:1px solid #edf1ed}tbody tr:hover{background:#fafcf8}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;color:var(--muted);font-size:12px}button{border:0;border-radius:7px;padding:11px 16px;background:var(--dark);color:white;cursor:pointer;font:inherit;font-weight:700}button:disabled{opacity:.45;cursor:default}.table-button{padding:0;background:transparent;color:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit}.grid-filter{display:grid;grid-gap:4px;gap:4px}.grid-filter select{min-width:76px;padding:4px 6px;font-size:11px;font-weight:400;letter-spacing:normal;text-transform:none}.muted{font-size:11px}.empty,.muted{color:var(--muted)}.empty{padding:35px 18px}.dropzone,.empty{text-align:center}.dropzone{padding:45px;margin-top:25px;border:1px dashed #a9b8aa;border-radius:13px;background:#fbfcfa}.dropzone p{color:var(--muted)}.dropzone-target{display:grid;grid-gap:7px;gap:7px;align-content:center;min-height:145px;margin:22px auto;padding:24px;border:1px dashed #a9b8aa;border-radius:9px;color:var(--dark);cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.dropzone-target.is-dragging,.dropzone-target:focus-visible,.dropzone-target:hover{border-color:var(--dark);background:#f1f7d9;outline:none}.dropzone-target.is-dragging{transform:scale(1.01)}.dropzone-target span{overflow-wrap:anywhere;color:var(--muted);font-size:12px}.dropzone-target input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.result{margin-top:18px;padding:20px}.result h2{margin:0 0 14px;font-size:18px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.metric{padding:14px;background:#f1f5ef;border-radius:8px}.metric span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.metric strong{font-size:22px}.error{color:#9b3c2d;font-size:13px}.issues{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.issues-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px}.issues-head h3{margin:0;font-size:16px}.issues-head span{color:var(--muted);font-size:12px}.issue-table-wrap{border:1px solid var(--line);border-radius:8px}.issue-table-wrap table{min-width:1520px}.issue-kind{display:inline-block;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.issue-kind.ignored{background:#eef1ed;color:var(--muted)}.issue-kind.invalid{background:#f9e8e4;color:#9b3c2d}details summary{color:var(--dark);cursor:pointer;font-weight:700;white-space:nowrap}details pre{max-width:420px;margin:9px 0 0;padding:10px;overflow:auto;background:#f5f7f3;color:var(--ink);font-size:11px;white-space:pre-wrap}.report-controls{padding:16px}.report-filter-row{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(120px,1fr)) minmax(220px,1.4fr);grid-gap:14px;gap:14px}.report-filter{gap:7px;color:var(--ink);font-size:12px;letter-spacing:.07em;text-transform:uppercase}.report-filter:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--dark);vertical-align:1px}.report-filter-row select{width:100%;min-height:48px;padding:10px 13px;border:2px solid #aebdb3;border-radius:8px;font-size:15px;font-weight:700;letter-spacing:normal;text-transform:none;box-shadow:0 2px 0 rgba(34,53,44,.06)}.report-filter-row select:focus,.summary-controls select:focus{border-color:var(--dark);outline:3px solid rgba(217,239,98,.65);outline-offset:1px}.currency-control{display:flex;align-items:end;gap:12px;min-height:48px;padding:7px 10px;border:2px solid #aebdb3;border-radius:8px;background:#f8faf6}.currency-toggle,.exchange-rate-field{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:normal;text-transform:none;white-space:nowrap}.currency-toggle input{width:17px;height:17px;margin:0;accent-color:var(--dark)}.exchange-rate-field input{width:76px;padding:6px 7px;text-align:right}.exchange-rate-field input:disabled{background:#eef1ed;color:var(--muted);cursor:not-allowed}.report-data-note{display:flex;justify-content:space-between;gap:20px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.report-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,.85fr);grid-gap:10px;align-items:start}.report-layout,.report-output-layout{display:grid;gap:10px;margin-top:10px}.report-output-layout{grid-template-columns:minmax(430px,.8fr) minmax(0,1.2fr);grid-gap:10px;align-items:stretch}.report-panel{padding:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{margin:0;font-size:20px;letter-spacing:-.04em}.report-table-wrap{margin:0 -14px;border-top:1px solid var(--line)}table.report-table{min-width:760px}.report-table td,.report-table th{padding:7px 10px}.report-table td:first-child,.report-table th:first-child{padding-left:14px}.report-table td:last-child,.report-table th:last-child{padding-right:14px}.report-table tr.selected-row{background:#f5f9e8}.report-table tr.selected-row:hover{background:#f0f6dd}.month-button{padding:0;background:transparent;color:var(--ink);font-size:12px}.month-button:hover{color:#52712f}.input-cell input{width:94px;padding:5px 7px;text-align:right}.actual-cell{font-weight:700}.chart-panel{min-width:0}.chart-wrap{width:100%;height:350px}.report-output-layout .summary-panel{margin-top:0}.summary-controls{display:flex;align-items:end;gap:14px}.summary-controls .report-filter{min-width:190px}.summary-controls select{min-height:44px;padding:9px 12px;border:2px solid var(--dark);border-radius:8px;background:#f5f9e8;font-size:15px;font-weight:700}.filter-hint{color:var(--muted);font-size:11px;font-weight:400;letter-spacing:normal;text-transform:none}.summary-table-wrap{overflow-x:auto}.summary-table{min-width:650px}.summary-table td,.summary-table th{padding:8px 11px}.summary-table tbody tr:first-child{background:#f5f9e8}.summary-note{margin:9px 0 0;color:var(--muted);font-size:10px}.monthly-panel{margin-top:10px}.report-empty{margin-top:16px;padding:42px;text-align:center}.report-empty h2{margin:0 0 8px;font-size:22px}.report-empty p{margin:0 0 22px;color:var(--muted)}.button-link{display:inline-block;border-radius:7px;padding:11px 16px;background:var(--dark);color:white;font-size:13px;font-weight:700}.spreadsheet-card{overflow:hidden;border-radius:8px}.spreadsheet-toolbar{display:flex;align-items:end;gap:9px;padding:11px 12px;background:#fbfcfa;border-bottom:1px solid var(--line)}.spreadsheet-toolbar label{flex:0 0 145px}.spreadsheet-toolbar .search{flex:1 1 280px}.toolbar-title{display:flex;align-items:center;gap:9px;min-width:170px;padding-bottom:1px}.toolbar-title span,.toolbar-title strong{display:block}.toolbar-title strong{font-size:13px}.toolbar-title span{margin-top:3px;color:var(--muted);font-size:10px}.sheet-dot{width:9px;height:24px;border-radius:2px;background:var(--sheet-blue)}.sheet-footer,.sheet-status{display:flex;justify-content:space-between;gap:16px;padding:8px 12px;color:var(--muted);font-size:11px}.sheet-status{border-bottom:1px solid var(--line);background:#fff}.sheet-status strong{color:var(--ink)}.live-status{color:#477a52;font-weight:700}.live-status i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#55a963}.hot-wrap{width:100%;overflow:hidden}.hot-report-wrap .handsontable,.hot-wrap .handsontable{color-scheme:light}.hot-wrap .handsontable{color:var(--ink);font-size:12px}.hot-wrap .handsontable table.htCore{width:100%!important}.hot-report-wrap .handsontable table.htCore,.hot-wrap .handsontable table.htCore{min-width:0!important;border-collapse:separate!important;table-layout:fixed!important}.hot-report-wrap .handsontable .htCore td,.hot-wrap .handsontable .htCore td{box-sizing:content-box}.hot-wrap .handsontable .htCore{border-color:#e5ebe7}.hot-wrap .handsontable th{box-sizing:border-box;height:42px;padding:0;background:#edf3f6;border-color:#d7e1e5;color:#526875;font-family:Arial Narrow,Helvetica Neue,Arial,sans-serif;font-size:8px;letter-spacing:.04em;text-transform:uppercase}.hot-wrap .handsontable .colHeader{padding:8px 7px}.hot-wrap .handsontable .ht_clone_left th{background:#f2f5f3;color:var(--muted)}.hot-wrap .handsontable .ht_clone_left,.hot-wrap .handsontable .ht_clone_top_left_corner{z-index:200;box-shadow:8px 0 12px -12px rgba(23,34,29,.75)}.hot-wrap .handsontable .ht_clone_left td,.hot-wrap .handsontable .ht_clone_left th,.hot-wrap .handsontable .ht_clone_top_left_corner td,.hot-wrap .handsontable .ht_clone_top_left_corner th{background:#f7f7f9}.hot-wrap .handsontable .ht_clone_top_left_corner th{background:#edf3f6}.hot-wrap .handsontable td{padding:6px 8px;border-color:#edf1ed;background:white}.hot-wrap .handsontable tr:hover td{background:#f9fbf7}.hot-wrap .handsontable .area,.hot-wrap .handsontable .current{background:rgba(43,111,158,.08)}.hot-wrap .handsontable .wtBorder{background:var(--sheet-blue)!important}.hot-wrap .handsontable .htDimmed{color:var(--muted)}.hot-report-wrap{overflow:hidden}.hot-report-wrap .handsontable{color:var(--ink);font-size:12px}.hot-report-wrap .handsontable th{padding:0;background:#edf3f6;border-color:#d7e1e5;color:#526875;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.hot-report-wrap .handsontable .colHeader{padding:8px 7px}.hot-report-wrap .handsontable td{padding:3px 7px;border-color:#edf1ed;background:white}.hot-report-wrap .handsontable .report-selected-cell{background:#f5f9e8}.hot-report-wrap .handsontable .report-adjusted-actual{background:#eef7fb;color:#0f607d;font-weight:700}.hot-report-wrap .handsontable .report-negative-adjusted-actual{background:#fff0ee;color:#b7352a;font-weight:700}.hot-report-wrap .handsontable .area,.hot-report-wrap .handsontable .current{background:rgba(43,111,158,.08)}.hot-report-wrap .handsontable .wtBorder{background:var(--sheet-blue)!important}.summary-panel .hot-report-wrap{border:1px solid #17221d}.summary-panel .hot-report-wrap .handsontable th{background:#176b7d;border-color:#17221d;color:white;font-size:11px;letter-spacing:0;text-transform:none}.summary-panel .hot-report-wrap .handsontable td{border-color:#17221d;color:#17221d;font-size:12px}.summary-panel .hot-report-wrap .handsontable td:first-child{text-align:center}.sheet-footer{border-top:1px solid var(--line);background:#fbfcfa}.sheet-totals strong{color:var(--ink)}@media (max-width:1050px){.report-filter-row{grid-template-columns:repeat(3,minmax(150px,1fr))}.report-filter-row label:first-child{grid-column:1/-1}.report-layout,.report-output-layout{grid-template-columns:1fr}}@media (max-width:700px){.report-filter-row{grid-template-columns:1fr}.report-filter-row label:first-child{grid-column:auto}.report-data-note{align-items:start;flex-direction:column;gap:5px}.report-panel{padding:12px}.report-table-wrap{margin:0 -12px}.report-table td:first-child,.report-table th:first-child{padding-left:12px}.report-table td:last-child,.report-table th:last-child{padding-right:12px}.section-heading{gap:7px}.section-heading,.summary-controls{align-items:start;flex-direction:column}.summary-controls{gap:5px}.chart-wrap{height:260px}.report-empty{padding:30px 18px}.spreadsheet-toolbar{align-items:stretch;flex-wrap:wrap}.toolbar-title{flex:1 0 100%}.spreadsheet-toolbar .search,.spreadsheet-toolbar label{flex:1 1 100%;min-width:0}.sheet-footer,.sheet-status{align-items:start;flex-direction:column;gap:5px}.shell{padding:0 16px 35px}.brand-group,.page-head,.topbar{align-items:start;flex-direction:column}.brand-group{gap:20px}nav{gap:4px}.page-head{padding-top:32px}.toolbar{align-items:stretch;flex-direction:column}.search{min-width:0}.metrics{grid-template-columns:repeat(2,1fr)}}