:root{--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--border-strong:#cbd5e1;--title:#1e293b;--text:#334155;--muted:#64748b;--muted-2:#94a3b8;--brand:#1d4ed8;--brand-strong:#1e40af;--brand-soft:#eff6ff;--brand-border:#bfdbfe;--sidebar-bg:#1e293b;--sidebar-text:#cbd5e1;--sidebar-active:#2563eb;--green:#16a34a;--red:#dc2626;--orange:#ea580c;--purple:#7c3aed;--gray:#94a3b8;--radius:12px;--font-ui:"Hanken Grotesk", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, "Menlo", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.55}a{color:var(--brand);text-decoration:none}button{font-family:var(--font-ui)}.page-shell,.demo-app{flex-direction:column;min-height:100vh;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1,.page-header h2{color:var(--title);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:800;line-height:1.2}.page-subtitle{color:#475569;margin:8px 0 0;font-size:.95rem}.page-action{align-items:center;gap:12px;display:flex}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-size:.72rem;font-weight:700}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.brand{color:var(--title);align-items:center;gap:12px;display:flex}.brand-mark,.brand-icon{background:var(--brand);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.05rem;font-weight:800;display:inline-flex}.brand-name{color:var(--title);font-size:1rem;font-weight:800}.brand-sub{color:var(--muted);font-size:.72rem}.actor-label{color:var(--brand);letter-spacing:.06em;font-size:.78rem;font-weight:700}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--surface);width:264px;color:var(--text);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:22px 20px 18px;display:flex}.sidebar-brand .brand-icon{background:0 0;border-radius:0;flex-shrink:0;width:36px;height:36px}.admin-sidebar-brand-mark{object-fit:contain;width:28px;height:28px;display:block}.brand-text{flex-direction:column;justify-content:center;gap:2px;line-height:1.15;display:flex}.brand-text .brand-name,.brand-text .brand-sub{white-space:nowrap;margin:0}.sidebar-brand .brand-name{color:var(--title)}.sidebar-brand .brand-sub{color:var(--muted-2)}.sidebar-nav{flex-direction:column;flex:1;gap:6px;padding:16px 12px;display:flex;overflow-y:auto}.nav-item{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;font-size:.9rem;font-weight:600;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--brand-soft);color:var(--brand)}.nav-item.nav-active,.nav-item.nav-active:hover{background:var(--brand);color:#fff;font-weight:700}.nav-icon{color:#475569;background:#f1f5f9;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.nav-item:hover .nav-icon{color:var(--brand);background:#e0edff}.nav-item.nav-active .nav-icon,.nav-item.nav-active:hover .nav-icon{color:#fff;background:#ffffff2e}.sidebar-footer{border-top:1px solid var(--border);padding:16px 12px}.nav-logout{width:100%;color:var(--muted);justify-content:center}.nav-logout:hover{color:var(--red);background:#fef2f2}.nav-logout:hover .nav-icon{color:var(--red);background:#fee2e2}.sidebar-warning{color:var(--muted-2);margin:0 0 8px;font-size:.72rem}.admin-main{flex:1;min-width:0;padding:36px 40px}.admin-home-brand-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.admin-home-wordmark{width:min(300px,100%);height:auto;display:block}.admin-home-brand-header h1{color:var(--title);letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:800;line-height:1.2}.admin-home-brand-header p{color:#475569;margin:8px 0 0;font-size:.95rem}.supplier-layout{min-height:100vh;display:flex}.supplier-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:264px;height:100vh;display:flex;position:sticky;top:0}.supplier-sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:24px 20px 20px;display:flex}.supplier-sidebar-brand .brand-icon{flex-shrink:0}.brand-icon svg{display:block}.supplier-nav{flex-direction:column;flex:1;gap:6px;padding:20px 14px;display:flex;overflow-y:auto}.supplier-nav-item{color:var(--muted);cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:.9rem;font-weight:600;transition:background .12s,color .12s;display:flex}.supplier-nav-item:hover{background:var(--brand-soft);color:var(--brand)}.supplier-nav-active,.supplier-nav-active:hover{background:var(--brand-soft);color:var(--brand);font-weight:700}.supplier-nav-icon{color:#475569;background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .12s,color .12s;display:inline-flex}.supplier-nav-item:hover .supplier-nav-icon{color:var(--brand);background:#e0edff}.supplier-nav-active .supplier-nav-icon,.supplier-nav-active:hover .supplier-nav-icon{background:var(--brand);color:#fff}.supplier-nav-label{flex:1}.supplier-nav-logout{color:var(--muted)}.supplier-nav-logout:hover{color:var(--red);background:0 0}.supplier-nav-logout:hover .supplier-nav-icon{color:var(--red);background:#fee2e2}.supplier-sidebar-footer{border-top:1px solid var(--border);padding:16px 14px}.supplier-sidebar-footer .supplier-nav-item{justify-content:flex-start}.supplier-main{background:var(--bg);flex:1;min-width:0;padding:36px 44px}.supplier-warning-bar{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:16px;padding:10px 16px;font-size:.82rem}.card-section,.panel,.monitor-section,.work-panel,.phase-two-panel,.harness-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:32px}.card-section-title,.panel-heading h2,.monitor-section h2,.workspace-heading{color:var(--title);letter-spacing:-.01em;margin:0 0 8px;font-size:1.25rem;font-weight:700}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-label{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.btn-primary,.primary-action{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.88rem;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.btn-primary:hover,.primary-action:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.btn-primary:disabled,.primary-action:disabled{color:#f1f5f9;cursor:not-allowed;background:#cbd5e1;border-color:#cbd5e1}.btn-secondary,.secondary-action{border:1px solid var(--brand);color:var(--brand);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.88rem;font-weight:700;transition:background .12s;display:inline-flex}.btn-secondary:hover,.secondary-action:hover{background:var(--brand-soft)}.btn-secondary:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc;border-color:#cbd5e1}.btn-danger{border:1px solid var(--red);color:var(--red);cursor:pointer;background:#fff;border-radius:6px;padding:10px 20px;font-size:.88rem;font-weight:700;transition:background .12s}.btn-danger:hover{background:#fef2f2}.btn-danger:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc;border-color:#cbd5e1}.button-link{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.85rem}.button-link:hover{text-decoration:underline}.form-field,.form-grid{margin-bottom:16px}.form-label,.form-field label>span,.form-field>label>span{color:var(--muted);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.required-mark{color:var(--red);margin-left:3px}.text-input,.text-area,.search-input,.filter-select,input[type=text],input[type=password],input[type=number],input[type=datetime-local],select,textarea{border:1px solid var(--border-strong);width:100%;color:var(--text);font-size:.88rem;font-family:var(--font-ui);background:#fff;border-radius:6px;outline:none;padding:10px 12px;transition:border-color .12s,box-shadow .12s}.text-input:focus,.text-area:focus,.search-input:focus,.filter-select:focus,input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1d4ed81f}.text-input::placeholder,.search-input::placeholder{color:var(--muted-2)}.form-hint,.form-note{color:var(--muted-2);margin:6px 0 0;font-size:.76rem}.form-error,.exchange-error,.command-error,.inline-error{color:var(--red);margin:8px 0 0;font-size:.82rem}.identity-exchange .exchange-error{background:#fef2f2eb;border:1px solid #dc262652;border-radius:8px;padding:10px 12px;font-weight:600;line-height:1.5}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.form-grid-full{grid-column:1/-1}.money-input,.round-countdown,.stat-value,.price-rail,.server-clock,.batch-card-code{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.round-countdown{color:var(--brand);font-size:2.5rem;font-weight:800;line-height:1.1}.price-rail{color:var(--title);font-size:1.75rem;font-weight:800}.price-rail strong{color:var(--brand)}.price-rail .unit{color:var(--muted);margin-left:4px;font-size:.8rem}.server-clock{color:var(--muted);font-size:.8rem}.server-note{color:#64748b;font-size:.78rem}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border-strong);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;padding:12px 14px;font-size:.72rem;font-weight:700}.data-table td{color:var(--text);padding:16px 14px;line-height:1.6}.data-table tbody tr:nth-child(2n) td{background:#f8fafc}.data-table tbody tr:hover td{background:var(--brand-soft)}.table-empty{text-align:center;color:var(--muted-2);padding:24px!important}.status-badge,.badge-green,.badge-blue,.badge-gray,.badge-orange,.badge-red,.badge-purple{border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-green{color:var(--green);background:#f0fdf4;border-color:#bbf7d0}.badge-blue{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-border)}.badge-gray{color:var(--muted);background:#f1f5f9;border-color:#e2e8f0}.badge-orange{color:var(--orange);background:#fff7ed;border-color:#fed7aa}.badge-red{color:var(--red);background:#fef2f2;border-color:#fecaca}.badge-purple{color:var(--purple);background:#f5f3ff;border-color:#ddd6fe}.status-mark,.status-ready,.status-success,.status-error{border-radius:50%;width:9px;height:9px;display:inline-block}.status-ready,.status-success{background:var(--green)}.status-error{background:var(--red)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-quick-action{border-color:var(--border);text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}.admin-quick-action-icon{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.stat-label{color:#475569;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.stat-value{color:var(--title);margin-top:8px;font-size:2.75rem;font-weight:800;line-height:1.1}.stat-hint{color:#64748b;margin-top:8px;font-size:.78rem}.stat-green .stat-value{color:var(--green)}.stat-blue .stat-value{color:var(--brand)}.stat-orange .stat-value{color:var(--orange)}.stat-purple .stat-value{color:var(--purple)}.state-page{text-align:center;padding:48px 24px}.state-page h2{color:var(--title);margin:0 0 8px}.state-page p{color:var(--muted);max-width:520px;margin:0 auto 20px;line-height:1.7}.state-action{margin-top:8px}.empty-state-box{text-align:center;padding:36px 20px}.empty-icon,.empty-mark{color:var(--brand);opacity:.6;font-size:2.2rem}.empty-mark{color:var(--brand)}.loading-mark{color:var(--brand);font-size:1.8rem}.status-text{color:var(--muted);margin-left:8px;font-size:.85rem}.batch-card,.lot-card,.evaluation-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:border-color .12s}.batch-card:hover,.lot-card:hover{border-color:var(--brand-border)}.batch-card-header,.lot-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.batch-card-title,.lot-card-title{color:var(--title);margin:0;font-size:.98rem;font-weight:800}.batch-card-code{color:var(--brand);font-size:.76rem}.batch-card-desc{color:var(--muted);margin:0 0 10px;font-size:.82rem}.batch-card-meta{flex-wrap:wrap;gap:14px;display:flex}.batch-meta-item{color:#475569;font-size:.8rem}.batch-meta-item strong{color:var(--title);font-family:var(--font-mono)}.evaluation-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.evaluation-fields{gap:12px;display:grid}.evaluation-reference{color:var(--muted);font-size:.8rem}.evaluation-reason{color:var(--muted);font-size:.78rem}.batch-summary-bar{color:var(--muted);flex-wrap:wrap;gap:8px 28px;padding:4px 0 12px;font-size:.85rem;display:flex}.batch-summary-bar strong{color:var(--title);font-variant-numeric:tabular-nums}.evaluation-table .score-input{width:88px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:6px 8px}.evaluation-table .score-input::placeholder{color:#cbd5e1;opacity:1}.evaluation-table .vehicle-config{color:var(--muted);margin-top:2px;font-size:.74rem;display:block}.evaluation-table .money-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.evaluation-table .action-cell{width:160px;min-width:160px}.evaluation-table .action-cell .inline-error{white-space:normal;overflow-wrap:anywhere;margin-top:6px}.evaluation-table .action-cell .badge-green{display:inline-block}.modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;width:min(480px,100%);padding:24px;box-shadow:0 18px 50px #0f172a29}.confirm-modal h3{letter-spacing:-.02em;color:var(--title);margin:0 0 12px;font-size:1.375rem;line-height:1.3}.confirm-targets{gap:8px;margin:0 0 12px;padding:0;font-size:.88rem;list-style:none;display:grid}.confirm-targets li{border:1px solid var(--border);background:#f8fafc;border-radius:6px;padding:8px 10px}.confirm-note{color:var(--orange);margin:0 0 18px;font-size:.8rem}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.phase-timeline{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:4px 0 18px;padding:8px 12px}.phase-steps{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.phase-step{border:1px solid var(--border);color:var(--muted);background:#f8fafc;border-radius:8px;padding:7px 10px;position:relative}.phase-step-current{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);font-weight:700}.phase-step-done{color:var(--green)}.phase-step-label{font-size:.8rem;font-weight:700;display:block}.phase-step-time{color:var(--muted);margin-top:3px;font-size:.68rem;display:block}.phase-current-title{color:var(--title);margin:0 0 4px;font-size:.92rem}.phase-countdown{color:var(--orange);margin-left:14px}.phase-countdown strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.phase-current-desc{color:var(--muted);margin:0;font-size:.84rem}.phase-next{border-top:1px dashed var(--border);color:var(--muted);margin-top:10px;padding-top:10px;font-size:.84rem}.phase-next strong{color:var(--brand)}.phase-next-desc{margin-left:8px}@media (width<=720px){.phase-steps{grid-template-columns:1fr 1fr}}.reference-note{color:#64748b;margin-top:6px;font-size:.78rem}.ranking-section{gap:10px;display:grid}.phase-two-form,.bid-form{gap:12px;max-width:480px;display:grid}.command-bar{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.step-action{margin-top:8px}.identity-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.identity-option{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:18px;transition:border-color .12s}.identity-option:hover{border-color:var(--brand)}.identity-index{font-family:var(--font-mono);color:var(--brand);font-size:.78rem}.identity-page{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:440px;margin:8vh auto;padding:44px 40px}.identity-page h1{color:var(--title);margin:0 0 8px;font-size:1.3rem}.identity-page p{color:var(--muted);font-size:.85rem;line-height:1.7}.identity-exchange{gap:14px;margin-top:24px;display:grid}.identity-exchange label{gap:6px;display:grid}.identity-exchange label>span{color:var(--muted);font-size:.8rem;font-weight:600}.primary-action{width:100%;padding:12px;font-size:.95rem}.modal-overlay,.dialog-backdrop{z-index:100;background:#0f172a80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box,.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:560px;max-height:86vh;overflow-y:auto;box-shadow:0 18px 50px #0f172a29}.confirm-dialog:not(.preview-dialog){max-width:520px;padding:24px}.preview-dialog{max-width:860px;padding:0}.confirm-dialog:not(.preview-dialog)>.section-label{margin:0 0 8px}.confirm-dialog:not(.preview-dialog)>h2{color:var(--title);letter-spacing:-.02em;margin:0;font-size:1.375rem;line-height:1.3}.confirm-dialog:not(.preview-dialog)>.form-note{color:var(--muted);margin:12px 0 0;font-size:.875rem;line-height:1.65}.confirm-dialog:not(.preview-dialog) .dialog-actions{margin-top:24px;padding:0}.modal-wide{max-width:860px}.modal-header,.confirm-content{padding:24px 24px 0}.modal-header h2,.modal-header h3{color:var(--title);letter-spacing:-.02em;margin:0;font-size:1.375rem;line-height:1.3}.modal-close{color:var(--muted);cursor:pointer;float:right;background:0 0;border:none;font-size:1.2rem}.modal-close:hover{color:var(--title)}.modal-body{padding:14px 24px}.modal-footer,.confirm-actions,.dialog-actions{justify-content:flex-end;gap:10px;padding:16px 24px 24px;display:flex}.modal-footer .btn-primary,.modal-footer .btn-secondary,.modal-footer .btn-danger,.confirm-actions .btn-primary,.confirm-actions .btn-secondary,.confirm-actions .btn-danger,.dialog-actions .btn-primary,.dialog-actions .btn-secondary,.dialog-actions .btn-danger,.dialog-actions .primary-action,.dialog-actions .secondary-action,.modal-actions .primary-action,.modal-actions .secondary-action{width:auto;min-width:84px;padding:8px 18px;font-size:.85rem;border-radius:8px!important}.dialog-warning{color:var(--orange);font-size:.85rem}.activity-list{gap:12px;display:grid}.activity-item{border:1px solid var(--border);background:#fff;border-radius:8px;gap:12px;padding:12px 14px;display:flex}.activity-dot{background:var(--brand);border-radius:50%;width:8px;height:8px;margin-top:6px}.activity-title{color:var(--title);font-size:.88rem;font-weight:700}.activity-content{color:#475569;font-size:.84rem}.activity-time{color:#64748b;font-size:.76rem;font-family:var(--font-mono)}.activity-detail{color:var(--muted);font-size:.8rem}.wizard-steps{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.wizard-step{color:var(--muted-2);align-items:center;gap:8px;font-size:.8rem;display:flex}.wizard-step-num{border:1px solid var(--border-strong);width:26px;height:26px;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;display:inline-flex}.wizard-step-active{color:var(--title);font-weight:700}.wizard-step-active .wizard-step-num{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.wizard-step-done{color:var(--green)}.wizard-step-done .wizard-step-num{border-color:var(--green);color:var(--green);background:#f0fdf4}.wizard-nav{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.upload-zone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--muted);cursor:pointer;padding:14px 16px;transition:border-color .12s,background .12s}.upload-zone:hover{border-color:var(--brand);background:var(--brand-soft)}.upload-icon{color:var(--brand);font-size:1.15rem}.upload-hint{color:var(--muted-2);margin-top:4px;font-size:.72rem}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-input{max-width:280px}.contract-note,.form-note{color:var(--muted-2);font-size:.78rem}.harness-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:.78rem;display:inline-flex}.workspace-heading{margin-bottom:4px}.score-item-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:.85rem;display:flex}.score-item-row:last-child{border-bottom:none}.side-nav{flex-direction:column;gap:4px;display:flex}.demo-status{color:var(--muted);font-size:.78rem}.harness-stack{gap:16px;max-width:720px;margin:40px auto;padding:0 20px;display:grid}.harness-panel{text-align:center}.demo-main{flex:1;justify-content:center;padding:24px;display:flex}.confirm-content p{color:var(--muted);line-height:1.7}.form-field{gap:6px;display:grid}.lot-facts{color:var(--muted);gap:8px;font-size:.84rem;display:grid}.command-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:10px 12px}.command-success{color:var(--green);font-size:.85rem}.inline-error{color:var(--red);font-size:.8rem}@media (width<=900px){.admin-main,.supplier-main{padding:20px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (width<=768px){.admin-layout{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;width:100%;height:auto;padding:0;position:relative;overflow:visible}.sidebar-brand{border-bottom:none;min-height:58px;padding:10px 108px 10px 16px}.admin-home-wordmark{width:min(220px,100%)}.sidebar-nav{border-top:1px solid var(--border);flex-direction:row;gap:4px;width:100%;padding:6px 8px 8px;overflow-x:auto}.nav-item{white-space:nowrap;padding:8px 10px;font-size:.8rem}.nav-active:before{display:none}.sidebar-footer{border-top:none;padding:4px 8px;position:absolute;top:8px;right:8px}.nav-logout{justify-content:flex-start}.sidebar-warning{display:none}.supplier-layout{flex-direction:column}.supplier-sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:8px;width:100%;height:auto;padding:8px 12px;position:relative}.supplier-sidebar-brand{border-bottom:none;padding:8px 10px}.supplier-nav{flex-direction:row;flex:1;gap:4px;padding:4px;overflow-x:auto}.supplier-nav-item{width:auto;padding:8px 10px;font-size:.8rem}.supplier-nav-icon{width:32px;height:32px}.supplier-sidebar-footer{border-top:none;padding:4px 8px}.form-grid{grid-template-columns:1fr}.topbar{padding:12px 16px}.identity-page{margin:4vh 14px;padding:24px 20px}.card-section,.panel{padding:24px}}@media (width<=480px){.modal-overlay,.dialog-backdrop{padding:12px}.stat-grid{grid-template-columns:1fr}.page-header{flex-direction:column}.page-action{width:100%}.page-action .btn-primary,.page-action .btn-secondary{flex:1}.toolbar{flex-direction:column;align-items:stretch}.search-input{max-width:none}.round-countdown{font-size:1.3rem}.confirm-dialog:not(.preview-dialog){padding:18px}.modal-header,.confirm-content{padding-left:18px;padding-right:18px}.modal-body{padding:10px 18px}.modal-footer,.confirm-actions,.dialog-actions{padding-left:18px;padding-right:18px}}.supplier-main .page-header h1,.supplier-main .page-header h2{letter-spacing:-.02em;font-size:34px}.supplier-main .page-subtitle{color:var(--muted);font-size:.95rem}.hero-metric-value{color:var(--title);font-size:48px;font-weight:800;line-height:1.05;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.hero-metric-value.brand{color:var(--brand)}.hero-metric-label{color:var(--muted);margin-top:6px;font-size:.78rem}.workbench-header{grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:24px;display:grid}.workbench-welcome{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,#1e40af 0%,#1d4ed8 55%,#2563eb 100%);border:1px solid #1d4ed8;padding:36px}.workbench-welcome .welcome-eyebrow{letter-spacing:.14em;color:#bfdbfe;font-size:.74rem;font-weight:700}.workbench-welcome h2{color:#fff;margin:8px 0 6px;font-size:30px;font-weight:800}.workbench-welcome p{color:#dbeafe;margin:0;font-size:.92rem}.workbench-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;justify-content:center;padding:24px;display:flex}.quick-actions-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.quick-action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);font:inherit;text-align:left;align-items:center;gap:16px;padding:24px;transition:border-color .12s,background .12s;display:flex}.quick-action-card:hover{border-color:var(--brand-border);background:var(--brand-soft)}.quick-action-icon{background:var(--brand-soft);width:56px;height:56px;color:var(--brand);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.quick-action-card strong{color:var(--title);font-size:.98rem;display:block}.quick-action-card small{color:var(--muted);font-size:.78rem}.todo-badge{background:var(--brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:.82rem;font-weight:800;display:inline-flex}.todo-badge.warn{background:var(--orange)}.qual-banner{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding:32px;display:flex}.qual-banner.approved{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);border-color:#bbf7d0}.qual-banner.pending{background:linear-gradient(135deg,#fff 0%,#fffbeb 100%);border-color:#fde68a}.qual-banner.rejected{background:linear-gradient(135deg,#fff 0%,#fef2f2 100%);border-color:#fecaca}.qual-banner.draft{border-color:#e2e8f0}.qual-banner .qual-banner-status{color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:.8rem;font-weight:700;display:inline-flex}.qual-banner h2{color:var(--title);margin:0 0 6px;font-size:28px;font-weight:800}.qual-banner .qual-banner-meta{color:var(--muted);font-size:.88rem}.qual-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.qual-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:28px;display:flex}.qual-card.expiring{background:#fffaf5;border-color:#fed7aa}.qual-card.missing{border-color:#e2e8f0}.qual-card .qual-card-head{align-items:center;gap:12px;display:flex}.qual-card .qual-card-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.qual-card h3{color:var(--title);margin:0;font-size:1rem;font-weight:800}.qual-card .qual-file{color:var(--text);font-size:.85rem}.qual-card .qual-file-hint{color:var(--muted-2);font-size:.75rem}.bid-countdown{z-index:20;border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:16px;margin-bottom:12px;padding:10px 16px;display:flex;position:sticky;top:0}.bid-countdown .countdown-label{color:#b91c1c;font-size:.8rem;font-weight:700}.bid-countdown .countdown-digits{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--red);letter-spacing:.02em;font-size:32px;font-weight:800;line-height:1}.bid-countdown .countdown-note{color:#991b1b;margin-left:auto;font-size:.76rem}.bid-layout{grid-template-columns:1fr 240px;align-items:stretch;gap:12px;display:grid}.bid-operations,.bid-ranking{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:16px;display:flex}.bid-operations{background:#f8fafc}.bid-facts-row td{white-space:nowrap;background:#eef2f7}.bid-input-panel{border:1px solid var(--brand-border);background:#fff;border-radius:8px;flex-direction:column;padding:14px;display:flex;box-shadow:0 1px #0f172a0a}.bid-input-title{color:var(--brand);margin:0 0 6px;font-size:.74rem;font-weight:700}.bid-input-panel .bid-stepper{margin:0}.bid-round-label{margin-right:10px}.bid-price-hero{margin:8px 0 18px}.bid-stepper{align-items:stretch;gap:10px;margin:16px 0;display:flex}.bid-stepper button{border:1px solid var(--border-strong);width:64px;min-height:44px;color:var(--title);cursor:pointer;background:#fff;border-radius:12px;font-size:1.2rem;font-weight:700;transition:background .12s,border-color .12s}.bid-stepper button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.bid-stepper button:disabled{color:var(--muted-2);cursor:not-allowed}.bid-stepper input{text-align:center;border:1px solid var(--border-strong);min-width:0;min-height:44px;font-family:var(--font-mono);color:var(--title);border-radius:12px;flex:1;font-size:1.15rem;font-weight:800}.bid-preview-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0;display:grid}.bid-preview{background:var(--brand-soft);border:1px solid var(--brand-border);text-align:center;border-radius:12px;padding:10px}.bid-preview .preview-label{color:var(--muted);font-size:.72rem;font-weight:700}.bid-preview .preview-value{color:var(--brand);font-size:1.05rem;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.phase-timeline-compact{margin:4px 0 10px;padding:10px 14px}.phase-timeline-compact .phase-current-title{margin:0 0 2px}.phase-timeline-compact .phase-current-desc{font-size:.8rem}.bid-rules-note{color:#64748b;margin:0 0 10px;font-size:.78rem}.bid-lot-failed{border-color:var(--red)!important}.ranking-summary-line{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;padding:0 0 10px;display:flex}.ranking-lot-name{color:var(--title);font-size:.92rem;font-weight:800}.ranking-min-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.84rem}.lot-facts{grid-template-columns:repeat(2,1fr);gap:6px 24px;display:grid}.lot-facts>div{justify-content:space-between;gap:8px;display:flex}.lot-facts span{color:var(--muted);white-space:nowrap;font-size:.78rem}.lot-facts strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.84rem}@media (width<=1100px){.bid-layout,.workbench-header{grid-template-columns:1fr}}@media (width<=768px){.workbench-stats{grid-template-columns:repeat(3,1fr);gap:10px}.workbench-stat{padding:16px}.workbench-stat .hero-metric-value,.bid-countdown .countdown-digits{font-size:30px}.bid-preview-grid{grid-template-columns:1fr}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}.supplier-nav-item{align-items:center;gap:14px;min-height:52px;padding:11px 14px;line-height:1.4;display:flex}.supplier-nav-icon{background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.supplier-nav-icon svg{display:block}.supplier-nav-label{letter-spacing:.01em;flex:1;font-size:.92rem;font-weight:600}.supplier-nav-active .supplier-nav-label{font-weight:700}.supplier-sidebar-brand{align-items:center;gap:12px;padding:22px 20px 18px;display:flex}.supplier-sidebar-brand .brand-icon{background:var(--brand-soft);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.brand-name{color:var(--title);margin:0;font-size:1rem;font-weight:800;line-height:1.3}.brand-sub{color:var(--muted);margin:2px 0 0;font-size:.75rem;line-height:1.3}.bid-stepper button{border:1px solid var(--border-strong);width:64px;min-height:56px;color:var(--title);cursor:pointer;background:#fff;border-radius:12px;flex-shrink:0;font-size:1.4rem;font-weight:700;transition:all .15s}.bid-stepper button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.bid-stepper button:active:not(:disabled){transform:scale(.96)}.bid-stepper input{text-align:center;border:2px solid var(--border-strong);min-width:0;min-height:56px;font-family:var(--font-mono);color:var(--title);background:#fff;border-radius:12px;flex:1;font-size:1.5rem;font-weight:800;transition:border-color .15s}.bid-stepper input:focus{border-color:var(--brand);outline:none}.bid-operations .panel-heading,.bid-ranking .panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.bid-operations .panel-heading h2,.bid-ranking .panel-heading h2{color:var(--title);margin:0;font-size:1.35rem;font-weight:800}.bid-price-hero{text-align:center;margin:8px 0;padding:12px 0}.bid-price-hero .hero-metric-value{margin:6px 0}.price-rail{flex-wrap:wrap;gap:20px;display:flex}.price-rail>div{flex-direction:column;gap:4px;display:flex}.price-rail span{color:var(--muted);font-size:.74rem;font-weight:600}.price-rail strong{color:var(--title);font-size:1.15rem;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ranking-table{border-collapse:collapse;width:100%}.ranking-table thead th{color:var(--muted);text-transform:none;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;background:#f8fafc;padding:12px 14px;font-size:.78rem;font-weight:700}.ranking-table tbody td{border-bottom:1px solid #f1f5f9;padding:12px 14px;font-size:.88rem;line-height:1.6}.ranking-table tbody tr:nth-child(2n){background:#fafbfc}.ranking-table tbody tr:hover{background:#f0f7ff}.ranking-table .is-self td{box-shadow:inset 3px 0 0 var(--brand);background:var(--brand-soft)!important}.ranking-table .is-self td:first-child{border-radius:8px 0 0 8px}.ranking-table .is-self td:last-child{border-radius:0 8px 8px 0}.quick-action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:16px;padding:24px;transition:all .15s;display:flex}.quick-action-card:hover{border-color:var(--brand-border);background:var(--brand-soft);transform:translateY(-1px)}.quick-action-icon{background:var(--brand-soft);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.workbench-welcome{border-radius:var(--radius);color:#fff;padding:32px;background:linear-gradient(135deg,#1d4ed8 0%,#1e3a8a 100%)!important}.workbench-welcome .welcome-eyebrow{letter-spacing:.16em;color:#bfdbfe;margin:0;font-size:.72rem;font-weight:700}.workbench-welcome h2{color:#fff;margin:10px 0 8px;font-size:28px;font-weight:800;line-height:1.25}.workbench-welcome p{color:#dbeafe;margin:0;font-size:.9rem;line-height:1.5}.workbench-stats{grid-template-columns:1fr;gap:16px;display:grid}.workbench-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:24px}.workbench-stat .hero-metric-value{margin:0;font-size:42px}.card-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:28px}.card-section-title{color:var(--title);margin:0 0 4px;font-size:1.05rem;font-weight:800}.card-section-sub{color:var(--muted);margin:0 0 18px;font-size:.85rem}.primary-action{cursor:pointer;font-weight:700;transition:background .15s;background:var(--brand)!important;color:#fff!important;border:none!important;border-radius:12px!important}.primary-action:hover:not(:disabled){background:var(--brand-strong)!important}.primary-action:disabled{opacity:.5;cursor:not-allowed}.dialog-actions .primary-action,.dialog-actions .secondary-action,.modal-actions .primary-action,.modal-actions .secondary-action{border-radius:8px!important}.bid-form label{margin-bottom:16px;display:block}.bid-form label>span{color:var(--text);margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.bid-form select,.bid-form input[type=number]{border:1px solid var(--border-strong);width:100%;font-size:.95rem;font-family:var(--font-ui);color:var(--title);background:#fff;border-radius:10px;padding:10px 14px}.bid-form select:focus,.bid-form input:focus{border-color:var(--brand);outline:none}.money-input{border:1px solid var(--border-strong);border-radius:10px;align-items:center;display:flex;overflow:hidden}.money-input span{color:var(--muted);padding:0 12px;font-weight:700}.money-input input{font-size:.95rem;font-family:var(--font-mono);border:none;flex:1;padding:10px 14px 10px 0}.money-input input:focus{outline:none}.lot-facts{background:#f8fafc;border-radius:10px;flex-wrap:wrap;gap:24px;padding:16px 20px;display:flex}.lot-facts>div{flex-direction:column;gap:4px;display:flex}.lot-facts span{color:var(--muted);font-size:.74rem;font-weight:600}.lot-facts strong{color:var(--title);font-size:1.1rem;font-weight:800}.panel-title{color:var(--title);letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:800}.bid-countdown .countdown-label{color:#b91c1c;font-size:1.1rem;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0}.demo-status{color:var(--muted);background:#f1f5f9;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700}.demo-status.status-locked{color:var(--green);background:#f0fdf4}.bid-operations .bid-form{margin-top:8px}.supplier-main{background:#f7f9fc;padding:28px 40px 96px}.supplier-sidebar{width:300px;min-height:100vh;box-shadow:none;background:#fff;border-right:1px solid #e5e9f0}.supplier-sidebar-brand{border-bottom:1px solid #eef1f5;min-height:96px;padding:24px 24px 20px}.supplier-sidebar-brand .brand-icon{background:0 0;border-radius:0;width:44px;height:44px}.supplier-sidebar-brand-mark{object-fit:contain;width:36px;height:36px;display:block}.supplier-sidebar-brand .brand-name{color:#0b2a78;font-size:1.08rem}.supplier-sidebar-brand .brand-sub{color:#64748b}.supplier-nav{gap:8px;padding:22px 20px}.supplier-nav-item{color:#536174;border-radius:6px;min-height:50px;padding:8px 14px}.supplier-nav-item:hover{color:#0b2a78;background:#eff4ff}.supplier-nav-active,.supplier-nav-active:hover{color:#fff;box-shadow:none;background:#082c86}.supplier-nav-icon{background:0 0;border-radius:9px;width:36px;height:36px}.supplier-nav-item:hover .supplier-nav-icon{background:0 0}.supplier-nav-active .supplier-nav-icon,.supplier-nav-active:hover .supplier-nav-icon{color:#fff;background:0 0}.supplier-nav-label{font-size:.96rem;font-weight:600}.supplier-sidebar-footer{padding:16px 20px 24px}.supplier-warning-bar{margin:-8px 0 14px;padding:0 2px}.supplier-warning-bar .demo-warning{color:#a16207;font-size:.76rem}.supplier-main .page-header{align-items:flex-start;margin-bottom:24px}.supplier-main .page-header h1{color:#0f172a;font-size:32px}.supplier-main .page-subtitle{color:#64748b}.supplier-main .page-action{align-self:flex-start}.workbench-header{margin-bottom:20px;display:block}.workbench-welcome{color:#0f172a;border:0;border-radius:0;padding:0 0 20px;background:0 0!important}.workbench-welcome .welcome-eyebrow{display:none}.workbench-welcome h2{color:#0f172a;margin:0 0 8px;font-size:28px}.workbench-welcome p{color:#64748b}.workbench-welcome .status-badge{margin-top:8px}.workbench-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workbench-stat{text-align:left;border-radius:8px;min-height:132px;padding:22px 24px}.workbench-stat .hero-metric-value{font-size:42px}.quick-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.quick-action-card{border-radius:8px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:128px;padding:20px}.quick-action-icon{border-radius:10px;width:48px;height:48px}.workbench-lower-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;gap:20px;display:grid}.workbench-lower-grid>.card-section{min-width:0;margin-bottom:0}.qualification-page-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.qual-banner{box-shadow:none;border-radius:8px;margin-bottom:22px;padding:24px 28px}.qual-banner.approved{background:#fff;border-left:4px solid #10b981}.qual-banner.pending{background:#fff;border-left:4px solid #f59e0b}.qual-banner.rejected{background:#fff;border-left:4px solid #ef4444}.qual-banner.draft{background:#fff;border-left:4px solid #94a3b8}.qual-banner h2{font-size:22px}.qual-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.qual-card{min-width:0;min-height:290px;box-shadow:none;border-radius:8px;padding:22px}.qual-card.ok{background:#fff;border-color:#d6e9e0}.qual-card.missing{background:#fff;border-color:#e2e8f0}.qual-card .qual-card-icon{border-radius:8px;width:42px;height:42px}.qual-card .upload-zone{flex-direction:column;justify-content:center;min-height:60px;display:flex!important}:is(.review-page:has(.bid-layout)>.monitor-section,.review-page:has(.bid-layout)>.work-panel){display:none}.bid-countdown{background:#fff;border:0;justify-content:flex-end;margin-bottom:10px;padding:0 0 18px}.bid-countdown .countdown-label{color:#ef4444;font-family:var(--font-ui)}.bid-countdown .countdown-digits{color:#ef4444;font-size:46px}.bid-countdown .countdown-note{color:#94a3b8}.bid-layout{grid-template-columns:minmax(0,1fr) minmax(300px,340px);align-items:start;gap:12px}.bid-ranking{border-radius:8px 0 0 8px;order:1;padding:24px 28px}.bid-operations{background:#f5f6f8;border-radius:0 8px 8px 0;order:2;padding:24px 28px}.bid-ranking .panel-heading h2,.bid-operations .panel-heading h2{font-size:21px}.ranking-table th{text-transform:none;letter-spacing:0}.ranking-table td{padding-top:13px;padding-bottom:13px}.ranking-table .is-self td{box-shadow:none;color:#0b2a78;font-weight:700;background:#e8efff!important}.bid-price-hero .hero-metric-value{font-size:36px}.bid-stepper input{background:#fff;border-color:#0b2a78}.bid-layout--ranking-first>.bid-ranking{order:0;grid-column:1;min-width:0}.bid-layout--ranking-first>.bid-input-panel{order:1;grid-column:2;align-self:start;width:100%;min-width:0;height:fit-content;min-height:0;padding:16px}.bid-layout--ranking-first>.bid-input-panel .bid-stepper{gap:8px;margin:8px 0}.bid-layout--ranking-first>.bid-input-panel .bid-stepper button,.bid-layout--ranking-first>.bid-input-panel .bid-stepper input{min-height:48px}.bid-layout--ranking-first>.bid-input-panel .bid-stepper button{width:72px;font-size:1.05rem}.bid-layout--ranking-first>.bid-input-panel .bid-stepper input{font-size:1.2rem}.ranking-table .bid-facts-header-row th,.ranking-table .ranking-fields-row th{background:#f8fafc}.ranking-table .bid-facts-row td{background:#eef2f7}.ranking-table .is-self td{background:#dfe8fb!important}.bid-layout--ranking-first>.bid-input-panel--balanced{min-height:236px;padding:0;overflow:hidden}.bid-input-panel--balanced .bid-input-title{background:#f8fafc;border-bottom:1px solid #e2e8f0;margin:0;padding:15px 16px 12px}.bid-layout--ranking-first>.bid-input-panel--balanced .bid-stepper{margin:16px 16px 12px}.bid-lot--completed{margin-top:16px}.bid-layout--completed{align-items:stretch}.bid-final-panel{flex-direction:column;min-height:236px;display:flex}.bid-final-facts{margin:0;padding:0}.bid-final-facts>div{border-bottom:1px solid #edf1f7;grid-template-columns:42% 1fr;display:grid}.bid-final-facts dt,.bid-final-facts dd{margin:0;padding:11px 16px}.bid-final-facts dt{color:#64748b;background:#f8fafc;font-weight:600}.bid-final-facts dd{color:#334155;font-weight:600}.bid-final-panel .form-note{margin-top:auto}.bid-final-action,.bid-input-panel--balanced .inline-error,.bid-input-panel--balanced .form-note{margin:0 16px 16px}.bid-submit-bar{z-index:2;background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:16px 22px;display:flex;position:sticky;bottom:0}.bid-submit-bar strong{color:#0f172a}.bid-submit-bar p{color:#94a3b8;margin:5px 0 0;font-size:.78rem}.bid-submit-all{width:auto;min-width:240px;min-height:48px;font-size:1rem}.bid-reference-header{align-items:flex-start;min-height:76px}.bid-reference-header h1{max-width:720px}.bid-reference-header .page-subtitle:first-child{font-family:var(--font-mono);color:#64748b}.bid-reference-input-label{color:#64748b;font-weight:700}.bid-submit-bar{box-shadow:0 -4px 16px #0f172a0a}.qualification-history{overflow:hidden}.qualification-history-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.qualification-history-heading .card-section-title,.qualification-history-heading .card-section-sub{margin-bottom:0}.qualification-history-filter{color:var(--brand);white-space:nowrap;font-size:.82rem;font-weight:700}.qualification-history-table-wrap{margin:0 -28px -28px;overflow-x:auto}.qualification-history-table{border-collapse:collapse;color:#334155;width:100%;min-width:820px;font-size:.82rem}.qualification-history-table th,.qualification-history-table td{text-align:left;white-space:nowrap;border-top:1px solid #e2e8f0;padding:15px 18px}.qualification-history-table th{color:#64748b;background:#f8fafc;font-size:.74rem;font-weight:700}.qualification-history-table a{color:#0b2a78;font-weight:700}.qualification-history-status{border-radius:4px;padding:4px 8px;font-size:.74rem;font-weight:700;display:inline-flex}.qualification-history-status.archived{color:#64748b;background:#e2e8f0}.qualification-history-status.editing{color:#c47b10;background:#fff7df}@media (width<=1100px){.qual-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-lower-grid,.bid-layout{grid-template-columns:1fr}.bid-ranking,.bid-operations{border-radius:8px}.bid-operations{order:1}.bid-ranking{order:2}.bid-layout--input-first-on-narrow{grid-template-columns:1fr}.bid-layout--input-first-on-narrow>.bid-input-panel{order:0;grid-column:1}.bid-layout--input-first-on-narrow>.bid-ranking{order:1;grid-column:1}}@media (width<=768px){.supplier-main{padding:20px 16px 84px}.supplier-sidebar{width:100%;min-height:0}.supplier-sidebar-brand{min-height:0;padding:10px 12px}.supplier-nav{padding:6px 8px}.supplier-sidebar-footer{display:none}.supplier-main .page-header h1{font-size:27px}.workbench-stats,.quick-actions-grid,.qual-card-grid{grid-template-columns:1fr}.qualification-page-actions{width:100%}.qualification-page-actions>*{flex:1}.bid-countdown{flex-wrap:wrap;justify-content:space-between;gap:8px}.bid-countdown .countdown-digits{font-size:36px}.bid-submit-bar{flex-direction:column;align-items:stretch}.bid-submit-all{width:100%}.qualification-history-table-wrap{margin:0 -20px -20px}.qualification-history-table th,.qualification-history-table td{padding-left:14px;padding-right:14px}}.supplier-main:has(.qual-card-grid){padding-top:22px}.supplier-main:has(.qual-card-grid) .page-header{margin-bottom:16px}.supplier-main:has(.qual-card-grid) .qual-banner{margin-bottom:16px;padding:18px 22px}.supplier-main:has(.qual-card-grid) .qual-banner h2{font-size:21px}.supplier-main:has(.qual-card-grid) .card-section{margin-bottom:16px;padding:20px 22px}.supplier-main:has(.qual-card-grid) .card-section-title{margin-bottom:4px}.supplier-main:has(.qual-card-grid) .batch-card-meta{gap:8px 18px}.supplier-main:has(.qual-card-grid) .qual-card-grid{gap:12px}.supplier-main:has(.qual-card-grid) .qual-card{gap:10px;min-height:226px;padding:16px}.supplier-main:has(.qual-card-grid) .qual-card .qual-card-icon{width:36px;height:36px}.supplier-main:has(.qual-card-grid) .qual-card h3{font-size:.95rem}.supplier-main:has(.qual-card-grid) .id-card-slots{gap:8px;margin-top:6px}.supplier-main:has(.qual-card-grid) .id-card-slot{padding:8px 10px}.supplier-main:has(.qual-card-grid) .qualification-page-actions{gap:8px}.qual-card-id{grid-column:span 2}.id-card-slots{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.id-card-slot{border:1px solid var(--border);background:#fafbfc;border-radius:10px;padding:10px 12px}.id-card-slot-label{color:var(--text);margin:0 0 8px;font-size:.78rem;font-weight:700}@media (width<=768px){.qual-card-id{grid-column:span 1}.id-card-slots{grid-template-columns:1fr}}.supplier-brand-header{background:#fff;border:1px solid #e5e9f0;border-left:4px solid #e60012;border-radius:10px;align-items:center;gap:28px;margin-bottom:18px;padding:22px 26px;display:flex}.supplier-brand-logo{width:clamp(240px,27vw,360px);height:auto;display:block}.supplier-brand-copy{border-left:1px solid #e5e9f0;min-width:0;padding-left:28px}.supplier-brand-copy h1{color:#172033;margin:0 0 8px;font-size:clamp(24px,2vw,32px);line-height:1.25}.supplier-brand-copy p{color:#64748b;margin:0;font-size:.95rem}.supplier-main .workbench-header{background:#fff;border:1px solid #e5e9f0;border-radius:10px;margin-bottom:20px;padding:20px 24px}.supplier-main .workbench-welcome{padding:0}.supplier-main .workbench-welcome h2{font-size:22px}.workbench-status{color:#64748b;align-items:center;gap:10px;margin-top:14px;font-size:.8rem;display:flex}@media (width<=768px){.supplier-brand-header{flex-direction:column;align-items:flex-start;gap:18px;padding:20px}.supplier-brand-logo{width:min(100%,320px)}.supplier-brand-copy{border-top:1px solid #e5e9f0;border-left:0;width:100%;padding:16px 0 0}.supplier-brand-copy h1{font-size:24px}}.price-import-panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-top:20px;padding:20px}.price-import-panel__intro{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.price-import-panel__intro h3,.import-preview h4{color:var(--title);margin:0}.price-import-panel__intro p{max-width:720px;color:var(--muted);margin:6px 0 0;font-size:.84rem}.price-import-file-field{gap:7px;margin-top:18px;display:grid}.price-import-file-field label{color:var(--text);font-size:.84rem;font-weight:700}.price-import-file-field input[type=file]{border:1px solid var(--border-strong);background:#fff;border-radius:6px;max-width:560px;padding:9px}.price-import-file-field small,.import-progress,.import-apply-actions span{color:var(--muted);font-size:.76rem}.import-preview{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.import-summary{grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin:14px 0 16px;padding:0;list-style:none;display:grid}.import-summary__item{border:1px solid var(--border);color:var(--text);background:#f8fafc;border-radius:7px;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px;font-size:.8rem;display:flex}.import-summary__item.is-importable{border-left:4px solid var(--green)}.import-summary__item.is-conflict{border-left:4px solid var(--orange)}.import-summary__item.is-error{border-left:4px solid var(--red)}.import-summary__item.is-locked,.import-summary__item.is-unchanged{border-left:4px solid var(--gray)}.import-overwrite-option{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:.84rem;font-weight:700;display:inline-flex}.import-overwrite-option input{width:17px;height:17px;margin:0}.import-result-table-wrap{border:1px solid var(--border);border-radius:8px;max-width:100%;margin-top:16px;overflow-x:auto}.import-result-table-wrap:focus{outline:none;box-shadow:0 0 0 3px #1d4ed81f}.import-result-table{border-collapse:collapse;width:100%;min-width:1180px;font-size:.78rem}.import-result-table th,.import-result-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.import-result-table th{color:var(--muted);white-space:nowrap;background:#f8fafc}.import-result-table tbody tr:last-child td{border-bottom:0}.import-status{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:2px 7px;font-weight:700;display:inline-flex}.import-status.is-importable{color:#166534;background:#f0fdf4}.import-status.is-conflict{color:#9a3412;background:#fff7ed}.import-status.is-error{color:#b91c1c;background:#fef2f2}.import-apply-actions{align-items:center;gap:12px;margin-top:16px;display:flex}.import-application-notice{color:#166534;margin:10px 0 0;font-size:.82rem;font-weight:600}.supplier-price-entry{max-width:100%;margin:16px 0}.supplier-lock-browser-note{color:var(--muted);margin:0 0 12px;font-size:.76rem}.supplier-price-entry .price-import-panel{margin:0 0 16px}.supplier-price-table{min-width:max-content}.supplier-review-cell{z-index:1;min-width:210px;max-width:260px;box-shadow:-1px 0 0 var(--border), -8px 0 16px #0f172a0d;background:#fff;position:sticky;right:0}.supplier-price-table thead .supplier-review-cell{z-index:2;background:#f8fafc}.supplier-price-table tbody tr:nth-child(2n) .supplier-review-cell{background:#f8fafc}.data-table .supplier-price-row.is-locked td,.data-table .supplier-price-row.is-locked:hover td,.data-table .supplier-price-row.is-locked .supplier-review-cell{background:#eef8f1}.supplier-review-status{color:#9a6700;margin-bottom:8px;font-size:.76rem;font-weight:700;display:block}.supplier-review-status.is-locked{color:#166534}.supplier-review-action{white-space:nowrap;width:100%}.supplier-lock-error{color:var(--red);margin:8px 0 0;font-size:.74rem;line-height:1.5}.supplier-lock-notice{color:#854d0e;background:#fffbeb;border:1px solid #f4d58d;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:.82rem;font-weight:600}@media (width<=768px){.price-import-panel{padding:16px}.price-import-panel__intro{flex-direction:column;align-items:stretch}.price-import-panel__intro .btn-secondary{width:100%}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.import-apply-actions{flex-direction:column;align-items:stretch}.import-apply-actions .btn-primary{width:100%}.supplier-review-cell{min-width:180px;max-width:210px}}
