:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#de2e03;--color-secondary:#fc4b08;--color-primary-contrast:#fff;--color-primary-soft:color-mix(in srgb, var(--color-primary) 10%, #fff);--color-primary-border:color-mix(in srgb, var(--color-primary) 28%, #fff);--gray-50:#faf8f7;--gray-100:#f4f1ef;--gray-200:#eae4e0;--gray-300:#d8cfc9;--gray-400:#a89c95;--gray-500:#7a6e67;--gray-600:#5b514b;--gray-700:#403833;--gray-800:#2b2421;--gray-900:#1b1512;--color-bg:#eeeae6;--color-surface:#fff;--color-surface-alt:var(--gray-50);--color-surface-sunken:var(--gray-100);--color-border:var(--gray-200);--color-border-strong:var(--gray-300);--color-text:var(--gray-900);--color-text-soft:var(--gray-600);--color-text-muted:var(--gray-500);--color-success:#15803d;--color-success-bg:#e4f7e8;--color-success-border:#b9e9c4;--color-danger:#c00000;--color-danger-bg:#fdeceb;--color-danger-border:#f6c9c4;--color-warning:#a16207;--color-warning-bg:#fdf3e3;--od-accent:#c00000;--od-bg:#fdf1ef;--od-border:#f6cec6;--oi-accent:#b8420a;--oi-bg:#fff4ea;--oi-border:#ffd3b0;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:999px;--shadow-xs:0 1px 2px #2b242112;--shadow-sm:0 1px 3px #2b242112, 0 1px 2px #2b24210d;--shadow-md:0 4px 14px #2b242117;--shadow-lg:0 16px 40px #2b242129;--ring:0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);--ring-danger:0 0 0 3px color-mix(in srgb, var(--color-danger) 18%, transparent);--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading:var(--font-body);--transition:.15s cubic-bezier(.4, 0, .2, 1);--radius-legacy:var(--radius);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;font-size:14px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--color-text);margin:0;font-weight:700}h1{font-size:24px;line-height:1.25}h2{font-size:18px;line-height:1.3}h3{font-size:15px;line-height:1.35}p{margin:0}button{font-family:inherit}a{color:var(--color-primary)}::selection{background:color-mix(in srgb, var(--color-primary) 22%, transparent)}.tabular{font-variant-numeric:tabular-nums}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), transform var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{flex-shrink:0}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-primary) 88%, #000)}.btn-secondary{background:var(--color-surface);color:var(--color-text-soft);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-text-muted)}.btn-ghost{color:var(--color-text-soft);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger)}.btn-danger:focus-visible{box-shadow:var(--ring-danger)}.btn-sm{gap:5px;padding:6px 11px;font-size:13px}.btn-lg{padding:12px 20px;font-size:15px}.btn-icon{width:34px;height:34px;padding:8px}.btn-block{width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 22px}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex}.card-header h2,.card-header h3{margin:0}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.divider{background:var(--color-border);border:0;height:1px;margin:0}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{color:var(--color-text-soft);font-size:13px;font-weight:600}.field-hint{color:var(--color-text-muted);font-size:12px}.field input,.field select,.field textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition), background-color var(--transition);padding:10px 12px}.field input[type=color]{cursor:pointer;padding:3px}.field input[type=checkbox]{width:auto;accent-color:var(--color-primary);cursor:pointer}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted);opacity:.75}.field input:hover:not(:focus),.field select:hover:not(:focus),.field textarea:hover:not(:focus){border-color:var(--color-text-muted)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);box-shadow:var(--ring);outline:none}.field textarea{resize:vertical;min-height:76px;line-height:1.5}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:34px}.field-inline{flex-direction:row;align-items:center;gap:9px}.field-inline label{cursor:pointer;margin:0}.form-section+.form-section{border-top:1px solid var(--color-border);margin-top:22px;padding-top:22px}.form-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.search{align-items:center;display:flex;position:relative}.search svg{color:var(--color-text-muted);pointer-events:none;position:absolute;left:13px}.search input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition);padding:11px 14px 11px 40px}.search input::placeholder{color:var(--color-text-muted)}.search input:focus{border-color:var(--color-primary);box-shadow:var(--ring);outline:none}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:700}thead th:first-child{border-top-left-radius:var(--radius)}thead th:last-child{border-top-right-radius:var(--radius)}tbody td{border-bottom:1px solid var(--color-border);color:var(--color-text-soft);vertical-align:middle;padding:13px 18px}tbody td strong{color:var(--color-text);font-weight:600}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color var(--transition)}.table-clickable tbody tr:hover{background:var(--color-surface-alt);cursor:pointer}.table-hover tbody tr:hover{background:var(--color-surface-alt)}.cell-empty{color:var(--color-text-muted)}.table-state{text-align:center;color:var(--color-text-muted);padding:44px 20px!important}.badge{border-radius:var(--radius-full);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.badge-admin{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary-border)}.badge-empleado{background:var(--color-surface-sunken);color:var(--color-text-soft);border-color:var(--color-border-strong)}.badge-ok{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.badge-off{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.badge-neutral{background:var(--color-surface-sunken);color:var(--color-text-soft);border-color:var(--color-border)}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.data-item{min-width:0}.data-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:3px;font-size:11px;font-weight:600;display:block}.data-value{color:var(--color-text);overflow-wrap:anywhere;font-size:14px}.avatar{border-radius:var(--radius-full);background:var(--color-primary-soft);width:38px;height:38px;color:var(--color-primary);border:1px solid var(--color-primary-border);letter-spacing:.02em;text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.avatar-lg{width:56px;height:56px;font-size:18px}.avatar-sm{width:30px;height:30px;font-size:11px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:52px 24px;display:flex}.empty-state-icon{border-radius:var(--radius-full);background:var(--color-surface-sunken);width:52px;height:52px;color:var(--color-text-muted);justify-content:center;align-items:center;margin-bottom:2px;display:flex}.empty-state h3{color:var(--color-text);font-size:15px}.empty-state p{color:var(--color-text-muted);max-width:380px;font-size:14px}.error-text{color:var(--color-danger);font-size:13px}.alert{border-radius:var(--radius-sm);border:1px solid #0000;align-items:flex-start;gap:9px;padding:11px 14px;font-size:13px;font-weight:500;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.alert-error{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.alert-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.muted{color:var(--color-text-muted)}.soft{color:var(--color-text-soft)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#0f172a80;justify-content:center;align-items:flex-start;padding:40px 16px;animation:.16s ease-out overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-lg);animation:.2s cubic-bezier(.4,0,.2,1) modal-in}.modal-wide{max-width:780px}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex}.modal-header p{color:var(--color-text-muted);margin-top:3px;font-size:13px}.modal-body{padding:22px 24px}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:16px 24px 20px;display:flex}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(-10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.24s ease-out both fade-up}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.modal-overlay{padding:16px 12px 40px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}
