:root{--color-primary: #8B1A1F;--color-primary-dark: #6B0A10;--color-primary-light: #AF262C;--color-accent: #F7941D;--color-accent-dark: #D67A10;--color-accent-light: #FFF4E5;--color-surface: #F3F4FB;--color-surface-subtle: #F8F9FE;--color-surface-hover: #E9EAF5;--color-card: #FFFFFF;--color-border: #E2E4F0;--color-border-focus: #8B1A1F;--color-text: #1F1A24;--color-text-muted: #6B5E5E;--color-text-light: #948B8B;--color-success: #1E7A4C;--color-success-bg: #EAF7EE;--color-warning: #B25E09;--color-warning-bg: #FDEEE8;--color-danger: #B3261E;--color-danger-bg: #FDF2F2;--radius-sm: 4px;--radius-input: 8px;--radius-card: 12px;--radius-badge: 6px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(31, 26, 36, .06);--shadow-card: 0 4px 16px rgba(31, 26, 36, .07);--shadow-modal: 0 12px 32px rgba(31, 26, 36, .18);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}html.dark{--color-primary: #AF262C;--color-primary-dark: #8B1A1F;--color-primary-light: #C93B41;--color-accent: #F59E0B;--color-accent-dark: #D97706;--color-accent-light: rgba(245, 158, 11, .15);--color-surface: #0F172A;--color-surface-subtle: #1E293B;--color-surface-hover: #334155;--color-card: #1E293B;--color-border: #334155;--color-border-focus: #AF262C;--color-text: #F1F5F9;--color-text-muted: #94A3B8;--color-text-light: #64748B;--color-success: #34D399;--color-success-bg: rgba(6, 78, 59, .35);--color-warning: #FBBF24;--color-warning-bg: rgba(120, 53, 15, .35);--color-danger: #F87171;--color-danger-bg: rgba(127, 29, 29, .35);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-card: 0 4px 16px rgba(0, 0, 0, .45);--shadow-modal: 0 12px 32px rgba(0, 0, 0, .65)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background-color:var(--color-surface);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.6}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-md{max-width:28rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-2xl{border-radius:1rem}.rounded-xl{border-radius:.75rem}.rounded-lg{border-radius:.5rem}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.overflow-hidden{overflow:hidden}.grid{display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-2{gap:.5rem}.space-y-4>*+*{margin-top:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:1px;border-color:var(--color-primary)!important}.focus-interactive:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:2px}.form-control-input,.form-control-select,.form-control-textarea{width:100%;padding:10px 14px;font-size:14px;border-radius:var(--radius-input);border:1px solid var(--color-border);background-color:#fff;color:var(--color-text);transition:border-color .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out}.form-control-input:focus,.form-control-select:focus,.form-control-textarea:focus{outline:none!important;border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #8b1a1f26!important}.form-control-input:disabled,.form-control-select:disabled,.form-control-textarea:disabled,.form-control-input[readonly]{background-color:var(--color-surface);color:var(--color-text);cursor:default}html.dark .form-control-input,html.dark .form-control-select,html.dark .form-control-textarea{background-color:var(--color-surface-subtle);border-color:var(--color-border);color:var(--color-text)}html.dark .form-control-input:focus,html.dark .form-control-select:focus,html.dark .form-control-textarea:focus{border-color:var(--color-primary-light)!important;box-shadow:0 0 0 3px #af262c4d!important}html.dark .form-control-input[readonly]{background-color:var(--color-surface)}.segment-toggle-container{display:inline-flex;background-color:var(--color-surface-subtle);padding:4px;border-radius:10px;border:1px solid var(--color-border);gap:4px}.segment-toggle-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 20px;border-radius:7px;font-size:14px;font-weight:500;color:var(--color-text-muted);background-color:transparent;cursor:pointer;transition:all .15s ease-out;border:1px solid transparent;-webkit-user-select:none;user-select:none}.segment-toggle-btn:hover:not(.active){color:var(--color-text);background-color:var(--color-surface-hover)}.segment-toggle-btn.active{font-weight:600;color:#fff;background-color:var(--color-primary);border-color:var(--color-primary-dark);box-shadow:0 1px 3px #8b1a1f40,0 1px 2px #00000014}.segment-toggle-btn:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:2px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:12px 16px;vertical-align:middle}th{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background-color:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}td{font-size:14px;border-bottom:1px solid var(--color-border)}tr:last-child td{border-bottom:none}tbody tr:hover{background-color:var(--color-surface-hover)}tbody tr:hover td.sticky{background-color:var(--color-surface-hover, #F8FAFC)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c4c8d8;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#a0a5ba}@keyframes pulseDot{0%{transform:scale(.95);box-shadow:0 0 #f7941db3}70%{transform:scale(1.15);box-shadow:0 0 0 7px #f7941d00}to{transform:scale(.95);box-shadow:0 0 #f7941d00}}.pulsing-indicator-dot{width:10px;height:10px;background-color:var(--color-accent);border-radius:var(--radius-full);display:inline-block;animation:pulseDot 1.8s infinite cubic-bezier(.45,0,.55,1)}html.dark input,html.dark select,html.dark textarea{background-color:var(--color-surface-subtle);color:var(--color-text);border-color:var(--color-border)}html.dark table th{background-color:var(--color-surface);color:var(--color-text-muted);border-bottom-color:var(--color-border)}html.dark table td{border-bottom-color:var(--color-border);color:var(--color-text)}html.dark tbody tr:hover{background-color:var(--color-surface-hover)}html.dark tbody tr:hover td.sticky,html.dark td.sticky{background-color:var(--color-card)!important}html.dark tbody tr:hover td.sticky{background-color:var(--color-surface-hover)!important}html.dark [style*="background-color: #FFFFFF"],html.dark [style*="background-color: rgb(255, 255, 255)"],html.dark [style*="backgroundColor: #FFFFFF"],html.dark [style*="backgroundColor: rgb(255, 255, 255)"]{background-color:var(--color-card)!important;color:var(--color-text)}.presence-badge-active{background-color:#fef3c7;color:#92400e;border:1px solid #FCD34D}html.dark .presence-badge-active{background-color:#451a0373;color:#fcd34d;border-color:#b45309}.presence-badge-departed{background-color:#f1f5f9;color:#334155;border:1px solid #E2E8F0}html.dark .presence-badge-departed{background-color:#1e293b;color:#cbd5e1;border-color:#334155}.presence-badge-waiting{background-color:#fef9c3;color:#854d0e;border:1px solid #FDE047}html.dark .presence-badge-waiting{background-color:#713f1273;color:#fde047;border-color:#a16207}.presence-badge-rejected{background-color:#ffe4e6;color:#be123c;border:1px solid #FDA4AF}html.dark .presence-badge-rejected{background-color:#88133773;color:#fda4af;border-color:#be123c}@keyframes pingDot{75%,to{transform:scale(2);opacity:0}}.animate-ping-dot{animation:pingDot 1.4s cubic-bezier(0,0,.2,1) infinite}@media print{body{background:#fff!important;color:#000!important;font-size:12pt}.no-print,nav,aside,header.staff-header,.btn,button{display:none!important}.print-only{display:block!important}.print-container{width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;border:none!important}table{page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}thead{display:table-header-group}tfoot{display:table-footer-group}}.print-only{display:none}
