:root{color:#17202a;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.shell{width:calc(100% - 28px);margin:0 auto;padding:18px 0 36px}.loginShell{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:26px;background:#eef8ff;padding:34px 18px}.loginBrand{display:grid;justify-items:center;gap:12px}.loginBrand img{width:min(260px,82vw);height:auto;object-fit:contain}.loginBrand h1{margin:0;color:#34445a;font-size:clamp(24px,4vw,32px);font-weight:300;line-height:1.15;text-align:center}.loginBrand h1 span{color:#04bfe9;font-weight:400}.loginPanel{width:min(450px,100%);display:grid;gap:20px;border:1px solid #dce5ed;border-radius:0;background:#fff;padding:30px 24px 36px;box-shadow:0 2px 7px #1e2d3e24}.loginPanel h2{margin:0 0 6px;color:#475569;font-size:19px;font-weight:400;text-align:center}.loginPanel label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.loginPanel input{min-height:48px;border-radius:5px;background:#fff;color:#334155;font-size:18px;padding:0 16px}.loginPanel input::placeholder{color:#8b95a1}.loginSubmit{justify-self:end;min-width:190px;min-height:44px;border-radius:9px;background:#09bfdf;font-size:17px;font-weight:500}.loginSubmit:hover:not(:disabled){background:#08acd0}.loginToast{position:fixed;top:18px;right:18px;z-index:80;width:min(360px,calc(100vw - 32px));border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;background:#fff;color:#991b1b;box-shadow:0 18px 42px #0f172a29;font-size:14px;font-weight:800;line-height:1.35;padding:12px 14px;animation:toastIn .18s ease-out}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.topbar,.tableHeader,.modalHeader,.paginationBar,.lastImport{display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar{margin-bottom:14px}.topActions{display:flex;gap:10px}.eyebrow{margin:0 0 3px;color:#526171;font-size:12px;font-weight:800;text-transform:uppercase}h1,h2{margin:0;color:#132238;letter-spacing:0}h1{font-size:24px;line-height:1.2}h2{font-size:16px;line-height:1.3}button{min-height:36px;border:0;border-radius:6px;background:#276fbf;color:#fff;padding:0 14px;font-weight:800;cursor:pointer}button:hover:not(:disabled){background:#1f5f9f}button:disabled{background:#a8b7c7;cursor:not-allowed}.secondaryAction{border:1px solid #bdc9d6;background:#fff;color:#26384d}.secondaryAction:hover:not(:disabled){background:#f3f6f9}.iconButton{width:34px;min-width:34px;min-height:34px;display:inline-grid;place-items:center;padding:0;background:#edf2f7;color:#1d2d42}.primaryAction{border:1px solid #276fbf;background:#276fbf;color:#fff}.primaryAction:hover:not(:disabled){background:#1f5f9f}.buttonIcon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}[data-tooltip]{position:relative}[data-tooltip]:before,[data-tooltip]:after{position:absolute;left:50%;z-index:40;opacity:0;pointer-events:none;transform:translate(-50%,-6px);transition:opacity .16s ease,transform .16s ease}[data-tooltip]:before{content:attr(data-tooltip);top:calc(100% + 10px);width:max-content;max-width:220px;border:1px solid rgba(16,34,54,.12);border-radius:7px;background:#132238;color:#fff;box-shadow:0 12px 30px #0814232e;font-size:11px;font-weight:800;line-height:1.3;padding:7px 9px;white-space:normal}[data-tooltip]:after{content:"";top:calc(100% + 5px);border:6px solid transparent;border-bottom-color:#132238}[data-tooltip]:hover:before,[data-tooltip]:hover:after,[data-tooltip]:focus-visible:before,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid #d4dde8;border-radius:10px;background:#fff;padding:12px}.processSteps{grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin-bottom:12px}.filterToggle{align-self:center;justify-self:end;width:40px;min-width:40px;min-height:40px;border:1px solid #c8d4e2;background:#fff;color:#26384d;font-weight:900}.filterToggle:hover:not(:disabled){background:#f3f7fb;border-color:#92accb}.step{display:flex;align-items:center;gap:10px;min-width:0;min-height:46px;color:#526171;border:1px solid #d6e0eb;border-radius:999px;background:#f8fafc;padding:6px 12px 6px 6px;text-align:left;box-shadow:inset 0 1px #ffffffd1;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}button.step{cursor:pointer}button.step:hover:not(:disabled){border-color:#8fb6e6;background:#edf6ff;color:#184f8c;box-shadow:0 8px 18px #276fbf1f;transform:translateY(-1px)}button.step:disabled{cursor:not-allowed;opacity:1;background:#eef3f8;color:#9aa8b8;border-color:#d7e1eb}button.step.completed:disabled{background:#fff6f6;border-color:#e8bcbc;color:#8e2f2f;opacity:1}.step span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#dfe7f0;color:#536273;font-weight:900}.step.active span{background:#276fbf;color:#fff}.step.active{border-color:#276fbf;background:linear-gradient(180deg,#2d78ca,#2365ab);color:#fff;box-shadow:0 10px 22px #276fbf33}.step.active span{background:#ffffff2e;color:#fff}.step.completed{border-color:#efc2c2;background:#fff8f8;color:#8e2f2f}.step.completed span{background:#c73535;color:#fff}.step strong{font-size:13px}.filterBand,.tablePanel,.lastImport{border:1px solid #d4dde8;border-radius:8px;background:#fff;box-shadow:0 8px 24px #1e2d3e0d}.filterBand{display:grid;grid-template-columns:minmax(340px,1.55fr) minmax(210px,1fr) minmax(170px,.82fr) minmax(170px,.82fr);gap:18px;align-items:start;padding:12px 20px 22px;margin-bottom:12px}.searchForm{display:block}label{display:grid;gap:6px;color:#111827;font-size:14px;font-weight:800}label small{color:#374151;font-size:10px;font-style:italic;font-weight:500}input,select{width:100%;min-height:40px;border:1px solid #c4cfdb;border-radius:6px;padding:0 10px;color:#122033;background:#fbfcfe;outline:none}input:focus,select:focus{border-color:#276fbf;box-shadow:0 0 0 3px #276fbf24}input[readonly]{background:#eef3f8;color:#526171}.fileInput input{padding:7px}.lastImport{padding:12px 14px;margin-bottom:12px}.providerInfo{display:grid;grid-template-columns:minmax(260px,1fr) 140px 120px 160px;gap:10px;border:1px solid #d4dde8;border-radius:8px;background:#fff;box-shadow:0 8px 24px #1e2d3e0d;padding:12px;margin-bottom:12px}.providerInfo div{display:grid;gap:4px;min-width:0}.providerInfo span{color:#607084;font-size:11px;font-weight:800;text-transform:uppercase}.providerInfo strong{overflow-wrap:anywhere;color:#132238;font-size:14px}.lastImport div:first-child{display:grid;gap:3px}.lastImport strong{color:#14613d}.lastImport span{color:#526171;font-size:13px}.importNotes{display:flex;flex-wrap:wrap;gap:8px}.importNotes span{border:1px solid #cfd9e5;border-radius:6px;background:#f8fafc;padding:6px 8px;color:#26384d;font-weight:800}.tablePanel{padding:14px}.tableHeader{margin-bottom:10px}.tableActions{display:inline-flex;align-items:center;gap:10px}.pageSizeSelect{width:auto;min-width:112px;min-height:34px;font-size:12px}.tableHeader span{color:#526171;font-size:13px;font-weight:800}.rekapButton{border-color:#8fb6e6;color:#1f64ad}.rekapButton:hover:not(:disabled){background:#1f64ad;color:#fff}.alert{border-radius:6px;padding:11px;font-size:14px;font-weight:800}.alert.error{border:1px solid #e9b7b7;background:#fff0f0;color:#9b2f2f}.tableWrap{overflow-x:auto}.mainTableWrap{border:1px solid #dce4ed;border-radius:6px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{border-bottom:1px solid #e0e7ef;padding:8px;text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:1;background:#f3f7fb;color:#3c4e63;font-size:11px;text-transform:uppercase;white-space:nowrap}td{color:#1c2d42;min-width:72px}th:first-child,td:first-child{width:54px;min-width:54px;max-width:54px;text-align:center;white-space:nowrap}td:nth-child(3){min-width:260px}td:nth-child(8){min-width:220px}td:nth-child(5),td:nth-child(12){min-width:128px}tr:hover td{background:#f9fbfd}.tableState{height:96px;text-align:center;vertical-align:middle;color:#617186;font-weight:800}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:800}.stackCell{display:grid;gap:4px}.stackCell small{color:#64758a;font-size:11px;line-height:1.35}.numberCell,.numberStack{display:block;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.numberStack{display:grid;gap:3px}.unitText{color:inherit;font-size:10px;font-weight:800}.calculationLink{display:block;width:100%;min-height:auto;padding:0;border:0;background:transparent;color:#1769c2;font:inherit;font-variant-numeric:tabular-nums;line-height:inherit;text-align:right;cursor:pointer}.calculationLink:hover{border-radius:4px;background:#1769c2;color:#fff;text-decoration:underline}.tag{display:inline-flex;align-items:center;width:max-content;min-height:24px;border-radius:5px;padding:0 7px;font-size:11px;font-weight:900}.tag.ok{background:#e7f6ee;color:#14613d}.tag.bad{background:#fff0f0;color:#9b2f2f}.tag.muted{background:#eef2f6;color:#607084}.paginationBar{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px}.paginationBar button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border:0;border-radius:999px;background:transparent;color:#5f6f83;padding:0 8px;font-weight:700}.paginationBar button:hover:not(:disabled){background:#eef4fb;color:#26384d}.paginationBar button:disabled{background:transparent;color:#c6d0db}.pageNumber.active{background:#3d8bff;color:#fff;box-shadow:0 8px 18px #3d8bff47}.pageNumber.active:hover{background:#3d8bff;color:#fff}.pageArrow{font-size:24px;line-height:1}.pageEllipsis{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;color:#6a7888;font-size:14px;font-weight:800}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#0c19296b;padding:18px}.sideBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;justify-content:flex-end;background:#0c192942}.rekapSidebar{width:min(390px,100%);height:100%;overflow:auto;border-left:1px solid #d4dde8;background:#fff;box-shadow:-20px 0 60px #08142329}.rekapHeader{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dce4ed;background:#fff;padding:14px}.rekapHeader h2{font-size:15px}.dangerHover:hover:not(:disabled){background:#c73535;color:#fff}.rekapBody{display:grid;gap:14px;padding:14px}.rekapBlock{display:grid;gap:7px;border:1px solid #dce4ed;border-radius:8px;padding:12px}.rekapBlock strong{color:#1a2c42}.rekapBlock p{margin:0;color:#526171;font-size:12px;font-weight:800}.progressTrack{height:8px;overflow:hidden;border-radius:999px;background:#e7edf4}.progressTrack.mini{height:5px}.progressTrack span{display:block;height:100%;min-width:0}.progressTrack .green{background:#2f9d66}.progressTrack .amber{background:#d69b2d}.rekapList{display:grid;gap:8px;margin-top:4px}.rekapItem{display:grid;gap:4px;border-top:1px solid #eef2f6;padding-top:8px}.rekapItem span,.rekapItem small{color:#526171;font-size:12px;font-weight:800}.rekapItem strong{justify-self:end;font-size:12px}.modal{width:min(480px,100%);border-radius:8px;background:#fff;box-shadow:0 24px 80px #08142347;overflow:hidden}.calculationModal{width:min(760px,100%)}.modalHeader{border-bottom:1px solid #dce4ed;padding:14px 16px}.modalHeader .iconButton:hover:not(:disabled){background:#c73535;color:#fff}.modalHeader h2{margin:0}.modalHeader span{display:block;max-width:620px;margin-top:4px;color:#64758a;font-size:12px}.modalBody{display:grid;gap:13px;padding:16px}.calculationTrace{max-height:min(60vh,520px);margin:0;overflow:auto;border:1px solid #dce4ed;border-radius:6px;background:#f8fafc;color:#1c2d42;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65;white-space:pre-wrap;padding:12px}.modalFooter{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}@media(max-width:860px){.shell{width:calc(100% - 18px)}.topbar,.lastImport{align-items:flex-start;flex-direction:column}.filterBand,.searchForm,.steps,.providerInfo,.processSteps{grid-template-columns:1fr}.filterToggle{justify-self:end;min-height:40px}.paginationBar{align-items:stretch;flex-wrap:wrap;justify-content:flex-start}}@media(max-width:520px){h1{font-size:21px}.modalFooter{display:grid}}
