:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#14202b;background:#eef3f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.welcome{display:grid;min-height:100vh;place-items:center;padding:24px}.welcome__card{width:min(100%,560px);padding:40px;border-radius:18px;background:#fff;box-shadow:0 18px 48px #1939591f}.welcome__eyebrow{margin:0 0 10px;color:#326496;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;color:#163b63;font-size:clamp(2rem,7vw,3.4rem)}.welcome__card>p:not(.welcome__eyebrow){line-height:1.55}.status{display:inline-block;margin:8px 0 0;padding:8px 12px;border-radius:999px;font-size:.9rem;font-weight:600}.status--checking{color:#725700;background:#fff4c7}.status--available{color:#166534;background:#dcfce7}.status--unavailable{color:#991b1b;background:#fee2e2}.form{display:grid;gap:12px;margin-top:28px}.form h2{margin:0;color:#163b63;font-size:1.25rem}.form label{font-weight:650}.form input{width:100%;border:1px solid #b8c7d7;border-radius:9px;padding:12px;font:inherit}.form input:focus{outline:3px solid #b9ddff;border-color:#326496}button{border:0;border-radius:9px;padding:12px 16px;background:#163b63;color:#fff;cursor:pointer;font:inherit;font-weight:700}button:hover{background:#0e2c4d}button:disabled{cursor:wait;opacity:.65}.type-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-picker button{background:#dce7f1;color:#163b63}.type-picker button.selected{background:#326496;color:#fff}.feedback{margin:20px 0 0;padding:12px;border-radius:9px;background:#e6f1fb;color:#163b63}.page-link{margin:24px 0 0}.page-link a,.actions a{color:#1f5f96;font-weight:650}.actions{display:flex;align-items:center;gap:18px;margin-top:24px}.admin-card{width:min(100%,760px);padding:0;background:transparent;box-shadow:none}.admin-card>.form,.admin-card>.list-section,.admin-card>.feedback,.admin-card>.actions{margin-top:20px;padding:24px;border-radius:18px;background:#fff;box-shadow:0 10px 30px #19395917}.admin-card>.form{margin-top:24px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form select{width:100%;border:1px solid #b8c7d7;border-radius:9px;padding:12px;font:inherit;background:#fff}.checkbox{display:flex;align-items:center;gap:8px;font-weight:500!important}.checkbox input{width:auto}.list-section{margin-top:32px}.list-section h2{margin-bottom:10px;color:#163b63;font-size:1.2rem}.employee-list{display:grid;gap:8px}.employee{display:flex;justify-content:space-between;text-align:left;background:#f1f6fa;color:#163b63}.employee.selected{background:#326496;color:#fff}.employee small{opacity:.8}.credential-list{padding-left:20px;line-height:1.8}.terminal-list{display:grid;gap:8px}.terminal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:9px;background:#f1f6fa}.terminal small{display:block;margin-top:4px;color:#4a6075}.terminal-actions{display:flex;gap:8px}.terminal-actions button{padding:8px 10px;font-size:.9rem}button.secondary{background:#64748b}.history-list{display:grid;gap:8px;margin-top:12px}.history-item{display:grid;grid-template-columns:82px 1fr;gap:4px 12px;padding:12px;border-radius:9px;background:#f1f6fa}.history-item strong{color:#163b63}.history-item small{grid-column:1 / -1;color:#4a6075}.calculation-summary{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px;padding:14px;border-radius:9px;background:#eaf3fb}.calculation-day{padding:12px;border-left:4px solid #166534;border-radius:9px;background:#f1f6fa}.calculation-day--incompleta{border-left-color:#9a6700}.calculation-day--inconsistente{border-left-color:#991b1b}.calculation-day summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;cursor:pointer}.calculation-day ul{margin-bottom:0}.calculation-issue{color:#991b1b}.partial-warning{padding:12px 14px;border:1px solid #d7a536;border-radius:9px;background:#fff8db;color:#624b0b}.balance-table-wrap{margin-top:14px;overflow-x:auto}.balance-table{width:100%;border-collapse:collapse}.balance-table th,.balance-table td{padding:11px;border-bottom:1px solid #dbe5ed;text-align:left;white-space:nowrap}.balance-table th{color:#40566a;font-size:.8rem}.balance-issues{display:block;max-width:420px;margin-top:3px;color:#7b4b19;white-space:normal}.page-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.brand{color:#163b63;font-size:clamp(1.35rem,4vw,1.8rem);font-weight:800;letter-spacing:-.04em}.secondary-access{position:relative}.secondary-access summary{color:#1f5f96;cursor:pointer;font-weight:650;list-style:none}.secondary-access summary::-webkit-details-marker{display:none}.secondary-access summary:after{content:"⌄";margin-left:6px}.secondary-access nav{position:absolute;top:calc(100% + 8px);right:0;z-index:15;display:grid;min-width:190px;overflow:hidden;border:1px solid #d8e1ea;border-radius:10px;background:#fff;box-shadow:0 12px 28px #19395929}.secondary-access a{padding:11px 14px;color:#163b63;text-decoration:none;font-weight:650}.secondary-access a:hover{background:#eef5fb}.system-status{position:fixed;top:12px;right:12px;z-index:30;color:#166534;font-size:.85rem}.system-status summary{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid currentColor;border-radius:999px;background:#f0fdf4;box-shadow:0 3px 12px #1939591a;cursor:pointer;font-weight:700;list-style:none}.system-status summary::-webkit-details-marker{display:none}.system-status__details{position:absolute;top:calc(100% + 8px);right:0;display:grid;min-width:245px;gap:7px;padding:14px;border-radius:12px;background:#fff;box-shadow:0 12px 28px #1939592e;color:#294358}.system-status--offline{color:#991b1b}.system-status--offline summary{background:#fef2f2}.system-status--degraded{color:#9a6700}.system-status--degraded summary{background:#fff8db}@media(max-width:560px){.form-grid{grid-template-columns:1fr}}@media(max-width:560px){.welcome{align-items:start;padding:72px 16px 24px}.welcome__card{padding:26px 20px}.admin-card{padding:0}.page-top{margin-bottom:18px}.system-status{top:10px;right:10px}}.calendar-page{width:min(1500px,100%);min-height:100vh;margin:auto;padding:64px 28px 40px}.calendar-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.calendar-top .brand{margin-bottom:18px}.calendar-top h1{font-size:clamp(2.2rem,5vw,4rem)}.calendar-actions,.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:18px;color:#40566a;font-size:.88rem;font-weight:650}.calendar-legend span:before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%}.legend-off:before{background:#d7dee6}.legend-own:before{background:#f0b85a}.legend-team:before{background:#62a6c9}.year-grid{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px}.month-card,.calendar-panel{border:1px solid #dbe5ed;border-radius:15px;background:#fff;box-shadow:0 8px 22px #19395912}.month-card{padding:14px}.month-card h2{margin:0 0 10px;color:#163b63;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}.week-header,.month-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.week-header span{padding:5px 0;color:#6a7d8f;text-align:center;font-size:.7rem;font-weight:750}.month-days button{position:relative;min-width:0;padding:7px 2px;border:1px solid transparent;border-radius:7px;background:transparent;color:#263a4c;font-size:.78rem;font-weight:600}.month-days button:hover,.month-days button.day-selected{border-color:#326496;background:#eaf3fb;color:#163b63}.month-days button.day-off{background:#e7ebef;color:#7a8792}.month-days button.day-team:after,.month-days button.day-own:before{content:"";position:absolute;bottom:2px;width:5px;height:5px;border-radius:50%}.month-days button.day-team:after{right:calc(50% - 6px);background:#2885b2}.month-days button.day-own:before{left:calc(50% - 6px);background:#dc8e12}.calendar-panel{margin-top:18px;padding:22px}.calendar-panel h2{margin-top:0;color:#163b63}.calendar-panel ul{line-height:1.7}.calendar-admin-access{display:flex;align-items:center;justify-content:space-between;gap:18px}.calendar-admin-access h2,.calendar-admin-access p{margin:0 0 5px}.calendar-admin-access a{padding:11px 15px;border-radius:9px;background:#163b63;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.request-list{display:grid;gap:8px}.request-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border-radius:9px;background:#f1f6fa}.request-list strong{font-size:.8rem}.request-pendiente{color:#9a6700}.request-aprobada{color:#166534}.request-rechazada,.request-cancelada{color:#991b1b}.schedule-form{margin-top:0}.schedule-form fieldset{border:1px solid #d5e0e9;border-radius:10px}.hours-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.hours-grid label{color:#4a6075;font-size:.8rem;text-align:center}.hours-grid input{margin-top:5px;padding:8px;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0818288c}.modal-card{width:min(440px,100%);margin:0;padding:26px;border-radius:15px;background:#fff;box-shadow:0 24px 70px #0000004d}.calendar-feedback{position:sticky;bottom:16px;box-shadow:0 8px 24px #1939592e}@media(max-width:1120px){.year-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media(max-width:780px){.calendar-page{padding:64px 16px 28px}.calendar-top{align-items:flex-start;flex-direction:column}.year-grid{grid-template-columns:1fr}.month-days button{padding:10px 2px}.hours-grid{grid-template-columns:repeat(4,1fr)}.request-list article,.calendar-admin-access{align-items:flex-start;flex-direction:column}}.personal-summary{width:min(1100px,100%)}.employee-overview{margin-top:24px}.period-picker{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:18px 0}.period-picker label{display:grid;gap:5px;color:#40566a;font-size:.85rem;font-weight:700}.period-picker input,.panel-heading select,.issue-filters select{border:1px solid #b8c7d7;border-radius:9px;padding:10px;background:#fff;font:inherit}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.kpi-grid article{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid #dbe5ed;border-radius:12px;background:#f8fbfe}.kpi-grid small{color:#52697d;font-weight:650}.kpi-grid strong{color:#163b63;font-size:1.55rem}.data-note{color:#52697d;font-size:.9rem}.daily-table details summary{display:grid;grid-template-columns:1fr repeat(3,.7fr) 1.5fr;gap:12px;cursor:pointer;list-style:none}.daily-table details summary::-webkit-details-marker{display:none}.day-detail{margin-top:12px;padding:12px;border-radius:9px;background:#f1f6fa;white-space:normal}.day-detail li{color:#7b4b19}.dashboard-page{width:min(1400px,100%);min-height:100vh;margin:auto;padding:64px 28px 40px}.dashboard-header,.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.dashboard-header h1{font-size:clamp(2rem,5vw,3.8rem)}.dashboard-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.dashboard-nav a{padding:9px 13px;border-radius:9px;background:#fff;color:#1f5f96;text-decoration:none;font-weight:700}.company-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-panel{margin-top:20px;padding:22px;border-radius:15px;background:#fff;box-shadow:0 8px 22px #19395912}.dashboard-panel h2{margin:0;color:#163b63}.issue-filters{display:flex;flex-wrap:wrap;gap:8px}.clickable-row{cursor:pointer}.clickable-row:hover{background:#eef5fb}@media(max-width:900px){.kpi-grid,.company-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-header,.panel-heading{align-items:flex-start;flex-direction:column}.daily-table details summary{grid-template-columns:1fr 1fr}.daily-table details summary span:last-child{grid-column:1/-1}}@media(max-width:560px){.kpi-grid,.company-kpis{grid-template-columns:1fr}.period-picker>*{width:100%}.dashboard-page{padding:64px 16px 28px}.personal-summary{padding:24px 16px}}:root{color-scheme:dark;--bg: #0b0f14;--bg-raised: #10161e;--surface: #151c25;--surface-hover: #1b2531;--surface-strong: #202c39;--border: #293544;--border-strong: #3a4a5d;--text: #e8edf3;--text-muted: #94a3b5;--accent: #5aa7ff;--accent-strong: #2f82e5;--accent-soft: #152d49;--success: #54d39b;--success-soft: #112d24;--warning: #e8b95d;--warning-soft: #342811;--error: #ff7b86;--error-soft: #38191f;--semantic-positive: var(--success);--semantic-positive-soft: rgb(84 211 155 / 9%);--semantic-positive-border: rgb(84 211 155 / 32%);--semantic-negative: var(--error);--semantic-negative-soft: rgb(255 123 134 / 8%);--semantic-negative-border: rgb(255 123 134 / 30%);--semantic-warning: var(--warning);--semantic-warning-soft: rgb(232 185 93 / 9%);--semantic-warning-border: rgb(232 185 93 / 30%);--semantic-neutral: var(--text-muted);--semantic-neutral-soft: rgb(148 163 181 / 7%);--semantic-neutral-border: rgb(148 163 181 / 24%);--focus: rgb(90 167 255 / 35%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}html{background:var(--bg)}body{min-height:100vh;background:radial-gradient(circle at 50% -20%,#172331 0,var(--bg) 42%);color:var(--text)}::selection{background:var(--accent-strong);color:#fff}a{color:var(--accent)}h1,h2,h3,.form h2,.list-section h2,.dashboard-panel h2,.month-card h2,.calendar-panel h2{color:var(--text)}p{line-height:1.55}.app-shell{min-height:100vh}.welcome{padding:72px 20px 32px}.content-page,.dashboard-page,.calendar-page{width:min(1400px,100%);min-height:100vh;margin:auto;padding:48px 28px 40px}.welcome__card{width:min(100%,560px);padding:30px;border:1px solid var(--border);border-radius:16px;background:#10161ef0;box-shadow:0 24px 70px #0000004d}.welcome__eyebrow{color:var(--text-muted)}.auth-card,.clocking-card{max-width:480px}.remote-card{max-width:560px}.personal-summary{width:min(1100px,100%);margin:auto}.admin-card{width:min(1180px,100%)}.admin-card>h1,.admin-card>.welcome__eyebrow,.dashboard-header h1,.dashboard-header .welcome__eyebrow{display:none}.app-header,.page-top,.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;margin-bottom:26px}.app-header__brand{display:flex;align-items:center;gap:14px}.app-header__brand>.app-header__meta{padding-left:14px;border-left:1px solid var(--border);color:var(--text-muted);font-size:.84rem;font-weight:700}.brand{display:block;width:auto;height:34px;max-width:170px;object-fit:contain;filter:invert(1)}.brand--compact{height:24px}.clocking-card .app-header,.remote-card .app-header{position:relative;justify-content:center;min-height:126px;padding:0 52px 14px}.clocking-card .app-header__brand,.remote-card .app-header__brand{justify-content:center}.clocking-card .app-header__brand>.app-header__meta,.remote-card .app-header__brand>.app-header__meta{display:none}.clocking-card .brand,.remote-card .brand{height:96px;max-width:320px}.clocking-card .secondary-access,.remote-card .secondary-access{position:absolute;top:4px;right:0}.secondary-access summary{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;color:var(--text-muted);background:var(--bg-raised);font-size:.88rem}.secondary-access summary:after{content:"☰";margin-left:8px;color:var(--text);font-size:.9rem}.secondary-access nav{min-width:210px;border-color:var(--border);border-radius:12px;background:var(--surface);box-shadow:0 18px 45px #0006}.secondary-access a{color:var(--text-muted);font-size:.9rem}.secondary-access a:hover,.secondary-access a.active{background:var(--surface-hover);color:var(--text)}.form{gap:14px;margin-top:20px}.form label,.period-picker label{color:var(--text-muted);font-size:.86rem;font-weight:650}.form label:has(input),.form label:has(select){display:grid;gap:7px}.form input,.form select,.period-picker input,.panel-heading select,.issue-filters select,input,select,textarea{border:1px solid var(--border-strong);border-radius:9px;padding:11px 12px;background:var(--bg-raised);color:var(--text);font:inherit}input::placeholder{color:#67778a}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.primary-input{min-height:58px;font-size:1.15rem!important;text-align:center;letter-spacing:.05em}button{min-height:40px;border:1px solid transparent;border-radius:9px;padding:10px 15px;background:var(--accent-strong);color:#fff;font-weight:700;transition:background .15s,border-color .15s,transform .15s}button:hover{background:#3d91f0}button:active{transform:translateY(1px)}button.secondary{border-color:var(--border);background:var(--surface-strong);color:var(--text)}button.secondary:hover{background:#29384a}button:disabled{opacity:.55}.primary-action{min-height:52px;font-size:1rem}.type-picker{gap:8px}.type-picker button{border-color:var(--border);background:var(--bg-raised);color:var(--text-muted)}.type-picker button:hover{background:var(--surface-hover);color:var(--text)}.type-picker button.selected{border-color:var(--accent);background:var(--accent-soft);color:#b9d9ff;box-shadow:inset 0 0 0 1px #5aa7ff2e}.clocking-form{gap:16px}.feedback,.partial-warning{border:1px solid var(--border-strong);border-radius:9px;background:var(--accent-soft);color:#c7e1ff}.partial-warning{border-color:#695224;background:var(--warning-soft);color:#f0cc82}.status{border:1px solid currentColor;background:transparent}.status--available{color:var(--success);background:var(--success-soft)}.status--warning,.status--checking{color:var(--warning);background:var(--warning-soft)}.status--unavailable{color:var(--error);background:var(--error-soft)}.loading-state,.empty-state,.data-note{color:var(--text-muted)}.system-status{top:auto;right:14px;bottom:14px;color:var(--success)}.system-status summary{border-color:var(--border);background:#112d24eb;box-shadow:0 5px 18px #00000040}.system-status__details{bottom:calc(100% + 8px);top:auto;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);box-shadow:0 18px 45px #0006}.system-status--offline{color:var(--error)}.system-status--offline summary{background:#38191ff0}.system-status--degraded{color:var(--warning)}.system-status--degraded summary{background:#342811f0}.admin-card>.form,.admin-card>.list-section,.admin-card>.feedback,.admin-card>.actions,.dashboard-panel,.calendar-panel{margin-top:16px;padding:20px;border:1px solid var(--border);border-radius:13px;background:var(--surface);box-shadow:none}.admin-card>.form{margin-top:16px}.admin-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}.admin-card>.page-top,.admin-card>h1,.admin-card>.welcome__eyebrow,.admin-card>.feedback{grid-column:1 / -1}.admin-card>.page-top{margin-bottom:0}.admin-card>.form,.admin-card>.list-section,.admin-card>.actions{width:100%;min-width:0;margin:0}.admin-card>.form{grid-column:1}.admin-card>.list-section:has(.employee-list){grid-column:1}.admin-card>.list-section:has(.history-list),.admin-card>.list-section:has(.balance-table){grid-column:span 2}.admin-card>.list-section:has(.export-actions){grid-column:2 / -1}.admin-card>.calendar-admin-access{grid-column:1 / -1;margin:0}.admin-card>button:last-child{grid-column:1 / -1;justify-self:end;width:auto}.admin-card .form-grid{grid-template-columns:1fr}.admin-card>.list-section:has(.export-actions) .form-grid,.admin-card>.list-section:has(.balance-table) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-section{margin-top:24px}.compact-section{padding-top:18px;border-top:1px solid var(--border)}.section-title{margin:26px 0 12px;font-size:1rem}.form-grid{gap:10px}.employee-list,.terminal-list,.history-list,.request-list{gap:6px}.employee,.terminal,.history-item,.request-list article,.day-detail,.calculation-day{border:1px solid transparent;background:var(--bg-raised);color:var(--text)}.employee:hover{border-color:var(--border-strong);background:var(--surface-hover)}.employee.selected{border-color:var(--accent);background:var(--accent-soft);color:#d8eaff}.terminal small,.history-item small,.data-note,.period-picker label,.calendar-legend{color:var(--text-muted)}.history-item strong{color:var(--text)}.calculation-summary{border:1px solid var(--border);background:var(--bg-raised)}.calculation-day{border-left:3px solid var(--success)}.calculation-day--incompleta{border-left-color:var(--warning)}.calculation-day--inconsistente{border-left-color:var(--error)}.calculation-issue,.balance-issues,.day-detail li{color:var(--warning)}.calendar-admin-access{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-muted)}.calendar-admin-access a{padding:8px 12px;border-radius:8px;background:var(--surface-strong);color:var(--text);text-decoration:none}.balance-table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.balance-table{min-width:620px}.balance-table th,.balance-table td{border-bottom-color:var(--border)}.balance-table th{background:var(--bg-raised);color:var(--text-muted);font-size:.75rem;letter-spacing:.035em;text-transform:uppercase}.balance-table tbody tr:last-child td{border-bottom:0}.clickable-row:hover{background:var(--surface-hover)}.daily-table details summary{color:var(--text)}.kpi-grid{gap:10px}.kpi-grid article{padding:15px;border-color:var(--border);border-radius:10px;background:var(--surface)}.kpi-grid small{color:var(--text-muted)}.kpi-grid strong{color:var(--text);font-size:1.45rem}.dashboard-nav{margin:12px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.dashboard-nav a{border:1px solid transparent;background:transparent;color:var(--text-muted)}.dashboard-nav a:hover{border-color:var(--border);background:var(--surface);color:var(--text)}.dashboard-panel{padding:20px}.panel-heading h2{font-size:1rem}.calendar-page{padding-top:48px}.calendar-top{align-items:center;margin:12px 0 16px}.calendar-top .welcome__eyebrow{display:none}.calendar-top h1{color:var(--text);font-size:1.3rem;font-variant-numeric:tabular-nums}.calendar-top .brand{margin:0}.year-label{font-size:1.3rem;font-variant-numeric:tabular-nums}.calendar-legend{gap:14px;font-size:.8rem}.legend-off:before{background:#46515d}.legend-own:before{background:#c39249}.legend-team:before{background:#4d86a8}.year-grid{gap:10px}.month-card,.calendar-panel{border-color:var(--border);border-radius:11px;background:var(--surface);box-shadow:none}.month-card{padding:12px}.month-card h2{margin-bottom:8px;color:var(--text-muted);font-size:.82rem}.week-header span{color:#718095}.month-days button{color:var(--text)}.month-days button:hover,.month-days button.day-selected{border-color:var(--accent);background:var(--accent-soft);color:#d8eaff}.month-days button.day-off{background:#222a34;color:#667484}.month-days button.day-team:after{background:#5e9ec3}.month-days button.day-own:before{background:#daa451}.schedule-form fieldset{border-color:var(--border)}.hours-grid label{color:var(--text-muted)}.modal-backdrop{background:#03070cc7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 30px 80px #0000008c}@media(max-width:780px){.content-page,.dashboard-page,.calendar-page{padding:24px 16px 80px}.welcome{align-items:start;padding:24px 14px 80px}.welcome__card{padding:20px}.app-header,.page-top,.dashboard-header{margin-bottom:20px}.brand{height:26px;max-width:145px}.system-status summary{width:34px;height:34px;justify-content:center;overflow:hidden;padding:0;font-size:0}.system-status summary span{font-size:.8rem}.calendar-top{align-items:center;flex-direction:row}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-days button{padding:8px 2px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>button{align-self:end}.admin-card{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card>.page-top,.admin-card>h1,.admin-card>.welcome__eyebrow,.admin-card>.feedback,.admin-card>.calendar-admin-access,.admin-card>button:last-child{grid-column:1 / -1}.admin-card>.list-section:has(.export-actions){grid-column:1 / -1}}@media(max-width:520px){.year-grid,.form-grid,.kpi-grid,.company-kpis{grid-template-columns:1fr}.month-days button{padding:10px 2px}.app-header__brand>.app-header__meta{display:none}.secondary-access summary span{display:none}.secondary-access summary:after{margin:0}.secondary-access summary{width:38px;justify-content:center;padding:0}.calendar-admin-access,.panel-heading{align-items:flex-start;flex-direction:column}.period-picker>*{width:100%}.clocking-card .app-header,.remote-card .app-header{min-height:106px;padding-inline:44px}.clocking-card .brand,.remote-card .brand{height:80px;max-width:260px}.admin-card{display:block}.admin-card>.form,.admin-card>.list-section,.admin-card>.calendar-admin-access,.admin-card>button:last-child{margin-top:14px}.admin-card>button:last-child{width:100%}.admin-card>.list-section:has(.export-actions) .form-grid,.admin-card>.list-section:has(.balance-table) .form-grid{grid-template-columns:1fr}}.platform-page{width:min(1440px,100%);min-height:100vh;margin:auto;padding:36px 28px 60px}.platform-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border)}.platform-header span{color:var(--text-muted);font-weight:700}.platform-header button{margin-left:auto}.platform-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1fr) minmax(300px,1fr);gap:16px;align-items:start}.platform-panel{padding:20px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.platform-panel h2{margin-top:0;font-size:1.1rem}.platform-search{display:flex;gap:8px}.platform-search input{min-width:0;flex:1}.company-list{display:grid;gap:7px;margin-top:14px}.company-row{display:grid;gap:4px;width:100%;text-align:left;border-color:var(--border);background:var(--bg-raised);color:var(--text)}.company-row span{color:var(--text-muted);font-size:.82rem}.company-row.selected{border-color:var(--accent);background:var(--accent-soft)}.platform-page>.feedback{margin:0 0 20px}.platform-detail{display:flex;align-items:center;justify-content:space-between;gap:12px}.company-status{padding:5px 9px;border-radius:999px;background:var(--error-soft);color:var(--error);font-size:.78rem;font-weight:700}.company-status.active{background:var(--success-soft);color:var(--success)}.platform-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.platform-panel dl div{padding:12px;border-radius:9px;background:var(--bg-raised)}.platform-panel dt{color:var(--text-muted);font-size:.75rem}.platform-panel dd{margin:5px 0 0}.platform-panel>label{display:grid;gap:7px;margin-bottom:14px;color:var(--text-muted)}.danger{border-color:#6d2c35;background:var(--error-soft);color:var(--error)}@media(max-width:900px){.platform-grid{grid-template-columns:1fr 1fr}.platform-grid>aside{grid-column:1/-1}}@media(max-width:600px){.platform-page{padding:22px 14px 70px}.platform-grid{grid-template-columns:1fr}.platform-grid>aside{grid-column:auto}}.calendar-tabs{display:flex;gap:4px;margin:0 0 18px;border-bottom:1px solid var(--border)}.calendar-tabs a{padding:9px 12px;color:var(--text-muted);text-decoration:none}.calendar-tabs a.active{border-bottom:2px solid #e4e4e7;color:var(--text)}.year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}.month-card{padding:0;border:0;background:transparent}.month-days button.day-pending:before{background:#c58a36}.month-days button.day-today{outline:1px solid #e4e4e7;outline-offset:-1px}.dashboard-page,.content-page{background:var(--bg);color:var(--text)}.dashboard-panel,.personal-summary{border-color:var(--border);background:var(--surface);box-shadow:none}.balance-table td{color:var(--text)}@media(max-width:1050px){.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.year-grid{grid-template-columns:1fr}}:root{--bg: #0d0d0e;--bg-raised: #141415;--surface: #19191b;--surface-hover: #27272a;--surface-strong: #202023;--border: #303034;--border-strong: #44444a;--text: #f2f2f3;--text-muted: #a6a6ab;--accent: #f2f2f3;--accent-strong: #e4e4e7;--accent-soft: #27272a;--focus: rgb(212 212 216 / 30%)}body{background:var(--bg)}::selection{background:#d4d4d8;color:#111}a{color:#e4e4e7}input::placeholder{color:#737379}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{border-color:#737379}button{background:#e4e4e7;color:#18181b}button:hover{background:#fafafa}button.secondary,button.ghost{border-color:var(--border);background:var(--surface-strong);color:var(--text)}button.secondary:hover,button.ghost:hover{background:var(--surface-hover)}.type-picker button.selected,.employee.selected,.company-row.selected,.month-days button:hover,.month-days button.day-selected{border-color:#71717a;background:#27272a;color:var(--text);box-shadow:none}.feedback{background:#202023;color:var(--text)}.legend-team:before,.month-days button.day-team:after{background:#a1a1aa}.legend-own:before,.month-days button.day-own:before{background:#e4e4e7}.admin-shell{min-height:100vh;background:var(--bg);color:var(--text)}.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;width:290px;flex-direction:column;border-right:1px solid var(--border);background:#141415}.admin-brand{display:flex;height:76px;align-items:center;padding:0 22px;border-bottom:1px solid var(--border)}.admin-brand .brand{width:150px;height:auto}.admin-sidebar nav{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;gap:4px;padding:18px 12px;overflow-y:auto;scrollbar-gutter:stable}.admin-sidebar nav button,.admin-sidebar nav a{display:flex;min-height:42px;align-items:center;gap:12px;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:650;text-align:left;text-decoration:none}.admin-sidebar nav button span,.admin-sidebar nav a span{width:18px;color:#737379;text-align:center}.admin-sidebar nav button:hover,.admin-sidebar nav a:hover{background:#202023;color:var(--text)}.admin-sidebar nav button.active{position:relative;background:#27272a;color:#f4f4f5}.admin-sidebar nav button.active:before{position:absolute;left:0;width:2px;height:22px;border-radius:2px;background:#e4e4e7;content:""}.admin-sidebar nav button.active span{color:#e4e4e7}.admin-sidebar__footer{display:grid;gap:6px;margin-top:auto;padding:16px 12px 24px;border-top:1px solid var(--border)}.admin-sidebar__footer small{padding:0 12px 7px;color:#737379;text-transform:uppercase}.admin-sidebar__footer strong{overflow:hidden;padding:0 12px;color:var(--text);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar__footer a,.admin-sidebar__footer button{justify-content:flex-start;padding:9px 12px;color:var(--text-muted);text-decoration:none}.admin-sidebar__footer button{border:0;background:transparent}.admin-main{min-height:100vh;margin-left:290px}.admin-topbar{display:flex;height:64px;align-items:center;gap:14px;padding:0 24px;border-bottom:1px solid var(--border);background:#101011}.admin-topbar>span{font-size:.9rem;font-weight:700}.admin-topbar>small{margin-left:auto;color:var(--text-muted)}.admin-menu-button{display:none}.admin-content{width:min(1440px,100%);padding:24px}.admin-feedback{margin:0 0 16px;padding:11px 14px}.admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;margin-bottom:24px}.admin-kpis article{display:grid;gap:7px;padding:17px 18px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.admin-kpis span,.admin-kpis small{color:var(--text-muted);font-size:.78rem}.admin-kpis strong{font-size:1.65rem;font-variant-numeric:tabular-nums}.admin-summary-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px}.admin-panel{min-width:0;padding:18px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.admin-panel h2{margin:0 0 16px;font-size:1rem}.admin-panel h3{margin:0;font-size:.9rem}.admin-section-heading,.admin-page-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-section-heading{margin-bottom:14px}.admin-section-heading h2{margin:0}.admin-section-heading small{display:block;margin-top:4px;color:var(--text-muted)}.admin-page-actions{margin-bottom:18px}.admin-page-actions h1{margin:0 0 4px;font-size:1.25rem}.admin-page-actions span{color:var(--text-muted);font-size:.85rem}.text-action{min-height:auto;padding:4px;border:0;background:transparent;color:#d4d4d8;font-size:.82rem;text-decoration:underline;text-underline-offset:4px}.text-action:hover{background:transparent;color:#fff}.quick-actions{display:grid;gap:7px}.quick-actions button,.quick-actions a{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#202023;color:var(--text);font-size:.86rem;font-weight:650;text-decoration:none}.quick-actions button:hover,.quick-actions a:hover{background:var(--surface-hover)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.86rem}.admin-table th,.admin-table td{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.admin-table th{color:#737379;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover,.admin-table tbody tr.selected{background:#202023}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td>small{display:block;margin-top:4px;color:var(--text-muted)}.status-badge{display:inline-flex;padding:4px 7px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.7rem;font-weight:700}.status-badge--ok{border-color:#275942;background:#13271f;color:#72c69f}.admin-empty{margin:18px 0;color:var(--text-muted)}.admin-split{display:grid;grid-template-columns:minmax(480px,1.7fr) minmax(300px,1fr);gap:16px;align-items:start}.employee-detail{position:sticky;top:80px}.admin-form{display:grid;gap:13px;margin-bottom:16px}.admin-form.inline{display:flex;align-items:end}.admin-form.inline label{min-width:260px}.admin-form.compact{margin:18px 0 0;padding-top:18px;border-top:1px solid var(--border)}.admin-form label{display:grid;gap:7px;color:var(--text-muted);font-size:.8rem;font-weight:650}.admin-form .checkbox{display:flex}.admin-form>button{justify-self:start}.detail-list{display:grid;margin-top:14px}.detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.detail-list small{display:block;margin-top:3px;color:var(--text-muted)}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px}.filter-bar label{display:grid;gap:5px;color:var(--text-muted);font-size:.75rem}.export-actions{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}.export-actions a,.export-actions span{padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:#202023;color:var(--text);font-size:.78rem;font-weight:700;text-decoration:none}.export-actions span{color:var(--text-muted);cursor:not-allowed}.export-actions a:hover{background:var(--surface-hover)}.row-actions{display:flex;gap:6px}.row-actions button{min-height:32px;padding:6px 8px;font-size:.76rem}.danger-link{border-color:transparent;background:transparent;color:var(--error)}.danger-link:hover{background:var(--error-soft)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.admin-nav-backdrop{display:none}.week-header span,.terminal small,.history-item small,.data-note,.calendar-legend,.period-picker label{color:var(--text-muted)}.month-days button.day-off{background:#202023;color:#737379}@media(max-width:1050px){.admin-sidebar{transform:translate(-100%);transition:transform .2s}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0}.admin-menu-button{display:inline-flex}.admin-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:block;width:100%;height:100%;border:0;border-radius:0;background:#0000008c}.admin-split{grid-template-columns:1fr}.employee-detail{position:static}}@media(max-width:760px){.admin-content{padding:16px}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-summary-grid,.settings-grid{grid-template-columns:1fr}.admin-form.inline{display:grid}.admin-form.inline label{min-width:0}.admin-table th,.admin-table td{padding:10px 9px}}@media(max-width:480px){.admin-kpis{grid-template-columns:1fr;gap:10px}.admin-page-actions{align-items:flex-start}.admin-topbar{padding-inline:14px}.admin-topbar>small{display:none}}.terminal-page{width:100%;min-height:100svh;overflow:hidden;box-sizing:border-box;background:#050505;color:#f4f4f5}.terminal-idle{display:grid;place-items:center;padding:clamp(24px,5vh,64px) 24px;cursor:pointer;touch-action:manipulation;outline:none}.terminal-idle__content{display:grid;justify-items:center;gap:clamp(18px,3.2vh,38px);width:min(1100px,100%)}.terminal-idle .brand{width:clamp(320px,42vw,560px);height:auto;opacity:.9}.terminal-idle .clock-face{gap:clamp(10px,2vh,22px)}.terminal-idle .clock-face__time{font-size:clamp(7rem,24vw,18rem);font-weight:650;line-height:.82;color:#ededee}.terminal-idle .clock-face__date{font-size:clamp(1.15rem,2.5vw,2rem);color:#a1a1aa}.terminal-idle__prompt{margin:0;color:#d4d4d8;font-size:clamp(1rem,2vw,1.35rem);letter-spacing:.02em}.terminal-idle .system-status{position:static;margin:0}.terminal-idle .system-status summary{padding:6px 10px;border:0;background:transparent}.terminal-reader-status{margin-top:8px;color:#ffffffb8;font-size:.78rem;text-align:center}.terminal-reader-status summary{cursor:pointer}.terminal-reader-status p{max-width:420px;margin:8px auto}.terminal-reader-status button{min-height:36px;padding:7px 14px}.terminal-numpad-page,.terminal-card-result,.terminal-page--setup{display:grid;place-items:center;padding:clamp(12px,2.5vh,28px)}.terminal-numpad-shell{display:grid;gap:clamp(8px,1.4vh,15px);width:min(470px,100%);max-height:calc(100svh - 24px)}.terminal-numpad-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.terminal-numpad-header--without-brand{grid-template-columns:1fr auto}.terminal-numpad-header--without-brand .clock-face{justify-self:start}.terminal-numpad-header .brand{width:125px;max-width:100%}.terminal-numpad-header .clock-face__time{font-size:clamp(2.1rem,6vh,3.4rem)}.terminal-numpad-header .clock-face__date{display:none}.terminal-numpad-header small{color:#71717a;text-align:right}.terminal-numpad-page .terminal-form{display:grid;gap:clamp(8px,1.4vh,14px)}.terminal-numpad-page .pin-display{min-height:clamp(46px,7vh,62px);background:#111113}.terminal-numpad button{min-height:clamp(48px,8vh,68px);background:#18181b}.terminal-numpad .numpad__confirm{background:#e4e4e7}.terminal-cancel{min-height:38px;border:0;background:transparent;color:#a1a1aa}.terminal-feedback{min-height:22px;margin:0;color:#d4d4d8;font-weight:750;text-align:center}.terminal-feedback--success{color:#86d49b}.terminal-feedback--error{color:#ef9a9a}.terminal-card-result{align-content:center;gap:36px}.terminal-card-result .brand{width:clamp(210px,28vw,360px)}.terminal-card-result .terminal-feedback{font-size:clamp(1.4rem,4vw,2.4rem)}.terminal-setup{width:min(440px,100%)}@media(max-height:650px){.terminal-numpad-shell,.terminal-numpad-page .terminal-form{gap:6px}.terminal-numpad button{min-height:43px}.terminal-numpad-header .clock-face__time{font-size:2rem}}.kiosk-page{min-height:100svh;display:grid;place-items:center;padding:18px;background:#0d0d0e}.kiosk{width:min(440px,100%);display:grid;justify-items:center;gap:14px}.kiosk>.brand{width:clamp(320px,42vw,560px);height:auto;max-width:calc(100vw - 36px);margin-bottom:4px}.clock-face{display:grid;justify-items:center;gap:2px;font-variant-numeric:tabular-nums}.clock-face__time{color:var(--text);font-size:clamp(4rem,10vw,5rem);font-weight:720;letter-spacing:-.06em;line-height:.98}.clock-face__date{color:var(--text-muted);font-size:.92rem;text-transform:capitalize}.today-counter{display:grid;gap:.25rem;justify-items:center;text-align:center}.today-counter span,.today-counter small{color:var(--text-muted)}.today-counter strong{color:var(--text);font-size:clamp(2.75rem,10vw,5rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.pin-display{display:grid;width:100%;min-height:58px;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:1.75rem;letter-spacing:.28em}.pin-display span{color:#737379;font-size:.86rem;letter-spacing:0}.numpad{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.numpad button{min-height:62px;border:1px solid var(--border);border-radius:9px;background:var(--surface-strong);color:var(--text);font-size:1.45rem;font-weight:700;touch-action:manipulation}.numpad button:hover{background:var(--surface-hover)}.numpad .numpad__confirm{background:#e4e4e7;color:#18181b}.kiosk-actions,.kiosk-correction-action{width:100%}.kiosk>.correction-form{position:fixed;top:50%;left:50%;z-index:20;width:min(420px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:0;overflow-y:auto;translate:-50% -50%;background:var(--surface);box-shadow:0 24px 80px #000000a6}.kiosk-actions button{min-height:40px}.kiosk-feedback{position:fixed;inset:50% auto auto 50%;z-index:5;width:min(420px,calc(100% - 32px));translate:-50% -50%;margin:0;padding:22px;border:1px solid var(--border);border-radius:10px;background:#202023;color:var(--text);font-size:1.2rem;font-weight:800;pointer-events:none;text-align:center}.remote-page{align-items:start;padding-top:32px}.remote-card{width:min(440px,100%)}.remote-card .clock-face{margin:22px 0 8px}.remote-card .clock-face__time{font-size:clamp(3.7rem,18vw,5rem)}.employee-identity{margin:0 0 20px;color:var(--text-muted);text-align:center}.remote-status{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border);color:#737379;font-size:.75rem}.remote-logout{display:block;margin:14px auto 0}.remote-feedback{margin-top:14px;text-align:center}.auth-card{width:min(390px,100%)}.admin-auth-card{background:#27272a}.auth-card .app-header{justify-content:center}.auth-card .app-header__brand{display:grid;justify-items:center;gap:10px}.auth-card .app-header__brand>.app-header__meta{color:#737379;font-size:.78rem}.admin-auth-card .brand{width:clamp(220px,65vw,300px);height:clamp(64px,12vw,84px);max-width:300px}.generated-credentials{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-raised)}.generated-credentials code{color:var(--text);font-size:1rem;-webkit-user-select:all;user-select:all}.account-form{width:min(520px,100%)}.segmented{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.segmented button{min-height:32px;padding:6px 11px;border:0;background:transparent;color:var(--text-muted);font-size:.78rem}.segmented button.selected{background:var(--surface-hover);color:var(--text)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;width:100%;height:100%;border:0;border-radius:0;background:#0000008c}.drawer-backdrop:hover,.drawer-backdrop:focus,.drawer-backdrop:focus-visible{background:#0000008c;outline:0}.admin-drawer{position:fixed;inset:0 0 0 auto;z-index:70;width:min(440px,100%);overflow-y:auto;padding:24px;border-left:1px solid var(--border);background:var(--surface);box-shadow:-18px 0 45px #00000047}.admin-drawer.admin-form{align-content:start}.admin-drawer .form-grid{grid-template-columns:1fr}.admin-drawer .form-grid input,.admin-drawer .form-grid label{min-width:0;box-sizing:border-box}.admin-drawer>h2{margin:0 0 20px}.drawer-actions{display:grid;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.export-menu{position:relative;margin-left:auto}.export-menu summary{min-height:38px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong);color:var(--text);cursor:pointer;font-size:.78rem;font-weight:700;list-style:none}.export-menu[open] .export-actions{position:absolute;z-index:10;top:calc(100% + 6px);right:0;display:grid;min-width:170px;padding:6px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.settings-grid{grid-template-columns:1fr;max-width:820px;gap:0;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.settings-grid>.admin-panel{border:0;border-radius:0;background:transparent}.settings-grid>.admin-panel+.admin-panel{border-top:1px solid var(--border)}@media(max-width:600px){.admin-drawer{padding:20px 16px}.filter-bar>input{width:100%}}@media(max-height:760px)and (min-width:600px){.kiosk-page{padding:10px}.kiosk{gap:8px}.clock-face__time{font-size:4rem}.numpad button{min-height:48px}.pin-display{min-height:46px}}.brand-link{display:inline-flex;line-height:0}.today-summary{display:grid;justify-items:center;gap:5px;margin:24px 0 8px;font-variant-numeric:tabular-nums}.today-summary span{color:var(--text-muted);font-size:.9rem}.today-summary strong{color:var(--text);font-size:clamp(2.5rem,14vw,4rem);letter-spacing:-.045em;line-height:1;text-align:center}.terminal-form{width:100%}.legend-today:before{border:1px solid #fff;background:transparent!important}.legend-off:before{background:#713b3b}.legend-own:before{background:#8a5628}.month-days button.day-off{background:#512d30;color:#f1d7d8}.month-days button.day-own{background:#70451f;color:#ffe3c2}.month-days button.day-own:before{display:none}.month-days button.day-team:after{background:#8fc2df;box-shadow:0 0 0 1px #0d0d0ea6}.month-days button.day-today{outline:2px solid #fff!important;outline-offset:-2px}.month-days button.day-weekend{background:#222225;color:#8c8c93}.month-days button.day-weekend.day-off{background:#512d30;color:#f1d7d8}.month-days button.day-weekend.day-own{background:#70451f;color:#ffe3c2}.personal-summary{padding:24px;border:1px solid var(--border);border-radius:12px}.personal-summary .balance-table-wrap{margin-top:14px;border:1px solid var(--border);border-radius:10px}.personal-summary .daily-table th,.personal-summary .daily-table td{padding:12px 14px}.personal-summary .day-detail{margin:12px 0 2px;padding:14px;border:1px solid var(--border);border-radius:9px}.calendar-page--admin{width:calc(100% - 290px);margin-left:290px;margin-right:0;display:grid;grid-template-columns:minmax(840px,1fr) minmax(380px,440px);grid-auto-flow:row;gap:16px 22px;align-items:start}.calendar-page--admin-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,390px);gap:16px 22px;align-items:start;width:100%;min-height:0;margin:0;padding:0}.admin-content:has(>.calendar-page--admin-content){width:100%;max-width:none}.calendar-page--admin-content>.calendar-top,.calendar-page--admin-content>.calendar-legend{grid-column:1 / -1}.calendar-page--admin-content>.calendar-top,.calendar-page--admin-content>.calendar-legend{margin-bottom:0}.calendar-page--admin-content>.year-grid{grid-column:1;grid-row:3 / span 20}.calendar-page--admin-content>.calendar-panel,.calendar-page--admin-content>.calendar-feedback{grid-column:2;margin-top:0}.calendar-page--admin-content .calendar-top{justify-content:flex-end}.calendar-page--admin-content .calendar-actions h1{min-width:72px;margin:0;text-align:center}.admin-advanced-page{width:100%}.calendar-page--admin>.calendar-admin-topbar,.calendar-page--admin>.calendar-top,.calendar-page--admin>.calendar-legend{grid-column:1 / -1}.calendar-page--admin>.calendar-admin-topbar{margin:-48px -28px 0}.calendar-page--admin>.calendar-top{margin-bottom:0}.calendar-page--admin>.calendar-legend{margin:0}.calendar-page--admin>.year-grid{grid-column:1;grid-row:4 / span 20;width:100%}.calendar-page--admin>.calendar-panel,.calendar-page--admin>.calendar-feedback{grid-column:2;margin-top:0}.calendar-page--admin>.calendar-panel{padding:18px}.calendar-page--admin .calendar-panel>.inline-actions{display:grid;grid-template-columns:1fr;width:100%}.calendar-page--admin .calendar-panel>.inline-actions button,.calendar-page--admin .schedule-form>button{width:100%;min-height:44px}.schedule-form .checkbox{display:flex;align-items:center;flex-direction:row;gap:9px;width:100%}.schedule-form .checkbox input{flex:0 0 18px;width:18px;height:18px;margin:0}.schedule-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-form .form-grid label,.schedule-form .form-grid input{min-width:0;width:100%;box-sizing:border-box}.hours-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.hours-grid input[type=number]{width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;padding:8px 2px;background:var(--surface-strong);color:var(--text);font-weight:700;text-align:center}.hours-grid input[type=number]::-webkit-inner-spin-button,.hours-grid input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.system-status{max-width:calc(100vw - 20px);box-sizing:border-box}.system-status summary{max-width:100%;box-sizing:border-box;white-space:nowrap}.system-status__details{width:min(245px,calc(100vw - 20px));min-width:0;box-sizing:border-box}.admin-sidebar nav a.active{position:relative;background:#27272a;color:#f4f4f5}.admin-brand{justify-content:center;height:auto;padding:50px 18px}.admin-brand .brand,.admin-brand .brand-link{width:228px;max-width:100%}.calendar-page--admin .calendar-top{justify-content:flex-end}.calendar-page--admin .calendar-actions{align-items:center}.calendar-page--admin .calendar-actions h1{min-width:72px;margin:0;text-align:center}@media(max-width:1250px){.calendar-page--admin{display:block;width:calc(100% - 290px)}.calendar-page--admin>.calendar-legend{margin-bottom:16px}.calendar-page--admin>.calendar-panel{margin-top:16px}.calendar-page--admin-content{display:block}.calendar-page--admin-content>.calendar-legend{margin-bottom:16px}.calendar-page--admin-content>.calendar-panel{margin-top:16px}}@media(max-width:1050px){.calendar-page--admin{width:100%;margin-left:0}}@media(max-width:480px){.schedule-form .form-grid{grid-template-columns:1fr}}.remote-card{padding:26px 30px 28px;background:var(--surface)}.remote-card .app-header{min-height:118px;margin-bottom:12px;padding:0 0 6px}.remote-card .brand{width:clamp(320px,42vw,560px);height:auto;max-width:calc(100vw - 40px)}.remote-card .today-summary{gap:6px;margin:12px 0 6px}.remote-card .today-summary strong{max-width:100%;font-size:clamp(2.35rem,11vw,3.35rem);line-height:1.04}.remote-card .employee-identity{margin-bottom:18px}.remote-card .clocking-form{gap:14px;margin-top:0}.remote-card .remote-status{margin-top:18px;padding-top:14px}.remote-secondary-action,.remote-correction-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:1px solid var(--border);border-radius:9px;background:transparent!important;color:var(--text-muted)!important;font-size:1rem;font-weight:700;text-decoration:none}.remote-secondary-action{margin-top:14px}.remote-correction-action{margin-top:10px}.remote-secondary-action:hover,.remote-correction-action:hover{border-color:var(--border-strong);background:var(--surface-strong)!important;color:var(--text)!important}.correction-form{gap:16px;margin-top:16px;padding:18px;border:1px solid var(--border, #d9d9d9);border-radius:12px}.correction-form h2{color:var(--text);font-size:1.15rem;line-height:1.25}.correction-form label{display:grid;gap:8px;width:100%}.correction-form textarea{display:block;width:100%;min-height:112px;box-sizing:border-box;resize:vertical}.correction-form .drawer-actions{gap:10px;margin-top:2px;padding-top:16px}.remote-card .remote-logout{margin-top:18px}.correction-list{margin-top:1.25rem;text-align:left}.correction-list>div{display:flex;flex-direction:column;padding:.75rem 0;border-bottom:1px solid #e5e5e5}.correction-status{font-weight:700}.correction-status--pendiente{color:#9a6700}.correction-status--aprobada{color:#237804}.correction-status--rechazada{color:#8c3a3a}@media(max-width:520px){.remote-page{padding:14px}.remote-card{padding:22px 20px 24px}.remote-card .app-header{min-height:104px;padding-inline:0}.remote-card .brand{width:clamp(280px,88vw,560px);height:auto}.remote-card .today-summary strong{font-size:clamp(2.25rem,12vw,3rem)}.correction-form{padding:16px}}.remote-page--with-summary{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);align-items:start;width:min(1420px,100%);margin:0 auto;gap:22px;padding:24px 28px 40px}.remote-page--with-summary .remote-card{position:sticky;top:24px}.remote-summary{min-width:0;margin:0;padding:26px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.remote-summary__heading span{color:var(--text-muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.remote-summary__heading h1{margin:5px 0 0;font-size:1.3rem}.remote-summary .employee-overview{margin-top:14px}.remote-summary .period-picker{margin-top:0}.remote-summary .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-clockings__heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.employee-clockings__heading span,.employee-clockings__heading small{color:var(--text-muted);font-size:.78rem}.employee-clockings__heading span{font-weight:700;text-transform:uppercase;letter-spacing:.08em}.employee-clockings__heading h1{margin:5px 0 0;font-size:1.3rem}.employee-clockings__tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.calendar-access{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-strong);color:var(--text);font-size:.82rem;font-weight:700;text-decoration:none}.calendar-access:hover{border-color:#71717a;background:var(--surface-hover)}.calendar-access span{color:var(--text);font-size:1rem;line-height:1}.calendar-back{flex:0 0 auto;min-height:42px;padding-inline:15px}@media(max-width:780px){.calendar-page:not(.calendar-page--admin) .calendar-top{align-items:stretch;flex-direction:column;gap:14px;margin:0 0 18px}.calendar-page:not(.calendar-page--admin) .calendar-back{align-self:flex-start}.calendar-page:not(.calendar-page--admin) .calendar-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;gap:8px}.calendar-page:not(.calendar-page--admin) .calendar-actions h1{grid-column:2;grid-row:1;min-width:54px;margin:0;text-align:center}.calendar-page:not(.calendar-page--admin) .calendar-actions button:nth-of-type(1){grid-column:1;grid-row:1}.calendar-page:not(.calendar-page--admin) .calendar-actions button:nth-of-type(2){grid-column:3;grid-row:1}.calendar-page:not(.calendar-page--admin) .calendar-actions button:nth-of-type(3){grid-column:1 / -1;grid-row:2}.calendar-page:not(.calendar-page--admin) .calendar-actions button{min-height:44px;padding-inline:10px}.calendar-page:not(.calendar-page--admin) .calendar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-bottom:22px}}@media(max-width:380px){.calendar-page:not(.calendar-page--admin) .calendar-actions{grid-template-columns:1fr 1fr}.calendar-page:not(.calendar-page--admin) .calendar-actions h1{grid-column:1 / -1;grid-row:1}.calendar-page:not(.calendar-page--admin) .calendar-actions button:nth-of-type(1){grid-column:1;grid-row:2}.calendar-page:not(.calendar-page--admin) .calendar-actions button:nth-of-type(2){grid-column:2;grid-row:2}.calendar-page:not(.calendar-page--admin) .calendar-actions button:nth-of-type(3){grid-row:3}}.employee-clocking-list{border-top:1px solid var(--border)}.employee-clocking-list article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) auto;align-items:center;gap:18px;min-height:68px;padding:12px 4px;border-bottom:1px solid var(--border)}.employee-clocking-list time,.employee-clocking-list article>div{display:grid;gap:3px}.employee-clocking-list time strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.employee-clocking-list time span,.employee-clocking-list article>div span{color:var(--text-muted);font-size:.78rem}.employee-clockings__pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:18px}.employee-clockings__pagination button:last-child{justify-self:stretch}.employee-clockings__pagination span{color:var(--text-muted);font-size:.82rem;white-space:nowrap}@media(max-width:1050px){.remote-page--with-summary{display:flex;flex-direction:column;align-items:center;width:100%;padding:20px}.remote-page--with-summary .remote-card{position:static}.remote-page--with-summary .remote-card,.remote-page--with-summary .remote-summary{width:min(760px,100%);max-width:none}}@media(max-width:560px){.remote-page--with-summary{gap:14px;padding:14px}.remote-summary{padding:20px}.remote-summary .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-clockings__heading{align-items:start;flex-direction:column}.employee-clockings__tools{width:100%;justify-content:space-between}.employee-clocking-list article{grid-template-columns:1fr auto;gap:8px 14px}.employee-clocking-list article>div{text-align:right}.employee-clocking-list .status-badge{grid-column:1 / -1;justify-self:start}}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;align-items:start}.schedule-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.schedule-row input{width:auto}.schedule-grid fieldset{border:1px solid #d8dee8;border-radius:8px;padding:1rem;display:grid;gap:.75rem}.schedule-grid legend{font-weight:700}.table-wrap{overflow-x:auto}.review-issues{display:flex;flex-wrap:wrap;gap:.4rem}.brand-lockup{display:inline-flex;flex:0 1 380px;align-items:center;justify-content:center;gap:18px;width:380px;height:96px;max-width:100%}.brand-lockup__logo,.brand-lockup__customer{display:flex;flex:1 1 0;align-items:center;justify-content:center;width:0;height:100%;min-width:0}.brand-lockup .brand,.brand-lockup__customer img{display:block;width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain}.brand-lockup__customer img{filter:none}.brand-lockup__separator{flex:0 0 auto;color:var(--text-muted);font-size:1rem;font-weight:400;line-height:1}.brand-lockup--compact{flex-basis:220px;width:220px;height:52px;gap:10px}.brand-lockup--compact .brand-lockup__separator{font-size:.85rem}.brand-lockup--terminal{flex-basis:420px;width:420px;height:clamp(90px,10vw,112px);max-width:90vw;gap:20px}.brand-link{max-width:100%}.admin-brand .brand-lockup{flex-basis:280px;width:280px;height:68px;gap:12px}.branding-settings{display:grid;gap:24px}.branding-preview{display:flex;align-items:center;justify-content:center;min-height:150px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.branding-preview .brand-lockup{flex-basis:560px;height:120px;width:560px}.branding-controls{max-width:620px}.button-row{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:600px){.brand-lockup{flex-basis:300px;width:300px;height:74px;gap:12px}.brand-lockup--compact{flex-basis:200px;width:200px;height:46px;gap:8px}.brand-lockup--terminal{flex-basis:340px;width:340px;height:90px;max-width:92vw;gap:14px}.brand-lockup__separator{font-size:.85rem}.admin-brand .brand-lockup{flex-basis:220px;width:220px;height:55px;gap:10px}.branding-preview{min-height:120px;padding:16px}}.remote-card .clocking-state{display:inline-flex;align-self:center;margin-top:4px;padding:5px 10px;border:1px solid var(--semantic-neutral-border);border-radius:999px;background:var(--semantic-neutral-soft);color:var(--semantic-neutral);font-size:.72rem;font-weight:800;letter-spacing:.08em}.remote-card .clocking-state--trabajando{color:var(--semantic-positive);border-color:var(--semantic-positive-border);background:var(--semantic-positive-soft)}.remote-card .clocking-state--en_pausa{color:var(--semantic-warning);border-color:var(--semantic-warning-border);background:var(--semantic-warning-soft)}.clocking-action{box-shadow:inset 3px 0 0 var(--clocking-accent, var(--semantic-neutral))}.clocking-action--positive{--clocking-accent: var(--semantic-positive)}.clocking-action--negative{--clocking-accent: var(--semantic-negative)}.clocking-action--warning{--clocking-accent: var(--semantic-warning)}.clocking-action--warning-muted{--clocking-accent: color-mix(in srgb, var(--semantic-warning) 58%, var(--semantic-neutral))}.clocking-action--neutral{--clocking-accent: var(--semantic-neutral)}.type-picker .clocking-action.selected{border-color:color-mix(in srgb,var(--clocking-accent) 46%,var(--border));background:color-mix(in srgb,var(--clocking-accent) 9%,var(--bg-raised));color:var(--text);box-shadow:inset 3px 0 0 var(--clocking-accent)}.remote-card .primary-action.clocking-action{border-color:color-mix(in srgb,var(--clocking-accent) 30%,var(--border));background:color-mix(in srgb,var(--clocking-accent) 8%,var(--surface-strong));color:var(--text)}.feedback--success{border-color:var(--semantic-positive-border);background:var(--semantic-positive-soft);color:var(--semantic-positive)}.feedback--error{border-color:var(--semantic-negative-border);background:var(--semantic-negative-soft);color:var(--semantic-negative)}.remote-card .pause-counter{display:grid;justify-items:center;gap:1px;margin-top:8px;color:var(--text-muted)}.remote-card .pause-counter small{font-size:.76rem}.remote-card .pause-counter b{color:var(--text-muted);font-size:1.08rem;font-variant-numeric:tabular-nums;line-height:1.1}.email-settings .form{max-width:680px;margin-bottom:1.5rem}.email-settings label{display:grid;gap:.4rem}.email-test{margin-top:1.5rem}.email-warning{border-left:4px solid #b7791f;background:#fff8e1;padding:.9rem 1rem;color:#714b0b}.configured-secret{color:#237a45;font-weight:600;font-size:.9em}.analytics-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1rem 0}.analytics-filters label{display:grid;gap:.3rem}.quick-periods{display:flex;flex-wrap:wrap;gap:.4rem}.analytics-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1rem 0}.analytics-kpi{background:var(--panel,#17202b);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1rem;display:grid;gap:.4rem}.analytics-kpi strong{font-size:1.35rem}.analytics-kpi span{font-size:.8rem;opacity:.72}.weekday-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem}.weekday-chart article{display:grid;gap:.35rem;padding:.75rem;border-radius:10px;background:#ffffff0a}.weekday-chart span{font-size:.78rem}.late-series{display:grid;gap:.65rem}.late-series article{display:grid;grid-template-columns:7rem 1fr 10rem;gap:.7rem;align-items:center}.late-series article div{height:.7rem;min-width:2px;background:#56c6a9;border-radius:1rem}.analytics-balance>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:900px){.analytics-kpis,.weekday-chart{grid-template-columns:repeat(2,1fr)}.late-series article{grid-template-columns:6rem 1fr}.late-series strong{grid-column:2}.analytics-balance>div{grid-template-columns:1fr}}
