:root{font-family:DM Sans,Arial,sans-serif;color:#17252d;background:#f4f6f6;--blue:#004260;--blue2:#00658c;--line:#dce3e4;--muted:#66777e;--green:#14845e;--red:#c8473b}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:78px;display:flex;align-items:center;padding:0 max(28px,calc((100vw - 1360px)/2));background:#fff;border-bottom:1px solid var(--line);gap:28px}.brand{height:100%;display:flex;align-items:center;gap:11px;padding-right:29px;border-right:1px solid var(--line);color:var(--blue);line-height:.9;letter-spacing:.12em;font-size:12px}.brand>div:last-child{display:grid;gap:4px}.brand-mark{width:40px;height:40px;position:relative}.brand-mark span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--blue)}.brand-mark span:first-child{left:4px;top:3px;box-shadow:11px 3px 0 var(--blue),22px -1px 0 var(--blue),2px 12px 0 var(--blue),14px 13px 0 var(--blue),28px 11px 0 var(--blue),6px 24px 0 var(--blue),19px 26px 0 var(--blue),31px 22px 0 var(--blue)}.brand-mark span:nth-child(2){width:31px;height:2px;border-radius:0;transform:rotate(41deg);top:19px;left:4px}.brand-mark span:nth-child(3){width:26px;height:2px;border-radius:0;transform:rotate(-36deg);top:19px;left:7px}.product-name{font-size:18px;font-weight:700;color:#203039;display:flex;align-items:center;gap:8px}.product-name>span{width:5px;height:26px;background:#a7d8cb;border-radius:4px}.product-name em{font-style:normal;color:#819096;font-size:9px;letter-spacing:.12em;margin-left:3px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.icon-button{border:0;background:transparent;color:#53676d;padding:7px}main{width:min(1360px,calc(100% - 56px));margin:0 auto;flex:1}.hero{padding:38px 4px 25px;display:flex;justify-content:space-between;align-items:flex-end}.eyebrow{color:var(--blue2)!important;letter-spacing:.15em;text-transform:uppercase;font-weight:700;font-size:11px!important;margin-bottom:10px!important}.hero h1{font-family:Libre Franklin,Arial,sans-serif;font-size:clamp(29px,3vw,40px);letter-spacing:-.035em;color:var(--blue);margin:0 0 8px}.hero p{margin:0;color:var(--muted);font-size:15px}.mode-pill{display:flex;align-items:center;gap:10px;border:1px solid #d3e7e0;border-radius:8px;padding:10px 16px;min-width:150px;background:#f9fdfc}.mode-pill>span{width:9px;height:9px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #dcefe8}.mode-pill.live>span{background:#db8f22;box-shadow:0 0 0 4px #f8e8cc}.mode-pill div{display:grid}.mode-pill small{font-size:8px;letter-spacing:.13em;color:#78878c;font-weight:700}.mode-pill strong{color:#245b4b;font-size:13px}.workflow{height:65px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 34px;display:flex;align-items:center;margin-bottom:22px}.step{display:flex;align-items:center;gap:9px;flex:1;color:#8c989c;font-size:12px;white-space:nowrap}.step>span{width:26px;height:26px;border-radius:50%;border:1px solid #cdd6d8;display:grid;place-items:center;font-size:11px;font-weight:700;background:#fff}.step>i{height:1px;background:var(--line);flex:1;margin:0 20px}.step.active{color:var(--blue)}.step.active>span{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px #e2eef2}.step.done{color:#42646c}.step.done>span{background:#e3f2ed;color:var(--green);border-color:#b8ded1}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;padding-bottom:38px}.main-column,.side-column{display:grid;gap:18px;min-width:0}.side-column{gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 15px #17343f09}.upload-card{padding:25px}.card-heading,.card-heading>div{display:flex;justify-content:space-between;align-items:flex-start}.card-heading{margin-bottom:21px}.card-heading>div{gap:11px}.heading-icon{width:38px;height:38px;display:grid;place-items:center;background:#e8f1f3;color:var(--blue);border-radius:7px}.card h2{font-size:16px;margin:0 0 4px;color:#1e333c}.card-heading p{font-size:12px;margin:0;color:var(--muted)}.dropzone{border:1.5px dashed #afc6cd;border-radius:9px;min-height:292px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fbfdfd;transition:.2s;cursor:pointer}.dropzone:hover,.dropzone.dragging{border-color:var(--blue2);background:#f2f8fa;transform:translateY(-1px)}.upload-icon{width:54px;height:54px;display:grid;place-items:center;background:#e5f0f3;color:var(--blue);border-radius:50%;margin-bottom:12px}.dropzone h3{margin:0 0 3px;font-size:15px}.dropzone p{margin:0 0 16px;color:var(--muted);font-size:12px}.dropzone small{color:#8c999e;font-size:10px;margin-top:13px}.primary-button,.secondary-button{border:0;border-radius:6px;min-height:38px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:12px}.primary-button{color:#fff;background:var(--blue)}.primary-button:hover{background:#005578}.primary-button:disabled{background:#9aa9ae;cursor:not-allowed}.secondary-button{border:1px solid #bdcace;background:#fff;color:#29444e}.text-button{border:0;background:transparent;color:var(--blue2);display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:11px;padding:5px}.text-button:disabled{opacity:.45}.text-button.danger{color:var(--red)}.sample-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5eaeb;padding:19px 4px 0;margin-top:19px}.sample-row>div{display:flex;gap:10px;align-items:center}.sample-row>div:first-child svg{color:var(--blue2)}.sample-row span{display:grid;gap:2px}.sample-row b{font-size:11px}.sample-row small{color:var(--muted);font-size:10px}.inline-alert{margin-top:12px;padding:10px 12px;border-radius:6px;display:flex;gap:8px;align-items:center;font-size:11px}.inline-alert.error{background:#fff1ef;color:#9b382f}.settings-card{padding:23px}.card-heading.compact{margin-bottom:23px}.field-label{display:block;color:#77868b;font-size:9px;letter-spacing:.11em;font-weight:700;margin:0 0 8px}.mode-switch{border:1px solid #ccd7da;background:#f5f7f8;padding:3px;border-radius:7px;display:grid;grid-template-columns:1fr 1fr;margin-bottom:15px}.mode-switch button{height:35px;border:0;background:transparent;color:#738187;border-radius:5px;font-size:11px;font-weight:600;display:flex;gap:7px;align-items:center;justify-content:center}.mode-switch button.active{background:#fff;color:var(--blue);box-shadow:0 1px 4px #14313c1f}.info-box,.warning-box{display:flex;gap:10px;padding:12px;border-radius:6px;background:#edf7f3;color:var(--green);margin-bottom:18px}.warning-box{background:#fff5e7;color:#976117}.info-box svg,.warning-box svg{flex:0 0 auto}.info-box b,.warning-box b{display:block;font-size:11px;margin-bottom:3px}.info-box p,.warning-box p{color:#58726a;margin:0;font-size:10px;line-height:1.45}.warning-box p{color:#765c37}.input-label{display:block;position:relative;color:#40535a;font-size:10px;font-weight:600;margin-top:13px}.input-label input,.input-label select{display:block;width:100%;margin-top:6px;border:1px solid #cad5d8;border-radius:6px;height:38px;padding:0 10px;color:#253c45;background:#fff;outline:none;font-size:11px}.input-label input:focus,.input-label select:focus{border-color:var(--blue2);box-shadow:0 0 0 3px #e3f0f4}.input-label input:disabled,.input-label select:disabled{background:#f2f5f5}.input-with-icon{position:relative}.input-with-icon>svg{position:absolute;left:10px;top:17px;color:#829095;z-index:1}.input-with-icon input{padding-left:33px;padding-right:33px}.input-with-icon button{position:absolute;right:6px;top:10px;height:30px;border:0;background:transparent;color:#829095}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.input-label select{appearance:none;padding-right:25px}.two-fields .input-label>svg{position:absolute;right:8px;top:30px;pointer-events:none;color:#829095}.security-note{border:1px solid #d9e4e2;border-radius:9px;background:#f4faf8;padding:15px 17px;display:flex;gap:11px;color:#26705a}.security-note svg{flex:0 0 auto}.security-note b{font-size:11px;display:block;margin-bottom:4px}.security-note p{color:#5b716c;margin:0;line-height:1.5;font-size:9.5px}.ip-field{position:relative}.ip-field input{padding-right:40px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f7f9f9}.ip-field input[aria-invalid=true]{color:var(--red)}.ip-field button{position:absolute;right:4px;top:10px;width:30px;height:30px;border:0;background:transparent;color:var(--blue2);display:grid;place-items:center}.ip-field button:disabled svg{animation:spin 1s linear infinite}.field-help{display:block;color:#77868b;font-size:9px;font-weight:400;line-height:1.4;margin-top:5px}.file-summary{display:flex;align-items:center;padding:14px;background:#f5f8f8;border:1px solid #e0e7e8;border-radius:7px;margin-bottom:18px}.file-badge{width:42px;height:42px;border-radius:6px;display:grid;place-items:center;color:var(--green);background:#e2f1ec;margin-right:11px}.file-summary>div:nth-child(2){display:grid;gap:3px}.file-summary strong{font-size:12px}.file-summary span{color:var(--muted);font-size:10px}.validation-summary{margin-left:auto;display:flex;gap:7px;align-items:center;color:var(--green)}.validation-summary b{font-size:11px}.tabs{border-bottom:1px solid var(--line);display:flex;gap:23px}.tabs button{border:0;background:transparent;padding:9px 2px 11px;font-size:11px;color:#718087;position:relative}.tabs button span{background:#e9eeee;border-radius:10px;padding:1px 6px;margin-left:4px;font-size:9px}.tabs button.active{color:var(--blue);font-weight:700}.tabs button.active:after{content:"";position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--blue)}.source-notice{display:flex;gap:10px;padding:12px 14px;border-radius:7px;background:#eef6f8;color:var(--blue2);margin:-5px 0 16px}.source-notice>svg{flex:0 0 auto}.source-notice b{font-size:11px}.source-notice p{color:#526b74;font-size:10px;line-height:1.5;margin:3px 0 0}.source-notice p strong{color:#334e57}.module-code{display:block;color:#78878c;font-size:8.5px;margin-top:2px}.cell-input{width:94px;height:30px;border:1px solid #d19b95;border-radius:5px;padding:0 7px;background:#fff;font-size:10px;color:#31484f;outline:none}.cell-input:not(:placeholder-shown){border-color:#9dc9ba}.cell-input:focus{border-color:var(--blue2);box-shadow:0 0 0 2px #e3f0f4}.table-wrap{overflow-x:auto;margin:0 -25px -25px}table{border-collapse:collapse;width:100%;font-size:10.5px}th{text-align:left;font-size:8.5px;letter-spacing:.06em;color:#7a898e;background:#fafbfb;padding:11px 13px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{padding-left:25px}th:last-child,td:last-child{padding-right:25px}td{padding:12px 13px;border-bottom:1px solid #edf0f1;white-space:nowrap;color:#42555c}tbody tr:hover{background:#fafcfc}.invalid-row{background:snow}.status{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:9px;border-radius:10px;padding:3px 7px}.status.ready{color:#5f7076;background:#edf1f2}.status.ready>span{width:5px;height:5px;border-radius:50%;background:#94a1a5}.status.success{color:var(--green);background:#e7f5f0}.status.error,.status.invalid{color:var(--red);background:#fcecea}.status.running{color:var(--blue2);background:#e5f2f6}.status.running svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-errors{display:flex;flex-direction:column;gap:5px;padding:12px 25px 0;color:var(--red);font-size:10px}.table-errors span{display:flex;gap:6px;align-items:center}.progress-card{padding:21px 25px}.progress-head{display:flex;justify-content:space-between;align-items:center}.progress-head h2{margin-bottom:3px}.progress-head p{color:var(--muted);font-size:10px;margin:0}.progress-head>strong{color:var(--blue);font-size:22px}.progress-track{height:7px;background:#e8edef;border-radius:5px;overflow:hidden;margin:15px 0 11px}.progress-track span{height:100%;display:block;background:linear-gradient(90deg,var(--blue),#178569);border-radius:5px;transition:width .35s}.stat-row{display:flex;gap:20px;color:#62737a;font-size:10px;margin-bottom:18px}.stat-row span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%}.dot.success{background:var(--green)}.dot.error{background:var(--red)}.dot.pending{background:#aeb9bc}.progress-actions{border-top:1px solid var(--line);padding-top:16px;display:flex;gap:9px;align-items:center}.push-right{margin-left:auto}.log-panel{margin:0 -25px -25px}.log-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fafbfb;padding:8px 25px;border-bottom:1px solid var(--line);color:#7b898e;font-size:9px}.empty-logs{min-height:160px;display:grid;place-items:center;align-content:center;color:#97a3a7;font-size:11px}.empty-logs p{margin:8px}.log-entry{border-bottom:1px solid #edf0f1}.log-summary{display:flex;width:100%;text-align:left;align-items:flex-start;gap:9px;border:0;background:#fff;padding:11px 25px;color:#40545c}.log-summary:hover{background:#fafcfc}.log-icon{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#e9f1f3;color:var(--blue2)}.log-entry.success .log-icon{background:#e4f3ee;color:var(--green)}.log-entry.error .log-icon{background:#fbeae8;color:var(--red)}.log-summary time{color:#8a979b;font-size:9px;padding-top:3px}.log-summary>div{display:grid;gap:2px;flex:1}.log-summary b{font-size:10.5px}.log-summary small{font-size:9.5px;color:#718087}.log-detail{padding:4px 25px 15px 80px;font-size:9px;color:#5a6a70}.log-detail b{display:block;margin:9px 0 4px}.log-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:230px;overflow:auto;background:#f4f6f6;padding:10px;border-radius:5px;margin:0;font:9px/1.5 monospace}footer{display:flex;justify-content:space-between;padding:20px max(28px,calc((100vw - 1360px)/2));border-top:1px solid var(--line);background:#fff;color:#8a969a;font-size:9px}footer b{background:#eaf0f1;border-radius:10px;padding:2px 6px;color:#65767c}@media(max-width:980px){.layout{grid-template-columns:1fr}.side-column{grid-row:1;grid-template-columns:1fr 1fr}.workflow{padding:0 18px}.step>i{margin:0 9px}}@media(max-width:680px){main{width:calc(100% - 24px)}.topbar{padding:0 12px;height:64px}.brand{padding-right:12px}.brand-mark,.product-name em,.topbar-actions{display:none}.hero{padding-top:25px}.hero .mode-pill{display:none}.workflow{overflow-x:auto}.step{min-width:120px}.side-column{grid-template-columns:1fr}.upload-card,.settings-card,.progress-card{padding:18px}.sample-row{align-items:flex-start;gap:10px}.sample-row>div:last-child{flex-direction:column;align-items:flex-end}.progress-actions{flex-wrap:wrap}.push-right{margin-left:0}.table-wrap,.log-panel{margin-left:-18px;margin-right:-18px}.log-detail{padding-left:18px}}.link-button{border:0;background:transparent;padding:0;color:var(--blue2);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.link-button:hover{color:var(--blue)}.ignored-note{display:flex;align-items:center;gap:5px;margin-top:2px;color:#8a6d1f;font-size:10px}.upload-privacy{display:flex;align-items:center;gap:6px;margin-top:11px;color:#5f7076;font-size:10px}.upload-privacy svg{color:var(--green)}:root{--blue: #00305d;--blue2: #003f73;--red: #e4003a;--line: #ccd3d8;--muted: #52616b;--green: #28745b;background:#eef0f1}body{background:#eef0f1;color:#202a30}.topbar{height:104px;padding:0 max(28px,calc((100vw - 1240px)/2));gap:24px;border-bottom:5px solid var(--blue);box-shadow:none}.brand{width:88px;height:88px;padding:7px 18px 7px 0;border-right:1px solid #c5ccd1;flex:0 0 88px}.brand img{display:block;width:68px;height:72px;object-fit:contain}.brand-mark{display:none}.product-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--blue);font-weight:400}.product-name strong{font:400 25px/1.1 Georgia,Times New Roman,serif}.product-name em{margin:0;color:#56636b;font-size:11px;font-style:normal;font-weight:400;letter-spacing:.04em;text-transform:none}.upload-privacy{color:#56636b;font-size:10.5px}.upload-privacy svg{color:var(--blue)}main{width:min(1240px,calc(100% - 56px))}.hero{padding:34px 0 24px;align-items:center}.eyebrow{color:#68767e!important;font-size:10px!important;letter-spacing:.11em;margin-bottom:7px!important}.hero h1{margin-bottom:7px;color:var(--blue);font:400 34px/1.15 Georgia,Times New Roman,serif;letter-spacing:0}.hero p{color:#52616b;font-size:14px}.mode-pill{min-width:142px;padding:8px 0 8px 13px;border:0;border-left:3px solid var(--green);border-radius:0;background:transparent}.mode-pill.live{border-left-color:#b56800}.mode-pill>span{display:none}.mode-pill small{font-size:8px}.mode-pill strong{color:#34484f;font-size:12px}.workflow{height:54px;padding:0;border:0;border-top:1px solid #aeb8be;border-bottom:1px solid #aeb8be;border-radius:0;background:transparent;box-shadow:none;margin-bottom:24px}.step{color:#68767e;font-size:11px}.step>span{width:22px;height:22px;border-radius:0;background:transparent}.step.active>span{border-color:var(--blue);background:var(--blue);box-shadow:none}.step.done>span{border-color:#91a79f;border-radius:0}.step>i{background:#bfc7cb}.layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px}.card{border:1px solid #bdc6cb;border-radius:2px;box-shadow:none}.upload-card{padding:24px}.settings-card{padding:22px}.heading-icon{width:28px;height:28px;justify-content:start;border-right:2px solid var(--red);border-radius:0;background:transparent}.card h2{color:var(--blue);font:400 18px/1.2 Georgia,Times New Roman,serif}.dropzone{min-height:250px;border:1px dashed #8899a3;border-radius:0;background:#f8f9f9}.dropzone:hover,.dropzone.dragging{border-color:var(--blue);background:#f2f5f6;transform:none}.upload-icon{width:42px;height:42px;margin-bottom:7px;border-radius:0;background:transparent;color:var(--blue)}.primary-button,.secondary-button{border-radius:2px;font-weight:600}.primary-button{background:var(--blue)}.secondary-button{border-color:#98a6ae}.text-button{color:var(--blue)}.file-summary{border-color:#cbd2d6;border-radius:0;background:#f3f5f5}.file-badge{border-radius:0;background:transparent;color:var(--blue)}.source-notice,.info-box,.warning-box,.security-note{border-radius:0}.source-notice{border-left:3px solid var(--blue);background:#f3f5f6}.cors-help{margin:-7px 0 18px;border:1px solid #d2b77e;background:#fffdf7;font-size:10px}.cors-help summary{padding:10px 12px;color:#694b0d;font-weight:700;cursor:pointer}.cors-help-content{padding:0 12px 12px;border-top:1px solid #e7d9bb;color:#4f565a}.cors-help-content p{margin:10px 0;line-height:1.45}.cors-help-content>b{display:block;margin:10px 0 4px;color:#313d43}.cors-help-content code{display:block;padding:8px;border:1px solid #d6dadd;background:#f4f5f5;color:#22343c;font:9px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;user-select:all}.cors-help-content li code{display:inline;padding:1px 3px}.cors-help-content ol{margin:6px 0 12px;padding-left:18px;line-height:1.5}.cors-help-content li+li{margin-top:7px}.cors-help-content a{color:var(--blue);text-decoration:underline}.cors-danger{display:flex;gap:8px;margin-top:12px;padding:9px;border-left:3px solid var(--red);background:#fff1f3;color:#762037;line-height:1.45}.cors-danger svg{flex:0 0 auto}.mode-switch{border-radius:0;background:#eef1f2}.mode-switch button{border-radius:0}.mode-switch button.active{border-bottom:2px solid var(--red);box-shadow:none}.input-label input,.input-label select,.cell-input{border-radius:1px}.input-label input:focus,.input-label select:focus,.cell-input:focus{box-shadow:0 0 0 2px #dbe4e9}.endpoint-field{display:flex;align-items:flex-start;gap:6px}.endpoint-field input{min-width:0;flex:1 1 auto}.endpoint-probe-button{position:relative;flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;margin-top:6px;padding:0;border:1px solid #aebbc0;border-radius:1px;background:#f7f9f9;color:#65767d}.endpoint-probe-button.loading{color:var(--blue)}.endpoint-probe-button.success{border-color:#79a994;background:#edf7f2;color:#187253}.endpoint-probe-button.error{border-color:#d19494;background:#fff2f2;color:#a42f3f}.endpoint-probe-button:disabled{cursor:wait;opacity:.8}.endpoint-probe-button .probe-retry-icon{display:none}.endpoint-probe-button:not(.loading):hover .probe-state-icon{display:none}.endpoint-probe-button:not(.loading):hover .probe-retry-icon{display:block}.endpoint-probe-button.loading svg,.auth-probe-button.loading svg{animation:spin 1s linear infinite}.probe-message{display:block;min-height:14px;margin:5px 0 0;color:#75858b;font-size:8.8px;font-weight:400;line-height:1.4;letter-spacing:0}.probe-message.success{color:#187253}.probe-message.warning{color:#8a5b0a}.probe-message.error{color:#a42f3f}.auth-probe{margin:12px 0 16px;padding:11px;border:1px solid #cbd4d7;background:#f8f9f9}.auth-probe-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid #99a9af;border-radius:1px;background:#fff;color:var(--blue);font-size:10px;font-weight:700}.auth-probe-button.success{border-color:#79a994;color:#187253}.auth-probe-button.warning{border-color:#d3b46c;color:#805207}.auth-probe-button.error{border-color:#d19494;color:#a42f3f}.auth-probe-button:disabled{color:#89979c;background:#eef1f2;cursor:not-allowed}.auth-probe .probe-message{margin-top:7px}.auth-probe>small{display:block;margin-top:5px;color:#75858b;font-size:8.5px;line-height:1.4}.progress-track{height:5px;border-radius:0}.progress-track span{border-radius:0;background:var(--blue)}.status{border-radius:1px}.tabs button.active:after{background:var(--red)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-wrap{margin:0 -24px -24px;overflow:visible}.table-toolbar{display:flex;align-items:center;gap:9px;padding:11px 24px;border-bottom:1px solid var(--line);background:#fafbfb}.table-search{position:relative;flex:1 1 260px;max-width:390px}.table-search svg{position:absolute;left:9px;top:50%;color:#718087;transform:translateY(-50%);pointer-events:none}.table-search input{width:100%;height:34px;padding:0 10px 0 31px;border:1px solid #bcc8cd;border-radius:1px;background:#fff;color:#263d47;font-size:10px;outline:none}.table-search input:focus,.table-filter select:focus{border-color:var(--blue);box-shadow:0 0 0 2px #dbe4e9}.table-filter{position:relative;flex:0 0 160px}.table-filter select{width:100%;height:34px;padding:0 28px 0 9px;appearance:none;border:1px solid #bcc8cd;border-radius:1px;background:#fff;color:#344a53;font-size:10px;outline:none}.table-filter svg{position:absolute;right:8px;top:50%;color:#718087;transform:translateY(-50%);pointer-events:none}.table-result-count{margin-left:auto;color:#6f7e84;font-size:9px;white-space:nowrap}.table-scroll{overflow-x:auto}.table-scroll table{min-width:900px}.cell-input.grade-input{width:62px;border-color:#d19b95}.cell-input.grade-input:valid:not(:placeholder-shown){border-color:#9dc9ba}.cell-input:disabled{background:#eef1f2;color:#748187;cursor:not-allowed}.empty-table{min-height:125px;display:flex;align-items:center;justify-content:center;gap:8px;color:#849197;font-size:10px}.table-errors{padding-bottom:11px;border-top:1px solid #edf0f1}.table-pagination{min-height:50px;display:flex;align-items:center;gap:18px;padding:8px 24px;border-top:1px solid var(--line);background:#fafbfb;color:#65757c;font-size:9.5px}.table-pagination>span{min-width:82px}.table-pagination label{display:flex;align-items:center;gap:6px}.table-pagination select{height:29px;padding:0 22px 0 7px;border:1px solid #bdc8cc;border-radius:1px;background:#fff;color:#344a53;font-size:9.5px}.table-pagination>div{display:flex;align-items:center;gap:9px;margin-left:auto}.table-pagination button{width:29px;height:29px;display:grid;place-items:center;padding:0;border:1px solid #bdc8cc;border-radius:1px;background:#fff;color:var(--blue)}.table-pagination button:disabled{color:#aeb8bc;background:#f1f3f4;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0f1f279e;backdrop-filter:blur(2px)}.confirm-modal{width:min(590px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid #7c8c93;border-top:5px solid var(--red);background:#fff;box-shadow:0 18px 55px #07182147}.confirm-modal-head{display:flex;align-items:center;gap:13px;padding:21px 23px 17px;border-bottom:1px solid #dbe0e2}.confirm-warning-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;background:#fff0f2;color:var(--red)}.confirm-modal-head p{margin:0 0 3px;color:var(--red);font-size:8.5px;font-weight:800;letter-spacing:.14em}.confirm-modal-head h2{margin:0;color:var(--blue);font:400 21px/1.2 Georgia,Times New Roman,serif}.modal-close{width:34px;height:34px;display:grid;place-items:center;margin-left:auto;border:0;background:transparent;color:#66777e}.modal-close:hover{background:#f0f2f3;color:#263e48}.live-warning{display:flex;gap:10px;margin:19px 23px 0;padding:13px 14px;border-left:4px solid var(--red);background:#fff3f4;color:#8d2435}.live-warning>svg{flex:0 0 auto;margin-top:1px}.live-warning b{display:block;font-size:11px}.live-warning p{margin:4px 0 0;color:#70434a;font-size:9.5px;line-height:1.5}.import-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:19px 23px 0;border-top:1px solid #ccd4d7;border-left:1px solid #ccd4d7}.import-summary>div{min-width:0;padding:11px 13px;border-right:1px solid #ccd4d7;border-bottom:1px solid #ccd4d7}.import-summary .summary-wide{grid-column:1 / -1}.import-summary dt{margin-bottom:3px;color:#718087;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.import-summary dd{margin:0;overflow:hidden;color:#273f49;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.excluded-records{display:flex;align-items:center;gap:7px;margin:13px 23px 0;color:#6d5b34;font-size:9.5px}.excluded-records svg{color:#9a6b12;flex:0 0 auto}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:21px;padding:16px 23px 19px;border-top:1px solid #dbe0e2;background:#fafbfb}.danger-confirm-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid #9c1e33;border-radius:1px;background:#a9233b;color:#fff;font-size:11px;font-weight:700}.danger-confirm-button:hover{background:#8f1d32}.danger-confirm-button:disabled{border-color:#aab4b8;background:#aab4b8;cursor:not-allowed}.settings-modal{width:min(680px,100%);border-top-color:var(--blue)}.settings-icon{background:#e8f1f3;color:var(--blue)}.pnr-modal-body{padding:19px 23px 4px}.pnr-modal-intro{margin:0 0 14px;color:#4c5a60;font-size:10.5px;line-height:1.55}.pnr-modal-intro b{color:#263e48}.pnr-table-wrap{max-height:320px;overflow:auto;border:1px solid #d3dadd}.pnr-table{width:100%;border-collapse:collapse;font-size:10.5px}.pnr-table th{position:sticky;top:0;padding:8px 10px;border-bottom:1px solid var(--line);background:#fafbfb;color:#7a898e;font-size:8.5px;letter-spacing:.06em;text-align:left}.pnr-table td{padding:5px 8px;border-bottom:1px solid #edf0f1}.pnr-table td:last-child{width:34px;text-align:center}.pnr-input{width:100%;height:30px;padding:0 8px;border:1px solid #bcc8cd;border-radius:1px;background:#fff;color:#263d47;font-size:10.5px;outline:none}.pnr-input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #dbe4e9}.pnr-modal-toolbar{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px}.pnr-modal-count{margin:10px 0 0;color:#6f7e84;font-size:9.5px}.ignored-note{color:#8a6d1f}footer{border-top:3px solid var(--blue);padding-left:max(28px,calc((100vw - 1240px)/2));padding-right:max(28px,calc((100vw - 1240px)/2))}@media(max-width:680px){.topbar{height:82px;border-bottom-width:4px}.brand{display:block;width:59px;height:68px;padding-right:10px;flex-basis:59px}.brand img{width:48px;height:57px}.product-name strong{font-size:19px}.product-name em{display:block;font-size:9px}.hero h1{font-size:28px}.workflow{background:transparent}.upload-card,.settings-card,.progress-card{padding:18px}.table-wrap{margin:0 -18px -18px}.table-toolbar{align-items:stretch;flex-wrap:wrap;padding:10px 18px}.table-search{flex-basis:100%;max-width:none}.table-filter{flex:1 1 160px}.table-pagination{padding:9px 18px;flex-wrap:wrap;gap:9px 14px}.table-pagination>div{width:100%;margin-left:0;justify-content:space-between}.modal-backdrop{padding:10px}.confirm-modal{max-height:calc(100vh - 20px)}.confirm-modal-head,.confirm-actions{padding-left:16px;padding-right:16px}.live-warning,.import-summary,.excluded-records{margin-left:16px;margin-right:16px}.import-summary{grid-template-columns:1fr}.import-summary .summary-wide{grid-column:auto}.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%}}
