.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-xl)}.login-card{width:100%;max-width:400px;background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--border-radius);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-md)}.login-brand{font-size:2.5em;font-weight:var(--font-weight-bold);color:var(--primary);letter-spacing:-.5px;margin:0 0 var(--space-sm) 0;text-align:center}.login-heading{font-size:1.5em;font-weight:var(--font-weight-semibold);letter-spacing:-.3px;margin:0;color:var(--text-primary)}.login-subheading{margin:0 0 var(--space-sm) 0;color:var(--text-secondary);font-size:14px}.login-label{display:flex;flex-direction:column;gap:var(--space-xs);font-weight:var(--font-weight-semibold);font-size:14px;color:var(--text-primary)}.login-label input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:14px;font-weight:var(--font-weight-normal);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans)}.login-label input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.login-submit{margin-top:var(--space-sm);padding:var(--space-md);background:var(--primary);color:var(--bg-secondary);border:none;border-radius:var(--border-radius-sm);font-size:14px;font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-sans)}.login-submit:hover:not(:disabled){background:var(--primary-hover)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:var(--space-sm) var(--space-md);background:#fef2f2;color:#991b1b;border-radius:var(--border-radius-sm);font-size:14px}.app-container{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden;background:var(--bg-primary)}.layout-container{display:flex;height:calc(100vh - 60px);width:100%;overflow:hidden}.topbar{height:60px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);box-shadow:var(--shadow-md);position:relative;z-index:100}.topbar-brand{font-weight:var(--font-weight-bold);font-size:20px;letter-spacing:-.3px;display:flex;align-items:center;gap:var(--space-sm)}.topbar-user{display:flex;align-items:center;gap:var(--space-lg)}.topbar-username{font-size:14px;font-weight:var(--font-weight-medium);opacity:.95}.topbar-signout{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:var(--border-radius-sm);font-weight:var(--font-weight-semibold);font-size:14px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-signout:hover{background:#ffffff4d;transform:translateY(-1px)}.left-panel{flex:1;min-width:260px;max-width:420px;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow-y:auto}.message-window{flex:1.3;display:flex;flex-direction:column;background:var(--bg-chat);position:relative;overflow-y:auto;min-width:350px}.right-panel{flex:1;min-width:240px;max-width:400px;background:var(--bg-secondary);border-left:1px solid var(--border-color);padding:var(--space-xl);overflow-y:auto}.left-panel-actions{padding:var(--space-md, .75rem) var(--space-lg, 1rem);border-bottom:1px solid var(--border-color, #e2e8f0)}.left-panel-action{display:inline-block;padding:6px 12px;background:var(--primary, #0d9488);color:#fff;border-radius:4px;font-size:14px;font-weight:600;text-decoration:none}.left-panel-action:hover{filter:brightness(.95)}.empty-state{padding:var(--space-lg);color:var(--text-secondary)}.empty-state h3{margin:0 0 var(--space-sm) 0;color:var(--text-primary)}.empty-state p{font-size:14px;line-height:1.5;color:var(--text-secondary)}.postal-upload{padding:var(--space-xl, 1.5rem);max-width:720px;margin:0 auto;color:var(--text-primary, #0f172a)}.postal-upload-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-lg, 1rem)}.postal-upload-header h2{margin:0}.postal-upload-back{font-size:14px;color:var(--primary, #0d9488);text-decoration:none}.postal-upload-back:hover{text-decoration:underline}.postal-upload .drop-zone{border:2px dashed #cbd5e1;border-radius:8px;padding:2rem;text-align:center;margin-bottom:1rem;background:#f8fafc;transition:background .12s,border-color .12s}.postal-upload .drop-zone.dragover{background:#e0e7ff;border-color:#6366f1}.postal-upload form{display:flex;flex-direction:column;gap:.75rem}.postal-upload label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.postal-upload input[type=text],.postal-upload input[type=file]{padding:.5rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit}.postal-upload button{padding:.5rem 1rem;align-self:flex-start;background:var(--primary, #0d9488);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.postal-upload button:disabled{background:#94a3b8;cursor:not-allowed}.postal-upload .error{color:#991b1b;background:#fef2f2;padding:.5rem .75rem;border-radius:4px;margin:.25rem 0;white-space:pre-wrap}.postal-upload .status-card{border:1px solid #cbd5e1;border-radius:8px;padding:1rem 1.25rem;margin-top:1rem;background:#f8fafc}.postal-upload .status-card p{margin:.25rem 0}.postal-upload .status-card .triage{color:#92400e;background:#fef3c7;padding:.5rem .75rem;border-radius:4px}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#e2e8f0;color:#1e293b;letter-spacing:.02em;text-transform:uppercase}.apply-panel{border:1px solid #c7d2fe;background:#f5f7ff;border-radius:6px;padding:.85rem 1rem;margin-bottom:1rem}.apply-head{display:flex;align-items:center;gap:.6rem}.apply-head h4{margin:0;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:#3730a3}.tier-badge{padding:1px 8px;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.tier-auto{background:#dcfce7;color:#14532d}.tier-assisted{background:#dbeafe;color:#1e40af}.tier-manual{background:#fef3c7;color:#92400e}.shadow-badge{padding:1px 8px;border-radius:999px;font-size:.6875rem;background:#ede9fe;color:#5b21b6;font-weight:600}.apply-status{margin-left:auto;padding:2px 10px;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;background:#e2e8f0;color:#1e293b}.apply-queued{background:#e0e7ff;color:#3730a3}.apply-sent{background:#fef9c3;color:#854d0e}.apply-applied{background:#dcfce7;color:#14532d}.apply-rejected{background:#fee2e2;color:#991b1b}.apply-needs_review{background:#fef3c7;color:#92400e}.apply-cancelled{background:#f1f5f9;color:#64748b}.apply-reason{margin-top:.5rem;padding:.4rem .6rem;border-radius:4px;font-size:.8125rem}.apply-reason.ok{background:#dcfce7;color:#14532d}.apply-reason.warn{background:#fef3c7;color:#92400e}.apply-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-top:.7rem}.apply-grid label{display:flex;flex-direction:column;gap:.2rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:#475569}.apply-grid input{padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit;font-size:.875rem;background:#fff}.apply-grid input.invalid{border-color:#ef4444;background:#fef2f2}.apply-grid input:disabled{background:#f1f5f9;color:#64748b}.ref-parse{font-size:.6875rem;text-transform:none;letter-spacing:0;font-weight:600}.ref-parse.ok{color:#14532d}.ref-parse.bad{color:#991b1b}.apply-flags{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.7rem}.apply-flags .flag{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;color:#0f172a}.apply-notes{width:100%;min-height:3rem;margin-top:.7rem;padding:.45rem .55rem;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:4px;font:.8125rem/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;resize:vertical}.apply-notes:disabled{background:#f1f5f9}.apply-error{margin-top:.5rem}.apply-actions{display:flex;align-items:center;gap:.6rem;margin-top:.7rem}.apply-actions .push{padding:.45rem 1.1rem;background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font:inherit;font-weight:700}.apply-actions .push:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.apply-actions .push:not(:disabled):hover{background:#4338ca}.apply-actions .cancel{padding:.45rem .9rem;background:#fff;border:1px solid #fca5a5;color:#991b1b;border-radius:4px;cursor:pointer;font:inherit}.apply-panel .muted{color:#64748b;font-size:.8125rem}.tier-reasons{margin-top:.6rem;font-size:.75rem;color:#475569}.tier-reasons summary{cursor:pointer}.tier-reasons ul{margin:.3rem 0 0;padding-left:1.2rem}.letters-list{padding:var(--space-xl, 1.5rem);max-width:none;margin:0;color:var(--text-primary, #0f172a);font-size:.875rem;height:100vh;overflow-y:auto}.letters-list-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-md, .75rem)}.letters-list-header h2{margin:0}.letters-list-actions{display:flex;gap:.75rem;align-items:center}.letters-list-link{font-size:.875rem;color:var(--primary, #0d9488);text-decoration:none}.letters-list-link:hover{text-decoration:underline}.letters-list-refresh{padding:.4rem .8rem;background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font:inherit}.letters-list-refresh:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.filter-strip label.checkbox-label{flex-direction:row;align-items:center;gap:.4rem;font-size:.875rem;text-transform:none;letter-spacing:0;color:#0f172a}.filter-strip-info{margin-left:auto;font-size:.8125rem;color:#475569}.filter-strip-poll{margin-left:.5rem;color:#14532d}.filter-strip-poll.paused{color:#92400e}.letters-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.letters-table th,.letters-table td{padding:.5rem .625rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}.letters-table thead th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:sticky;top:0}.letters-row{cursor:pointer;transition:background 80ms}.letters-row:hover{background:#f8fafc}.letters-row.expanded{background:#eef2ff}.letters-table .num{text-align:right;font-variant-numeric:tabular-nums}.letters-table .sender{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.letters-table .letter-id{font-size:.75rem;color:#334155}.channel-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#e2e8f0;color:#1e293b}.channel-badge.channel-post{background:#fef3c7;color:#92400e}.channel-badge.channel-email{background:#dbeafe;color:#1e40af}.conf{font-variant-numeric:tabular-nums;font-weight:600}.conf-high{color:#14532d}.conf-mid{color:#92400e}.conf-low{color:#991b1b}.conf-na{color:#94a3b8;font-weight:400}.triage-flag{color:#92400e;font-size:1rem}.notes-yes{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;background:#dcfce7;color:#14532d;letter-spacing:.02em;text-transform:uppercase}.notes-no{color:#94a3b8}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;background:#e2e8f0;color:#1e293b;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.status-badge.status-queued{background:#e0e7ff;color:#3730a3}.status-badge.status-ocr,.status-badge.status-classify,.status-badge.status-extract,.status-badge.status-validate,.status-badge.status-match{background:#dbeafe;color:#1e40af}.status-badge.status-pipeline_error{background:#fee2e2;color:#991b1b}.status-badge.status-filtered_non_creditor{background:#f1f5f9;color:#475569}.detail-row td{background:#f8fafc;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.detail-panel h4{margin:.75rem 0 .25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#475569}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-panel dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .75rem;margin:0;font-size:.8125rem}.detail-panel dt{color:#475569;font-weight:600}.detail-panel dd{margin:0}.detail-panel-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.detail-panel-left h4,.detail-panel-right h4{margin-top:0}.detail-panel-left embed,.detail-panel-left iframe{border:1px solid #cbd5e1;border-radius:4px;background:#fff;width:100%;display:block}.document-pane{margin:0}.document-pane-loading,.document-pane-error{display:flex;align-items:center;justify-content:center;min-height:200px;border:1px dashed #cbd5e1;border-radius:4px;background:#f8fafc}.document-pane-hint{margin:.4rem 0 0;font-size:.75rem;color:#64748b}.detail-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.detail-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;background:#e0e7ff;color:#3730a3;letter-spacing:.02em;text-transform:uppercase}.detail-badge-warn{background:#fef3c7;color:#92400e}@media(max-width:1100px){.detail-panel-split{grid-template-columns:1fr}}.detail-panel pre.json{background:#0f172a;color:#e2e8f0;padding:.75rem;border-radius:4px;overflow:auto;max-height:300px;font-size:.75rem;margin:.25rem 0 .75rem;white-space:pre-wrap;word-break:break-word}.letters-list .error{color:#991b1b;background:#fef2f2;padding:.5rem .75rem;border-radius:4px;margin:.5rem 0;white-space:pre-wrap}.letters-list .loading{color:#475569;font-style:italic}.pagination{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 0}.audit-notes{margin-top:.5rem}.audit-notes-textarea{width:100%;min-height:6.5rem;padding:.5rem .6rem;font:.875rem/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:4px;resize:vertical;box-sizing:border-box}.audit-notes-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f12e}.audit-notes-actions{display:flex;align-items:center;gap:.6rem;margin-top:.4rem;font-size:.75rem;flex-wrap:wrap}.audit-notes-save{padding:.35rem .9rem;background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font:inherit;font-weight:600}.audit-notes-save:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.audit-notes-save:not(:disabled):hover{background:#4338ca}.audit-notes-count{color:#64748b;font-variant-numeric:tabular-nums}.audit-notes-over{color:#991b1b;margin-left:.25rem}.audit-notes-saved{color:#14532d;font-weight:600;animation:audit-notes-fade-in .12s ease-out}.audit-notes-error{color:#991b1b;background:#fef2f2;padding:.15rem .5rem;border-radius:3px}@keyframes audit-notes-fade-in{0%{opacity:0}to{opacity:1}}.sheet-upload{padding:var(--space-xl, 1.5rem);max-width:1100px;margin:0 auto;color:var(--text-primary, #0f172a);font-size:.875rem;height:100vh;overflow-y:auto}.sheet-upload-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-md, .75rem)}.sheet-upload-header h2{margin:0}.sheet-upload-link{color:var(--primary, #0d9488);text-decoration:none;font-size:.875rem}.sheet-upload-link:hover{text-decoration:underline}.sheet-upload-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:1rem 1.25rem}.sheet-upload-form .field{display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;color:#475569;text-transform:uppercase;letter-spacing:.04em}.sheet-upload-form .field small{text-transform:none;letter-spacing:0;color:#94a3b8}.sheet-upload-form input[type=text],.sheet-upload-form select{padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit;background:#fff;min-width:220px}.sheet-upload-form input[type=file]{font:inherit}.sheet-upload-buttons button,.preview-commit button{padding:.45rem 1.1rem;background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font:inherit;font-weight:600}.sheet-upload-buttons button:disabled,.preview-commit button:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed}.sheet-upload-buttons button:not(:disabled):hover,.preview-commit button:not(:disabled):hover{background:#4338ca}.error{color:#991b1b;background:#fef2f2;padding:.5rem .75rem;border-radius:4px;margin:.75rem 0}.commit-ok{color:#14532d;background:#dcfce7;padding:.6rem .85rem;border-radius:4px;margin:.75rem 0}.commit-ok a{color:#047857;font-weight:600}.preview-panel{margin-top:1rem;border:1px solid #e2e8f0;border-radius:6px;padding:1rem 1.25rem;background:#fff}.preview-summary{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.preview-summary strong{font-size:.95rem}.preview-summary .muted{color:#64748b;font-size:.8125rem}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-warn{background:#fef3c7;color:#92400e}.preview-candidates{margin-top:.75rem}.preview-candidates h4{margin:.6rem 0 .25rem;font-size:.75rem;text-transform:uppercase;color:#475569}.preview-candidates ul{margin:0;padding-left:1.1rem}.preview-candidates .headers{display:block;background:#f1f5f9;padding:.5rem;border-radius:4px;font-size:.75rem;word-break:break-word}.preview-panel h4{margin:.9rem 0 .4rem;font-size:.75rem;text-transform:uppercase;color:#475569}.table-scroll{overflow-x:auto}.preview-table{width:100%;border-collapse:collapse}.preview-table th,.preview-table td{padding:.4rem .55rem;text-align:left;border-bottom:1px solid #f1f5f9;white-space:nowrap}.preview-table thead th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:#475569;background:#f8fafc}.preview-table .num{text-align:right;font-variant-numeric:tabular-nums}.preview-table tr.has-warn{background:#fffbeb}.preview-commit{margin-top:.85rem}.work-queue{padding:var(--space-xl, 1.5rem);max-width:none;margin:0;color:var(--text-primary, #0f172a);font-size:.875rem;height:100vh;overflow-y:auto}.work-queue-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.work-queue-header h2{margin:0}.work-queue-actions{display:flex;gap:.75rem;align-items:center}.wq-link{color:var(--primary, #0d9488);text-decoration:none;font-size:.875rem}.wq-link:hover{text-decoration:underline}.wq-refresh{padding:.4rem .8rem;background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font:inherit}.wq-refresh:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.wq-summary{display:flex;gap:.6rem;margin-bottom:.75rem;flex-wrap:wrap}.wq-chip{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:.35rem .85rem;cursor:pointer;font:inherit;font-size:.8125rem}.wq-chip strong{margin-left:.3rem;font-variant-numeric:tabular-nums}.wq-chip.active{outline:2px solid #6366f1}.wq-chip-pending{color:#3730a3}.wq-chip-in_progress{color:#1e40af}.wq-chip-done{color:#14532d}.wq-chip-skipped{color:#92400e}.filter-strip{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem 1rem;margin-bottom:.75rem}.filter-strip label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:#475569;text-transform:uppercase;letter-spacing:.04em}.filter-strip select{padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit;background:#fff;min-width:160px}.filter-info{margin-left:auto;font-size:.8125rem;color:#475569}.wq-clear{align-self:center;border:1px solid #fbbf24;background:#fffbeb;color:#92400e;border-radius:4px;padding:.3rem .6rem;cursor:pointer;font:inherit;font-size:.75rem}.wq-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.wq-table th,.wq-table td{padding:.5rem .625rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}.wq-table thead th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:sticky;top:0}.wq-table .num{text-align:right;font-variant-numeric:tabular-nums}.wq-table .mono{font-variant-numeric:tabular-nums}.wq-row{cursor:pointer;transition:background 80ms}.wq-row:hover{background:#f8fafc}.wq-row.expanded{background:#eef2ff}.warn-flag{color:#92400e}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;background:#e2e8f0;color:#1e293b}.status-badge.status-pending{background:#e0e7ff;color:#3730a3}.status-badge.status-in_progress{background:#dbeafe;color:#1e40af}.status-badge.status-done{background:#dcfce7;color:#14532d}.status-badge.status-skipped{background:#fef3c7;color:#92400e}.wq-detail-row td{background:#f8fafc;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.wq-detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:900px){.wq-detail-cols{grid-template-columns:1fr}}.wq-detail h4{margin:0 0 .4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#475569}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.2rem .75rem;margin:0;font-size:.8125rem}.kv>div{display:contents}.kv dt{color:#475569;font-weight:600}.kv dd{margin:0;word-break:break-word}.wq-warnings{margin-top:.75rem;color:#92400e;background:#fffbeb;padding:.4rem .6rem;border-radius:4px;font-size:.8125rem}.wq-notes{margin-top:.75rem}.wq-notes textarea{width:100%;min-height:4rem;padding:.5rem .6rem;box-sizing:border-box;font:.875rem/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;border:1px solid #cbd5e1;border-radius:4px;resize:vertical}.wq-notes textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f12e}.wq-detail-actions{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap;align-items:center}.wq-detail-actions button{padding:.35rem .85rem;border:1px solid #cbd5e1;background:#fff;border-radius:4px;cursor:pointer;font:inherit;font-weight:600;font-size:.8125rem}.wq-detail-actions button:disabled{opacity:.5;cursor:not-allowed}.act-done{background:#dcfce7!important;color:#14532d;border-color:#86efac!important}.act-prog{background:#dbeafe!important;color:#1e40af;border-color:#93c5fd!important}.act-skip{background:#fef3c7!important;color:#92400e;border-color:#fcd34d!important}.saving{color:#64748b;font-size:.75rem}.error{color:#991b1b;background:#fef2f2;padding:.5rem .75rem;border-radius:4px;margin:.5rem 0}.empty-state{text-align:center;padding:3rem 1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px}.empty-state h3{margin:0 0 .5rem;color:#475569}.empty-state p{margin:0;color:#64748b}.pagination{display:flex;gap:.5rem;justify-content:flex-end;align-items:center;padding:.75rem 0}.pagination button{padding:.4rem .9rem;background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font:inherit}.pagination button:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.page-info{font-size:.8125rem;color:#475569}.tpl-admin{padding:var(--space-xl, 1.5rem);max-width:1100px;margin:0 auto;color:var(--text-primary, #0f172a);font-size:.875rem;height:100vh;overflow-y:auto}.tpl-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.tpl-header h2{margin:0}.tpl-actions{display:flex;gap:.75rem;align-items:center}.tpl-link{color:var(--primary, #0d9488);text-decoration:none;font-size:.875rem}.tpl-link:hover{text-decoration:underline}.tpl-new{padding:.45rem 1rem;background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font:inherit;font-weight:600}.tpl-new:hover{background:#4338ca}.tpl-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden}.tpl-table th,.tpl-table td{padding:.5rem .7rem;text-align:left;border-bottom:1px solid #f1f5f9}.tpl-table thead th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;background:#f8fafc}.tpl-table .num{text-align:right;font-variant-numeric:tabular-nums}.tpl-table tr.inactive{opacity:.55}.row-actions{display:flex;gap:.4rem}.row-actions button{padding:.25rem .6rem;border:1px solid #cbd5e1;background:#fff;border-radius:4px;cursor:pointer;font:inherit;font-size:.75rem}.row-actions button.danger{color:#991b1b;border-color:#fecaca}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.badge-ok{background:#dcfce7;color:#14532d}.badge-off{background:#f1f5f9;color:#64748b}.muted{color:#94a3b8}.tpl-modal{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1rem;z-index:50;overflow-y:auto}.tpl-editor{background:#fff;border-radius:8px;width:min(820px,100%);padding:1.25rem 1.5rem;box-shadow:0 20px 50px #00000040}.tpl-editor-head{display:flex;justify-content:space-between;align-items:center}.tpl-editor-head h3{margin:0}.tpl-x{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#64748b}.tpl-bootstrap{display:flex;align-items:center;gap:.75rem;margin:.75rem 0;padding:.6rem .8rem;background:#eef2ff;border:1px dashed #c7d2fe;border-radius:6px}.bootstrap-btn{cursor:pointer;font-weight:600;color:#4338ca;padding:.3rem .7rem;background:#fff;border:1px solid #c7d2fe;border-radius:4px}.bootstrap-msg{font-size:.8125rem;color:#475569}.tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.75rem 0}.tpl-grid label,.tpl-grid label.wide{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:#475569;text-transform:uppercase;letter-spacing:.04em}.tpl-grid label.wide{grid-column:1 / -1}.tpl-grid small{text-transform:none;letter-spacing:0;color:#94a3b8}.tpl-grid input{padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit}.tpl-editor h4{margin:1rem 0 .4rem;font-size:.8125rem;color:#334155}.tpl-editor h4 small{font-weight:400;color:#94a3b8;margin-left:.4rem}.map-rows{display:flex;flex-direction:column;gap:.4rem}.map-row{display:flex;align-items:center;gap:.5rem}.map-row select{min-width:220px;padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit;background:#fff}.map-row input{flex:1;padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:4px;font:inherit}.map-row .arrow{color:#94a3b8;font-weight:700}.map-row .del{border:none;background:#fee2e2;color:#991b1b;border-radius:4px;width:1.6rem;height:1.6rem;cursor:pointer}.add{align-self:flex-start;margin-top:.2rem;padding:.3rem .7rem;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:4px;cursor:pointer;font:inherit;font-size:.8125rem}.compose-row{display:flex;gap:1.25rem}.chk{display:flex;align-items:center;gap:.35rem;font-size:.875rem}.fingerprint{width:100%;min-height:5rem;box-sizing:border-box;padding:.5rem .6rem;font:.8125rem/1.4 ui-monospace,monospace;border:1px solid #cbd5e1;border-radius:4px;resize:vertical}.tpl-editor-foot{display:flex;gap:.6rem;margin-top:1.1rem}.tpl-editor-foot .save{padding:.5rem 1.2rem;background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font:inherit;font-weight:600}.tpl-editor-foot .save:disabled{background:#cbd5e1;cursor:not-allowed}.tpl-editor-foot .cancel{padding:.5rem 1.1rem;background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font:inherit}.error{color:#991b1b;background:#fef2f2;padding:.5rem .75rem;border-radius:4px;margin:.5rem 0;cursor:pointer}.loading{color:#475569;font-style:italic}:root{--primary: #299B84;--primary-hover: #238773;--primary-light: #E8F3F0;--accent-blue: #3B82F6;--accent-blue-hover: #2563EB;--accent-green: #52C67E;--accent-gold: #FDB835;--bg-primary: #F8FAFB;--bg-secondary: #FFFFFF;--bg-hover: #F0F4F8;--bg-chat: #EFF3F8;--text-primary: #1E293B;--text-secondary: #64748B;--text-muted: #94A3B8;--border-color: #E2E8F0;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", system-ui, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;font-family:var(--font-sans);line-height:1.5;font-weight:var(--font-weight-normal);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-primary)}html.dev-mode{--primary: #7C3AED;--primary-hover: #6D28D9;--primary-light: #EDE9FE}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);min-width:320px;min-height:100vh}h1{font-size:2.5em;line-height:1.2;font-weight:var(--font-weight-bold);letter-spacing:-.5px}h2{font-size:2em;line-height:1.3;font-weight:var(--font-weight-bold);letter-spacing:-.3px}h3{font-size:1.5em;line-height:1.3;font-weight:var(--font-weight-semibold)}a{font-weight:var(--font-weight-medium);color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover);text-decoration:underline}button{border-radius:var(--border-radius-sm);border:1px solid transparent;font-size:14px;font-weight:var(--font-weight-semibold);font-family:inherit;background-color:transparent;color:inherit;cursor:pointer;transition:all .2s ease}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input[type=text],input[type=email],input[type=password],input[type=tel],textarea,select{font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:#fff;color:var(--text-primary);transition:all .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}input::placeholder,textarea::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::selection{background:var(--primary-light);color:var(--text-primary)}
