:root{--page-bg: #f5f5f7;--surface: #fff;--surface-muted: #fafafa;--surface-hover: #f8f8fa;--text: #1d1d1f;--text-muted: #666;--border: #eee;--input-border: #ccc;--shadow: rgba(0, 0, 0, .06);--primary-control-bg: #1a1a2e;--primary-control-text: #fff;--disabled-control-bg: #e5e7eb;--disabled-control-text: #4b5563;--disabled-control-border: #c5cad3;--danger: #b42318}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--page-bg);color:var(--text);transition:background-color .2s,color .2s}.list-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap}.list-action{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;box-sizing:border-box;padding:.35rem .65rem;border:1px solid var(--input-border, var(--border));border-radius:4px;background:var(--surface-muted);color:var(--text);font:inherit;font-size:.8rem;line-height:1.2;text-decoration:none;cursor:pointer}.list-action:hover:not(:disabled),.list-action:focus-visible{border-color:var(--primary);background:var(--surface-hover)}.list-action:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:2px}.list-action--danger{color:var(--danger, #b42318)}.list-action:disabled{opacity:.5;cursor:not-allowed}body.dark-theme{color-scheme:dark;--page-bg: #101218;--surface: #1a1d26;--surface-muted: #222631;--surface-hover: #272c38;--text: #f1f3f7;--text-muted: #b7bdc9;--border: #343946;--input-border: #4a5161;--shadow: rgba(0, 0, 0, .35);--primary-control-bg: #455d91;--primary-control-text: #fff;--disabled-control-bg: #2b303b;--disabled-control-text: #aeb5c1;--disabled-control-border: #4a5161;--danger: #ff7676}h1{font-size:1.5rem;font-weight:600}h2{font-size:1.2rem;font-weight:500}.table-wrapper{overflow-x:auto;background:var(--surface);border-radius:8px;box-shadow:0 1px 6px var(--shadow)}.responsive-table{width:100%;border-collapse:collapse}.responsive-table th,.responsive-table td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.responsive-table th{font-size:.78rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--surface-muted)}.responsive-table tbody tr:hover{background:var(--surface-hover)}body.dark-theme input,body.dark-theme select,body.dark-theme textarea{background:var(--surface-muted)!important;color:var(--text)!important;border-color:var(--input-border)!important}body.dark-theme input::placeholder,body.dark-theme textarea::placeholder{color:#929aaa!important;opacity:1}body.dark-theme option{background:var(--surface-muted);color:var(--text)}body.dark-theme .table-wrapper,body.dark-theme .modal,body.dark-theme .card,body.dark-theme .panel,body.dark-theme .stat-card,body.dark-theme .day-card,body.dark-theme .shift-card,body.dark-theme .login-card,body.dark-theme .alert-card,body.dark-theme .filters,body.dark-theme .export-options{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}body.dark-theme table th,body.dark-theme .zet-table th{background:var(--surface-muted)!important;color:var(--text-muted)!important}body.dark-theme table td,body.dark-theme table th{border-color:var(--border)!important}body.dark-theme table tbody tr:hover{background:var(--surface-hover)!important}body.dark-theme label,body.dark-theme .empty,body.dark-theme .muted{color:var(--text-muted)!important}body.dark-theme .btn-sm:not(.btn-primary),body.dark-theme .btn-secondary{background:var(--surface-muted)!important;color:var(--text)!important;border-color:var(--input-border)!important}body.dark-theme .secondary{background:var(--surface-muted)!important;color:var(--text)!important;border-color:var(--input-border)!important}body.dark-theme .tagline,body.dark-theme .alerts-section h2,body.dark-theme .alert-label,body.dark-theme .eyebrow{color:var(--text-muted)!important}body.dark-theme .count{color:#8fc8f0!important}body.dark-theme .export-options button{color:var(--text)!important}body.dark-theme .export-options button:hover,body.dark-theme .export-options button:focus-visible{background:var(--surface-hover)!important;color:#8fc8f0!important}body.dark-theme .crono-table th,body.dark-theme .crono-table td{border-color:var(--border)!important}body.dark-theme .week-label,body.dark-theme .day-header{background:var(--surface-muted)!important;color:var(--text-muted)!important}body.dark-theme .day-cell{background:var(--surface)!important}body.dark-theme .day-cell.empty,body.dark-theme .day-cell.weekend{background:#151820!important}body.dark-theme .day-cell.today{background:#292710!important}body.dark-theme .day-cell.drop-target{background:#353014!important;outline-color:#f3cf66!important}body.dark-theme .day-num,body.dark-theme .day-cell-header,body.dark-theme .day-cell-header strong{color:var(--text-muted)!important}body.dark-theme .slot-empty{border-color:#606979!important;color:#aeb5c1!important}body.dark-theme .slot-empty:hover{border-color:#aab2c0!important;color:var(--text)!important}body.dark-theme .slot{background:#263958!important;color:#edf4ff!important}body.dark-theme .slot:hover{background:#304a73!important}body.dark-theme .slot.edited{background:#55471e!important}body.dark-theme .slot-name,body.dark-theme .slot-time,body.dark-theme .slot-hs,body.dark-theme .slot-handle{color:inherit!important}body.dark-theme .modal-card,body.dark-theme .slot-editor,body.dark-theme .section-toggle,body.dark-theme .day-picker,body.dark-theme .day-picker-cell{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}body.dark-theme .add-section,body.dark-theme .modal-copy-section{background:var(--surface-muted)!important;border-color:var(--border)!important}body.dark-theme .modal-header,body.dark-theme .modal-footer{border-color:var(--border)!important}body.dark-theme .modal-section-heading h3,body.dark-theme .add-section-heading h4,body.dark-theme .existing-section-heading h4,body.dark-theme .add-section-heading span,body.dark-theme .conflict-msg,body.dark-theme .confirm-msg,body.dark-theme .quick-label,body.dark-theme .copy-label,body.dark-theme .copy-picker-label,body.dark-theme .day-picker-dow{color:var(--text)!important}body.dark-theme .existing-section-heading{border-color:var(--border)!important}body.dark-theme .existing-section-heading span{background:var(--surface-hover)!important;color:var(--text-muted)!important}body.dark-theme .day-picker-cell:hover:not(:disabled){background:var(--surface-hover)!important}body.dark-theme .day-picker-cell.selected{background:#455d91!important;color:#fff!important}body.dark-theme .day-picker-cell.source{background:#55471e!important;color:#c5bd9f!important}body.dark-theme .group-data{background:#292d36!important;color:#d5dae2!important}body.dark-theme .group-hours{background:#203129!important;color:#b8dbc6!important}body.dark-theme .group-pay{background:#1f3040!important;color:#b8d8ef!important}body.dark-theme .column-header .hours-col{background:#203129!important;color:#b8dbc6!important}body.dark-theme .column-header .subtotal-col{background:#232b36!important;color:#c3ccd8!important}body.dark-theme .column-header .total-col{background:#263d50!important;color:#bfe2f8!important}body.dark-theme tbody .rate-col{color:var(--text)!important;border-left-color:var(--border)!important}body.dark-theme tbody .hours-col{background:#19251f!important;color:#bdd8c7!important}body.dark-theme tbody .subtotal-col{background:#1d232c!important;color:#c1c9d4!important}body.dark-theme tbody .total-col{background:#1d3040!important;border-left-color:#477da4!important}body.dark-theme .total-row td{background:#252b36!important;color:var(--text)!important}body.dark-theme .total-row .hours-col{background:#26352d!important}body.dark-theme .total-row .subtotal-col{background:#29313d!important;color:#d2d8e1!important}body.dark-theme .total-row .total-col{background:#29465c!important}body.dark-theme .costo{color:#69b7e3!important}.btn-primary{background:var(--primary-control-bg)!important;color:var(--primary-control-text)!important;border-color:var(--primary-control-bg)!important}button:disabled{background:var(--disabled-control-bg)!important;color:var(--disabled-control-text)!important;border-color:var(--disabled-control-border)!important;opacity:1!important;cursor:not-allowed!important}input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;flex:0 0 auto;width:1.25rem;height:1.25rem;margin:0;border:1px solid var(--input-border);border-radius:.3rem;background:var(--surface);vertical-align:middle;cursor:pointer}input[type=checkbox]:before{content:"";width:.62rem;height:.36rem;border-left:.14rem solid #fff;border-bottom:.14rem solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .12s ease}input[type=checkbox]:checked{border-color:var(--primary-control-bg);background:var(--primary-control-bg)}input[type=checkbox]:checked:before{transform:rotate(-45deg) scale(1)}input[type=checkbox]:focus-visible{outline:2px solid var(--primary-control-bg);outline-offset:2px}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.65}.field-validation-error{display:block;margin-top:.25rem;color:#dc2626;font-size:.78rem;line-height:1.3}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:#dc2626!important}.app-feedback{position:fixed!important;z-index:3000!important;top:1rem!important;right:1rem!important;width:min(420px,100vw - 2rem)!important;max-height:min(40vh,280px);margin:0!important;padding:.85rem 1rem!important;overflow:auto;border:1px solid currentColor;border-radius:10px!important;box-shadow:0 14px 36px #0007;background:var(--surface, #171b24)!important;color:var(--text, #f8fafc);animation:app-feedback-dismiss 5s forwards}@keyframes app-feedback-dismiss{0%,90%{visibility:visible;opacity:1}to{visibility:hidden;opacity:0;pointer-events:none}}.app-feedback.error,.app-feedback.alert-error{border-color:#ef4444;background:#451a1a!important;color:#fecaca!important}.app-feedback.ok,.app-feedback.success{border-color:#22c55e;background:#052e16!important;color:#bbf7d0!important}@media(max-width:600px){.app-feedback{top:.75rem!important;right:.75rem!important;left:.75rem!important;width:auto!important}}@media(max-width:640px){.responsive-table thead{display:none}.responsive-table tbody tr{display:block;padding:.8rem;border-bottom:1px solid var(--border)}.responsive-table td{display:flex;justify-content:space-between;padding:.3rem 0;border:none;font-size:.85rem}.responsive-table td:before{content:attr(data-label);font-weight:600;color:var(--text-muted)}}
