:root{--background: #eef3f1;--surface: #ffffff;--surface-muted: #eff5f2;--border: #d8e1de;--text: #17211f;--muted: #6c7a76;--primary: #147a61;--accent: #27a784;--danger: #b42318;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211f;background:#eef3f1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f7faf9,#edf2f0)}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;background:var(--surface);color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:42px 0 28px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.topbar h1{margin:5px 0 7px;font-size:clamp(2rem,4vw,3.6rem);line-height:.96;letter-spacing:-.055em}.topbar p{margin:0;color:#61706c;font-size:1.03rem}.eyebrow{color:#147a61;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.button{border:0;border-radius:8px;padding:12px 17px;font-weight:750;transition:transform .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:#17211f;color:#fff;box-shadow:0 8px 20px #17211f24}.button.accent{background:#27a784;color:#062c21;box-shadow:0 8px 20px #27a78433}.button.secondary{background:#fff;color:#26332f;border:1px solid #d8e1de}.banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:12px 15px;border-radius:8px;margin-bottom:18px;font-size:.92rem}.banner .button{margin-left:auto}.notice-banner{background:#def5ed;color:#0e5c47;border:1px solid #bfe7d9}.error-banner{background:#fff0ed;color:#9c382d;border:1px solid #f2c8c1}.summary-grid,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card,.panel{background:#ffffffeb;border:1px solid rgba(207,220,216,.88);box-shadow:0 14px 36px #233e360f}.metric-card{border-radius:8px;padding:20px;min-height:132px;display:flex;flex-direction:column}.metric-card span{color:#6c7a76;font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.metric-card strong{margin:12px 0 6px;font-size:2rem;letter-spacing:-.04em;line-height:1.05}.metric-card small{margin-top:auto;color:#81908b}.metric-card.wide-value strong{font-size:clamp(1.2rem,2vw,1.8rem)}.danger-card{background:linear-gradient(145deg,#fff 30%,#fff0ed)}.danger-card strong{color:#b34437}.workflow-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.panel{border-radius:8px;padding:22px}.workflow-card{display:flex;align-items:center;justify-content:space-between;gap:28px}.workflow-copy{min-width:0}.workflow-card h2,.section-heading h2{margin:5px 0 6px;font-size:1.16rem}.workflow-card p{color:#71807c;margin:0;max-width:34rem;font-size:.91rem;line-height:1.5}.file-input{display:none}.file-row{min-width:180px;display:grid;justify-items:end;gap:8px}.filename{color:#778480;font-size:.75rem;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-inline{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:flex-end;color:#687671;font-size:.75rem}.metrics-inline span{background:#eff5f2;border-radius:8px;padding:5px 7px}.cash-panel,.table-panel{margin-bottom:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid #e5ece9}.section-heading>span{color:#7b8884;font-size:.82rem}.legend-dot:before{content:"";width:8px;height:8px;margin-right:7px;background:#27a784;display:inline-block;border-radius:50%}.currency-chart{padding-top:18px}.currency-chart h3{margin:0 0 13px;font-size:.78rem;color:#5d6c68;letter-spacing:.08em}.bar-chart{height:190px;display:flex;align-items:stretch;gap:10px;overflow-x:auto;padding-bottom:4px}.bar-column{min-width:82px;flex:1;display:grid;grid-template-rows:24px 1fr 22px;text-align:center}.forecast-bar-track{height:130px;align-self:end;display:flex;align-items:end;border-radius:8px 8px 4px 4px;background:#edf3f1;overflow:hidden}.forecast-bar-fill{width:100%;background:linear-gradient(180deg,#35bc97,#147a61);border-radius:8px 8px 3px 3px;min-height:8px}.bar-value{font-size:.68rem;color:#52615d;white-space:nowrap}.bar-label{color:#7b8985;font-size:.72rem;padding-top:6px}.table-panel{padding:0;overflow:hidden}.table-panel .section-heading{padding:22px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:1120px}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #e8eeec;font-size:.83rem;white-space:nowrap}th{background:#f7faf9;color:#6b7975;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}tbody tr:hover{background:#f9fcfb}td small{display:block;color:#84918d;margin-top:3px}.risk{display:inline-flex;min-width:49px;justify-content:center;border-radius:999px;padding:5px 8px;font-weight:800}.risk.high{background:#ffe5e0;color:#a83c30}.risk.medium{background:#fff2c9;color:#8a6300}.risk.low{background:#ddf3eb;color:#11654f}.action-label{text-transform:capitalize}.empty-state{color:#81908b;padding:32px 4px 16px;text-align:center}footer{color:#788680;text-align:center;font-size:.76rem;padding-top:7px}@media(max-width:1050px){.summary-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-grid{grid-template-columns:1fr}}@media(max-width:650px){.app-shell{width:min(100% - 24px,1480px);padding-top:24px}.topbar{align-items:flex-start;flex-direction:column}.summary-grid,.metric-grid{grid-template-columns:1fr}.workflow-card{align-items:flex-start;flex-direction:column}.file-row{justify-items:start}}.header-actions{display:flex;gap:9px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:34px}.auth-card h1{margin:8px 0;font-size:2.7rem;letter-spacing:-.05em}.auth-card>p{color:#697773}.auth-card form{display:grid;gap:14px;margin:24px 0 14px}.auth-card label,.mapping-grid label{display:grid;gap:6px;font-size:.78rem;font-weight:750;color:#52605c}.auth-card input,.mapping-grid select,.mapping-actions select{width:100%;border:1px solid #ccd8d4;border-radius:8px;padding:11px 12px;background:#fff}.text-button{border:0;background:transparent;color:#147a61;font-weight:750;padding:8px 0}.import-card{align-items:flex-start;flex-wrap:wrap}.mapping-panel{width:100%;display:grid;gap:12px;padding-top:14px;border-top:1px solid #e5ece9}.mapping-actions{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;align-items:end;width:100%}.mapping-actions label{display:grid;gap:6px;font-size:.78rem;font-weight:750;color:#52605c}.mapping-grid{width:100%;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.required-fields{padding-top:0;border-top:0}.mapping-grid .button{align-self:end}.optional-mapping{width:100%}.optional-mapping summary{padding:4px 0}.optional-mapping .mapping-grid{padding-top:10px}.mapping-save-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto auto;gap:10px;align-items:center}.job-status{width:100%;display:grid;gap:8px;padding-top:4px}.job-status div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;text-transform:capitalize}.job-progress{height:9px;border-radius:999px;background:#e5ece9;overflow:hidden}.job-progress span{display:block;height:100%;border-radius:inherit;background:#315b8c}.onboarding-panel{margin-bottom:22px}.onboarding-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.onboarding-item{min-height:84px;border:1px solid #d8e1de;background:#fff;color:#25322f;border-radius:8px;padding:13px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr auto;column-gap:.7rem;text-align:left}.onboarding-item span{width:34px;height:34px;border-radius:50%;background:#e7f3ef;color:#147a61;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;grid-row:1 / span 2}.onboarding-item strong{align-self:end}.onboarding-item small{color:#64716d}.onboarding-item.done{background:#f4fbf8;border-color:#bfe7d9}.validation-summary{margin-top:10px;color:#55635f;font-size:.82rem}.issue-list{width:100%;display:grid;gap:5px;color:#9c382d;font-size:.78rem}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.compact-panel .section-heading{padding-bottom:13px}.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:17px}.health-grid div{display:grid;gap:5px}.health-grid span{color:#7b8985;font-size:.72rem;text-transform:uppercase}.health-grid b{font-size:.85rem}.status{border-radius:999px;padding:5px 9px;text-transform:capitalize}.status.healthy{background:#ddf3eb;color:#11654f}.status.watch{background:#fff2c9;color:#8a6300}.status.retrain{background:#ffe5e0;color:#a83c30}.customer-list,.notification-list{display:grid;gap:0;padding-top:8px}.customer-list article{display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #e8eeec;font-size:.78rem}.notification-list article{padding:10px 0;border-bottom:1px solid #e8eeec}.notification-list p{margin:5px 0;color:#687671;font-size:.8rem}.notification-list small{color:#8a9692}details summary{cursor:pointer;color:#147a61;font-weight:700}details p{white-space:normal;width:260px;font-size:.75rem;color:#5c6965}@media(max-width:1100px){.insight-grid{grid-template-columns:1fr}.mapping-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.header-actions{width:100%}.mapping-grid{grid-template-columns:1fr}}.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.workspace-banner{grid-column:1 / -1}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:.65rem;margin:1rem 0}.inline-form input,.inline-form select{min-height:42px;border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;background:var(--surface);color:inherit}.compact-list{display:grid;gap:.55rem}.compact-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;align-items:center;padding:.65rem 0;border-top:1px solid var(--border)}.compact-list span{color:var(--muted);font-size:.86rem}.row-actions,.button-row{display:flex;gap:.55rem;flex-wrap:wrap}.text-button.danger{color:#b42318}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.plan-card{display:grid;gap:.25rem;text-align:left;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit;cursor:pointer}.plan-card:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.plan-card:disabled{opacity:.5;cursor:not-allowed}.plan-card span{font-size:1.1rem;font-weight:700}.plan-card small{color:var(--muted)}.admin-panel{grid-column:1 / -1}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.admin-stats>div{display:grid;gap:.2rem;padding:1rem;border-radius:8px;background:var(--surface-muted)}.admin-stats strong{font-size:1.6rem}.admin-stats span{color:var(--muted)}@media(max-width:900px){.workspace-grid{grid-template-columns:1fr}.admin-panel{grid-column:auto}.inline-form{grid-template-columns:1fr}.plan-grid,.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-list>div{grid-template-columns:1fr}}.product-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:var(--background)}.product-sidebar{position:sticky;top:0;height:100vh;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;border-right:1px solid var(--border);background:var(--surface);overflow-y:auto}.product-sidebar h1{margin:.25rem 0}.sidebar-identity{margin:.25rem 0 .6rem;color:var(--muted);overflow-wrap:anywhere}.role-chip{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:var(--surface-muted);font-size:.78rem;text-transform:capitalize}.sidebar-nav{display:grid;gap:.35rem}.nav-heading{margin-top:.8rem;padding:.35rem .65rem;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-link{width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:.7rem .8rem;border-radius:10px;cursor:pointer;font:inherit}.nav-link:hover:not(:disabled),.nav-link.active{background:var(--surface-muted);color:var(--primary)}.nav-link{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.nav-link small{font-size:.65rem;color:var(--muted)}.nav-link.locked{opacity:.55;cursor:not-allowed}.sidebar-footer{margin-top:auto}.product-content{min-width:0}.page-stack{display:grid;gap:1.25rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header h1{margin:.25rem 0}.page-header p{color:var(--muted);max-width:760px}.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.pricing-card{display:flex;flex-direction:column;gap:.7rem;padding:1.15rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pricing-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary),transparent 75%)}.pricing-card h3{margin:0}.pricing-card ul{margin:0;padding-left:1.2rem;color:var(--muted);flex:1}.price{font-size:2rem}.price small{font-size:.9rem;color:var(--muted)}.chip-grid{display:flex;flex-wrap:wrap;gap:.6rem}.feature-chip{padding:.45rem .7rem;border-radius:999px;background:var(--surface-muted);text-transform:capitalize}.status-pill{display:inline-flex;padding:.25rem .5rem;border-radius:999px;background:var(--surface-muted);text-transform:capitalize}.status-pill.healthy{background:#dff8e8;color:#156839}.status-pill.watch,.status-pill.insufficient_data{background:#fff2c7;color:#795900}.status-pill.critical{background:#ffe0e0;color:#962c2c}.status-pill.open{background:#e7eef8;color:#315b8c}.status-pill.in_progress{background:#def5ed;color:#0e5c47}.status-pill.waiting{background:#fff2c7;color:#795900}.status-pill.resolved,.status-pill.fulfilled{background:#dff8e8;color:#156839}.status-pill.closed,.status-pill.cancelled{background:#edf2f0;color:#61706c}.status-pill.broken{background:#ffe0e0;color:#962c2c}.calibration-list{display:grid;gap:.8rem}.calibration-list>div{display:grid;grid-template-columns:110px 1fr 80px;gap:.75rem;align-items:center}.calibration-bar-track{height:10px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.calibration-bar-fill{height:100%;background:var(--primary)}.segmented-control{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.segmented-control button{border:0;border-radius:6px;background:transparent;color:var(--muted);padding:7px 10px;font-size:.82rem;font-weight:750;white-space:nowrap}.segmented-control button.active{background:#17211f;color:#fff}.portal-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.field-block{display:grid;gap:.4rem;margin-top:1rem}.field-block textarea{min-height:90px}.stack-form{display:grid;gap:.8rem}.stack-form label{display:grid;gap:.35rem}.json-panel{overflow:auto;max-height:400px;padding:1rem;border-radius:8px;background:#101722;color:#d9e6f2;font-size:.8rem}.table-subtitle{display:block;color:var(--muted);margin-top:.25rem}.error-cell{max-width:380px;overflow-wrap:anywhere;color:var(--danger)}.customer-portal-shell{min-height:100vh;padding:clamp(1rem,4vw,4rem);display:grid;align-content:start;gap:1.2rem;max-width:1200px;margin:0 auto}.portal-header{padding:1.5rem;border-radius:8px;background:linear-gradient(135deg,#17243a,#254e75);color:#fff}.portal-header h1{margin:.3rem 0}@media(max-width:1100px){.product-shell{grid-template-columns:220px minmax(0,1fr)}.pricing-grid,.two-column-grid{grid-template-columns:1fr}}@media(max-width:760px){.product-shell{display:block}.product-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-heading{grid-column:1 / -1}.page-header{flex-direction:column}.calibration-list>div{grid-template-columns:90px 1fr 55px}.onboarding-list,.mapping-actions,.mapping-save-row{grid-template-columns:1fr}.segmented-control{width:100%;overflow-x:auto}}
