:root{--ink:#18211d;--muted:#68736d;--line:#e1e7e3;--surface:#fff;--canvas:#f3f6f4;--green:#176b4d;--green-dark:#0d4c36;--green-soft:#e5f3ed;--amber:#a46212;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:1100px;color:var(--ink);background:var(--canvas);margin:0}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.lock-screen,.shell{min-height:100vh}.topbar{background:#14231d;gap:46px;height:70px;padding:0 34px}.brand,.topbar{color:#fff;align-items:center;display:flex}.brand{letter-spacing:-.02em;gap:11px;font-size:19px;font-weight:750;text-decoration:none}.brand-mark{color:#133b2c;background:#8ee1bb;border-radius:9px;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:21px;display:grid}.topbar nav{align-self:stretch;gap:8px;display:flex}.topbar nav a{color:#b9c8c1;align-items:center;padding:0 16px;font-size:14px;font-weight:650;text-decoration:none;display:flex;position:relative}.topbar nav a.active,.topbar nav a:hover{color:#fff}.topbar nav a.active:after{content:"";background:#7fdbb1;border-radius:4px 4px 0 0;height:3px;position:absolute;bottom:0;left:16px;right:16px}.environment{color:#b9c8c1;align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.environment i{background:#69d5a2;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #69d5a21c}.lock-button{color:#dce8e2;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700}.lock-button:hover{color:#fff;background:#ffffff0a;border-color:#fff5}.lock-screen{color:var(--muted);background:radial-gradient(circle at 50% 25%,#e2f1ea 0,var(--canvas) 42%);justify-content:center;align-items:center;gap:10px;padding:32px;display:flex}.lock-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,390px);padding:34px;box-shadow:0 18px 50px #17251f14}.lock-card .lock-mark{margin-bottom:24px}.lock-card h1{color:var(--ink);letter-spacing:-.025em;margin:4px 0 8px;font:700 36px/1.1 Georgia,Times New Roman,serif}.lock-card>p:not(.eyebrow,.auth-error){margin:0 0 26px;font-size:13px;line-height:1.5}.lock-card input{text-align:center;letter-spacing:.32em;height:46px;font-size:20px}.auth-error{color:#a54444;margin:10px 0 0;font-size:12px;font-weight:650}main{padding:32px 34px 50px}.page{max-width:1580px;margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:25px;display:flex}.page-heading h1{color:var(--ink);letter-spacing:-.025em;margin:2px 0 7px;font:700 38px/1.1 Georgia,Times New Roman,serif}.page-heading p{color:var(--muted);margin:0}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--green)!important}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px #17251f0a}.ai-panel{margin-bottom:14px;padding:18px}.ai-selection-notice{color:var(--green-dark);background:#edf8f3;border:1px solid #c9e1d7;border-radius:8px;margin-top:14px;padding:12px;font-size:13px}.ai-selection-notice p{margin:6px 0 10px;font-size:12px}.ai-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ai-panel-heading h2{margin:2px 0 5px;font:700 21px/1.2 Georgia,serif}.ai-panel-heading p{color:var(--muted);margin:0;font-size:12px}.ai-running{color:var(--amber);white-space:nowrap;background:#fff7e9;border-radius:8px;align-items:center;gap:7px;padding:8px 10px;font-size:11px;font-weight:800;display:inline-flex}.ai-loading{min-height:70px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.ai-launch-row{flex-wrap:wrap;align-items:end;gap:14px;margin-top:16px;display:flex}.ai-launch-row>label{flex:140px}.ai-launch-summary{min-width:0;min-height:38px;color:var(--muted);flex-wrap:wrap;flex:2 240px;align-items:center;gap:4px;font-size:12px;display:flex}.ai-launch-summary strong{color:var(--ink)}.ai-launch-summary .ai-estimated-cost{color:var(--green)}.ai-launch-summary small{text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;font-size:10px;overflow:hidden}.ai-volume-help{color:var(--muted);margin:10px 0 0;font-size:11px}.ai-warning{color:#a54444;margin:10px 0 0;font-size:12px;font-weight:650}.ai-jobs{border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.ai-jobs h3{margin:0 0 8px;font-size:12px}.ai-job-row{min-height:34px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:7px 0;font-size:10px;display:flex}.ai-job-actions,.ai-job-id,.ai-job-row>span{white-space:nowrap}.ai-job-row strong{color:var(--ink)}.ai-job-id{color:#52615a;text-overflow:ellipsis;cursor:pointer;background:#f7f9f8;border:1px solid #d8dfdb;border-radius:5px;width:fit-content;max-width:100%;padding:3px 5px;font:700 9px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}.ai-job-id:hover{color:var(--green-dark);background:var(--green-soft);border-color:#9fc8b6}.ai-job-id:focus-visible{outline-offset:1px;outline:3px solid #4a9b7740}.ai-job-row .ai-cost{color:var(--green);font-variant-numeric:tabular-nums}.ai-job-row time,.ai-log-row time{text-align:right}.ai-job-error{color:#a54444;flex-basis:100%}.ai-job-row .ai-job-actions{margin-left:auto}.ai-job-actions{align-items:center;gap:9px;display:flex}.ai-cancel,.ai-delete,.ai-response-button,.ai-retry{color:#a54444;cursor:pointer;background:0 0;border:0;width:fit-content;padding:0;font-size:10px;font-weight:800;text-decoration:underline}.ai-response-button{color:var(--green-dark)}.ai-cancel:disabled,.ai-delete:disabled,.ai-response-button:disabled,.ai-retry:disabled{opacity:.55;cursor:not-allowed}.ai-response-dialog{border:1px solid var(--line);width:calc(min(900px,100vw - 32px));max-height:calc(100vh - 64px);color:var(--ink);background:var(--surface);border-radius:14px;padding:0;box-shadow:0 24px 80px #10201945}.ai-response-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10201999}.ai-response-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:16px 18px;display:flex}.ai-response-heading h3{margin:0 0 4px;font-size:15px}.ai-response-heading small{color:var(--muted)}.ai-response-heading button{width:30px;height:30px;color:var(--muted);background:var(--green-soft);cursor:pointer;border:0;border-radius:8px;font-size:22px;line-height:1}.ai-response-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#23312b;background:#f8faf9;max-height:calc(100vh - 170px);margin:0;padding:18px;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:auto}.job-cancelled,.job-queued{color:var(--muted)}.ai-journal{border-top:1px solid var(--line);margin-top:13px}.ai-journal summary{color:var(--green-dark);cursor:pointer;padding-top:13px;font-size:11px;font-weight:800}.ai-log-list{border:1px solid var(--line);border-radius:9px;max-height:360px;margin-top:10px;overflow:auto}.ai-log-row{border-bottom:1px solid #edf0ee;grid-template-columns:125px minmax(300px,1fr) 130px;align-items:center;gap:12px;min-height:48px;padding:7px 10px;font-size:10px;display:grid}.ai-log-row:last-child{border-bottom:0}.ai-log-row>div{flex-direction:column;gap:3px;min-width:0;display:flex}.ai-log-row .ai-log-meta{align-items:flex-end}.ai-log-meta code{color:#66726c;font-size:9px}.ai-log-row del,.ai-log-row small,.ai-log-row span,.ai-log-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-log-row>.status-badge{white-space:normal;overflow:visible}.ai-log-row>.status-badge i{flex-shrink:0}.status-duplicate{color:#52615a}.ai-log-row del,.ai-log-row time{color:var(--muted)}.ai-log-row strong{color:var(--ink)}.ai-log-row small{color:#a54444}.button{cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:var(--green);color:#fff;box-shadow:0 2px 4px #176b4d25}.button.primary:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.button.secondary{background:var(--green-soft);color:var(--green-dark)}.button.ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.button.small{min-height:34px;padding:0 12px}.button.full{width:100%;margin-top:14px}.filters{grid-template-columns:minmax(260px,2.8fr) minmax(70px,.7fr) minmax(210px,1.8fr) repeat(3,minmax(95px,1fr)) minmax(280px,2.4fr) minmax(120px,1fr) minmax(95px,1fr);gap:12px;margin-bottom:14px;padding:17px;display:grid}.search-field{flex-direction:column;gap:7px;display:flex}.search-field>span{color:#526059;font-size:11px;font-weight:750}.query-filter-stack{gap:7px;display:grid}.query-filter-control{grid-template-columns:140px minmax(110px,1fr);display:grid}.query-filter-control select{background:#f5f8f6;border-right:0;border-radius:8px 0 0 8px;font-weight:650}.query-filter-control input{border-radius:0 8px 8px 0}.query-filter-control:focus-within{border-radius:8px;box-shadow:0 0 0 3px #4a9b771b}.query-filter-control:focus-within input,.query-filter-control:focus-within select{box-shadow:none;border-color:#4a9b77}.query-filter-add{width:fit-content;min-height:30px;color:var(--green-dark);background:var(--green-soft);cursor:pointer;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 9px 0 6px;font-size:11px;font-weight:800;display:inline-flex}.query-filter-add:hover{background:#d8ece3}.query-filter-add:focus-visible,.query-filter-remove:focus-visible{outline-offset:2px;outline:3px solid #4a9b7740}.query-filter-add span{color:#fff;background:var(--green);border-radius:5px;place-items:center;width:18px;height:18px;font-size:15px;line-height:1;display:grid}.query-filter-join{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.query-filter-join select{width:72px;height:30px;color:var(--green-dark);background:var(--green-soft);padding:0 20px 0 9px;font-weight:800}.query-filter-condition-row{grid-template-columns:minmax(0,1fr) 30px;gap:6px;display:grid}.query-filter-remove{width:30px;height:38px;color:var(--muted);cursor:pointer;background:#fff;border:1px solid #d8dfdb;border-radius:8px;padding:0;font-size:18px}.query-filter-remove:hover{color:#a54444;background:#fff8f8;border-color:#d9abab}label{flex-direction:column;gap:7px;display:flex}label>span{color:#526059;font-size:11px;font-weight:750}input,select{width:100%;height:38px;color:var(--ink);background:#fff;border:1px solid #d8dfdb;border-radius:8px;outline:none;padding:0 10px;font-size:13px}input:focus,select:focus{border-color:#4a9b77;box-shadow:0 0 0 3px #4a9b771b}input::placeholder{color:#a6afa9}.number-range-filter,.range-filter{border:0;min-width:0;margin:0;padding:0}.number-range-filter legend{color:#526059;margin:0 0 7px;padding:0;font-size:11px;font-weight:750}.number-range-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.number-range-inputs label{min-width:0}.number-range-inputs input{font-variant-numeric:tabular-nums;min-width:0;padding:0 5px}.range-filter legend{color:#526059;margin:0 0 5px;padding:0;font-size:11px;font-weight:750}.range-values{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.range-values output{white-space:nowrap}.range-values strong{color:var(--ink);font-size:11px;font-weight:750}.range-control{height:22px;margin:1px 2px 0;position:relative}.range-track{z-index:0;background:linear-gradient(to right,#d8dfdb 0 var(--range-start),var(--green) var(--range-start) var(--range-end),#d8dfdb var(--range-end) 100%);border-radius:999px;height:4px;position:absolute;top:9px;left:0;right:0}.range-input{z-index:1;width:100%;height:22px;box-shadow:none;pointer-events:none;appearance:none;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:0;position:absolute;inset:0}.range-input-max{z-index:2}.range-input:focus,.range-input:focus-visible{box-shadow:none;border:0}.range-input::-webkit-slider-runnable-track{background:0 0;height:4px}.range-input::-webkit-slider-thumb{background:var(--green);cursor:grab;pointer-events:auto;appearance:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin-top:-6px;transition:box-shadow .15s,transform .15s;box-shadow:0 0 0 1px #0d4c3650,0 2px 5px #17251f28}.range-input::-moz-range-track{background:0 0;height:4px}.range-input::-moz-range-thumb{background:var(--green);cursor:grab;pointer-events:auto;border:2px solid #fff;border-radius:50%;width:12px;height:12px;transition:box-shadow .15s,transform .15s;box-shadow:0 0 0 1px #0d4c3650,0 2px 5px #17251f28}.range-input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.08)}.range-input:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.08)}.range-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #4a9b7740,0 0 0 1px #0d4c3650}.range-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #4a9b7740,0 0 0 1px #0d4c3650}.bulk-bar{z-index:20;min-height:52px;color:var(--green-dark);background:#dfeee8;border:1px solid #c9e1d7;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:8px 12px 8px 18px;display:flex;position:sticky;top:10px;box-shadow:0 8px 24px #17251f1f}.bulk-bar strong{font-size:13px}.bulk-action-button,.bulk-action-group{gap:5px;display:inline-flex}.bulk-action-button{--action-color:var(--green);--action-bg:#fff;--action-border:#b7d2c6;border:1px solid var(--action-border);min-height:34px;color:var(--action-color);background:var(--action-bg);white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 9px;font-size:11px;font-weight:800;transition:transform .12s cubic-bezier(.23,1,.32,1),color .15s,background-color .15s,border-color .15s,box-shadow .15s}.bulk-action-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.bulk-action-button.pending{--action-color:#9a651d;--action-bg:#fff8e8;--action-border:#e4c78f}.bulk-action-button.validated{--action-color:#32649d;--action-bg:#eef6ff;--action-border:#b9d1eb}.bulk-action-button.approved{--action-color:#177052;--action-bg:#edf8f3;--action-border:#acd5c3}.bulk-action-button.rejected{--action-color:#a54444;--action-bg:#fff2f2;--action-border:#e2b5b5}.bulk-action-button.geo-yes{--action-color:#087a78;--action-bg:#eaf8f7;--action-border:#a9d8d5}.bulk-action-button.geo-no{--action-color:#68736d;--action-bg:#f5f7f6;--action-border:#cbd3cf}.bulk-action-button.export{--action-color:#4f5f91;--action-bg:#f2f4fb;--action-border:#bdc5df}.bulk-action-button.tag{--action-color:#7a4fb5;--action-bg:#f6f1fd;--action-border:#d3bfee}.bulk-action-button.tag-remove{--action-color:#68736d;--action-bg:#f5f7f6;--action-border:#cbd3cf}.bulk-tag-input{background:#fff;border:1px solid #b7d2c6;border-radius:8px;min-width:140px;height:34px;padding:0 9px;font-size:12px;font-weight:600}.bulk-tag-input:focus-visible{outline-offset:2px;outline:3px solid #4a9b7740}.bulk-action-button.active{color:#fff;background:var(--action-color);border-color:var(--action-color);box-shadow:0 2px 5px #17251f24}.bulk-action-button:active:not(:disabled){transform:scale(.97)}.bulk-action-button:focus-visible{outline-offset:2px;outline:3px solid #4a9b7740}.bulk-action-button:disabled{opacity:.55;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.bulk-action-button:hover:not(:disabled,.active){box-shadow:inset 0 0 0 1px var(--action-color)}}.bulk-error{color:#a54444;margin:-7px 0 14px;font-size:12px;font-weight:650}.table-card{color:var(--ink);overflow:visible}.table-meta{border-bottom:1px solid var(--line);height:47px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 17px;font-size:12px;display:flex}.table-meta strong{color:var(--ink)}.page-size-control{flex-direction:row;align-items:center;gap:8px}.page-size-control select{width:92px;height:32px}.data-grid{grid-template-columns:44px minmax(240px,2.6fr) minmax(90px,.7fr) 85px minmax(105px,.8fr) minmax(125px,1fr) minmax(85px,.65fr) minmax(95px,.7fr) 70px;align-items:center;display:grid}.data-grid>button,.data-grid>div{min-width:0;padding:0 12px}.header-row{z-index:10;color:#5f6a65;border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;background:#f9faf9;min-height:43px;font-size:10px;font-weight:800;position:sticky;top:0;box-shadow:0 5px 12px #17251f0a}.sort-button{text-align:left;height:43px;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;align-items:center;gap:5px;display:flex}.sort-button span{color:#94a09a}.table-viewport{position:relative;overflow:visible}.body-row{color:var(--ink);background:#fff;border-bottom:1px solid #edf0ee;font-size:13px;transition:background .1s}.body-row:hover{background:#f8fbf9}.body-row.selected{background:#eef8f3}.query-cell{flex-direction:column;justify-content:center;font-weight:620;display:flex;overflow:hidden}.ai-tag,.custom-tag,.query-ai-job,.query-cell>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.query-ai-job{color:#6c7973;font:500 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.number,.pagination strong{font-variant-numeric:tabular-nums}.nationality{justify-content:center;align-items:center;min-width:31px;height:23px;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:20px;line-height:1;display:inline-flex}.row-status-cell{flex-direction:column;align-items:flex-start;gap:3px;display:flex;padding:0 5px!important}.row-status-actions{gap:3px;display:inline-flex}.ai-tag,.custom-tag{border-radius:999px;max-width:100%;padding:1px 5px;font-size:8px;font-weight:800}.row-tag-badges{align-items:center;gap:4px;min-width:0;display:flex}.custom-tag{color:#6a3fa3;background:#f6f1fd;border:1px solid #d3bfee}.ai-tag-error{color:#9f3030;background:#ffe8e8}.ai-tag-refused{color:#8d5b14;background:#fff1d7}.ai-tag-duplicate{color:#52615a;background:#eef2f0}.row-status-button{--row-action-color:var(--green);--row-action-bg:#fff;--row-action-border:#cbd8d2;border:1px solid var(--row-action-border);width:25px;height:27px;color:var(--row-action-color);background:var(--row-action-bg);cursor:pointer;border-radius:7px;place-items:center;padding:0;transition:transform .12s cubic-bezier(.23,1,.32,1),color .15s,background-color .15s,border-color .15s,box-shadow .15s;display:inline-grid}.row-status-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.row-status-button.pending{--row-action-color:#9a651d;--row-action-bg:#fff8e8;--row-action-border:#e4c78f}.row-status-button.validated{--row-action-color:#32649d;--row-action-bg:#eef6ff;--row-action-border:#b9d1eb}.row-status-button.approved{--row-action-color:#177052;--row-action-bg:#edf8f3;--row-action-border:#acd5c3}.row-status-button.rejected{--row-action-color:#a54444;--row-action-bg:#fff2f2;--row-action-border:#e2b5b5}.row-status-button.active{color:#fff;background:var(--row-action-color);border-color:var(--row-action-color);box-shadow:0 1px 3px #17251f25}.row-status-button:active:not(:disabled){transform:scale(.96)}.row-status-button:focus-visible{z-index:1;outline-offset:1px;outline:3px solid #4a9b7740;position:relative}.row-status-button:disabled{opacity:.55;cursor:wait}.row-geo-toggle{width:fit-content;color:var(--muted);cursor:pointer;flex-direction:row;align-items:center;gap:6px}.row-geo-toggle input{width:16px;height:16px;accent-color:var(--green);cursor:pointer;padding:0}.row-geo-toggle span{color:inherit;font-size:11px;font-weight:750}.row-geo-toggle:has(input:checked){color:var(--green)}.row-geo-toggle.saving{opacity:.55;cursor:wait}@media (hover:hover) and (pointer:fine){.row-status-button:hover:not(:disabled,.active){box-shadow:inset 0 0 0 1px var(--row-action-color)}}.job-status,.status-badge{white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:750;display:inline-flex}.job-status i,.status-badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.status-en-attente{color:#9a651d}.status-ok,.status-valide{color:#177052}.status-refuse{color:#a54444}.table-state{min-height:44px;color:var(--muted);border-top:1px solid var(--line);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.table-state.error{color:#a54444}.table-state.error button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}.pagination span{text-align:center;min-width:112px}.pagination strong{color:var(--ink)}.pagination .button{min-width:100px}.undo-toast{z-index:50;color:#fff;background:#182a22;border:1px solid #2e433a;border-radius:12px;align-items:center;gap:16px;min-width:360px;max-width:calc(min(620px,100vw - 40px));min-height:52px;padding:10px 12px 10px 18px;font-size:13px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #10211938}.undo-toast span{flex:1}.undo-toast button{color:#b8f0d5;cursor:pointer;background:#ffffff12;border:0;border-radius:7px;width:auto;height:32px;padding:0 11px;font-weight:800}.undo-toast button:hover:not(:disabled){background:#ffffff20}.undo-toast button:disabled{opacity:.6;cursor:wait}.undo-toast .undo-dismiss{color:#c4cec9;background:0 0;padding:0 8px;font-size:20px;font-weight:400}.undo-toast-enter-active,.undo-toast-leave-active{transition:opacity .18s,transform .18s}.undo-toast-enter-from,.undo-toast-leave-to{opacity:0;transform:translate(-50%,8px)}.empty-state{color:var(--muted);flex-direction:column;align-items:center;gap:7px;padding:55px;display:flex}.empty-state strong{color:var(--ink)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.import-layout{grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);gap:18px;margin-bottom:18px;display:grid}.import-card{padding:23px}.section-heading{align-items:flex-start;gap:13px;margin-bottom:23px;display:flex}.jobs-heading h2,.section-heading h2{margin:0 0 4px;font:700 20px/1.2 Georgia,serif}.jobs-heading p,.section-heading p{color:var(--muted);margin:0;font-size:12px}.step{background:var(--green-soft);width:31px;height:31px;color:var(--green);border-radius:9px;place-items:center;font-size:11px;font-weight:800;display:grid}.form-grid{grid-template-columns:1fr 1.4fr;gap:18px 12px;display:grid}.toggle-line{cursor:pointer;background:#f5f8f6;border-radius:10px;flex-direction:row;grid-column:1/-1;align-items:center;padding:13px}.toggle-line input{width:18px;height:18px;accent-color:var(--green)}.toggle-line span{flex-direction:column;gap:2px;display:flex}.toggle-line strong{color:var(--ink);font-size:12px}.toggle-line small{color:var(--muted);font-weight:400}.dropzone{cursor:pointer;text-align:center;background:#f8faf9;border:1px dashed #aebdb5;border-radius:11px;justify-content:center;align-items:center;min-height:145px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.dropzone.is-dragging,.dropzone:hover{border-color:var(--green);background:#eaf6f0;box-shadow:0 0 0 3px #176b4d1f}.dropzone:focus-within{outline:2px solid var(--green);outline-offset:2px}.dropzone input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.dropzone strong{font-size:13px}.dropzone small{max-width:90%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.upload-icon{color:var(--green);font-size:23px}.source-divider{color:#a2aba6;align-items:center;gap:10px;margin:13px 0;font-size:11px;display:flex}.source-divider:after,.source-divider:before{content:"";border-top:1px solid var(--line);flex:1}.source-box{background:#f5f8f6;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;display:flex}.source-box>div{flex-direction:column;gap:2px;display:flex}.source-box strong{font-size:12px}.source-box span{color:var(--muted);font-size:11px}.notice{color:var(--green-dark);background:#eef7f3;border-radius:8px;margin:12px 0 0;padding:10px;font-size:12px}.jobs-card{overflow:hidden}.jobs-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 20px;display:flex}.job-row{border-bottom:1px solid #edf0ee;grid-template-columns:minmax(280px,2fr) minmax(220px,1.3fr) 110px 100px 100px;align-items:center;gap:15px;min-height:70px;padding:11px 20px;display:grid}.job-header{color:#66716b;letter-spacing:.08em;text-transform:uppercase;background:#f9faf9;min-height:38px;font-size:10px;font-weight:800}.file-name{flex-direction:column;gap:4px;min-width:0;display:flex}.file-name strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.file-name>span{color:var(--muted);font-size:10px}.progress-cell{flex-direction:column;gap:5px;display:flex}.progress-cell>div:first-child{justify-content:space-between;display:flex}.progress-cell strong{font-size:10px}.progress-cell small{color:var(--muted);font-size:9px}.progress-track{background:#e8ecea;border-radius:9px;height:5px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--green);height:100%;transition:width .25s;display:block}.job-queued{color:#7d8782}.job-processing{color:#a46212}.job-completed{color:var(--green)}.job-failed{color:#a54444}.metric{font-variant-numeric:tabular-nums;font-size:12px}.positive{color:var(--green);font-weight:700}.negative,.retry{color:#a54444;font-weight:700}.error-cell{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.retry{cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;text-decoration:underline}@media (width<=1500px){.filters{grid-template-columns:repeat(5,minmax(0,1fr))}.filters .tag-filter,.filters .wide{grid-column:span 2}}
