:root{color:#203c35;background:#eef3f0;font-family:Segoe UI Variable,Segoe UI,Aptos,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:#eef3f0;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{width:100%;max-width:none;margin:0 auto;padding:12px 12px 32px}.topbar{background:#fff;border:1px solid #d8e4de;border-radius:8px;grid-template-columns:160px 1fr auto;align-items:center;gap:18px;min-height:58px;padding:10px 14px;display:grid;box-shadow:0 12px 26px #25413714}.brand{align-items:center;width:132px;height:36px;display:flex;overflow:hidden}.brand img{object-fit:contain;object-position:left center;width:100%;height:100%;display:block}.topbar nav{align-items:center;gap:8px;display:flex}.topbar-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.nav-pill{color:#44655b;background:#f1f6f3;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.nav-pill.active{color:#0a624c;background:#dff1ea}.icon-button,.primary-button,.secondary-button,.history-list button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.icon-button{color:#174a3d;background:#edf5f1;width:38px;height:38px}.primary-button,.secondary-button{min-height:42px;padding:0 16px;font-weight:800}.primary-button{color:#fff;background:#0b674e}.secondary-button{color:#173e35;background:#e8f2ed}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.dashboard-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;margin-top:14px;display:grid}.sidebar,.workspace,.import-form,.button-stack,.mf-fields,.history-list{align-content:start;gap:16px;min-width:0;display:grid}.sidebar>*,.workspace>*{min-width:0;max-width:100%}.sidebar,.workspace{min-width:0;position:relative}.sidebar{z-index:2;grid-column:1}.workspace{z-index:1;grid-column:2;width:100%;max-width:100%;overflow:clip}.panel,.page-header,.print-report{background:#fff;border:1px solid #d8e4de;border-radius:8px;box-shadow:0 10px 28px #25413712}.panel{padding:18px}.page-header{justify-content:space-between;align-items:center;gap:24px;padding:22px;display:flex}.eyebrow,.section-heading span,.report-header span{color:#537369;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.page-header h1,.section-heading h2,.report-header h2{color:#183d34;letter-spacing:0;margin:4px 0 0}.page-header h1{font-size:28px;font-weight:650;line-height:1.1}.page-header p{color:#617a72;max-width:760px;margin:8px 0 0}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.request-meta{color:#31564c;background:#f8fbf9;border:1px solid #dce8e2;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 12px;font-weight:700;display:inline-flex}.section-heading{margin-bottom:14px}.section-heading h2{font-size:20px;font-weight:650}.file-drop{color:#24483f;background:#f6fbf8;border:1px dashed #9dc9bc;border-radius:8px;gap:6px;min-height:118px;padding:16px;display:grid}.file-drop span{font-weight:650}.file-drop small,.field-note{color:#657e76}.import-form input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.field-label{color:#405f56;gap:7px;font-weight:600;display:grid}.field-label input{color:#173e35;background:#fff;border:1px solid #cfe1db;border-radius:8px;height:42px;padding:0 12px}.login-shell{background:#eef3f0;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #d8e4de;border-radius:8px;width:min(420px,100%);padding:28px;box-shadow:0 18px 44px #2541371f}.login-brand{justify-content:space-between;align-items:center;gap:18px;display:flex}.login-brand img{object-fit:contain;object-position:left center;width:142px;height:40px}.login-brand span,.loading-panel{color:#31564c;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.login-panel h1{color:#183d34;letter-spacing:0;margin:26px 0 18px;font-size:28px;font-weight:650}.login-form{gap:14px;display:grid}.login-form .error-banner{margin-top:0}.login-form .primary-button{width:100%}.loading-panel{justify-content:center;min-height:140px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.metric-tile{background:#fff;border:1px solid #dce8e2;border-radius:8px;min-height:98px;padding:14px}.metric-tile span{color:#0b674e;background:#dff1ea;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.metric-tile.warn span{color:#7a521a;background:#fff1cf}.metric-tile strong,.metric-tile small{display:block}.metric-tile strong{margin-top:10px;font-size:26px;font-weight:650;line-height:1}.metric-tile small{color:#667d76;margin-top:5px;font-weight:500}.workspace-grid{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.mf-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.modal-grid{display:grid}.mf-fields .info-row.full{grid-column:1/-1}.mf-fields .field-note{color:#647a73;grid-column:1/-1;margin:8px 0 0;font-size:12px}.results-panel{min-width:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1080px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e6eee9;padding:11px 10px}th{color:#617870;text-transform:uppercase;font-size:12px}td{color:#24483f;font-size:13.5px}.table-muted{color:#7a9089}.mono-cell{font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:13px}.row-action-button{color:#135340;white-space:nowrap;background:#eef7f3;border:1px solid #cfe1db;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-weight:700;display:inline-flex}.row-action-button:hover{background:#e2f1eb;border-color:#9bcab9}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:4px 9px;font-size:12px;font-weight:650;display:inline-flex}.status-badge.ok{color:#0d6a3f;background:#def6e9}.status-badge.info{color:#2f6073;background:#dff1f6}.status-badge.warn{color:#79531a;background:#fff2cf}.status-badge.danger{color:#92342c;background:#ffe0dc}.status-badge.neutral{color:#56665f;background:#edf2ef}.history-list button{color:#143c32;text-align:left;background:#fff;border:1px solid #e3efea;justify-content:space-between;width:100%;min-width:0;max-width:100%;padding:12px}.history-list button>span{flex:1;min-width:0;overflow:hidden}.history-list button:hover{background:#f7fbf9;border-color:#9dc9bc}.history-list strong,.history-list small{display:block}.history-list strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.history-list{max-height:none;padding-right:0;overflow-y:visible}.history-list small{color:#708781}.info-row{border-bottom:1px solid #e6eee9;gap:4px;padding:10px 0;display:grid}.info-row span{color:#647a73;text-transform:uppercase;font-size:12px;font-weight:600}.info-row strong{color:#203c35;overflow-wrap:anywhere;font-size:14px}.mf-accounts{color:#1f3b34;background:#f7fbf9;border:1px solid #e3efea;border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 12px;max-height:220px;margin:0;padding:6px 8px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;list-style:none;display:grid;overflow-y:auto}.mf-accounts li{word-break:break-all;border-bottom:1px dashed #e3efea;padding:3px 4px}.mf-accounts li:last-child{border-bottom:0}.field-note{margin:2px 0 0;font-size:13px}.modal-backdrop{z-index:30;background:#12221d70;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #d8e4de;border-radius:12px;width:min(980px,100%);max-height:min(90vh,920px);padding:22px;overflow:auto;box-shadow:0 24px 64px #162c253d}.modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:10px;display:flex}.modal-header h2{margin:6px 0 0;font-size:26px;line-height:1.15}.modal-subtitle{color:#5b726b;margin:8px 0 0;font-size:13px}.modal-close{color:#26463d;background:#f5faf7;border:1px solid #d5e3dd;border-radius:999px;min-height:38px;padding:0 14px;font-weight:700}.modal-close:hover{background:#ebf4f0}.empty-state{color:#678079;text-align:center;background:#f7fbf9;border:1px dashed #c8ddd5;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:190px;font-weight:500;display:flex}.empty-state.compact{min-height:96px;padding:16px}.error-banner{color:#8d2d25;background:#fff1ef;border:1px solid #f1b3ad;border-radius:8px;align-items:center;gap:9px;margin-top:14px;padding:12px;font-weight:600;display:flex}.print-report{padding:24px}.muted-report{display:none}.report-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.report-header img{object-fit:contain;object-position:left center;width:150px;height:42px}.report-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 22px;margin-bottom:18px;display:grid}.print-table{min-width:0}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1440px){.dashboard-layout{grid-template-columns:1fr}.sidebar,.workspace{grid-column:1}.sidebar{grid-template-columns:300px minmax(0,1fr)}}@media (width<=1180px){.workspace-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{padding:10px 8px 28px}.topbar,.page-header,.sidebar,.kpi-grid,.report-meta-grid{grid-template-columns:1fr}.modal-backdrop{align-items:flex-end;padding:10px}.modal-card{width:100%;max-height:88vh;padding:18px}.modal-header{flex-direction:column}.topbar{justify-items:center;display:grid}.topbar nav,.header-actions{justify-content:center}.page-header{display:grid}}@media print{@page{size:A4 landscape;margin:10mm}:root,body{color:#111;background:#fff}.no-print,.muted-report{display:none!important}.app-shell{width:100%;padding:0}.dashboard-layout,.workspace{display:block}.print-report{box-shadow:none;border:0;padding:0;display:block}.report-header{border-bottom:2px solid #111;padding-bottom:8px}.report-header img{width:130px;height:36px}.report-meta-grid{grid-template-columns:repeat(3,1fr);gap:6px 16px;margin:12px 0}.info-row{border-bottom:1px solid #bbb;padding:4px 0}.info-row span{color:#333;font-size:9px}.info-row strong{color:#111;font-size:11px}table,.print-table{border-collapse:collapse;page-break-inside:auto;width:100%;min-width:0}tr{page-break-inside:avoid}th,td{color:#111;border:1px solid #999;padding:4px 5px;font-size:9px}th{background:#eee}}
