:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#24312f;background:#f7f8fa;font-synthesis:none;--green:#16654d;--border:#e6eae8;--muted:#7a8582;--orange:#e95135}
*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent }button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a6d3be;outline-offset:2px}h1,h2,h3,p{margin:0}button{transition:background .15s,box-shadow .15s}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#fff;border-right:1px solid var(--border);padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:760;letter-spacing:-1px}.brand-icon{width:37px;height:39px;border-radius:10px;background:var(--orange);color:white;font-size:33px;line-height:36px;text-align:center;position:relative}.brand-icon span{font-size:17px;position:absolute;right:1px;top:-8px}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;font-weight:650;letter-spacing:2px;margin-top:5px;color:#7d8784}.workspace{display:flex;align-items:center;gap:10px;border:1px solid var(--border);padding:12px 9px;border-radius:9px;margin:38px 0 32px;font-size:11px;font-weight:600}.workspace small{display:block;font-size:9px;color:#89938f;font-weight:400;margin-top:5px}.workspace-icon{background:#eef1ee;border:1px solid #e1e7e1;width:29px;height:29px;display:grid;place-items:center;border-radius:6px;font-size:13px}.workspace-dot{height:6px;width:6px;background:#78a788;border-radius:50%;margin-left:auto}.nav-label{font-size:9px;letter-spacing:1.3px;color:#929d98;margin:0 9px 15px}.nav-item{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:11px;padding:13px 12px;text-align:left;font-size:12px;color:#79837f;border-radius:7px;margin-bottom:6px}.nav-item>span:first-child{font-size:18px;width:18px;text-align:center}.nav-item.active{color:var(--green);background:#edf4ef;font-weight:650}.nav-item:hover{background:#f1f5f2}.nav-arrow{margin-left:auto}.sidebar-bottom{margin-top:auto;padding:24px 11px 0;font-size:11px}.sidebar-bottom strong{display:block;margin:10px 0;font-size:12px;font-weight:600}.sidebar-bottom p{font-size:10px;line-height:1.8;color:#919b96}.privacy-icon{font-size:25px;color:#759b80}.sidebar-foot{margin-top:32px;padding-top:20px;border-top:1px solid var(--border);font-size:8px;letter-spacing:1px;color:#a0a9a4}.sidebar-foot span{float:right}.app{margin-left:236px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--border);padding:0 42px;display:flex;justify-content:space-between;align-items:center;color:#98a19e;font-size:11px}.topbar div span{margin:0 13px;color:#c3cac6}.topbar strong{font-weight:500;color:#56645e}.local-badge{border:1px solid #e3eae5;border-radius:20px;padding:7px 11px;font-size:10px;color:#5d786b;display:flex;align-items:center;gap:6px}.local-badge i{background:#72a386;width:5px;height:5px;border-radius:50%}main{max-width:1510px;padding:38px 42px 20px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:16px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#86948c;margin-bottom:11px}h1{font-size:29px;letter-spacing:-1px;font-weight:650}.page-heading p{color:#85908b;font-size:12px;margin-top:11px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;border:1px solid var(--border);min-height:41px;padding:10px 16px;font-size:12px;font-weight:550;white-space:nowrap}.secondary{background:white;color:#58665e;box-shadow:0 1px 2px #263e2910}.secondary:hover{background:#f4f7f4}.primary{color:white;background:var(--green);border-color:var(--green);box-shadow:0 2px 4px #16654d20}.primary:hover{background:#10583f}.primary>span:first-child{font-size:18px}.small{font-size:11px;min-height:34px;padding:7px 11px}.steps{display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;padding:20px 29px;margin-bottom:26px;box-shadow:0 2px 3px #22352202}.step{display:flex;gap:13px;align-items:center;flex:1}.step>span{width:29px;height:29px;border:1px solid #e4e9e5;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#86928b}.step.current>span{background:#eaf3ed;color:var(--green);border-color:#deebe2}.step div{font-size:11px;font-weight:600}.step small{display:block;font-size:10px;font-weight:400;color:#95a098;margin-top:5px}.step-line{height:1px;background:#e8ede9;width:42px;margin:0 35px 0 14px}.work-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 3px #22352203;overflow:hidden;scroll-margin-top:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 22px;border-bottom:1px solid #edf0ed}.panel-heading>div{display:flex;align-items:center;gap:10px}h2{font-size:13px;font-weight:650;letter-spacing:-.1px}.section-number{color:#a3ada6;font-size:10px;font-weight:500}.count{font-size:10px;color:#839487;background:#f0f3f0;padding:3px 6px;border-radius:4px}.text-button{border:0;background:none;color:var(--green);font-size:11px;font-weight:600;padding:5px}.text-button:hover{text-decoration:underline}.saved-label{font-size:9px;color:#9aa49d}.source-card{padding:22px;border-bottom:1px solid #edf0ed}.source-title-row{display:flex;align-items:center;gap:9px;margin-bottom:16px}.sheet-icon{width:31px;height:34px;background:#eaf4ed;color:#438360;border:1px solid #dfebe2;border-radius:6px;display:grid;place-items:center;font-size:19px}.source-title{font-size:12px;font-weight:600;flex:1;max-width:calc(100% - 65px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-title small{display:block;font-size:9px;color:#95a197;font-weight:400;margin-top:5px}.icon-button{border:0;background:transparent;padding:5px 9px;font-size:19px;color:#9ba79f;border-radius:4px}.icon-button:hover{background:#fff0ed;color:#c95940}.source-tabs{display:flex;gap:15px;border-bottom:1px solid #ebefeb;margin-bottom:17px}.source-tabs button{background:none;border:0;padding:0 0 10px;font-size:10px;color:#97a29b;border-bottom:2px solid transparent}.source-tabs button.selected{color:var(--green);border-bottom-color:var(--green);font-weight:600}label{display:block;font-size:10px;font-weight:550;color:#637168}input:not([type=checkbox]),select{display:block;min-width:0;width:100%;border:1px solid #dfe6e0;border-radius:6px;background:#fff;color:#364a3d;font-size:11px;height:37px;padding:8px 10px;margin-top:7px;box-shadow:0 1px 2px #142b1710}input::placeholder{color:#a9b3ad}select{padding-right:24px}input[type=number]{appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.url-field{display:flex;align-items:flex-end;gap:8px}.url-field label{flex:1}.url-field .button{height:37px;min-height:37px;padding:8px 13px;font-size:10px}.source-loaded{display:flex;gap:7px;align-items:center;color:#5c8667;font-size:10px;margin-top:11px}.source-loaded.error{color:#be5947}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.range-fields{background:#f8faf8;border:1px solid #e8eee8;border-radius:7px;padding:13px;margin:18px 0 14px}.range-fields .field-hint{font-size:9px;margin-top:9px;color:#94a095}.field-hint{font-size:10px;color:#91a095;line-height:1.6;margin-top:7px}.range-fields input{background:white}.range-fields label span{font-size:8px;background:#eaf1ea;color:#5b8362;padding:2px 5px;border-radius:3px;float:right}.source-details summary{font-size:10px;cursor:pointer;color:#6e8474;list-style:none;display:flex;justify-content:space-between;padding:5px 0}.source-details summary:after{content:'⌄';font-size:13px}.source-details[open] summary:after{content:'⌃'}.mapping-fields{padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mapping-fields .wide{grid-column:1/-1}.source-footer{padding:16px 22px;display:flex;gap:10px;align-items:flex-start;background:#fcfdfb;font-size:13px;color:#89a08e}.source-footer p{font-size:10px;line-height:1.7;color:#8d9b90}.source-footer code{font-size:10px}.settings-body{padding:20px 22px}.settings-body>label,.settings-body>.field-pair{margin-top:17px}.settings-body>label:first-child{margin-top:0}.dimension-fields{display:flex;align-items:center;gap:9px;color:#b6bdb8}.dimension-fields label{position:relative;flex:1}.dimension-fields input{padding-right:25px}.dimension-fields label span{position:absolute;right:9px;top:20px;font-size:9px;color:#a3aca5;pointer-events:none}.settings-divider{height:1px;background:#edf1ed;margin:20px 0}.toggle-row{display:flex!important;justify-content:space-between;align-items:center;gap:10px}.toggle-row strong{font-size:11px;font-weight:550}.toggle-row small{display:block;font-size:9px;font-weight:400;color:#99a39b;margin-top:5px}input[role=switch]{appearance:none;width:29px;height:17px;border-radius:10px;background:#dce4dd;position:relative;cursor:pointer;flex-shrink:0}input[role=switch]:after{content:'';height:11px;width:11px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;transition:transform .15s}input[role=switch]:checked{background:var(--green)}input[role=switch]:checked:after{transform:translateX(12px)}.check-row{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:400;line-height:1.5}input[type=checkbox]{accent-color:var(--green);margin:0;cursor:pointer}.cod-note{background:#faf8f1;color:#9b8c60;border:1px solid #f0ebdc;padding:11px;border-radius:6px;line-height:1.7;font-size:9px;margin-top:19px}.preview-panel{margin-top:23px}.empty-state{padding:42px 20px;text-align:center}.empty-icon{width:46px;height:48px;border-radius:9px;background:#f3f6f3;border:1px solid #e5ece5;position:relative;display:grid;place-items:center;margin:0 auto 16px;font-size:28px;color:#abbcae}.empty-icon span{position:absolute;right:-6px;bottom:-4px;font-size:12px;border:2px solid white;border-radius:50%;width:20px;height:20px;background:#edf4ee;color:#84a38c}.empty-state h3{font-size:12px;font-weight:550;color:#68796b}.empty-state p{font-size:10px;color:#a0aaa2;line-height:1.8;margin-top:9px}.empty-foot{display:block;margin-top:22px;font-size:9px;color:#b0b9b1}.export-bar{padding:17px 22px;background:#fcfdfb;border-top:1px solid #e9eee8;display:flex;align-items:center;justify-content:space-between;gap:20px}.export-bar p{font-size:9px;color:#a2ada4;margin-top:5px}.export-bar .button{min-width:180px}.file-tag{font-size:9px;font-weight:400;opacity:.6;border-left:1px solid #ffffff40;padding-left:9px}.main-footer{display:flex;justify-content:space-between;margin-top:21px;font-size:9px;color:#a3aca7}.upload-box{position:relative;border:1px dashed #cfddd2;border-radius:7px;padding:19px 14px;text-align:center;background:#fafcf9;color:#6b8973;font-size:11px;cursor:pointer}.upload-box span{display:block;font-size:9px;margin-top:6px;color:#99a89c}.upload-box input{margin:12px auto 0;font-size:10px;height:auto;max-width:230px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 22px;gap:12px;border-bottom:1px solid var(--border)}.stat{border-right:1px solid var(--border);padding-left:12px}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat span{display:block;color:#8a978c;font-size:10px}.stat strong{font-size:23px;font-weight:550;display:block;margin-top:8px;letter-spacing:-.5px}.stat.valid strong{color:var(--green)}.stat.invalid strong{color:#c77850}.stat.cod strong{font-size:20px}.preview-tools{padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.filter-tabs{display:flex;gap:6px}.filter-tabs button{border:0;background:white;padding:7px 10px;border-radius:5px;font-size:10px;color:#8b9a8e}.filter-tabs button.selected{background:#edf4ee;color:#416d4e}.preview-tools input{max-width:240px;margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:10px;min-width:740px}th{background:#f8faf7;color:#8d9a8e;font-size:9px;font-weight:500;padding:11px 18px;border-top:1px solid #edf0eb;border-bottom:1px solid #edf0eb}td{padding:13px 18px;border-bottom:1px solid #eff2ed;vertical-align:top;color:#68796b;line-height:1.5}td strong{font-weight:550;color:#3c5342}td small{display:block;color:#98a79b;font-size:9px;margin-top:4px}.status{display:inline-block;padding:3px 6px;border-radius:4px;white-space:nowrap;font-size:9px}.status.ok{color:#4e8158;background:#edf5ed}.status.bad{color:#b47546;background:#fff4e7}.status.warn{color:#a28947;background:#fff9e8}.error-list{color:#b77950;font-size:9px;max-width:220px;margin-top:7px}.address-cell{min-width:180px;max-width:270px}.table-footer{padding:13px 22px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9ca99f}.pagination{display:flex;gap:8px;align-items:center}.pagination button{background:white;border:1px solid #e3eae2;border-radius:4px;color:#63806a;padding:4px 8px}.notice{padding:11px 15px;margin-bottom:20px;border-radius:6px;background:#eaf4ed;border:1px solid #dceadf;color:#587d61;font-size:12px;line-height:1.6}.notice.error{background:#fff1eb;color:#ac664d;border-color:#f3ded0}.stale-banner{padding:10px 22px;background:#fff9ee;color:#a28557;font-size:10px}.range-note{padding:10px 22px;font-size:9px;color:#92a094;line-height:1.8}dialog{width:min(600px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:25px;color:#465c4c;box-shadow:0 20px 80px #15241b33}dialog::backdrop{background:#15241b50;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-heading h2{font-size:18px}.help-steps{padding-left:20px;font-size:13px;line-height:1.8}.help-steps li{margin:15px 0}.help-note{font-size:11px;color:#819286;background:#f4f7f2;padding:15px;line-height:1.8;border-radius:6px}.edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.edit-fields label{font-size:11px}.dialog-footer{display:flex;justify-content:flex-end;margin-top:22px}.busy{cursor:progress}.busy .button{pointer-events:none}
@media(min-width:1450px){main{padding-top:45px}.source-card{padding:25px}.settings-body{padding:22px 25px}.source-footer{padding:20px 25px}}@media(max-width:1180px){.sidebar{width:202px;padding:30px 16px}.app{margin-left:202px}main{padding:30px 25px}.topbar{padding:0 25px}.work-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:16px}.panel-heading,.source-card,.settings-body{padding:18px}.step-line{margin:0 20px;width:25px}.steps{padding:18px}.page-heading h1{font-size:25px}.page-heading>.button{font-size:10px}}@media(max-width:950px){.sidebar{width:72px;padding:26px 10px}.brand{justify-content:center}.brand>span:last-child,.workspace,.nav-label,.nav-item:not(.active),.sidebar-bottom{display:none}.nav-item{margin-top:40px;overflow:hidden;white-space:nowrap;font-size:0;padding:13px 15px}.nav-item>span:first-child{font-size:20px}.nav-arrow{display:none}.app{margin-left:72px}.work-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.local-badge{font-size:9px}.step-line{width:15px;margin:0 12px}.step small{font-size:8px}}@media(max-width:740px){.sidebar{display:none}.app{margin-left:0}.topbar{height:58px;padding:0 18px;font-size:10px}.local-badge{font-size:8px;padding:6px 8px}.topbar div span{margin:0 6px}main{padding:25px 16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.page-heading>.button{align-self:flex-start}.steps{padding:15px;gap:10px}.step{gap:7px}.step>span{height:24px;width:24px;flex-shrink:0}.step div{font-size:9px}.step small,.step-line{display:none}.work-grid{grid-template-columns:1fr}.settings-panel .settings-body{padding:20px}.panel-heading h2{font-size:12px}.preview-panel .panel-heading{padding:16px 13px}.preview-panel .small{font-size:9px;padding:7px}.export-bar{align-items:stretch;flex-direction:column;gap:14px;padding:16px}.stats-row{gap:6px;padding:17px 12px}.stat{padding-left:8px}.stat span{font-size:8px}.stat strong{font-size:21px}.stat.cod strong{font-size:15px;margin-top:12px}.preview-tools{padding:12px;gap:10px;flex-wrap:wrap}.preview-tools input{max-width:100%}.main-footer{font-size:8px;gap:20px}.source-title{font-size:11px}.empty-state{padding:35px 15px}.empty-foot{font-size:8px}.edit-fields{grid-template-columns:1fr}}
