:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#162b3b;background:#f3f6f8;font-synthesis:none;font-size:16px;--ink:#162b3b;--muted:#536575;--border:#dce3e9;--green:#12664c;--accent:#a4f0ce}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:wait}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin:.45rem 0 .6rem}h2{font-size:1.12rem;letter-spacing:-.02em}h3{font-size:1rem;margin:1.5rem 0 .85rem}.muted{color:var(--muted);font-size:.875rem;line-height:1.6}.eyebrow{font-size:.75rem;letter-spacing:.105em;font-weight:700;color:#6a7986}.shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:#142738;color:#fff;display:flex;flex-direction:column;padding:28px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;font-size:1.13rem;font-weight:700;letter-spacing:-.025em}.brand-mark{display:grid;place-items:center;width:31px;height:34px;border-radius:7px;background:#a4f0ce;color:#153b31;font-weight:800}.sidebar-top{display:grid;gap:28px;margin:35px 0 12px}.sidebar .eyebrow{color:#9bafbf;padding-left:10px}.new-button{background:#a4f0ce;color:#153b31;border-radius:6px;padding:12px 14px;text-align:left;font-size:.875rem;font-weight:650}.sidebar nav{overflow-y:auto;flex:1}.history-item{width:100%;padding:14px 11px;background:transparent;color:#ebf2f7;display:grid;gap:5px;text-align:left;border-radius:6px;margin-bottom:5px}.history-item:hover,.history-item.current{background:#263c4e}.history-item.current{box-shadow:inset 3px 0 #a4f0ce}.history-item strong{font-size:.875rem;font-weight:600}.history-item span{font-size:.75rem;color:#a9bdcd}.history-item .history-export{color:#a4f0ce}.sidebar-empty{padding:12px 10px;color:#a9bdcd;font-size:.875rem;line-height:1.5}.sidebar-bottom{display:grid;gap:12px;padding:22px 10px 0;border-top:1px solid #314353}.connection,.version{font-size:.75rem;color:#bac9d3}.sidebar-link{color:#edf3f7;background:none;text-align:left;padding:0;font-size:.875rem;width:fit-content}.version{margin-top:8px;color:#839aab}.main{padding:34px clamp(20px,3vw,46px) 60px;min-width:0;flex:1}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:28px}.page-heading .muted{overflow-wrap:anywhere}.primary,.secondary,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:.875rem;border-radius:6px;padding:11px 16px;text-decoration:none;font-weight:600;line-height:1.4}.primary{color:#fff;background:#12664c;border:1px solid #12664c}.primary:hover{background:#0e523d}.secondary{background:#fff;border:1px solid #cbd6de;color:#223b4e}.secondary:hover{background:#f3f7f8}.text-button{color:#24614d;background:none;padding:8px 0;text-align:left}.full{width:100%}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-card{background:#fff;border:1px dashed #9aacb9;border-radius:10px;padding:34px 20px 45px;text-align:center;position:relative;max-width:920px;margin:0 auto}.upload-card .step{position:absolute;left:22px;top:22px}.upload-card h2{font-size:1.4rem;letter-spacing:-.035em}.upload-card p{color:var(--muted);font-size:.875rem;line-height:1.8;margin:12px 0 24px}.upload-symbol{font-size:2.5rem;line-height:1;width:64px;height:64px;display:grid;place-items:center;background:#e4f5ed;color:#19624b;border-radius:50%;margin:18px auto 25px}.dragover{background:#e7f7ef;border-color:#12664c}.step{font-size:.75rem;font-weight:700;display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid #bac7cf;border-radius:50%;color:#56717d;flex-shrink:0}.sample{display:flex;justify-content:center;align-items:center;gap:12px;font-size:.875rem;margin:20px}.sample>span{color:var(--muted)}.flow{max-width:920px;margin:46px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.flow>div{display:flex;gap:12px;align-items:center;padding:18px 0;border-top:1px solid #c8d4dd;font-size:.875rem}.flow b{font-size:.75rem;color:#4c6c78}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:8px;background:#fff;margin-bottom:25px}.stats>div{display:grid;gap:8px;padding:20px 22px;border-right:1px solid var(--border)}.stats>div:last-child{border:0}.stats span{font-size:.75rem;color:var(--muted)}.stats strong{font-size:1.5rem;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.workspace.with-editor{grid-template-columns:minmax(0,1fr) 390px}.work-main{min-width:0}.products,.export-panel{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.section-heading{display:flex;gap:10px;align-items:center;padding:20px}.count{margin-left:auto;color:var(--muted);font-size:.875rem;font-variant-numeric:tabular-nums}.toolbar{display:flex;flex-wrap:wrap;gap:12px;padding:0 20px 18px;align-items:center}.toolbar .text-button{font-size:.8rem;font-weight:500}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}th{font-size:.75rem;color:#526575;font-weight:600;background:#f7f9fb;white-space:nowrap;padding:12px 14px;border-block:1px solid var(--border)}td{padding:16px 14px;border-bottom:1px solid #e6ebef;vertical-align:middle}tr:last-child td{border-bottom:0}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.product-link{padding:0;background:none;display:grid;gap:6px;text-align:left;color:inherit;min-width:195px;max-width:440px}.reference{font-size:.75rem;font-weight:600;color:#397568;letter-spacing:.02em}.product-name{font-weight:500;line-height:1.5;font-size:.875rem}.product-link:hover .product-name{text-decoration:underline}.selected td{background:#edf8f3}.excluded{opacity:.5}.badge{font-size:.75rem;padding:5px 8px;border-radius:4px;background:#fff3dc;color:#815d13;white-space:nowrap}.badge.ready{background:#e7f5ed;color:#216346}.missing{color:#8d681d;font-size:.75rem}.table-hint{font-size:.75rem;color:var(--muted);padding:14px 20px;border-top:1px solid var(--border)}.notice{padding:14px 18px;border:1px solid;border-radius:7px;font-size:.875rem;line-height:1.6;margin-bottom:18px;white-space:pre-line;overflow-wrap:anywhere}.notice.error{background:#fff0ef;color:#8b3330;border-color:#ecc8c5}.notice.success{background:#eaf7ee;color:#255c3f;border-color:#c5e5d0}.notice.warning{background:#fff8e9;border-color:#eeddb2;color:#765512}.notice.progress{background:#eef4f9;border-color:#c6d9e7;color:#294e68;display:flex;align-items:center;gap:10px}.notice ul{margin:6px 0 0;padding-left:20px}.spinner{width:16px;height:16px;border:2px solid #bed0db;border-top-color:#294e68;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.source{padding:18px 0;font-size:.875rem;color:#46616e}.source summary{cursor:pointer;font-weight:500;padding:7px 0}.source .table-scroll{margin-top:12px;background:white;border:1px solid var(--border);border-radius:6px}.source td{font-size:.8rem}.check{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.55;cursor:pointer}.check input,input[type=checkbox]{width:17px;height:17px;accent-color:#12664c;flex-shrink:0;cursor:pointer;margin-top:3px}.acknowledge{margin:4px 0 24px;max-width:760px;color:#39515e}.export-settings{display:flex;gap:16px;flex-wrap:wrap;padding:0 20px}.export-settings .field{flex:1;min-width:160px}.export-settings .compact{max-width:90px;min-width:80px}.field{display:grid;gap:6px;font-size:.875rem;margin-bottom:14px;text-align:left}.field>span{font-weight:500;color:#314e5f}.field input,.field select,.field textarea{min-width:0;width:100%;color:#193546;border:1px solid #c8d4dc;border-radius:5px;padding:9px 10px;background:#fff;font-size:.875rem;line-height:1.5}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#297a5e;outline:2px solid #caebdc;outline-offset:0}.field small{font-size:.75rem;color:var(--muted);line-height:1.5;font-weight:400}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.option-checks{display:flex;gap:20px;flex-wrap:wrap;padding:0 20px}.hint{color:#567080;font-size:.8rem;line-height:1.65;padding:12px 20px}.export-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--border);padding:18px 20px}.export-bottom>span{font-size:.8rem;color:var(--muted)}.editor{background:#fff;border:1px solid #adc4b9;border-radius:8px;padding:22px;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto}.editor-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.editor-title h2{margin:6px 0 10px;overflow-wrap:anywhere}.icon-button{background:#edf3f5;border-radius:50%;font-size:1.5rem;line-height:1;width:30px;height:30px;flex-shrink:0}.notes{padding-left:18px;font-size:.8rem;color:#6b654d;line-height:1.6;margin:12px 0 20px}.review-check{padding:18px 0}.editor details{border-top:1px solid var(--border);padding:16px 0;font-size:.875rem}.editor details summary{cursor:pointer;margin-bottom:12px}.login{max-width:480px;margin:8vh auto;padding:20px}.login>.brand{justify-content:center;margin-bottom:35px}.login-card{padding:32px;background:white;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 40px #14273809}.login-card p{margin-bottom:24px}.initial{padding:60px;color:var(--muted)}
@media(min-width:1550px){.main{max-width:1700px}.workspace.with-editor{grid-template-columns:minmax(0,1fr) 430px}}
@media(max-width:1250px){.workspace.with-editor{grid-template-columns:minmax(0,1fr)}.editor{position:fixed;right:16px;top:16px;width:min(460px,calc(100vw - 32px));z-index:10;box-shadow:0 0 0 100vmax #132b3540;max-height:calc(100dvh - 32px)}.stats>div{padding:16px}.stats strong{font-size:1.3rem}}
@media(max-width:800px){.sidebar{width:195px;padding:22px 12px}.brand{font-size:1rem}.main{padding:26px 18px 40px}.stats{grid-template-columns:repeat(2,1fr)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.page-heading{align-items:flex-start}.flow{gap:12px}.flow>div{flex-direction:column;align-items:flex-start}.sample{flex-wrap:wrap;gap:0}h1{font-size:1.7rem}}
@media(max-width:600px){.shell{display:block}.sidebar{position:relative;height:auto;width:100%;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:15px}.sidebar-top{margin:0;display:block}.sidebar-top .eyebrow{display:none}.sidebar nav{grid-column:1/-1;display:flex;gap:8px;overflow-x:auto}.history-item{min-width:155px;width:auto}.sidebar-empty{padding:0}.sidebar-bottom{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:10px 15px;padding:10px 0 0}.sidebar-bottom .version{display:none}.connection{width:100%}.main{padding:24px 14px 40px}.page-heading{margin-bottom:22px}.page-heading>button{flex-shrink:0;padding:8px 10px}.upload-card{padding:36px 15px}.upload-card h2{font-size:1.2rem}.flow{margin:30px auto}.flow>div{font-size:.8rem}.editor{width:calc(100vw - 20px);right:10px;top:10px;max-height:calc(100dvh - 20px);padding:20px}.export-settings{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.export-settings .field{min-width:0}.export-settings .field:first-child{grid-column:1/-1}.toolbar{gap:10px}.stats strong{font-size:1.2rem}.export-bottom{align-items:flex-start}.grid2{gap:0 10px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}

.data-gaps-badge:not(:empty){margin-top:10px}.badge.data-pending{display:inline-block;background:#fff3dc;color:#815d13}

.category-editor{grid-column:1/-1;min-width:0}.category-editor .notes{overflow-wrap:anywhere}.category-toolbar .field{min-width:0;flex:1 1 320px;max-width:100%}.category-toolbar select{max-width:100%}

.category-editor .check{min-width:0;align-items:center}.category-editor .check input[type=checkbox]{width:17px;min-width:17px;max-width:17px;flex:0 0 17px;padding:0;margin:0}
