:root{color:#e8ebf3;font-synthesis:none;text-rendering:optimizelegibility;--bg:#080b13;--panel:#0e1320;--panel-2:#111827;--line:#242b3b;--muted:#8e98aa;--accent:#76e6be;--accent-strong:#35d399;--warning:#ffb454;--danger:#ff727c;background:#080b13;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{background:radial-gradient(circle at 78% 8%, #3fe2ac0f, transparent 28%), var(--bg);min-height:100vh}.site-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#080b13e0;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{color:#f8fafc;letter-spacing:-.02em;align-items:center;gap:11px;font-size:19px;font-weight:750;text-decoration:none;display:inline-flex}.logo-mark{background:#76e6be14;border:1px solid #76e6be66;place-items:center;width:31px;height:31px;display:grid}.logo-mark svg{width:24px;stroke:var(--accent);fill:none;stroke-width:1.6px}.version{color:var(--accent);letter-spacing:.08em;border:1px solid #76e6be4d;padding:4px 6px;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.header-actions{align-items:center;gap:14px;display:flex}.privacy-pill{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.privacy-pill span{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #76e6be14}.landing{width:min(1180px,90vw);margin:0 auto}.hero{max-width:920px;padding:88px 0 72px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:12px;font:650 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.eyebrow span{color:var(--accent)}.hero h1{letter-spacing:-.065em;max-width:900px;margin:25px 0 22px;font-size:clamp(48px,7vw,86px);font-weight:680;line-height:.98}.hero h1 em{color:var(--accent);font-style:normal;font-weight:520;display:block}.hero-copy{color:#aab2c1;max-width:670px;margin:0 0 38px;font-size:18px;line-height:1.65}.drop-zone{background:linear-gradient(110deg,#ffffff06,#76e6be06);border:1px dashed #394356;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:132px;padding:24px 28px;transition:all .2s;display:grid}.drop-zone.is-dragging{border-color:var(--accent);background:#76e6be14;transform:translateY(-2px)}.upload-icon{width:52px;height:52px;color:var(--accent);border:1px solid #313a4d;place-items:center;font-size:26px;display:grid}.drop-zone strong,.drop-zone span{display:block}.drop-zone strong{margin-bottom:7px;font-size:16px}.drop-zone span{color:var(--muted);font-size:13px}.button{cursor:pointer;border:0;font-weight:700;transition:transform .16s,background .16s,border-color .16s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--accent);color:#07110e;padding:14px 18px}.button-primary:hover{background:#91f0cf}.button-ghost{color:#dce1ea;background:0 0;border:1px solid #30384a;padding:10px 13px;font-size:12px}.hero-actions{align-items:center;gap:26px;margin-top:22px;display:flex}.text-button{color:#dfe5ed;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.text-button span{color:var(--accent);padding-left:6px}.local-note{color:var(--muted);padding-left:21px;font-size:12px;position:relative}.local-note:before{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:5px;left:0}.error-banner,.success-banner{color:#ffb0b6;background:#ff727c14;border:1px solid #ff727c59;padding:13px 16px;font-size:13px}.feature-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-bottom:80px;display:grid}.feature-strip article{border-right:1px solid var(--line);padding:30px 30px 34px 0}.feature-strip article:not(:first-child){padding-left:30px}.feature-strip article:last-child{border-right:0}.feature-strip article>span{color:var(--accent);font:700 10px ui-monospace,monospace}.feature-strip h2{margin:18px 0 10px;font-size:16px}.feature-strip p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.workspace{grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.workspace-nav{border-right:1px solid var(--line);background:#0a0e17;height:calc(100vh - 76px);padding:34px 20px;position:sticky;top:76px}.nav-label{color:#616b7d;text-transform:uppercase;letter-spacing:.16em;margin:0 10px 17px;font:700 10px ui-monospace,monospace}.workspace-nav>a{color:#8993a5;border-left:2px solid #0000;gap:12px;padding:11px 10px;font-size:13px;text-decoration:none;display:flex}.workspace-nav>a span{color:#505a6d;margin-top:2px;font:600 10px ui-monospace,monospace}.workspace-nav>a.active{color:#f2f5f8;border-left-color:var(--accent);background:#76e6be0f}.workspace-nav>a.active span{color:var(--accent)}.file-card{border-top:1px solid var(--line);gap:11px;min-width:0;padding-top:20px;display:flex;position:absolute;bottom:25px;left:20px;right:20px}.file-icon{height:36px;color:var(--accent);border:1px solid #344052;flex:0 0 36px;place-items:center;font:700 9px ui-monospace,monospace;display:grid}.file-card div{min-width:0}.file-card strong,.file-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-card strong{margin:3px 0 5px;font-size:11px}.file-card small{color:#687386;font-size:9px}.workspace-main{width:100%;max-width:1440px;padding:52px clamp(28px,5vw,74px) 80px}.workspace-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.workspace-heading h1{letter-spacing:-.05em;margin:14px 0 8px;font-size:clamp(32px,4vw,49px)}.workspace-heading p{color:var(--muted);margin:0;font-size:14px}.success-banner{color:var(--accent);background:#76e6be0f;border-color:#76e6be4d;margin:0 0 20px}.metric-grid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-bottom:22px;display:grid}.metric-grid article{border-right:1px solid var(--line);background:#ffffff04;padding:22px 24px}.metric-grid article:last-child{border-right:0}.metric-grid article>span,.metric-grid small{color:#788396;font-size:10px;display:block}.metric-grid article>span{text-transform:uppercase;letter-spacing:.12em;font-weight:700}.metric-grid strong{letter-spacing:-.04em;margin:12px 0 7px;font-size:26px;display:block}.metric-warning strong{color:var(--warning)}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:22px;margin-bottom:22px;display:grid}.panel{border:1px solid var(--line);background:#0f1421d1}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:65px;padding:0 20px;display:flex}.panel-heading>div{align-items:center;gap:13px;display:flex}.panel-heading h2{margin:0;font-size:14px}.panel-heading small{color:#6f7a8e;font-size:10px}.panel-action{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:0;font:700 10px ui-monospace,monospace}.section-number{color:var(--accent);font:700 9px ui-monospace,monospace}.field-row{border-bottom:1px solid #242b3bbf;grid-template-columns:1fr 160px 66px;align-items:center;gap:18px;min-height:62px;padding:0 20px;display:grid}.field-row:last-child{border-bottom:0}.field-row strong,.field-row small{display:block}.field-row strong{margin-bottom:4px;font-size:12px}.field-row>div>small{color:#657083;text-transform:uppercase;font:600 9px ui-monospace,monospace}.completion{grid-template-columns:1fr 34px;align-items:center;gap:10px;display:grid}.completion>span{background:#273041;height:3px}.completion i{background:var(--accent);height:100%;display:block}.completion small,.field-row>small{color:#788396;text-align:right;font-size:9px}.issue-count{width:24px;height:24px;color:var(--warning);background:#ffb4541a;place-items:center;font:700 10px ui-monospace,monospace;display:grid}.issue-row{border-bottom:1px solid #242b3bbf;gap:12px;min-height:60px;padding:13px 18px;display:flex}.severity{width:21px;height:21px;color:var(--danger);border:1px solid #ff727c66;flex:none;place-items:center;font:700 10px ui-monospace,monospace;display:grid}.severity.amber{color:var(--warning);border-color:#ffb45466}.issue-row strong,.issue-row small{display:block}.issue-row strong{margin-bottom:5px;font-size:11px;line-height:1.35}.issue-row small{color:#6e798c;font-size:9px}.button-fix{width:calc(100% - 36px);color:var(--accent);background:#76e6be12;border:1px solid #76e6be3d;margin:16px 18px;padding:11px 12px;font-size:11px}.button-fix span{float:right}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #242b3bb3;border-right:1px solid #242b3bb3;height:48px;padding:0 16px}th{color:#7f899b;text-transform:uppercase;letter-spacing:.08em;background:#0b101b;font:700 9px ui-monospace,monospace}th:first-child,td:first-child{color:#586276;text-align:center;width:50px}td.flagged{color:#ffc38a;box-shadow:inset 2px 0 var(--warning);background:#ffb4540b}.empty-value{color:#5f697a;font-style:italic}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#02050ac7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.mapping-modal{background:#0d1320;border:1px solid #354054;width:min(620px,100%);max-height:calc(100vh - 48px);padding:28px;overflow-y:auto;box-shadow:0 30px 100px #0000008c}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.modal-heading h2{letter-spacing:-.04em;margin:14px 0 0;font-size:28px}.close-button{color:#8993a5;cursor:pointer;background:0 0;border:1px solid #30394a;place-items:center;width:34px;height:34px;font-size:23px;display:grid}.mapping-modal>p{color:var(--muted);margin:16px 0 22px;font-size:13px;line-height:1.6}.mapping-list{border:1px solid var(--line)}.mapping-list label{border-bottom:1px solid var(--line);grid-template-columns:1fr 24px 1.2fr;align-items:center;gap:14px;min-height:66px;padding:11px 15px;display:grid}.mapping-list label:last-child{border-bottom:0}.mapping-list small,.mapping-list strong{display:block}.mapping-list small{color:#667184;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font:700 8px ui-monospace,monospace}.mapping-list strong{font-size:12px}.mapping-list i{color:var(--accent);text-align:center;font-style:normal}.target-field input{color:#ecf1f7;background:#080c15;border:1px solid #303a4d;width:100%;padding:9px 10px;font:600 11px ui-monospace,monospace}.target-field input:focus{border-color:var(--accent);outline:0}.modal-error{color:#ff9ca4!important}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (width<=920px){.feature-strip{grid-template-columns:repeat(2,1fr)}.feature-strip article:nth-child(2){border-right:0}.workspace{display:block}.workspace-nav{display:none}.dashboard-grid{grid-template-columns:1fr}}@media (width<=680px){.site-header{padding:0 20px}.privacy-pill{display:none}.landing{width:min(100% - 40px,1180px)}.hero{padding:56px 0}.hero h1{font-size:46px}.drop-zone{grid-template-columns:1fr}.upload-icon{display:none}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.feature-strip{grid-template-columns:1fr}.feature-strip article,.feature-strip article:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:24px 0}.workspace-main{padding:36px 20px 60px}.workspace-heading{flex-direction:column;align-items:flex-start}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid article:nth-child(2){border-right:0}.metric-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.field-row{grid-template-columns:1fr 100px}.field-row>small{display:none}}
