:root{--ks-primary:#0c71c3;--ks-primary-dark:#0a5a9e;--ks-secondary:#242d47;--ks-accent:#f4a020;--ks-bg:#f8fafc;--ks-surface:#fff;--ks-border:#e2e8f0;--ks-text:#1a1a2e;--ks-text-muted:#4a5568;--ks-success:#38a169;--ks-warning:#d69e2e;--ks-error:#e53e3e;--ks-radius:6px;--ks-shadow:0 2px 8px #0000000d;--ks-shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--ks-bg);color:var(--ks-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}a{color:var(--ks-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border-radius:var(--ks-radius);border:none;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;transition:background .15s,opacity .15s}button.primary{background:var(--ks-primary);color:#fff}button.primary:hover{background:var(--ks-primary-dark)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--ks-primary);border:1.5px solid var(--ks-primary);background:0 0}button.secondary:hover{background:#e8f4f8}.app-shell{flex-direction:column;min-height:100vh;display:flex}.auth-bar{border-bottom:1px solid var(--ks-border);z-index:100;height:48px;box-shadow:var(--ks-shadow);background:#fffffff7;justify-content:flex-end;align-items:center;gap:1rem;padding:0 2rem;display:flex;position:sticky;top:0}.auth-bar-label{color:var(--ks-text-muted);font-size:.82rem}.auth-bar .cta{background:var(--ks-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.35rem 1rem;font-size:.85rem;font-weight:600}.auth-bar .cta:hover{background:var(--ks-primary-dark)}.auth-bar .cta.secondary{color:var(--ks-primary);border:1.5px solid var(--ks-primary);background:0 0}.auth-bar .cta.secondary:hover{background:#e8f4f8}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.review-main{padding-top:1.5rem}.review-breadcrumb{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.review-back-btn{border:1px solid var(--ks-border);color:var(--ks-text-muted);cursor:pointer;background:0 0;border-radius:7px;padding:.35rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s}.review-back-btn:hover{color:var(--ks-text);background:#f1f5f9}.review-breadcrumb-file{color:var(--ks-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-size:.85rem;font-weight:500;overflow:hidden}.tier-banner{color:#7b5500;background:#fff8e1;border:1px solid #f4a020;border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.3rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.tier-badge{background:var(--ks-accent);color:#fff;border-radius:12px;padding:.1rem .5rem;font-size:.75rem}.page-header{margin-bottom:2rem}.page-header h1{letter-spacing:-.5px;margin-bottom:.4rem;font-size:1.75rem;font-weight:800}.page-header p{color:var(--ks-text-muted);font-size:.95rem}.steps{border-radius:var(--ks-radius);border:1px solid var(--ks-border);background:var(--ks-surface);gap:0;margin-bottom:2rem;display:flex;overflow:hidden}.step{text-align:center;color:var(--ks-text-muted);border-right:1px solid var(--ks-border);flex:1;padding:.75rem 1rem;font-size:.82rem;font-weight:600;position:relative}.step:last-child{border-right:none}.step.active{background:var(--ks-primary);color:#fff}.step.done{color:var(--ks-primary);background:#e8f4f8}.step-num{opacity:.75;font-size:.7rem;font-weight:400;display:block}.workspace-nav{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--ks-border);background:#ffffffeb;border-radius:10px;flex-wrap:wrap;gap:.5rem;margin:-.75rem 0 1rem;padding:.45rem;display:flex;position:sticky;top:52px}.workspace-nav-btn{border:1px solid var(--ks-border);color:var(--ks-text);cursor:pointer;background:#fff;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:600}.workspace-nav-btn:hover{border-color:var(--ks-primary);color:var(--ks-primary);background:#f7fffb}.signin-wall{text-align:center;border:2px dashed var(--ks-border);border-radius:var(--ks-radius);background:var(--ks-surface);padding:3rem 2rem}.signin-wall-icon{margin-bottom:1rem;font-size:2.5rem}.signin-wall h2{margin-bottom:.6rem;font-size:1.35rem;font-weight:700}.signin-wall p{color:var(--ks-text-muted);max-width:36ch;margin:auto auto 1.5rem;font-size:.92rem}.signin-wall-cta{background:var(--ks-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.7rem 2rem;font-size:1rem;font-weight:600}.signin-wall-cta:hover{background:var(--ks-primary-dark)}.signin-wall-note{color:var(--ks-text-muted);margin-top:-.5rem;margin-bottom:0;font-size:.8rem}.modal-backdrop{z-index:9000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.pricing-modal{background:#fff;border-radius:16px;width:100%;max-width:460px;padding:2rem;box-shadow:0 12px 48px #00000038}.pricing-modal-header{text-align:center;margin-bottom:1.5rem}.pricing-modal-icon{margin-bottom:.5rem;font-size:2rem}.pricing-modal-header h2{margin:0 0 .4rem;font-size:1.4rem;font-weight:800}.pricing-modal-header p{color:var(--ks-text-muted);margin:0;font-size:.9rem}.pricing-modal-summary{background:var(--ks-surface);border:1px solid var(--ks-border);border-radius:10px;margin-bottom:1rem;padding:1rem 1.25rem}.pricing-modal-row{color:var(--ks-text-muted);border-bottom:1px solid var(--ks-border);justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.9rem;display:flex}.pricing-modal-row:last-child{border-bottom:none}.pricing-modal-row strong{color:var(--ks-text);font-size:.95rem}.pricing-modal-row.total{margin-top:.25rem;padding-top:.6rem}.pricing-modal-row.total span{color:var(--ks-text);font-size:.95rem;font-weight:600}.pricing-modal-row.total strong{color:var(--ks-primary);font-size:1.3rem;font-weight:800}.pricing-modal-tiers{margin-bottom:1.25rem}.tier-row{color:var(--ks-text-muted);border-radius:6px;justify-content:space-between;padding:.25rem .5rem;font-size:.82rem;transition:background .1s;display:flex}.tier-row.active{color:var(--ks-primary);background:#e8f5e9;font-weight:600}.tier-note{text-align:center;color:var(--ks-text-muted);margin-top:.5rem;font-size:.78rem}.pricing-modal-cta{border-radius:10px;width:100%;margin-bottom:.6rem;padding:.85rem 1.5rem;font-size:1rem;font-weight:700}.pricing-modal-cancel{width:100%;font-size:.875rem}.upload-summary{background:var(--ks-surface);border:1px solid var(--ks-border);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow);margin-bottom:1.5rem;padding:1.5rem}.summary-row{flex-wrap:wrap;gap:2rem;margin-bottom:1.25rem;display:flex}.summary-stat{flex-direction:column;gap:.2rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ks-text-muted);font-size:.78rem;font-weight:600}.stat-value{color:var(--ks-text);font-size:1.4rem;font-weight:800}.stat-value.format{color:var(--ks-primary);background:#e8f4f8;border-radius:6px;padding:.15rem .6rem;font-size:1.1rem;display:inline-block}.summary-warnings{margin-bottom:1rem}.warning-item{border-left:3px solid var(--ks-accent);color:#7b5500;background:#fff8e1;border-radius:0 4px 4px 0;padding:.5rem .75rem;font-size:.85rem}.summary-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.summary-note{color:var(--ks-text-muted);font-size:.8rem}.info-popup-wrap{align-items:center;display:inline-flex;position:relative}.info-btn{width:1.15rem;height:1.15rem;color:var(--ks-text-muted,#64748b);cursor:pointer;vertical-align:middle;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:.2rem;padding:0;font-size:.78rem;line-height:1;transition:color .15s,background .15s;display:inline-flex}.info-btn:hover,.info-btn:focus-visible{color:var(--ks-primary,#1a6b3c);outline:2px solid var(--ks-primary,#1a6b3c);outline-offset:1px;background:#f0fdf4}.info-overlay{z-index:199;position:fixed;inset:0}.info-popup{z-index:200;background:var(--ks-surface,#fff);border:1px solid var(--ks-border,#e2e8f0);border-radius:10px;width:280px;max-width:min(280px,100vw - 2rem);position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 24px #0000001f,0 1px 4px #0000000f}@media (width<=400px){.info-popup{left:auto;right:0}}.info-popup-header{border-bottom:1px solid var(--ks-border,#e2e8f0);justify-content:space-between;align-items:center;padding:.65rem .9rem .5rem;display:flex}.info-popup-header strong{color:var(--ks-text,#1e293b);font-size:.82rem;font-weight:700}.info-close{cursor:pointer;color:var(--ks-text-muted,#64748b);background:0 0;border:none;border-radius:4px;padding:.1rem .25rem;font-size:.75rem;line-height:1}.info-close:hover{color:var(--ks-text,#1e293b);background:var(--ks-bg,#f8fafc)}.info-popup-body{color:var(--ks-text,#1e293b);padding:.65rem .9rem .75rem;font-size:.8rem;line-height:1.55}.info-popup-body p{margin:0 0 .5rem}.info-popup-body p:last-child{margin-bottom:0}.info-popup-body ul{margin:.35rem 0 .5rem 1rem;padding:0}.info-popup-body li{margin-bottom:.2rem}.info-popup-body strong{font-weight:600}.info-popup-body .info-tip{border-left:3px solid var(--ks-primary,#1a6b3c);color:#166534;background:#f0fdf4;border-radius:0 4px 4px 0;margin-top:.6rem;padding:.4rem .55rem;font-size:.76rem}.field-editor{border:1.5px solid var(--ks-primary);background:#f0f7ff;border-radius:6px;margin:.25rem 0;padding:.75rem 1rem}.fe-header-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.75rem;display:flex}.fe-tag-group,.fe-ind-group{flex-direction:column;gap:.2rem;display:flex}.fe-tag-group label,.fe-ind-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--ks-text-muted);font-size:.68rem;font-weight:600}.fe-tag-input{width:3.5rem;color:var(--ks-primary);border:1px solid var(--ks-border);border-radius:4px;padding:.3rem .4rem;font-family:monospace;font-size:.9rem;font-weight:700}.fe-ind-input{text-align:center;border:1px solid var(--ks-border);border-radius:4px;width:2.2rem;padding:.3rem .4rem;font-family:monospace;font-size:.9rem}.fe-actions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.fe-btn-save{background:var(--ks-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.3rem .75rem;font-size:.8rem;font-weight:600}.fe-btn-save:hover{opacity:.9}.fe-btn-cancel{color:var(--ks-text-muted);border:1px solid var(--ks-border);cursor:pointer;background:0 0;border-radius:4px;padding:.3rem .75rem;font-size:.8rem}.fe-btn-delete{color:#c0392b;cursor:pointer;background:0 0;border:1px solid #f5c6cb;border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.fe-btn-delete:hover{background:#fff0f0}.fe-subfields{flex-direction:column;gap:.4rem;display:flex}.fe-sf-row{align-items:center;gap:.4rem;display:flex}.fe-sf-dagger{color:var(--ks-accent);flex-shrink:0;font-family:monospace;font-size:.9rem;font-weight:700}.fe-sf-label{color:var(--ks-text-muted);flex-shrink:0;width:3rem;font-size:.75rem}.fe-sf-code{text-align:center;border:1px solid var(--ks-border);border-radius:4px;flex-shrink:0;width:2.2rem;padding:.25rem .3rem;font-family:monospace;font-size:.85rem}.fe-sf-value{border:1px solid var(--ks-border);border-radius:4px;flex:1;padding:.25rem .5rem;font-family:monospace;font-size:.85rem}.fe-sf-value.full{flex:1}.fe-sf-remove{color:var(--ks-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .2rem;font-size:1rem;line-height:1}.fe-sf-remove:hover{color:#c0392b}.fe-sf-remove:disabled{opacity:.3;cursor:default}.fe-add-sf{border:1px dashed var(--ks-border);color:var(--ks-text-muted);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;margin-top:.1rem;padding:.25rem .6rem;font-size:.78rem}.fe-add-sf:hover{border-color:var(--ks-primary);color:var(--ks-primary)}.koha-bulk-editor{border:1px solid var(--ks-border);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow);margin-bottom:1.5rem;overflow:hidden}.kbe-toggle{cursor:pointer;width:100%;color:var(--ks-text);text-align:left;background:#f7fafc;border:none;border-bottom:1px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.88rem;font-weight:600;display:flex}.kbe-toggle:hover{background:#eef5ff}.kbe-toggle.open{border-bottom-color:var(--ks-border);color:var(--ks-primary);background:#eef5ff}.kbe-dot{background:var(--ks-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.kbe-chevron{color:var(--ks-text-muted);margin-left:auto;font-size:.7rem}.kbe-panel{background:var(--ks-surface);padding:1.25rem 1.25rem 1rem}.kbe-desc{color:var(--ks-text-muted);margin-bottom:1rem;font-size:.82rem;line-height:1.5}.kbe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.kbe-field{flex-direction:column;gap:.25rem;display:flex}.kbe-field label{color:var(--ks-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.kbe-field input,.kbe-field select{border:1px solid var(--ks-border);background:#fff;border-radius:4px;padding:.4rem .6rem;font-family:inherit;font-size:.85rem}.kbe-field input:focus,.kbe-field select:focus{border-color:var(--ks-primary);outline:none;box-shadow:0 0 0 2px #1b5e3c1a}.kbe-custom-note{color:#7a5c00;background:#fffbea;border:1px solid #f0c040;border-radius:6px;margin-bottom:1rem;padding:.65rem .85rem;font-size:.8rem;line-height:1.5}.kbe-footer{align-items:center;gap:.6rem;display:flex}.kbe-apply{background:var(--ks-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.88rem;font-weight:600}.kbe-apply:hover:not(:disabled){opacity:.9}.kbe-apply:disabled{opacity:.45;cursor:not-allowed}.kbe-clear{border:1px solid var(--ks-border);color:var(--ks-text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem .9rem;font-size:.88rem}.kbe-clear:hover{border-color:var(--ks-primary);color:var(--ks-primary)}.marcedit-toolbar{background:var(--ks-surface,#fff);border:1px solid var(--ks-border,#e2e8f0);border-radius:10px;margin-bottom:1.25rem;padding:.75rem 1rem}.toolbar-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ks-text-muted,#64748b);margin-bottom:.5rem;font-size:.7rem;font-weight:700}.toolbar-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.tool-btn-wrap{align-items:center;display:inline-flex;position:relative}.tool-btn{border:1px solid var(--ks-border,#e2e8f0);background:var(--ks-bg,#f8fafc);color:var(--ks-text,#1e293b);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:500;transition:background .15s,border-color .15s;display:flex}.tool-btn:hover{background:var(--ks-surface-hover,#f1f5f9);border-color:var(--ks-primary,#1a6b3c)}.tool-btn.active{border-color:var(--ks-primary,#1a6b3c);color:var(--ks-primary,#1a6b3c);background:#f0fdf4;font-weight:600}.tool-icon{font-size:.95rem;line-height:1}.tool-panel{border-top:1px solid var(--ks-border,#e2e8f0);margin-top:.75rem;padding-top:.75rem}.tool-result{color:var(--ks-primary,#1a6b3c);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.82rem;font-weight:600}.tool-ok{color:var(--ks-primary,#1a6b3c);margin-top:.5rem;font-size:.82rem}.tool-form{flex-direction:column;gap:.55rem;max-width:600px;display:flex}.tool-desc{color:var(--ks-text-muted,#64748b);margin:0 0 .25rem;font-size:.82rem}.form-row{flex-direction:column;gap:.2rem;display:flex}.form-row label{color:var(--ks-text,#1e293b);font-size:.78rem;font-weight:600}.form-row label small{color:var(--ks-text-muted,#64748b);font-weight:400}.form-row input[type=text],.form-row input:not([type=checkbox]){border:1px solid var(--ks-border,#e2e8f0);background:var(--ks-bg,#f8fafc);border-radius:6px;padding:.35rem .6rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem}.form-row-split{flex-direction:row;gap:1rem}.form-check{flex-direction:row;align-items:center}.form-check label{cursor:pointer;align-items:center;gap:.4rem;display:flex}button.danger{color:#c53030;background:#fff5f5;border-color:#fc8181}button.danger:hover{background:#fed7d7}.issues-list{flex-direction:column;gap:.3rem;max-height:260px;margin-top:.5rem;display:flex;overflow-y:auto}.issue-row{border-radius:5px;align-items:baseline;gap:.5rem;padding:.3rem .5rem;font-size:.78rem;display:flex}.issue-row.severity-error{color:#c53030;background:#fff5f5}.issue-row.severity-warning{color:#92400e;background:#fffbeb}.issue-row.severity-info{color:#1e40af;background:#eff6ff}.issue-rec{min-width:48px;font-weight:700}.issue-tag{min-width:50px;font-family:monospace}.issue-msg{flex:1}.record-summary{padding:.25rem 0}.rs-header{background:var(--ks-surface,#fff);border:1px solid var(--ks-border,#e2e8f0);border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.rs-score-ring{flex-shrink:0;width:70px;height:70px;position:relative}.rs-score-ring svg{width:70px;height:70px;transform:rotate(-90deg)}.rs-score-num{color:var(--ks-text,#1e293b);justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex;position:absolute;inset:0}.rs-header-text h3{color:var(--ks-text,#1e293b);margin:0 0 .25rem;font-size:1rem;font-weight:700}.rs-header-text p{color:var(--ks-text-muted,#64748b);margin:0;font-size:.82rem}.rs-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.rs-chip{border-radius:20px;padding:.3rem .7rem;font-size:.79rem;font-weight:500}.rs-chip.ok{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.rs-chip.warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.rs-chip.error{color:#c53030;background:#fff5f5;border:1px solid #fc8181}.rs-chip.info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.rs-chip-action{cursor:pointer;color:inherit;opacity:.8;background:0 0;border:none;margin-left:.5rem;padding:0;font-size:.78rem;font-weight:600;text-decoration:underline}.rs-chip-action:hover{opacity:1}.rs-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=760px){.rs-grid{grid-template-columns:1fr}}.rs-card{background:var(--ks-surface,#fff);border:1px solid var(--ks-border,#e2e8f0);border-radius:10px;padding:1rem 1.25rem}.rs-card h4{color:var(--ks-text,#1e293b);margin:0 0 .75rem;font-size:.85rem;font-weight:700}.rs-sub{color:var(--ks-text-muted,#64748b);font-size:.72rem;font-weight:400}.rs-coverage-list{flex-direction:column;gap:.4rem;display:flex}.rs-coverage-row{grid-template-columns:2.5rem 1fr 2.5rem 5rem;align-items:center;gap:.4rem;font-size:.79rem;display:grid}.rs-cov-tag{color:var(--ks-primary,#1a6b3c);font-family:monospace;font-weight:700}.rs-cov-label{color:var(--ks-text,#1e293b)}.rs-cov-pct{text-align:right;font-size:.75rem;font-weight:600}.rs-note{color:var(--ks-text-muted,#64748b);margin:.5rem 0 0;font-size:.72rem}.rs-bar-bg{background:#f1f5f9;border-radius:4px;height:6px;overflow:hidden}.rs-bar-fill{border-radius:4px;height:100%;transition:width .4s}.rs-tag-list{flex-direction:column;gap:.35rem;display:flex}.rs-tag-row{align-items:center;gap:.5rem;font-size:.79rem;display:flex}.rs-tag-code{color:var(--ks-primary,#1a6b3c);min-width:2.5rem;font-family:monospace;font-weight:700}.rs-tag-count{text-align:right;min-width:2rem;color:var(--ks-text-muted,#64748b);font-size:.75rem}.rs-readiness{flex-direction:column;gap:.4rem;display:flex}.rs-ready-row{color:var(--ks-text,#1e293b);border-bottom:1px solid #f1f5f9;justify-content:space-between;padding:.3rem 0;font-size:.82rem;display:flex}.rs-ok{color:#15803d;font-weight:600}.rs-err{color:#b91c1c;font-weight:600}.items-editor{flex-direction:column;gap:1rem;display:flex}.ie-stats{flex-wrap:wrap;align-items:center;gap:1rem;font-size:.82rem;display:flex}.ie-stat{color:var(--ks-text-muted,#64748b)}.ie-stat.warn{color:#92400e;font-weight:600}.ie-bulk-card{background:var(--ks-surface,#fff);border:1px solid var(--ks-border,#e2e8f0);border-radius:10px;padding:.85rem 1.1rem}.ie-bulk-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;font-size:.85rem;display:flex}.ie-bulk-tabs{gap:.3rem;display:flex}.ie-bulk-tabs button{border:1px solid var(--ks-border,#e2e8f0);background:var(--ks-bg,#f8fafc);cursor:pointer;color:var(--ks-text,#1e293b);border-radius:5px;padding:.25rem .65rem;font-size:.78rem}.ie-bulk-tabs button.active{background:var(--ks-primary,#1a6b3c);color:#fff;border-color:var(--ks-primary,#1a6b3c)}.ie-bulk-row{align-items:center;gap:.5rem;display:flex}.ie-bulk-row input{border:1px solid var(--ks-border,#e2e8f0);background:var(--ks-bg,#f8fafc);border-radius:6px;padding:.35rem .6rem;font-family:monospace;font-size:.82rem}.ie-bulk-hint{color:var(--ks-text-muted,#64748b);margin:0;font-size:.8rem}.ie-seq-warning{color:#854d0e;background:#fef9c3;border:1px solid #fde047;border-radius:6px;margin:.5rem 0 0;padding:.45rem .75rem;font-size:.8rem}.ie-manual-list{flex-direction:column;gap:.5rem;display:flex}.ie-manual-hint{color:var(--ks-text-muted,#64748b);margin:0 0 .4rem;font-size:.8rem}.ie-manual-table{border-collapse:collapse;width:100%;font-size:.82rem}.ie-manual-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.3rem .6rem;font-size:.72rem}.ie-manual-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.35rem .6rem}.ie-manual-table tr.ie-manual-no952 td{opacity:.55}.ie-manual-id{color:#64748b;width:2.5rem;font-family:monospace}.ie-manual-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.ie-manual-barcode input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;width:100%;padding:.28rem .5rem;font-family:monospace;font-size:.82rem}.ie-no952-tag{color:#b91c1c;font-size:.75rem;font-style:italic}.ie-manual-footer{justify-content:flex-end;padding-top:.4rem;display:flex}.ie-records{flex-direction:column;gap:.5rem;display:flex}.ie-rec{background:var(--ks-surface,#fff);border:1px solid var(--ks-border,#e2e8f0);border-radius:10px;overflow:hidden}.ie-rec.open{border-color:var(--ks-primary,#1a6b3c)}.ie-rec-toggle{cursor:pointer;text-align:left;box-sizing:border-box;background:#f8fafc;border:none;align-items:center;gap:.75rem;width:100%;min-height:2.75rem;padding:.65rem 1rem;font-size:.83rem;display:flex}.ie-rec-toggle *{pointer-events:none}.ie-rec.open .ie-rec-toggle{background:#f0fdf4}.ie-rec-id{color:var(--ks-primary,#1a6b3c);min-width:3.5rem;font-weight:700}.ie-rec-title{color:var(--ks-text,#1e293b);white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:50%;overflow:hidden}.ie-rec-badge{font-size:.75rem}.no-items{color:#94a3b8}.ok-items{color:#15803d;font-weight:600}.warn-items{color:#92400e;font-weight:600}.ie-chevron{color:var(--ks-text-muted,#64748b);margin-left:auto}.ie-rec-body{border-top:1px solid var(--ks-border,#e2e8f0);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.ie-no-items{color:var(--ks-text-muted,#64748b);margin:0;font-size:.82rem}.ie-item-block{border:1px solid var(--ks-border,#e2e8f0);border-radius:8px;overflow:hidden}.ie-item-header{border-bottom:1px solid var(--ks-border,#e2e8f0);background:#f8fafc;align-items:center;gap:.6rem;padding:.4rem .75rem;font-size:.8rem;display:flex}.ie-barcode-badge{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;padding:.1rem .45rem;font-family:monospace;font-size:.78rem}.ie-item-row{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;padding:.75rem;display:grid}.ie-sf-cell{flex-direction:column;gap:.2rem;display:flex}.ie-sf-cell label{color:var(--ks-text-muted,#64748b);font-size:.72rem;font-weight:600}.ie-sf-cell input{border:1px solid var(--ks-border,#e2e8f0);background:var(--ks-bg,#f8fafc);border-radius:5px;padding:.3rem .5rem;font-family:monospace;font-size:.8rem}.ie-sf-cell input:focus{border-color:var(--ks-primary,#1a6b3c);outline:none}.ie-delete{justify-content:flex-end;align-items:flex-end}button.danger.small{color:#c53030;cursor:pointer;background:#fff5f5;border:1px solid #fc8181;border-radius:5px;padding:.3rem .6rem;font-size:.78rem}button.danger.small:hover{background:#fed7d7}.ie-add-btn{border:1px dashed var(--ks-border,#e2e8f0);color:var(--ks-primary,#1a6b3c);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:.35rem .85rem;font-size:.8rem;font-weight:600}.ie-add-btn:hover{border-color:var(--ks-primary,#1a6b3c);background:#f0fdf4}.marc-viewer{margin-top:1rem}.viewer-stats{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.viewer-tabs{border-bottom:2px solid var(--ks-border,#e2e8f0);gap:.3rem;margin-bottom:1.25rem;padding-bottom:0;display:flex}.vtab{color:var(--ks-text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;margin-bottom:-2px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:color .15s,border-color .15s}.vtab:hover{color:var(--ks-text,#1e293b)}.vtab.active{color:var(--ks-primary,#1a6b3c);border-bottom-color:var(--ks-primary,#1a6b3c);background:#f0fdf4}.vtab-autofix{color:#2563eb}.vtab-autofix.active{color:#2563eb;background:#eff6ff;border-bottom-color:#2563eb}.vtab-badge{color:#fff;vertical-align:middle;background:#2563eb;border-radius:10px;margin-left:.35rem;padding:.1em .45em;font-size:.7rem;font-weight:700;display:inline-block}.vtab-autofix.active .vtab-badge{background:#1d4ed8}.vtab-devlog{color:#0f172a;font-family:ui-monospace,monospace;font-size:.78rem}.vtab-devlog.active{color:#0f172a;background:#f1f5f9;border-bottom-color:#334155}.stat-chip{border-radius:20px;padding:.3rem .75rem;font-size:.8rem;font-weight:600}.stat-chip.done{color:#276749;background:#e6f4ea}.stat-chip.fixed{color:var(--ks-primary);background:#e8f4f8}.stat-chip.review{color:#7b5500;background:#fff8e1}.stat-chip.edited{color:#3c5cb0;background:#e8f0fe}.stat-chip.loading{color:#888;background:#f5f5f5;animation:1.2s infinite pulse}.stat-chip.isbn-warn-chip{color:#856404;background:#fff3cd}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.marc-record{background:var(--ks-surface);border:1px solid var(--ks-border);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow);margin-bottom:1rem;overflow:hidden}.record-header{border-bottom:1px solid var(--ks-border);background:#f7fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.record-num{color:var(--ks-primary);font-size:.85rem;font-weight:700}.record-leader{color:var(--ks-text-muted);font-family:monospace;font-size:.75rem}.advanced-repair-btn{color:#0369a1;cursor:pointer;white-space:nowrap;background:#f0f9ff;border:1px solid #bae6fd;border-radius:5px;margin-left:auto;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.advanced-repair-btn:hover:not(:disabled){background:#e0f2fe;border-color:#7dd3fc}.advanced-repair-btn:disabled{opacity:.6;cursor:wait}.repair-msg{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.15rem .5rem;font-size:.73rem}.marc-table{border-collapse:collapse;width:100%;font-size:.85rem}.marc-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ks-text-muted);border-bottom:1px solid var(--ks-border);background:#f7fafc;padding:.5rem .75rem;font-size:.72rem}.marc-table td{vertical-align:top;border-bottom:1px solid #f0f4f8;padding:.45rem .75rem}.marc-table tr:last-child td{border-bottom:none}.marc-table tr.auto-fixed{background:#f0f7ff}.marc-table tr.auto-fixed:hover{background:#e6f1ff}.marc-table tr.user-edited{background:#f0f0fe}.marc-table tr.user-edited:hover{background:#e5e5fc}.marc-table tr.low-confidence{background:#fffbf0}.marc-table tr:hover{background:#fafcfe}td.tag{color:var(--ks-primary);width:4rem;font-family:monospace;font-weight:700}td.indicators{color:var(--ks-text-muted);width:3rem;font-family:monospace}td.subfields{color:var(--ks-text);font-family:monospace}.subfield{margin-right:.5rem;display:inline}.sf-code{color:var(--ks-accent);margin-right:.2rem;font-weight:700}td.field-label{color:var(--ks-text-muted);white-space:nowrap;min-width:14rem;font-size:.78rem}.th-actions,.td-actions{text-align:right;width:5.5rem;padding-right:.5rem!important}.row-edit-btn{cursor:pointer;opacity:0;color:var(--ks-primary);background:0 0;border:none;border-radius:4px;padding:.2rem .3rem;font-size:.8rem}tr:hover .row-edit-btn{opacity:1}.row-edit-btn:hover{background:#e8f4f8}.row-undo-btn{cursor:pointer;opacity:0;color:#92400e;background:0 0;border:none;border-radius:4px;margin-right:.1rem;padding:.2rem .3rem;font-size:.85rem}tr:hover .row-undo-btn{opacity:1}.row-undo-btn:hover{background:#fef3c7}.edit-cell{background:#f8fbff;padding:0!important}.add-field-row td{padding:.3rem .75rem!important}.add-field-btn{border:1px dashed var(--ks-border);color:var(--ks-text-muted);cursor:pointer;background:0 0;border-radius:4px;width:100%;padding:.3rem .75rem;font-size:.78rem}.add-field-btn:hover{border-color:var(--ks-primary);color:var(--ks-primary)}.fixed-badge{background:var(--ks-primary);color:#fff;vertical-align:middle;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:.65rem;display:inline-block}.edited-badge{color:#fff;vertical-align:middle;background:#3c5cb0;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:.65rem;display:inline-block}.low-conf-badge{color:#fff;vertical-align:middle;background:#f5a623;border-radius:4px;margin-left:.4rem;padding:.1rem .4rem;font-size:.65rem;display:inline-block}.isbn-badge{cursor:pointer;border:none;border-radius:12px;margin-left:auto;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.isbn-badge.isbn-ok{color:#276749;background:#e6f4ea}.isbn-badge.isbn-warn{color:#856404;background:#fff3cd}.isbn-badge.isbn-unknown{color:#888;background:#f5f5f5}.isbn-badge.overridden{opacity:.6;text-decoration:line-through}.isbn-panel{border-bottom:1px solid var(--ks-border);padding:1rem 1.25rem;font-size:.85rem}.isbn-panel.isbn-ok{background:#f0faf3}.isbn-panel.isbn-warn{background:#fffcf0}.isbn-panel.isbn-unknown{background:#fafafa}.isbn-panel-header{color:var(--ks-text-muted);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.isbn-panel-close{cursor:pointer;color:var(--ks-text-muted);background:0 0;border:none;margin-left:auto;font-size:.9rem}.isbn-ext-data{gap:.3rem;margin-bottom:.75rem;display:grid}.isbn-ext-data>div{grid-template-columns:6rem 1fr;gap:.5rem;display:grid}.isbn-ext-data>div>span:first-child{text-transform:uppercase;color:var(--ks-text-muted);padding-top:.05rem;font-size:.72rem;font-weight:600}.isbn-mismatches{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.isbn-mismatch{border-left:3px solid;border-radius:6px;padding:.5rem .75rem}.isbn-mismatch.sev-high{background:#fff0f0;border-color:#e53935}.isbn-mismatch.sev-medium{background:#fff8e1;border-color:#f5a623}.isbn-mismatch.sev-low{background:#f5f5f5;border-color:#bbb}.isbn-mismatch-vals{color:var(--ks-text-muted);gap:1.5rem;margin-top:.3rem;font-size:.78rem;display:flex}.isbn-mismatch-vals code{background:#0000000d;border-radius:3px;padding:.05rem .3rem}.isbn-dismiss{background:var(--ks-primary);color:#fff;cursor:pointer;border:none;border-radius:5px;align-self:flex-start;padding:.35rem .9rem;font-size:.8rem}.isbn-dismiss:hover{opacity:.9}.isbn-not-found,.isbn-ok-msg,.isbn-overridden-msg{color:var(--ks-text-muted);margin:0;font-size:.82rem}.isbn-ok-msg{color:#276749}.isbn-overridden-msg{color:#3c5cb0}.training-optin-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin:1.5rem 0 .5rem;padding:.9rem 1.1rem;font-size:.875rem;line-height:1.5}.training-optin-label{cursor:pointer;align-items:flex-start;gap:.65rem;display:flex}.training-optin-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:1rem;height:1rem;margin-top:.2rem}.download-section{margin-top:.5rem;padding:2rem 0 1.5rem}.download-section-inner{background:var(--ks-surface);border:1.5px solid var(--ks-border);box-shadow:var(--ks-shadow);border-radius:14px;flex-direction:column;gap:1.25rem;padding:1.5rem 2rem;display:flex}.download-header{align-items:center;gap:1rem;display:flex}.download-icon{background:var(--ks-primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.6rem;font-style:normal;display:flex}.download-header h2{margin:0;font-size:1.15rem;font-weight:700}.download-header p{color:var(--ks-text-muted);margin:.15rem 0 0;font-size:.82rem}.download-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.download-btn{min-width:160px}.export-error{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:.6rem 1rem;font-size:.875rem}.autofix-panel{background:var(--ks-surface,#fff);border:1px solid var(--ks-border,#e2e8f0);border-radius:var(--ks-radius,8px);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.autofix-header h3{color:var(--ks-text,#1e293b);margin:0 0 .25rem;font-size:1rem}.autofix-subhead{color:var(--ks-text-muted,#64748b);margin:0 0 1.25rem;font-size:.82rem}.autofix-none{color:var(--ks-text-muted,#64748b);font-size:.9rem}.autofix-advanced{background:#f0f9ff;border-left:3px solid #0ea5e9}.autofix-count-advanced{color:#fff;background:#0ea5e9;border-radius:4px;padding:.1rem .45rem;font-size:.7rem}.autofix-advanced-detail{color:#0c4a6e;padding:.6rem 1rem;font-size:.85rem}.autofix-source{color:#0369a1;font-weight:600}.autofix-record{border:1px solid #dbeafe;border-radius:6px;margin-bottom:1rem;overflow:hidden}.autofix-record-header{color:#1e40af;background:#eff6ff;justify-content:space-between;align-items:center;padding:.5rem .85rem;font-size:.83rem;font-weight:700;display:flex}.autofix-count{color:#fff;background:#2563eb;border-radius:10px;padding:.1em .55em;font-size:.78rem;font-weight:600}.autofix-table{border-collapse:collapse;width:100%;font-size:.83rem}.autofix-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#f0f9ff;border-bottom:1px solid #dbeafe;padding:.4rem .75rem;font-size:.72rem}.autofix-table td{vertical-align:top;border-bottom:1px solid #f0f9ff;padding:.4rem .75rem}.autofix-table tr:last-child td{border-bottom:none}.autofix-tag{color:#2563eb;width:4rem;font-family:monospace;font-weight:700}.autofix-note{color:var(--ks-text,#1e293b);line-height:1.5}.autofix-note-generic{color:var(--ks-text-muted,#64748b);font-style:italic}.autofix-original{max-width:260px}.original-value{flex-direction:column;gap:.15rem;display:flex}.orig-indicators{color:#64748b;font-size:.78rem}.orig-indicators .orig-label{margin-right:.3rem}.orig-subfield{color:#64748b;margin-right:.35rem;font-size:.82rem;display:inline-block}.orig-subfield .sf-code{color:#94a3b8;margin-right:.1rem;font-size:.7rem}.orig-none{color:#cbd5e1;font-size:.85rem}.autofix-actions{text-align:right;vertical-align:middle;width:5rem}.autofix-undo-btn{color:#92400e;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d97706;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.autofix-undo-btn:hover{background:#fef3c7;border-color:#92400e}.bulk-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.bulk-select-all{cursor:pointer;color:var(--ks-text-muted,#64748b);-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-weight:600;display:flex}.bulk-select-all input[type=checkbox]{cursor:pointer;accent-color:var(--ks-primary,#2d6a4f);width:1rem;height:1rem}.bulk-retry-btn{background:var(--ks-primary,#2d6a4f);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.35rem .9rem;font-size:.82rem;font-weight:600;transition:background .15s}.bulk-retry-btn:hover{background:#1b4332}.bulk-deselect-btn{color:var(--ks-text-muted,#64748b);cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .7rem;font-size:.82rem}.bulk-deselect-btn:hover{background:#f1f5f9}.marc-record.record-selected{border-color:var(--ks-primary,#2d6a4f);box-shadow:0 0 0 2px #d1fae5}.record-checkbox{align-items:center;margin-right:.25rem;display:flex}.record-checkbox input[type=checkbox]{cursor:pointer;accent-color:var(--ks-primary,#2d6a4f);width:1rem;height:1rem}.retry-count-badge{color:#0369a1;white-space:nowrap;background:#e0f2fe;border-radius:10px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.retry-count-badge.retry-exhausted{color:#b91c1c;background:#fee2e2}.retry-modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.retry-modal{background:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:min(520px,90vw);padding:1.75rem;display:flex;box-shadow:0 20px 60px #00000040}.retry-modal-header{justify-content:space-between;align-items:center;display:flex}.retry-modal-header h3{color:var(--ks-text,#1e293b);margin:0;font-size:1.05rem}.retry-modal-close{cursor:pointer;color:var(--ks-text-muted,#64748b);background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1.1rem}.retry-modal-close:hover{background:#f1f5f9}.retry-modal-desc{color:var(--ks-text-muted,#64748b);margin:0;font-size:.875rem;line-height:1.5}.retry-comment{resize:vertical;box-sizing:border-box;border:1.5px solid #cbd5e1;border-radius:8px;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.retry-comment:focus{border-color:var(--ks-primary,#2d6a4f);outline:none}.retry-comment:disabled{background:#f8fafc}.retry-rejected-note{color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;margin:0;padding:.6rem .85rem;font-size:.83rem}.retry-modal-footer{justify-content:flex-end;gap:.75rem;display:flex}.retry-cancel-btn{cursor:pointer;color:var(--ks-text-muted,#64748b);background:#f1f5f9;border:1px solid #cbd5e1;border-radius:7px;padding:.5rem 1.1rem;font-size:.875rem}.retry-cancel-btn:hover:not(:disabled){background:#e2e8f0}.retry-submit-btn{background:var(--ks-primary,#2d6a4f);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:.5rem 1.3rem;font-size:.875rem;font-weight:600;transition:background .15s}.retry-submit-btn:hover:not(:disabled){background:#1b4332}.retry-submit-btn:disabled{opacity:.55;cursor:not-allowed}.record-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.record-header-clickable:hover{background:#edf2f7}.record-expand-icon{color:var(--ks-text-muted);flex-shrink:0;width:14px;font-size:.75rem}.record-title-preview{min-width:0;color:var(--ks-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.84rem;font-weight:500;overflow:hidden}.record-leader-short{color:var(--ks-text-muted);white-space:nowrap;font-size:.75rem}.record-collapsed .record-header{border-bottom:none}.record-collapsed.marc-record{border-radius:var(--ks-radius)}.records-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.5rem 0;display:flex}.expand-controls{gap:.4rem;display:flex}.expand-btn{border:1px solid var(--ks-border);border-radius:var(--ks-radius);color:var(--ks-text-muted);cursor:pointer;background:#edf2f7;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:background .15s}.expand-btn:hover{color:var(--ks-text);background:#e2e8f0}.pagination{color:var(--ks-text-muted);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.pagination-bottom{border-top:1px solid var(--ks-border);justify-content:center;margin-top:1.5rem;padding-top:1rem}.page-btn{border:1px solid var(--ks-border);border-radius:var(--ks-radius);color:var(--ks-text);cursor:pointer;background:#edf2f7;padding:.35rem .85rem;font-size:.82rem;font-weight:600;transition:background .15s}.page-btn:hover:not(:disabled){background:var(--ks-primary);color:#fff;border-color:var(--ks-primary)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-info{color:var(--ks-text-muted);white-space:nowrap;font-weight:500}.navbar{z-index:100;background:#fff;border-bottom:1.5px solid #d9e2ec;align-items:center;gap:1rem;height:60px;padding:0 1.5rem;display:flex;position:sticky;top:0}.navbar-brand{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:.45rem;text-decoration:none;display:flex}.navbar-logo{font-size:1.15rem}.navbar-name{letter-spacing:-.3px;color:var(--ks-text);font-size:1.05rem;font-weight:800}.navbar-subtitle{color:var(--ks-text-muted);white-space:nowrap;flex-shrink:0;font-size:.82rem;display:none}@media (width>=900px){.navbar-subtitle{display:inline}}.navbar-links{flex:1;gap:.2rem;margin-left:1.25rem;display:flex}.navbar-link{color:var(--ks-text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;padding:.35rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .13s,color .13s;display:inline-flex}.navbar-link:hover{color:var(--ks-text);background:#f1f5f9}.navbar-link.active{color:var(--ks-primary);background:#eaf2fd;font-weight:700}.navbar-back-btn{border:1px solid var(--ks-border);color:var(--ks-text-muted);cursor:pointer;background:0 0;border-radius:7px;padding:.3rem .75rem;font-size:.875rem;font-weight:500;transition:background .13s,color .13s}.navbar-back-btn:hover{color:var(--ks-text);background:#f1f5f9}.navbar-right{flex-shrink:0;align-items:center;gap:.75rem;margin-left:auto;display:flex}.navbar-dev-badge{color:var(--ks-primary);letter-spacing:.03em;background:#eaf2fd;border-radius:20px;padding:.22rem .6rem;font-size:.72rem;font-weight:800}.navbar-btn{cursor:pointer;border-radius:8px;padding:.38rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s}.navbar-btn.primary{background:var(--ks-primary);border:1.5px solid var(--ks-primary);color:#fff}.navbar-btn.primary:hover{background:var(--ks-primary-dark);border-color:var(--ks-primary-dark)}.navbar-btn.outline{border:1.5px solid var(--ks-border);color:var(--ks-text-muted);background:0 0}.navbar-btn.outline:hover{color:var(--ks-text);background:#f1f5f9;border-color:#94a3b8}.acct-page{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.acct-header h1{letter-spacing:-.5px;color:var(--ks-text);margin-bottom:1.75rem;font-size:1.6rem;font-weight:800}.acct-section{margin-bottom:2.5rem}.acct-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ks-text-muted);margin-bottom:.75rem;font-size:.8rem;font-weight:700}.acct-card{background:var(--ks-surface);border:1px solid var(--ks-border);box-shadow:var(--ks-shadow);border-radius:10px;padding:1.25rem 1.5rem}.acct-profile-card{align-items:center;gap:1.25rem;display:flex}.acct-profile-avatar{background:var(--ks-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.4rem;font-weight:700;display:flex}.acct-profile-info{flex:1;min-width:0}.acct-email{color:var(--ks-text);word-break:break-all;margin-bottom:.35rem;font-size:1rem;font-weight:600}.acct-tier-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.acct-tier-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.acct-tier-free{color:#4a5568;background:#e2e8f0}.acct-tier-paid{color:#276749;background:#c6f6d5}.acct-tier-enterprise{color:#2c5282;background:#bee3f8}.acct-tier-desc{color:var(--ks-text-muted);font-size:.83rem}.acct-profile-actions{flex-shrink:0}.acct-signout-btn{border:1px solid var(--ks-border);border-radius:var(--ks-radius);color:var(--ks-text-muted);cursor:pointer;background:#f7fafc;padding:.4rem 1rem;font-size:.85rem;font-weight:500;transition:background .15s}.acct-signout-btn:hover{color:var(--ks-error);background:#edf2f7}.acct-plan-row{border-bottom:1px solid var(--ks-border);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.acct-plan-name{color:var(--ks-text);margin-bottom:.25rem;font-size:1rem;font-weight:700}.acct-plan-note{color:var(--ks-text-muted);font-size:.84rem}.acct-upgrade-btn{white-space:nowrap;background:var(--ks-primary);color:#fff;border-radius:var(--ks-radius);padding:.45rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s}.acct-upgrade-btn:hover{background:var(--ks-primary-dark)}.acct-stats-row{gap:2rem;display:flex}.acct-stat{flex-direction:column;gap:.15rem;display:flex}.acct-stat-value{color:var(--ks-text);font-size:1.5rem;font-weight:800;line-height:1}.acct-stat-label{color:var(--ks-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.acct-job-table-wrap{background:var(--ks-surface);border:1px solid var(--ks-border);box-shadow:var(--ks-shadow);border-radius:10px;overflow-x:auto}.acct-job-table{border-collapse:collapse;width:100%;font-size:.875rem}.acct-job-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--ks-text-muted);border-bottom:1px solid var(--ks-border);background:#f8fafc;padding:.65rem 1rem;font-size:.75rem;font-weight:700}.acct-job-table td{border-bottom:1px solid var(--ks-border);color:var(--ks-text);padding:.7rem 1rem}.acct-job-table tr:last-child td{border-bottom:none}.acct-td-filename{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:500;overflow:hidden}.acct-status-badge{border-radius:20px;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.acct-status-done{color:#276749;background:#c6f6d5}.acct-status-uploaded{color:#4a5568;background:#e2e8f0}.acct-status-processing{color:#2c5282;background:#bee3f8}.acct-status-error{color:#9b2c2c;background:#fed7d7}.acct-dl-btns{gap:.35rem;display:flex}.acct-dl-btn{border:1px solid var(--ks-border);border-radius:var(--ks-radius);color:var(--ks-text);cursor:pointer;white-space:nowrap;background:#edf2f7;padding:.25rem .55rem;font-size:.78rem;font-weight:600;transition:background .15s}.acct-dl-btn:hover{background:#e2e8f0}.acct-open-btn{background:var(--ks-primary);border-radius:var(--ks-radius);color:#fff;cursor:pointer;border:none;padding:.3rem .75rem;font-size:.8rem;font-weight:600;transition:background .15s}.acct-open-btn:hover{background:var(--ks-primary-dark)}.acct-empty{text-align:center;color:var(--ks-text-muted);background:var(--ks-surface);border:1px solid var(--ks-border);border-radius:10px;padding:2rem;font-size:.9rem}.acct-link-btn{color:var(--ks-primary);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;text-decoration:underline}.acct-help-card{flex-direction:column;gap:.75rem;display:flex}.acct-help-link{color:var(--ks-primary);font-size:.9rem;font-weight:500;text-decoration:none}.acct-help-link:hover{text-decoration:underline}.acct-signin-wall{text-align:center;max-width:480px;margin:4rem auto;padding:2rem}.acct-signin-icon{margin-bottom:1rem;font-size:3rem}.acct-signin-wall h2{margin-bottom:.75rem;font-size:1.4rem;font-weight:700}.acct-signin-wall .cta{margin-top:1rem}@media (width<=600px){.acct-profile-card{flex-wrap:wrap}.acct-stats-row{flex-wrap:wrap;gap:1rem}.acct-plan-row{flex-direction:column}}.dropzone-wrapper{margin-bottom:1.5rem}.dropzone{border:2px dashed var(--ks-border);background:var(--ks-surface);text-align:center;cursor:pointer;border-radius:12px;padding:3rem 2rem;transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.active{border-color:var(--ks-primary);background:#f0f7fa}.dropzone.reject{border-color:var(--ks-error);background:#fff5f5}.dropzone.disabled{opacity:.5;cursor:not-allowed}.dropzone-icon{margin-bottom:.75rem;font-size:2.5rem}.dropzone-primary{margin-bottom:.35rem;font-size:1.05rem;font-weight:600}.dropzone-secondary{color:var(--ks-text-muted);margin-bottom:1rem;font-size:.9rem}.browse-link{color:var(--ks-primary);font-weight:600;text-decoration:underline}.dropzone-formats{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:.75rem;display:flex}.format-tag{color:var(--ks-primary);background:#e8f4f8;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.dropzone-limit{color:var(--ks-text-muted);font-size:.78rem}.dropzone-error{color:var(--ks-error);margin-top:.5rem;font-size:.85rem}.dashboard{max-width:1360px;margin:0 auto;padding:2rem 1.5rem 4rem}.ds-hero{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.75rem;display:flex}.ds-hero-text{flex:1}.ds-hero-title{letter-spacing:-.5px;color:var(--ks-text);margin-bottom:.5rem;font-size:1.75rem;font-weight:800;line-height:1.2}.ds-hero-sub{color:var(--ks-text-muted);max-width:640px;font-size:.95rem;line-height:1.55}.ds-hero-actions{flex-shrink:0;align-items:center;gap:.75rem;padding-top:.25rem;display:flex}.ds-hero-upload-label{background:var(--ks-primary);color:#fff;cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;padding:.55rem 1.25rem;font-size:.9rem;font-weight:700;transition:background .15s;display:inline-flex}.ds-hero-upload-label:hover{background:var(--ks-primary-dark)}.ds-hero-dl-btn{white-space:nowrap}.ds-stepper{background:var(--ks-surface);border:1px solid var(--ks-border);box-shadow:var(--ks-shadow);border-radius:14px;align-items:center;gap:0;margin-bottom:1.75rem;padding:1.1rem 2rem;display:flex}.dstep{flex:1;align-items:center;gap:.85rem;display:flex}.dstep-circle{color:#94a3b8;background:#eef2f7;border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:800;transition:all .2s;display:flex}.dstep-label{color:var(--ks-text-muted);font-size:.9rem;font-weight:700}.dstep-sub{color:var(--ks-text-muted);margin-top:.1rem;font-size:.75rem}.dstep-active .dstep-circle{background:var(--ks-primary);color:#fff;border-color:var(--ks-primary)}.dstep-active .dstep-label{color:var(--ks-text)}.dstep-done .dstep-circle{background:var(--ks-success);color:#fff;border-color:var(--ks-success)}.dstep-done .dstep-label{color:var(--ks-text-muted)}.dstep-line{background:var(--ks-border);flex:0 0 80px;height:2px;margin:0 1rem}.ds-grid{grid-template-columns:1fr 360px;align-items:start;gap:1.5rem;display:grid}.ds-files-panel{background:var(--ks-surface);border:1px solid var(--ks-border);box-shadow:var(--ks-shadow-md);border-radius:14px;overflow:hidden}.ds-panel-header{border-bottom:1px solid var(--ks-border);flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:1.25rem 1.5rem 1rem;display:flex}.ds-panel-title{color:var(--ks-text);flex-shrink:0;font-size:1.1rem;font-weight:800}.ds-panel-meta{color:var(--ks-text-muted);font-size:.84rem}.ds-stats-row{border-bottom:1px solid var(--ks-border);gap:0;display:flex}.ds-stat-card{border-right:1px solid var(--ks-border);cursor:pointer;background:#fafbfe;flex:1;padding:.9rem 1.25rem;transition:background .15s}.ds-stat-card:last-child{border-right:none}.ds-stat-card:hover{background:#f0f4fa}.ds-stat-active{background:#eaf2fd!important}.ds-stat-active .ds-stat-value{color:var(--ks-primary)}.ds-stat-card.ds-stat-warn .ds-stat-value{color:var(--ks-warning)}.ds-stat-card.ds-stat-warn{background:#fffbeb}.ds-stat-card.ds-stat-warn:hover{background:#fef3c7}.ds-stat-value{color:var(--ks-text);margin-bottom:.2rem;font-size:1.75rem;font-weight:800;line-height:1}.ds-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ks-text-muted);font-size:.72rem;font-weight:700}.ds-dropzone-wrap{border-bottom:1px solid var(--ks-border);padding:1rem 1.5rem}.ds-dropzone-wrap .dropzone{min-height:110px;padding:1.25rem}.ds-error-banner{border:1px solid var(--ks-error);color:var(--ks-error);background:#fff5f5;border-radius:8px;margin:0 1.5rem .75rem;padding:.65rem 1rem;font-size:.875rem}.ds-uploading{color:var(--ks-primary);background:#eaf2fd;border-radius:8px;margin:0 1.5rem .75rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500}.ds-filter-bar{border-bottom:1px solid var(--ks-border);background:#f8fafc;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.ds-search{border:1px solid var(--ks-border);color:var(--ks-text);background:var(--ks-surface);border-radius:7px;outline:none;flex:0 0 220px;padding:.4rem .75rem;font-size:.85rem;transition:border-color .15s}.ds-search:focus{border-color:var(--ks-primary)}.ds-search::placeholder{color:#94a3b8}.ds-filter-pills{gap:.3rem;display:flex}.ds-pill{background:var(--ks-surface);border:1px solid var(--ks-border);color:var(--ks-text-muted);cursor:pointer;border-radius:20px;padding:.25rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.ds-pill:hover{border-color:var(--ks-primary);color:var(--ks-primary)}.ds-pill-active{background:var(--ks-primary);border-color:var(--ks-primary);color:#fff}.ds-process-selected-btn{background:var(--ks-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;margin-left:auto;padding:.4rem 1rem;font-size:.82rem;font-weight:700;transition:background .15s}.ds-process-selected-btn:hover{background:var(--ks-primary-dark)}.ds-table-wrap{overflow-x:auto}.ds-table{border-collapse:collapse;width:100%;font-size:.875rem}.ds-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ks-text-muted);border-bottom:1px solid var(--ks-border);border-top:1px solid var(--ks-border);white-space:nowrap;background:#f1f5f9;padding:.6rem 1rem;font-size:.72rem;font-weight:800}.ds-th-check{width:40px}.ds-table td{border-bottom:1px solid var(--ks-border);vertical-align:middle;padding:.7rem 1rem}.ds-table tbody tr:last-child td{border-bottom:none}.ds-row{cursor:pointer;transition:background .12s}.ds-row:hover{background:#f8faff}.ds-row-active{background:#eaf2fd!important}.ds-row-active:hover{background:#dde9f8!important}.ds-td-check{width:40px}.ds-td-file{min-width:200px}.ds-file-name{color:var(--ks-text);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:600;overflow:hidden}.ds-file-meta{color:var(--ks-text-muted);margin-top:.15rem;font-size:.75rem}.ds-td-format{width:90px}.ds-format-badge{color:var(--ks-primary);background:#eaf2fd;border-radius:5px;padding:.18rem .5rem;font-size:.72rem;font-weight:800}.ds-td-records{width:80px;color:var(--ks-text);font-weight:600}.ds-td-status{width:120px}.ds-status-badge{border-radius:20px;align-items:center;gap:.35rem;padding:.22rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.ds-status-ready{color:#92400e;background:#fff2d6}.ds-status-processing{color:#1e40af;background:#dbeafe}.ds-status-done{color:#065f46;background:#d1fae5}.ds-status-error{color:#991b1b;background:#fee2e2}.ds-proc-dot{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite ds-pulse}@keyframes ds-pulse{0%,to{opacity:1}50%{opacity:.3}}.ds-td-action{width:160px}.ds-action-group{align-items:center;gap:.3rem;display:flex}.ds-btn{border:1px solid var(--ks-border);color:var(--ks-text-muted);cursor:pointer;white-space:nowrap;background:#f1f5f9;border-radius:7px;padding:.3rem .65rem;font-size:.78rem;font-weight:600;transition:all .15s}.ds-btn-primary{background:var(--ks-primary);border-color:var(--ks-primary);color:#fff}.ds-btn-primary:hover{background:var(--ks-primary-dark);border-color:var(--ks-primary-dark)}.ds-btn-icon{padding:.3rem .55rem;font-size:.88rem}.ds-btn-icon:hover{color:var(--ks-primary);background:#e2e8f0}.ds-btn-remove{padding:.3rem .55rem;font-size:1rem;line-height:1}.ds-btn-remove:hover{color:var(--ks-error);background:#fee2e2;border-color:#fca5a5}.ds-btn:disabled{opacity:.5;cursor:not-allowed}.ds-empty{text-align:center;color:var(--ks-text-muted);padding:3rem 2rem;font-size:.9rem}.ds-empty-icon{margin-bottom:.75rem;font-size:2.5rem}.ds-clear-filter{color:var(--ks-primary);cursor:pointer;background:0 0;border:none;margin-top:.5rem;font-size:.9rem;font-weight:600}.ds-summary-panel{background:var(--ks-surface);border:1px solid var(--ks-border);box-shadow:var(--ks-shadow);border-radius:14px;padding:1.5rem;position:sticky;top:68px}.ds-summary-title{color:var(--ks-text);margin-bottom:.25rem;font-size:1.1rem;font-weight:800}.ds-summary-sub{color:var(--ks-text-muted);margin-bottom:1.25rem;font-size:.82rem}.ds-summary-empty{text-align:center;color:var(--ks-text-muted);padding:1.5rem 0;font-size:.87rem}.ds-summary-empty-icon{margin-bottom:.6rem;font-size:2rem}.ds-selected-card{background:#eaf2fd;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.15rem}.ds-selected-card-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ks-primary);margin-bottom:.3rem;font-size:.72rem;font-weight:800}.ds-selected-card-name{color:var(--ks-text);word-break:break-all;margin-bottom:.25rem;font-size:.9rem;font-weight:700}.ds-selected-card-meta{color:#1476d4;font-size:.78rem;font-weight:600}.ds-fixes-heading,.ds-next-step-heading{color:var(--ks-text);margin-bottom:.65rem;font-size:.85rem;font-weight:700}.ds-fix-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.ds-fix-item{border:1px solid var(--ks-border);background:#f8fafc;border-radius:9px;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;display:flex}.ds-fix-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:3px}.ds-fix-dot.green{background:#22c55e}.ds-fix-dot.amber{background:#f59e0b}.ds-fix-name{color:var(--ks-text);margin-bottom:.1rem;font-size:.84rem;font-weight:700}.ds-fix-sub{color:var(--ks-text-muted);font-size:.75rem}.ds-next-card{border:1px solid var(--ks-border);background:#f8fafc;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.1rem}.ds-next-card-error{background:#fff5f5;border-color:#fca5a5}.ds-next-card-title{color:var(--ks-text);margin-bottom:.35rem;font-size:.875rem;font-weight:700}.ds-next-card-sub{color:var(--ks-text-muted);margin-bottom:.75rem;font-size:.78rem;line-height:1.5}.ds-open-review-btn{background:var(--ks-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.45rem 1rem;font-size:.84rem;font-weight:700;transition:background .15s}.ds-open-review-btn:hover{background:var(--ks-primary-dark)}.ds-summary-downloads{margin-top:.25rem}.ds-summary-dl-label{color:var(--ks-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.ds-summary-dl-btns{gap:.5rem;display:flex}.ds-summary-dl-btn{border:1px solid var(--ks-border);color:var(--ks-text);cursor:pointer;text-align:center;background:#f1f5f9;border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.8rem;font-weight:600;transition:background .15s}.ds-summary-dl-btn:hover{background:#e2e8f0}.ds-signin-wall{text-align:center;max-width:500px;margin:4rem auto;padding:2rem 1.5rem}.ds-signin-icon{margin-bottom:1rem;font-size:3.5rem}.ds-signin-wall h2{margin-bottom:.75rem;font-size:1.5rem;font-weight:800}.ds-signin-wall p{color:var(--ks-text-muted);margin-bottom:1.25rem;font-size:.95rem;line-height:1.6}.ds-signin-cta{display:inline-block}.ds-signin-note{color:var(--ks-text-muted);margin-top:.75rem;font-size:.82rem}@media (width<=1100px){.ds-grid{grid-template-columns:1fr}.ds-summary-panel{position:static}}@media (width<=700px){.ds-hero{flex-direction:column;gap:1rem}.ds-stepper{gap:0;padding:.9rem 1rem;overflow-x:auto}.dstep-line{flex:0 0 40px;margin:0 .5rem}.dstep-sub{display:none}.ds-stats-row{flex-wrap:wrap}.ds-stat-card{border-bottom:1px solid var(--ks-border);flex:0 0 50%}.ds-filter-bar{flex-direction:column;align-items:stretch}.ds-search{flex:1}.ds-file-name{max-width:160px}}
