:root{--bg: #f9fbff;--surface: #ffffff;--border: #d6e0f5;--muted: #6e7a9e;--text: #00204d;--accent: #0076ff;--accent-light: #e4f0ff;--danger: #e93d4b;--locked: #3a3a3a;--ok: #00aa6c;--radius: 10px;--shadow: 0 4px 14px rgba(0, 0, 0, .05);--transition: all .25s ease;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html,#root,.app{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-size:14px}.topbar{display:flex;justify-content:space-between;align-items:center;background:var(--surface);box-shadow:var(--shadow);padding:8px 18px;position:sticky;top:0;z-index:10;animation:fadein .6s ease}.brand{display:flex;align-items:center;gap:12px}.logo{background:var(--accent);color:#fff;width:36px;height:36px;border-radius:50%;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px var(--accent-light)}.title{font-weight:700;font-size:16px}.subtitle{font-size:12px;color:var(--muted)}.actions .btn{margin-left:8px}.btn{background:var(--accent);color:#fff;border:none;padding:7px 14px;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:var(--transition)}.btn:hover{opacity:.9}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn.primary{background:var(--accent);color:#fff}.badge-one{background:var(--accent);color:#fff;font-weight:800;font-size:18px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:var(--transition)}.badge-one:hover{transform:scale(1.05)}.badge-one-menu{position:absolute;right:0;top:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:220px;animation:fadein .25s ease}.badge-one-menu .item{padding:10px 14px;cursor:pointer;transition:background .15s}.badge-one-menu .item:hover{background:var(--accent-light)}.badge-one-menu .hr{height:1px;background:var(--border);margin:4px 0}.small.muted{color:var(--muted);font-size:12px}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;padding:0 18px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;position:relative;box-shadow:var(--shadow);transition:var(--transition)}.kpi:hover{transform:translateY(-2px)}.kpi.danger{border-color:var(--danger)}.kpi-label{font-size:12px;color:var(--muted)}.kpi-value{font-size:20px;font-weight:700;color:var(--text)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 18px;flex-wrap:wrap}.add-form{display:flex;gap:8px;flex-wrap:wrap}.add-form input{padding:7px 8px;border:1px solid var(--border);border-radius:var(--radius);outline:none}.add-form input:focus{border-color:var(--accent)}.right-tools{display:flex;gap:8px;align-items:center}.right-tools select,.right-tools input.search{padding:7px 8px;border:1px solid var(--border);border-radius:var(--radius)}.right-tools input.search{min-width:160px}.table-wrap{padding:0 18px 10px;overflow-x:auto}table.grid{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.grid th,.grid td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;white-space:nowrap}.grid thead th{background:#f1f6ff;font-weight:600;font-size:13px}.grid tbody tr:hover{background:var(--accent-light)}.grid tr.low td{background:#fff2f2}.grid td.empty{text-align:center;padding:40px 0}.cell-btn{background:transparent;border:none;cursor:pointer;color:var(--text);font:inherit}.cell-btn:hover{color:var(--accent)}.cell-input{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:4px 6px;font:inherit}.th{background:none;border:none;font-weight:600;cursor:pointer;color:var(--text)}.th-active{color:var(--accent)}.badge{display:inline-block;padding:2px 6px;border-radius:var(--radius);font-size:12px;background:var(--accent-light);color:var(--accent)}.badge.low{background:#fff4e6;color:#d17c00}.badge.ok{background:#e3faef;color:var(--ok)}.badge.danger{background:#ffe5e5;color:var(--danger)}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip{background:var(--accent-light);color:var(--accent);border-radius:var(--radius);padding:3px 8px;font-weight:600;cursor:pointer;transition:var(--transition)}.chip:hover{background:var(--accent);color:#fff}.chip[tone=locked],.chip.locked{background:#f5f5f5;color:var(--locked)}.chip[tone=danger],.chip.danger{background:#ffe5e5;color:var(--danger)}.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;padding:14px 18px 100px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.panel-title{font-weight:700;font-size:15px;color:var(--text)}.list .row{margin-bottom:6px}.list .row:last-child{margin-bottom:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.pager{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 16px}.pager-controls{display:flex;align-items:center;gap:6px}.drawer{position:fixed;top:0;right:0;width:min(520px,92vw);height:100vh;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 24px #00000014;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}.drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.drawer-title{font-weight:700;color:var(--text)}.drawer-body{flex:1;overflow:auto;padding:14px 16px 22px}.drawer-close{background:transparent;border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer}.backdrop{position:fixed;inset:0;background:#00000059;z-index:999;animation:fadein .18s ease}.modal{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1200;animation:fadein .22s ease}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);width:min(720px,94vw);max-height:90vh;overflow:auto}.modal-card h3{margin:0 0 8px;font-size:18px}.modal-card .map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.modal-card label{font-size:12px;color:var(--muted)}.modal-card select,.modal-card input{width:100%;padding:8px;border:1px solid var(--border);border-radius:10px}.sectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0 18px}.sector{padding:12px 10px;border:1px dashed var(--border);border-radius:12px;background:#fbfdff;cursor:pointer;transition:var(--transition)}.sector:hover{background:var(--accent-light);border-style:solid}#notifications-host{position:fixed;z-index:2000;right:16px;bottom:16px;display:grid;gap:10px}.toast{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);padding:10px 12px;border-radius:12px;animation:slide-up .25s ease,float 2.4s ease infinite}.toast.ok{border-color:#b9f1d8;background:#effcf6}.toast.warn{border-color:#ffe2ad;background:#fff8ea}.toast.danger{border-color:#ffc7c7;background:#fff0f0}.toast.info{border-color:#cfe3ff;background:#f2f7ff}@keyframes slide-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-1px)}to{transform:translateY(0)}}.cmdp{position:fixed;inset:0;z-index:1400;display:grid;place-items:start center;padding-top:12vh;background:#00000073;animation:fadein .2s ease}.cmdp-card{width:min(760px,94vw);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px #0000002e;overflow:hidden}.cmdp-header{padding:10px 12px;border-bottom:1px solid var(--border);font-weight:700}.cmdp-search{padding:10px 12px;border-bottom:1px dashed var(--border)}.cmdp-search input{width:100%;border:1px solid var(--border);border-radius:10px;padding:8px 10px;outline:none}.cmdp-list{max-height:60vh;overflow:auto}.cmdp-item{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid #f5f7ff}.cmdp-item:hover{background:var(--accent-light)}.cmdp-item .hint{color:var(--muted);font-size:12px}.skel-card,.skel-row,.skel-text{position:relative;overflow:hidden;background:#eef3ff;border-radius:8px}.skel-card{height:110px}.skel-row{height:12px;margin:6px 0}.skel-text{height:10px;margin:4px 0;width:70%}.skel-card:after,.skel-row:after,.skel-text:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:shimmer 1.6s infinite}@keyframes shimmer{to{transform:translate(100%)}}.tooltip-host{position:relative;display:inline-flex;align-items:center}.tooltip{position:absolute;background:#0f172a;color:#fff;padding:6px 8px;border-radius:8px;font-size:12px;white-space:nowrap;transform:translate(-50%,-8px);left:50%;bottom:100%;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.tooltip-host:hover .tooltip{opacity:1;transform:translate(-50%,-12px)}.fab{position:fixed;bottom:18px;right:18px;border-radius:28px;padding:10px 16px;font-weight:700;background:var(--accent);color:#fff;border:none;box-shadow:0 14px 28px #00000029;cursor:pointer;transition:var(--transition)}.fab:hover{transform:translateY(-2px)}.fab:active{transform:translateY(0)}.fab+.fab{right:auto;left:180px}.fab+.fab+.fab{left:340px}input,select,textarea{font:inherit}select{background:#fff}.row{display:flex;align-items:center;gap:8px}.grid{display:flex;flex-direction:column}.small{font-size:12px}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:12px}.ok{color:var(--ok)}.danger{color:var(--danger)}.blue{color:var(--accent)}[data-density=compact] .add-form input,[data-density=compact] .right-tools select,[data-density=compact] .right-tools input{padding:5px 6px}[data-density=compact] .grid th,[data-density=compact] .grid td{padding:4px 6px}[data-density=compact] .btn{padding:5px 10px}@media(max-width:980px){.kpis{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.panels{grid-template-columns:1fr}.fab+.fab{left:140px}.fab+.fab+.fab{left:260px}}@media(max-width:640px){.right-tools{flex-wrap:wrap}.right-tools .search{min-width:120px;flex:1}.add-form input{width:120px}.fab{bottom:14px;right:14px}.fab+.fab{left:120px}.fab+.fab+.fab{left:240px}}@keyframes fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.badge{background:var(--accent-light);color:var(--accent);border:1px solid #d9e8ff}.badge.ok{background:#e8fff5;border-color:#c9f3df;color:var(--ok)}.badge.low{background:#fff5e7;border-color:#ffe1b8;color:#c57b00}.badge.blue{background:#e8f1ff;border-color:#d8e9ff;color:var(--accent)}.panel,.card,.kpi{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.panel:hover,.card:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0000000f}::selection{background:var(--accent);color:#fff}*{scrollbar-width:thin;scrollbar-color:#c8dafc transparent}*::-webkit-scrollbar{height:10px;width:10px}*::-webkit-scrollbar-thumb{background:#c8dafc;border-radius:10px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}.map-grid select,.map-grid input{background:#fff}.action-centre{margin:12px 0;padding:16px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.action-centre-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.action-centre-head h2{margin:2px 0 0;font-size:17px;color:var(--text)}.action-centre-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.attention-card{min-height:104px;padding:13px;text-align:left;display:flex;flex-direction:column;gap:7px;border:1px solid #d5e2f5;border-radius:12px;background:#fbfdff;color:var(--text);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.attention-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 24px #1e63ff1a}.attention-card>span{font-size:10px;letter-spacing:.08em;font-weight:800;color:var(--accent)}.attention-card>strong{font-size:15px;line-height:1.25}.attention-card>small{color:var(--muted);line-height:1.35}.attention-card.urgent{border-left:3px solid #e5484d}.attention-card.high-value{border-left:3px solid var(--accent)}.attention-card.expiry{border-left:3px solid #d98b00}.attention-card.data{border-left:3px solid #7085a8}.cell-display{display:inline-block;min-width:100%;padding:4px 2px;color:var(--text)}.cell-btn:disabled{color:var(--text);cursor:default;opacity:1}.insight-content{display:grid;gap:10px}.insight-callout{display:grid;gap:6px;padding:14px;background:#edf5ff;border:1px solid #c7ddff;border-radius:12px}.insight-callout strong{font-size:16px;line-height:1.4}.insight-callout span{color:#476181;line-height:1.45}.insight-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border:1px solid #dce6f4;border-radius:12px;background:#fff}.insight-rank{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent);font-weight:800;font-size:12px}.insight-main{display:grid;gap:4px;min-width:0}.insight-main>span{color:var(--muted);font-size:12px;line-height:1.4}.insight-main details{margin-top:5px;padding:7px 9px;background:#f7faff;border-radius:8px;color:#385270;font-size:12px}.insight-main summary{cursor:pointer;color:var(--accent);font-weight:700}.insight-main p{margin:7px 0 0;line-height:1.45}.insight-main pre{overflow:auto;white-space:pre-wrap}.insight-money{display:grid;justify-items:end;gap:3px;text-align:right}.insight-money strong{color:#075fba}.insight-money span{color:var(--muted);font-size:10px}.priority-pill{min-width:54px;padding:4px 7px;border-radius:999px;text-align:center;font-size:9px;font-weight:850;text-transform:uppercase;background:#edf3fb;color:#516987}.priority-pill.urgent{background:#ffe7e8;color:#b51f2b}.priority-pill.high{background:#fff2db;color:#9a6000}.priority-pill.normal{background:#eaf4ff;color:#0e65ba}.adjustment-card{max-width:520px}.adjustment-card label{display:block;margin:12px 0 5px;color:#405575;font-size:12px;font-weight:700}.adjustment-card select,.adjustment-card input,.adjustment-card textarea{width:100%;border:1px solid #bfd0e8;border-radius:10px;padding:9px 11px;background:#fbfdff;color:var(--text)}.adjustment-card textarea{min-height:90px;resize:vertical}.dashboard-loading,.dashboard-error{min-height:60vh;display:grid;gap:14px;align-content:center}.dashboard-error .card{max-width:620px;margin:auto;padding:24px;text-align:center}@media(max-width:980px){.action-centre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.action-centre-head{align-items:flex-start;flex-direction:column}.action-centre-grid{grid-template-columns:1fr}.insight-row{grid-template-columns:auto minmax(0,1fr)}.insight-money{grid-column:2;justify-items:start;text-align:left}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.tile{background:var(--bg-card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm)}.tile strong{font-size:28px}.kpi-pulse{animation:kpiPulse .8s ease}@keyframes kpiPulse{0%{box-shadow:0 0 #1e63ff33}to{box-shadow:0 0 0 14px #1e63ff00}}.hint{font-size:12px;color:var(--muted)}.logoutButton{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;background:#0d6efd;color:#fff;font-weight:600;border:none;border-radius:12px;cursor:pointer;position:relative;overflow:hidden;transition:background .3s ease,transform .2s ease;box-shadow:0 2px 6px #0d6efd40}.logoutButton:hover{background:#0053d6;transform:scale(1.05)}.logoutButton .door{display:inline-block;transform:translate(0);transition:transform .4s ease,opacity .4s ease}.logoutButton:hover .door{transform:translate(5px);opacity:.85}.logoutButton:active{transform:scale(.97);box-shadow:0 0 10px #0d6efd80}.logoutButton--light{background:#f4f6fb;color:#1f2335;border:1px solid #c9d1eb}.logoutButton--light:hover{background:#e6ecfb}.auth-root{position:relative;min-height:100vh;background:#0b1220;color:#e8f1ff;overflow:hidden;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.auth-topbar{position:fixed;inset:0 0 auto;height:56px;display:flex;align-items:center;padding:0 16px;-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);background:#0a122499;border-bottom:1px solid rgba(255,255,255,.06);z-index:30}.auth-brand{display:flex;gap:10px;align-items:center}.logo-1{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-weight:800;letter-spacing:-.5px;color:#0b1220;background:linear-gradient(135deg,#4aa8ff,#1463f3);box-shadow:0 0 20px #1463f380}.brand-name{font-weight:700;font-size:14.5px;color:#d9e7ff}.auth-spacer{flex:1}.auth-backdrop{position:absolute;inset:0;background:radial-gradient(900px 500px at 20% 10%,rgba(20,99,243,.25),transparent 60%),radial-gradient(700px 400px at 80% 70%,rgba(74,168,255,.18),transparent 65%),linear-gradient(180deg,#0e162ad9,#0a101ceb);filter:blur(6px) saturate(115%);transform:scale(1.02)}.auth-center{position:relative;z-index:40;min-height:100vh;display:grid;place-items:center;padding-top:56px}.login-card{width:350px;border-radius:18px;padding:18px 18px 16px;background:#ffffff0f;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 60px #0a122499,0 0 0 1px #ffffff0a inset,0 0 40px #1463f333}.login-header h1{margin:0;font-size:20px;font-weight:800;letter-spacing:-.2px;color:#f5f9ff}.sub{margin:2px 0 14px;font-size:12.5px;color:#b9c9e8}.login-form{display:grid;gap:12px}.field span{display:inline-block;font-size:12px;color:#c9dafd;margin-bottom:6px}.field input{width:100%;height:38px;border-radius:12px;border:1px solid rgba(160,185,230,.25);background:#ffffff0f;color:#eaf1ff;padding:0 12px;outline:none;transition:border .12s ease,box-shadow .12s ease,background .12s ease}.field input::placeholder{color:#9fb6e0}.field input:focus{border-color:#4aa8ffcc;box-shadow:0 0 0 3px #1463f340;background:#ffffff1a}.btn-primary{height:40px;width:100%;border:none;border-radius:12px;font-weight:700;letter-spacing:.2px;color:#fff;background:linear-gradient(135deg,#1463f3,#4aa8ff);box-shadow:0 10px 30px #1463f366;cursor:pointer;transition:transform 80ms ease,filter .12s ease,box-shadow .12s ease}.btn-primary:disabled{opacity:.7;cursor:default}.btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 12px 36px #1463f375}.error{background:#ff53531a;border:1px solid rgba(255,99,99,.25);color:#ffd7d7;padding:8px 10px;border-radius:10px;font-size:12.5px}.muted{margin-top:12px;display:flex;justify-content:center;gap:16px;font-size:12px}.muted a{color:#b9d2ff;text-decoration:none}.muted a:hover{text-decoration:underline}.auth-status{color:#c9dafd;font-size:13px;padding:8px 0}.link-button{appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.recovery-card .sub{margin-bottom:16px;line-height:1.5}.recovery-actions{display:grid;gap:10px}.recovery-secondary{height:40px;width:100%;border:1px solid rgba(160,185,230,.35);border-radius:12px;color:#d9e7ff;background:#ffffff0f;cursor:pointer}.recovery-secondary:disabled{cursor:default;opacity:.7}:root{--onboard-blue: #087cff;--onboard-deep: #062657;--onboard-line: #cfddf2;--onboard-muted: #64779b}.onboarding-root{min-height:100vh;background:#f6f9ff;color:#062657;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.onboard-header{min-height:78px;padding:14px clamp(18px,5vw,72px);background:#fff;border-bottom:1px solid #dfe9f8;box-shadow:0 8px 28px #174c8f0f;display:flex;align-items:center;justify-content:space-between;gap:20px}.onboard-brand{display:flex;align-items:center;gap:12px}.onboard-brand>div:last-child{display:grid}.onboard-brand strong{font-size:16px}.onboard-brand span{color:var(--onboard-muted);font-size:12px}.onboard-logo{width:42px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;background:var(--onboard-blue);box-shadow:0 8px 22px #087cff47}.organisation-chip{display:grid;padding:8px 13px;border:1px solid var(--onboard-line);border-radius:12px;background:#f9fbff}.organisation-chip span{color:var(--onboard-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.organisation-chip b{font-size:13px}.onboard-main{width:min(1180px,calc(100% - 32px));margin:30px auto 80px}.onboard-progress{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:22px}.onboard-progress>div{position:relative;display:flex;align-items:center;gap:8px;color:#8292ad;font-size:12px}.onboard-progress>div:not(:last-child):after{content:"";height:1px;background:#d8e3f4;flex:1;margin-right:8px}.onboard-progress span{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:50%;border:1px solid #c9d8ee;background:#fff}.onboard-progress .active{color:var(--onboard-deep)}.onboard-progress .active span,.onboard-progress .complete span{color:#fff;background:var(--onboard-blue);border-color:var(--onboard-blue);box-shadow:0 4px 12px #087cff40}.onboard-progress .complete{color:#23725c}.onboard-card{background:#fff;border:1px solid var(--onboard-line);border-radius:18px;padding:clamp(22px,4vw,38px);box-shadow:0 18px 48px #23508b14}.compact-card{max-width:720px;margin:50px auto}.onboard-eyebrow{color:var(--onboard-blue);text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800}.onboard-card h1{margin:7px 0 8px;font-size:clamp(23px,3vw,34px);letter-spacing:-.03em}.onboard-card h2{margin:0 0 4px;font-size:17px}.onboard-card p{color:var(--onboard-muted);margin:0;line-height:1.55}.onboard-form{margin-top:26px;display:grid;gap:14px}.onboard-form label,.mapping-grid label{display:grid;gap:6px}.onboard-form label span,.mapping-grid label span{color:#435676;font-size:12px;font-weight:700;text-transform:capitalize}.onboard-form input,.mapping-grid select{min-height:42px;border:1px solid #bdcde5;border-radius:11px;padding:0 12px;background:#fbfdff;color:var(--onboard-deep)}.onboard-form input:focus,.mapping-grid select:focus{outline:3px solid rgba(8,124,255,.14);border-color:var(--onboard-blue)}.onboard-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.onboard-actions.end{justify-content:flex-end;margin-top:24px;border-top:1px solid #e4ecf7;padding-top:20px}.onboard-btn{min-height:40px;border:1px solid #b9cbe5;border-radius:11px;padding:0 16px;background:#fff;color:#0a3878;font:inherit;font-size:13px;font-weight:750;cursor:pointer;display:inline-grid;place-items:center}.onboard-btn:hover:not(:disabled){border-color:var(--onboard-blue);transform:translateY(-1px)}.onboard-btn.primary{border-color:var(--onboard-blue);background:var(--onboard-blue);color:#fff;box-shadow:0 8px 18px #087cff3d}.onboard-btn.large{min-height:48px;padding:0 24px;margin-top:24px}.onboard-btn:disabled{opacity:.55;cursor:wait}.onboard-card-head,.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.onboard-file-badge,.review-pill{white-space:nowrap;border:1px solid #c5d7ef;border-radius:999px;padding:7px 11px;color:#496382;background:#f5f9ff;font-size:11px;font-weight:700}.import-dropzone{margin-top:24px;min-height:240px;border:1px dashed #93b5e3;border-radius:16px;background:#f8fbff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;text-align:center;padding:24px}.import-dropzone>span{color:var(--onboard-muted);font-size:12px;margin-bottom:8px}.import-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#e5f1ff;color:var(--onboard-blue);font-size:25px}.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.import-summary>div{border:1px solid #d7e3f4;border-radius:13px;padding:12px;display:grid;gap:5px;background:#fbfdff}.import-summary span,.ready-metrics span{color:var(--onboard-muted);font-size:11px}.import-summary strong{font-size:18px;overflow-wrap:anywhere}.import-summary .valid strong{color:#168363}.import-summary .invalid strong{color:#b96c00}.mapping-section{margin-top:24px;border-top:1px solid #e4ecf7;padding-top:22px}.mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:11px;margin-top:16px}.review-pill.ok{color:#187157;background:#eaf9f3;border-color:#bce8d8}.review-pill.warning{color:#925c00;background:#fff7e8;border-color:#f4d89f}.error-table-wrap{overflow-x:auto;margin-top:14px}.error-table{width:100%;border-collapse:collapse;font-size:12px}.error-table th{text-align:left;color:#607390;background:#f4f8fe}.error-table th,.error-table td{border-bottom:1px solid #e0e8f4;padding:10px;vertical-align:top}.excluded-pill{color:#9b4d22;background:#fff0e9;border:1px solid #f4cbb8;border-radius:999px;padding:3px 8px}.import-ok{margin-top:14px;background:#eaf9f3;border:1px solid #bce8d8;color:#187157;border-radius:11px;padding:12px}.onboard-error{max-width:900px;margin:16px auto 0;padding:12px 14px;border:1px solid #efb9b9;border-radius:11px;background:#fff0f0;color:#a63030}.ready-card{max-width:900px;margin:44px auto;text-align:center}.ready-mark{width:54px;height:54px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;color:#fff;font-size:25px;background:#168363;box-shadow:0 8px 20px #16836340}.ready-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px;text-align:left}.ready-metrics>div{border:1px solid #d5e1f3;border-radius:13px;padding:14px;display:grid;gap:5px}.ready-metrics strong{font-size:21px}.onboard-loading{min-height:100vh;display:grid;place-items:center;color:var(--onboard-muted)}@media(max-width:760px){.onboard-progress b{display:none}.onboard-progress>div:not(:last-child):after{margin-right:4px}.onboard-card-head,.section-title-row{flex-direction:column}.import-summary,.ready-metrics{grid-template-columns:repeat(2,1fr)}.organisation-chip{display:none}}@media(max-width:440px){.onboard-main{width:min(100% - 20px,1180px);margin-top:18px}.onboard-card{padding:18px}.import-summary,.ready-metrics{grid-template-columns:1fr}}
