.toast-container{position:fixed;bottom:1.25rem;right:1.25rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem;max-width:min(420px,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;padding:.75rem 1rem;border-radius:var(--radius-md, 8px);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .12));animation:toast-in .28s ease-out;transition:opacity .28s ease,transform .28s ease}.toast-exit{opacity:0;transform:translate(12px)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toast-success{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7}.toast-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.toast-info{background:#eff6ff;color:#1e40af;border:1px solid #93c5fd}.toast-warning{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}.table-wrap{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014}.reservations-table{width:100%;border-collapse:collapse}.reservations-table th,.reservations-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #eee;vertical-align:middle}.reservations-table th{font-weight:600;color:#444;background:#fafafa}.reservations-table tbody tr:hover{background:#f9fafb}.reservations-table tbody tr.row-dates-near{background:#fef2f2}.reservations-table tbody tr.row-dates-near:hover{background:#fee2e2}.reservations-table tbody tr.row-currently-hosting{background:#fff7ed}.reservations-table tbody tr.row-currently-hosting:hover{background:#ffedd5}.cell-image{width:56px;height:56px}.cell-image img{width:100%;height:100%;object-fit:cover;border-radius:4px}.cell-image span{color:#999;font-size:.85rem}.col-check{width:2.5rem;text-align:center}.preview-cell{max-width:180px;font-size:.9rem}.btn-link.danger{color:#dc2626}.btn-link.danger:hover{color:#b91c1c}.status{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#f3f4f6;color:#4b5563}.btn-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.btn-link:hover{color:#1d4ed8}.actions-cell{vertical-align:middle;white-space:nowrap}.btn-link.btn-resend{color:#059669}.btn-link.btn-resend:hover{color:#047857}.empty-state{padding:2rem;text-align:center;color:#666;background:#fff;border-radius:8px}.empty-state-rich{padding:2.5rem 1.5rem}.empty-state-icon{color:var(--color-muted, #94a3b8);margin-bottom:1rem}.empty-state-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--color-text, #1a1a1a)}.empty-state-desc{font-size:.95rem;color:var(--color-muted, #64748b);max-width:360px;margin:0 auto;line-height:1.45}.contact-preview-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;background:#fff;border:1px solid #e9edef;border-radius:8px;box-shadow:0 1px 2px #0000000f;max-width:320px}.contact-preview-card--compact{padding:.4rem .6rem;gap:.5rem;max-width:100%}.contact-preview-card__avatar{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;background:#00a884;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600}.contact-preview-card--compact .contact-preview-card__avatar{width:32px;height:32px;min-width:32px;min-height:32px;font-size:.95rem}.contact-preview-card__body{min-width:0;flex:1}.contact-preview-card__name{font-size:.95rem;font-weight:500;color:#111b21;line-height:1.35;word-break:break-word}.contact-preview-card--compact .contact-preview-card__name{font-size:.85rem}.contact-preview-card__meta{margin-top:.2rem;font-size:.8rem;color:#667781}.contact-preview-card__label{margin-right:.35rem}.contact-preview-card__phone{color:#111b21}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:8px;max-width:560px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.reservation-detail-modal{max-width:640px}.modal-wide{max-width:960px}.modal-header-nav{flex-wrap:wrap;gap:.75rem}.modal-header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex:1;min-width:0}.modal-nav-arrows{display:flex;gap:.25rem}.modal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s}.modal-nav-btn:hover:not(:disabled){background:#f9fafb;border-color:#cbd5e1}.modal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.modal-status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.modal-status-badge.status-pending{background:#fef3c7;color:#92400e}.modal-status-badge.status-approved{background:#d1fae5;color:#065f46}.modal-status-badge.status-rejected{background:#f3f4f6;color:#4b5563}.modal-error-banner{margin:0;padding:.65rem 1.25rem;background:#fef2f2;border-bottom:1px solid #fecaca}.modal-body-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}@media (max-width: 800px){.modal-body-two-col{grid-template-columns:1fr}}.detail-col-media,.detail-col-form{min-width:0}.detail-image-wrap{margin-bottom:1rem}.detail-image-main{width:100%;max-height:280px;object-fit:contain;border:1px solid var(--color-border, #eee);border-radius:var(--radius-md, 8px);background:#fafafa}.detail-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:200px;border:1px dashed #cbd5e1;border-radius:var(--radius-md, 8px);background:#f8fafc;color:#64748b;font-size:.9rem}.detail-image-placeholder-icon{color:#94a3b8}.detail-text-block{margin-bottom:1rem}.detail-sub-label{display:block;font-size:.8rem;font-weight:600;color:#64748b;margin-bottom:.35rem}.req-mark{color:#dc2626;font-weight:700}.form-input{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-input-invalid{border-color:#dc2626;box-shadow:0 0 0 1px #dc262626}.modal-footer-actions{flex-wrap:wrap}.modal-footer .btn{display:inline-flex;align-items:center;gap:.4rem}.modal-btn-icon{flex-shrink:0}.modal-skeleton-header{height:2.5rem;margin:1rem 1.25rem;border-radius:6px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:modal-sk 1s ease-in-out infinite}.modal-skeleton-body{padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.modal-skeleton-block{display:block;height:120px;border-radius:8px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:modal-sk 1s ease-in-out infinite}.modal-skeleton-block.short{height:2rem;width:60%}@keyframes modal-sk{0%{background-position:100% 0}to{background-position:-100% 0}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.2rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#666;padding:.25rem}.modal-close:hover{color:#1a1a1a}.modal-body{padding:1.25rem;overflow-y:auto}.modal-body .error{margin:0 0 1rem;color:#dc2626;font-size:.9rem}.detail-row{margin-bottom:1.25rem}.preview-row{margin-top:1.25rem}.detail-row label{display:block;font-weight:500;margin-bottom:.35rem;font-size:.9rem}.detail-image img{max-width:100%;max-height:240px;object-fit:contain;border:1px solid #eee;border-radius:6px}.extracted-text{margin:0;padding:.75rem;background:#f8f9fa;border-radius:6px;font-size:.85rem;white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto}.detail-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.preview-row .preview-hint{margin:.2rem 0 .5rem;font-size:.8rem;color:#667781}.form-group label{display:block;font-weight:500;margin-bottom:.35rem;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;color:#666}.modal-footer{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #eee;background:#fafafa}.modal-footer .btn{padding:.5rem 1rem;border-radius:6px;border:none;font-size:.95rem;cursor:pointer}.modal-footer .btn:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-success{background:#059669;color:#fff}.btn-success:hover:not(:disabled){background:#047857}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-outline-danger{background:transparent;color:#dc2626;border:1px solid #dc2626}.btn-outline-danger:hover:not(:disabled){background:#fef2f2}.modal-body .btn,.detail-row .btn{padding:.5rem 1rem;border-radius:6px;font-size:.95rem;cursor:pointer}.modal-body .btn:disabled,.detail-row .btn:disabled{opacity:.7;cursor:not-allowed}.btn-outline-secondary{background:transparent;color:#475569;border:1px solid #94a3b8}.btn-outline-secondary:hover:not(:disabled){background:#f1f5f9}.modal-footer .btn-outline-secondary{padding:.5rem 1rem;border-radius:6px;font-size:.95rem;font-weight:500;border:1px solid #94a3b8;background:transparent;color:#475569;cursor:pointer}.modal-footer .btn-outline-secondary:hover:not(:disabled){background:#f1f5f9;color:#334155}.detail-hint{margin:.35rem 0 0;font-size:.8rem;color:#64748b}.field-updated{animation:field-highlight 2.5s ease-out forwards}@keyframes field-highlight{0%{background-color:#d1fae5;border-color:#10b981}70%{background-color:#d1fae5;border-color:#10b981}to{background-color:transparent;border-color:inherit}}.text-replacements-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.tr-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tr-header h3{margin:0;font-size:1.1rem}.tr-desc{margin:0;color:#666;font-size:.9rem;flex:1;min-width:200px}.tr-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tr-form input{padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;min-width:180px}.tr-form input:first-of-type{min-width:220px}.text-replacements-section .btn-primary{padding:.5rem 1rem;font-size:.95rem;font-weight:500;border-radius:6px;border:none;background:#2563eb;color:#fff;cursor:pointer}.text-replacements-section .btn-primary:hover:not(:disabled){background:#1d4ed8}.text-replacements-section .btn-primary:disabled{opacity:.7;cursor:not-allowed}.tr-table-wrap{overflow-x:auto;border-radius:6px;border:1px solid #e5e7eb;background:#fff}.tr-table{width:100%;border-collapse:collapse;font-size:.9rem}.tr-table th,.tr-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid #eee}.tr-table tbody tr:last-child td{border-bottom:none}.tr-table tbody tr:hover{background:#f9fafb}.tr-table th{font-weight:600;color:#444;background:#f8fafc}.tr-table td:last-child{text-align:right;white-space:nowrap}.tr-row-editing{background:#f0f9ff!important}.tr-edit-input{width:100%;min-width:120px;padding:.4rem .6rem;border:1px solid #94a3b8;border-radius:6px;font-size:.9rem}.text-replacements-section .btn-link.tr-btn-edit{display:inline-block;padding:.35rem .65rem;font-size:.85rem;border-radius:6px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;cursor:pointer;text-decoration:none;margin-right:.5rem}.text-replacements-section .btn-link.tr-btn-edit:hover{background:#dbeafe;border-color:#93c5fd}.text-replacements-section .btn-link.tr-btn-save{display:inline-block;padding:.35rem .65rem;font-size:.85rem;border-radius:6px;border:1px solid #86efac;background:#dcfce7;color:#15803d;cursor:pointer;text-decoration:none;margin-right:.5rem}.text-replacements-section .btn-link.tr-btn-save:hover:not(:disabled){background:#bbf7d0;border-color:#4ade80}.text-replacements-section .btn-link.tr-btn-save:disabled{opacity:.7;cursor:not-allowed}.text-replacements-section .btn-link.danger{display:inline-block;padding:.35rem .65rem;font-size:.85rem;border-radius:6px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.text-replacements-section .btn-link.danger:hover{background:#fee2e2;border-color:#f87171;color:#991b1b}.tr-empty{color:#666;font-size:.9rem;margin:.5rem 0 0}.extraction-rules-section{margin-top:.5rem}.er-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-bottom:1rem}.er-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--color-muted, #64748b)}.er-label-grow{flex:1;min-width:200px}.er-input{padding:.5rem .75rem;border:1px solid var(--color-border, #ccc);border-radius:var(--radius-md, 6px);font-size:.95rem;min-width:140px}.er-table-wrap{overflow-x:auto;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);background:#fff}.er-table{width:100%;border-collapse:collapse;font-size:.9rem}.er-table th,.er-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--color-border, #eee);vertical-align:top}.er-table th{background:#fafafa;font-weight:600;color:#374151}.er-regex-cell{font-family:ui-monospace,monospace;font-size:.8rem;word-break:break-all;max-width:480px}.er-field-code{font-size:.85rem;background:#f1f5f9;padding:.15rem .4rem;border-radius:4px}.er-col-actions{white-space:nowrap;width:1%}.er-edit-input{width:100%;padding:.4rem .5rem;border:1px solid var(--color-border, #ccc);border-radius:6px;font-size:.85rem}.er-btn{margin-right:.5rem}.er-empty,.er-loading{margin:.75rem 0 0;color:var(--color-muted, #64748b);font-size:.9rem}.er-row-editing td{background:#f8fafc}.table-skeleton-wrap{overflow-x:auto;border-radius:var(--radius-md, 8px)}.table-skeleton{width:100%;border-collapse:collapse}.table-skeleton td{padding:.65rem 1rem;border-bottom:1px solid var(--color-border, #eee)}.table-skeleton-cell{display:block;height:1rem;border-radius:4px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:skeleton-shimmer 1.1s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.dashboard-header h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:600}.dashboard-header .subtitle{margin:0;color:#666;font-size:.95rem}.header-right-group{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.user-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .5rem .3rem .35rem;background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:999px;font-size:.85rem;font-weight:500;color:#334155;box-shadow:0 1px 2px #0000000d}.user-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;color:#94a3b8;cursor:pointer;border-radius:50%;padding:0;transition:color .15s,background .15s;flex-shrink:0}.btn-logout:hover{color:#ef4444;background:#fef2f2}.wa-header-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:999px;font-size:.85rem;font-weight:600;color:#334155;box-shadow:0 1px 2px #0000000d}.wa-header-label{letter-spacing:.02em}.wa-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.wa-dot-ok{background:#22c55e;box-shadow:0 0 0 2px #22c55e40}.wa-dot-warn{background:#eab308;box-shadow:0 0 0 2px #eab3084d}.wa-dot-bad{background:#ef4444;box-shadow:0 0 0 2px #ef444440}.dashboard-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.tab-btn{padding:.6rem 1rem;border:none;background:none;color:#6b7280;font-size:1rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-btn:hover{color:#111}.tab-btn.active{color:#2563eb;font-weight:600;border-bottom-color:#2563eb}.config-tab{padding-top:.5rem}.config-section{margin-bottom:2rem}.config-section h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.config-desc{margin:0 0 .75rem;color:#666;font-size:.9rem}.config-syntax-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.btn-syntax-var{padding:.35rem .6rem;font-size:.85rem;border:1px solid #94a3b8;border-radius:6px;background:#f1f5f9;color:#334155;cursor:pointer}.btn-syntax-var:hover{background:#e2e8f0;border-color:#64748b}.config-tab .btn-primary{padding:.6rem 1.2rem;font-size:1rem;font-weight:500;border-radius:6px;border:none;background:#2563eb;color:#fff;cursor:pointer;transition:background .15s}.config-tab .btn-primary:hover:not(:disabled){background:#1d4ed8}.config-tab .btn-primary:disabled{opacity:.7;cursor:not-allowed}.config-tab .btn-primary.btn-sm{padding:.5rem 1rem;font-size:.95rem}.config-whatsapp-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem}.config-send-text-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.config-checkbox-label{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;cursor:pointer}.config-checkbox-label input[type=checkbox]{width:1.1rem;height:1.1rem;cursor:pointer}.config-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500}.config-label .template-input{min-width:220px;padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem}.config-syntax-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.config-syntax-row .template-input{min-width:450px;padding:.5rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem}.config-syntax-row .btn-primary{padding:.6rem 1.2rem;font-size:1rem;border-radius:6px;border:none;background:#2563eb;color:#fff;cursor:pointer}.config-syntax-row .btn-primary:hover:not(:disabled){background:#1d4ed8}.config-syntax-row .btn-primary:disabled{opacity:.7;cursor:not-allowed}.config-ok{margin:.5rem 0 0;color:#059669;font-size:.9rem}.dashboard-template .template-label{font-size:.9rem;color:#374151}.dashboard-actions{margin-bottom:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.scan-day-label{display:flex;align-items:center;gap:.5rem;font-weight:500}.scan-day-select{padding:.4rem .75rem;border-radius:6px;border:1px solid #ccc;font-size:1rem;background:#fff}.scan-day-select:disabled{opacity:.7;cursor:not-allowed}.dashboard-filters{margin-bottom:1rem}.dashboard-filters select{margin-left:.5rem;padding:.35rem .75rem;border-radius:6px;border:1px solid #ccc}.dashboard-template{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.dashboard-template .template-input{min-width:280px;padding:.5rem .75rem;margin-left:.5rem;border:1px solid #ccc;border-radius:6px}.dashboard-template .btn-success{padding:.5rem 1rem;border-radius:6px;border:none;background:#059669;color:#fff;cursor:pointer}.dashboard-template .btn-success:hover:not(:disabled){background:#047857}.dashboard-template .btn-success:disabled{opacity:.6;cursor:not-allowed}.dashboard-bulk-actions .btn{padding:.5rem 1rem;border-radius:6px;font-size:.95rem;cursor:pointer;border:none}.dashboard-bulk-actions .btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-bulk-actions .btn-resend-bulk{background:#059669;color:#fff}.dashboard-bulk-actions .btn-resend-bulk:hover:not(:disabled){background:#047857}.dashboard-bulk-actions .btn-outline-danger{background:transparent;color:#dc2626;border:1px solid #dc2626}.dashboard-bulk-actions .btn-outline-danger:hover:not(:disabled){background:#fef2f2}.dashboard-bulk-actions .btn-reparse-bulk{background:transparent;color:#475569;border:1px solid #94a3b8}.dashboard-bulk-actions .btn-reparse-bulk:hover:not(:disabled){background:#f1f5f9;border-color:#64748b;color:#334155}.dashboard-actions .btn{padding:.6rem 1.2rem;font-size:1rem;border-radius:6px;border:none;cursor:pointer}.dashboard-actions .btn:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8}.scan-result{margin:.75rem 0 0;color:#059669;font-size:.9rem}.dashboard-actions .error{margin:.75rem 0 0;color:#dc2626;font-size:.9rem}.dashboard-table{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.dashboard-table-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.dashboard-table-heading{display:flex;flex-direction:column;gap:.5rem}.dashboard-table-header h2{margin:0;font-size:1.15rem;font-weight:600}.table-status-counts{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.85rem;font-weight:500}.table-status-counts .tsc-pending{color:#92400e}.table-status-counts .tsc-approved{color:#065f46}.table-status-counts .tsc-rejected{color:#4b5563}.dashboard-bulk-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.dashboard-table .btn-link{display:inline-block;padding:.4rem .75rem;font-size:.875rem;border-radius:6px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.dashboard-table .btn-link:hover{background:#e2e8f0;border-color:#94a3b8;color:#1e293b}.dashboard-table .btn-link.btn-resend{border-color:#86efac;background:#ecfdf5;color:#047857}.dashboard-table .btn-link.btn-resend:hover{background:#d1fae5;border-color:#34d399;color:#065f46}.dashboard-table .btn-link.danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.dashboard-table .btn-link.danger:hover{background:#fee2e2;border-color:#f87171;color:#991b1b}.qr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.qr-modal{background:#fff;border-radius:12px;padding:1.5rem 2rem;text-align:center;box-shadow:0 20px 40px #0003}.qr-modal-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.qr-modal-hint{margin:0 0 1rem;color:#64748b;font-size:.95rem}.qr-modal-image{display:block;margin:0 auto;width:280px;height:280px;border:1px solid #e2e8f0;border-radius:8px}.qr-modal-enhanced{max-width:400px;padding:2rem 2rem 1.75rem}.qr-modal-badge{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2563eb;margin-bottom:.35rem}.qr-modal-visual{min-height:280px;display:flex;align-items:center;justify-content:center}.qr-modal-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:280px;height:280px;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b}.qr-modal-placeholder-text{font-size:.9rem;font-weight:500}.qr-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:qr-spin .85s linear infinite}@keyframes qr-spin{to{transform:rotate(360deg)}}.qr-modal-restart{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-modal-restart-hint{font-size:.82rem;color:#64748b;text-align:center;margin:0}.config-section-card{background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 8px);padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000000f}.config-section-title{margin:0 0 .35rem;font-size:1.2rem;font-weight:600;color:#111827}.config-subsection{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #f1f5f9}.config-subsection:first-of-type{margin-top:.5rem;padding-top:0;border-top:none}.config-subsection-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#334155}.terminal-section{max-width:100%}.terminal-pre{margin:0;padding:1rem;background:#1e293b;color:#e2e8f0;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.4;border-radius:8px;max-height:70vh;overflow:auto;white-space:pre-wrap;word-break:break-all}.terminal-line-error{color:#fca5a5}.terminal-line-warn{color:#fde047}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#f8fafc,#f0fdf4);padding:1.5rem}.login-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px #0000000d,0 20px 48px #0000001a;padding:2.5rem 2.25rem 2rem;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:0}.login-brand{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;margin-bottom:.5rem}.login-logo{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 8px rgba(37,99,235,.25))}.login-title{margin:0;font-size:1.65rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.login-subtitle{margin:0;font-size:.9rem;color:#64748b;line-height:1.4}.login-divider{width:100%;height:1px;background:#e5e7eb;margin:1.5rem 0}.login-body{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.login-prompt{margin:0;font-size:.95rem;color:#374151;font-weight:500;text-align:center}.login-google-btn{display:flex;justify-content:center;width:100%}.login-loading{display:flex;align-items:center;gap:.6rem;color:#64748b;font-size:.9rem;padding:.75rem 0}.login-spinner{width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;display:inline-block;animation:login-spin .7s linear infinite;flex-shrink:0}@keyframes login-spin{to{transform:rotate(360deg)}}.login-error{display:flex;align-items:center;gap:.5rem;width:100%;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.875rem;padding:.6rem .875rem;line-height:1.4}.login-error svg{flex-shrink:0}.login-dev-btn{width:100%;padding:.7rem 1rem;background:#1e293b;color:#94a3b8;border:1.5px dashed #334155;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.login-dev-btn:hover{background:#334155;color:#e2e8f0}.login-footer{margin:1.25rem 0 0;font-size:.8rem;color:#94a3b8;text-align:center;line-height:1.5}*{box-sizing:border-box}:root{--color-text: #1a1a1a;--color-muted: #64748b;--color-border: #e5e7eb;--radius-md: 8px;--shadow-md: 0 8px 24px rgba(0, 0, 0, .08)}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:var(--color-text)}#root{min-height:100vh}
