:root{--primary: #2563eb;--primary-2: #3b82f6;--primary-dark: #1d4ed8;--primary-soft: #eff6ff;--bg: #ffffff;--bg-2: #ffffff;--card: #ffffff;--text: #0f172a;--heading: #0f172a;--muted: #667085;--line: #e2e8f0;--line-2: #f1f5f9;--success: #059669;--success-soft: #dcfce7;--warning: #f59e0b;--warning-soft: #fef3c7;--danger: #ef4444;--danger-soft: #fee2e2;--info: #2563eb;--info-soft: #dbeafe;--purple: #7c3aed;--purple-soft: #ede9fe;--shadow-sm: 0 6px 16px rgba(15, 23, 42, .05);--shadow-md: 0 16px 40px rgba(15, 23, 42, .08);--radius: 18px}*{box-sizing:border-box}html{min-width:320px}body{margin:0;font-family:Segoe UI,Roboto,Arial,sans-serif;font-size:14px;font-weight:400;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{height:40px;min-height:40px;border:0;border-radius:12px;padding:0 16px;background:var(--primary);color:#fff;font-weight:500;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease;box-shadow:0 10px 22px #2563eb2e}button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #2563eb3d}button:disabled{opacity:.62;cursor:wait;transform:none}button.secondary-button,button.secondary{background:#dbeafe;color:var(--primary-dark);box-shadow:none}button.ghost-button{background:#eff6ff;color:var(--primary-dark);box-shadow:none}button.text-button{background:transparent;color:var(--primary);box-shadow:none;padding:6px 8px}button.mini-action{padding:7px 10px;border-radius:9px;font-size:12px;box-shadow:none}button.mini-action.icon-action{width:34px;min-width:34px;height:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}button.mini-action.icon-action svg{flex:0 0 auto}button.mini-action.danger{background:var(--danger)}input,select{width:100%;height:40px;min-height:40px;border:1px solid var(--line);border-radius:12px;padding:0 13px;background:#fff;color:var(--text);outline:none;transition:border .16s ease,box-shadow .16s ease}input:focus,select:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px #2563eb1f}h1,h2,h3{margin:0;color:var(--heading);letter-spacing:-.02em}p{margin:0}code{background:#f1f5f9;border:1px solid #e2e8f0;padding:4px 8px;border-radius:9px;font-size:12px;color:#334155}kbd{background:#f1f5f9;border:1px solid #e2e8f0;border-bottom-width:2px;border-radius:7px;padding:2px 6px;color:#64748b;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}.app-header{position:relative;top:auto;z-index:auto;height:74px;display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto;gap:18px;align-items:center;padding:12px 24px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell.menu-open .app-header{z-index:60}.brand-area,.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;background:#fff;border:1px solid rgba(219,231,229,.9);box-shadow:0 12px 24px #0f172a1f}.brand-mark.large{width:64px;height:64px;flex-basis:64px}.brand-title{font-size:18px;font-weight:700;color:var(--heading)}.brand-subtitle{color:var(--muted);font-size:12px;margin-top:2px}.workspace-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;box-shadow:var(--shadow-sm);white-space:nowrap}.workspace-pill strong{font-size:13px}.chevron{color:var(--muted)}.global-search{justify-self:center;width:min(560px,100%);display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 10px 0 14px;box-shadow:var(--shadow-sm)}.global-search input{border:0;box-shadow:none;padding:12px 8px}.header-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.view-switcher{display:flex;gap:4px;padding:4px;background:#eff6ff;border-radius:14px}.view-switcher button{padding:8px 12px;background:transparent;color:#334155;box-shadow:none}.view-switcher button.active{background:var(--primary);color:#fff}.icon-button{position:relative;width:40px;height:40px;min-height:40px;padding:0;background:#fff;color:var(--heading);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.icon-button em{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;background:var(--danger);color:#fff;border-radius:99px;font-style:normal;font-size:11px;font-weight:700}.user-menu{display:flex;align-items:center;gap:10px}.avatar,.mini-avatar{display:grid;place-items:center;border-radius:50%;background:#dbeafe;color:var(--primary-dark);font-weight:700}.avatar{width:42px;height:42px}.mini-avatar{width:30px;height:30px;font-size:13px}.user-meta{display:flex;flex-direction:column;gap:2px}.user-meta strong{font-size:13px}.user-meta span{font-size:12px;color:var(--muted)}.app-main{max-width:1460px;margin:0 auto;padding:24px}.app-main-admin{max-width:none;padding:0}.admin-workspace{display:grid;grid-template-columns:278px minmax(0,1fr);min-height:calc(100vh - 74px)}.admin-sidebar{position:sticky;top:74px;height:calc(100vh - 74px);overflow:auto;background:#fff;border-right:1px solid var(--line);padding:18px 16px}.sidebar-section-title,.nav-group-label{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin:10px 0 8px 10px}.admin-sidebar nav{display:grid;gap:3px}.admin-sidebar nav button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:transparent;color:#334155;box-shadow:none;text-align:left;border-radius:14px;font-weight:600}.admin-sidebar nav button:hover{background:#eff6ff;transform:none}.admin-sidebar nav button.active{background:var(--primary);color:#fff;box-shadow:0 12px 24px #2563eb38}.nav-icon{width:22px;text-align:center}.sidebar-info-card{margin-top:18px;padding:16px;border-radius:18px;background:#eff6ff;border:1px solid #dbeafe;display:grid;gap:8px}.sidebar-info-card span{color:var(--muted);font-size:13px;line-height:1.45}.admin-content{min-width:0;padding:24px 28px 36px}.breadcrumb{color:var(--muted);font-size:13px;margin-bottom:14px}.stack{display:grid;gap:18px}.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.page-title-row h1{font-size:28px;font-weight:700}.page-title-row p{color:var(--muted);margin-top:6px;max-width:760px}.page-actions,.panel-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-title-actions{justify-content:flex-end}.panel-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.panel-header h2{font-size:18px}.panel-header p{color:var(--muted);margin-top:4px;font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:14px}.kpi-grid.compact{grid-template-columns:repeat(3,minmax(180px,1fr))}.kpi-card{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.kpi-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:16px;background:var(--primary-soft);color:var(--primary-dark);font-weight:700;font-size:22px}.kpi-icon svg{display:block}.kpi-card span{display:block;color:var(--muted);font-size:13px}.kpi-card strong{display:block;font-size:26px;line-height:1.1;color:var(--heading);margin-top:3px;font-weight:700}.kpi-card small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.kpi-card.success .kpi-icon{background:var(--success-soft);color:var(--success)}.kpi-card.warning .kpi-icon{background:var(--warning-soft);color:var(--warning)}.kpi-card.danger .kpi-icon{background:var(--danger-soft);color:var(--danger)}.kpi-card.purple .kpi-icon{background:var(--purple-soft);color:var(--purple)}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.side-panels{display:grid;gap:18px}.bar-chart{height:210px;display:flex;align-items:flex-end;gap:18px;padding:18px 6px 4px;border-bottom:1px solid var(--line-2)}.bar-day{flex:1;display:grid;gap:8px;justify-items:center;align-content:end;color:var(--muted);font-size:12px}.bar-stack{height:160px;display:flex;align-items:flex-end;gap:5px}.bar{width:10px;min-height:4px;border-radius:999px 999px 4px 4px;display:block}.bar.present,.dot.present{background:var(--primary)}.bar.late,.dot.late{background:var(--warning)}.bar.absent,.dot.absent{background:var(--danger)}.bar.review,.dot.review{background:#94a3b8}.dot.neutral{background:#cbd5e1}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:14px;color:var(--muted);font-size:13px}.dot{width:10px;height:10px;display:inline-block;border-radius:50%;margin-right:4px}.donut-wrap{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center}.donut-chart{--present: 0%;--late: 0%;--review: 0%;width:164px;height:164px;border-radius:50%;background:conic-gradient(var(--primary) 0 var(--present),var(--warning) var(--present) calc(var(--present) + var(--late)),#94a3b8 calc(var(--present) + var(--late)) calc(var(--present) + var(--late) + var(--review)),#e2e8f0 0);position:relative;display:grid;place-items:center}.donut-chart:after{content:"";position:absolute;inset:34px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2)}.donut-chart strong,.donut-chart span{position:relative;z-index:1}.donut-chart strong{font-size:26px;align-self:end}.donut-chart span{color:var(--muted);align-self:start}.donut-list{display:grid;gap:13px}.donut-list div{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;color:var(--muted)}.donut-list b{color:var(--heading)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.status-badge.success{background:var(--success-soft);color:#047857}.status-badge.warning{background:var(--warning-soft);color:#92400e}.status-badge.danger{background:var(--danger-soft);color:#b91c1c}.status-badge.info{background:var(--info-soft);color:#1d4ed8}.status-badge.neutral{background:#f1f5f9;color:#475569}.date-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:600}.table-shell{overflow:auto;border:1px solid var(--line-2);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--line-2);font-size:13px;vertical-align:middle}th{position:sticky;top:0;background:#f8fafc;color:#475569;font-size:14px;text-transform:none;letter-spacing:.04em;z-index:1}tr:hover td{background:#f8fafc}tbody tr:last-child td{border-bottom:0}.person-cell{display:flex;align-items:center;justify-content:left;gap:9px;min-width:180px}.row-actions{display:flex;justify-content:center;gap:6px}.empty-state{min-height:146px;display:grid;place-items:center;align-content:center;gap:6px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:14px;background:#f8fafc;padding:18px}.empty-state div{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eff6ff;color:var(--primary);font-size:22px}.empty-state span{font-size:13px}.empty-state.compact{min-height:94px}.empty-state.compact div{display:none}.smart-form{display:grid;gap:12px;align-items:end}.smart-form.one{grid-template-columns:1fr}.smart-form.three{grid-template-columns:1.2fr 2fr auto}.smart-form.four{grid-template-columns:repeat(4,minmax(140px,1fr))}.account-create-form{grid-template-columns:minmax(150px,.9fr) minmax(190px,1.05fr) minmax(150px,.9fr) minmax(190px,1.05fr) auto}.account-create-form .form-actions{align-self:end}.account-create-form .form-actions button{min-width:162px;white-space:nowrap}.form-field{display:grid;gap:6px;color:var(--text);font-size:13px;font-weight:600}.form-field span{color:var(--muted)}.filter-row{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;align-items:center}.filter-row.inline{grid-template-columns:minmax(230px,1fr) 220px;min-width:min(480px,100%)}.attendance-filter-row{grid-template-columns:minmax(300px,1.8fr) 116px 116px minmax(246px,.9fr) 134px 134px 134px 190px;align-items:stretch}.attendance-filter-row>input,.attendance-filter-row>select,.attendance-filter-row>button{height:40px;min-height:40px;box-sizing:border-box}.attendance-filter-row>button{padding-block:0;padding-inline:14px;white-space:nowrap}.attendance-filter-button,.attendance-export-button,.attendance-recalculate-button{width:100%}.adjustment-filter-row{grid-template-columns:minmax(340px,1fr) 118px 118px minmax(180px,220px) 136px;align-items:stretch}.adjustment-filter-row button{min-height:40px;height:40px;padding-inline:14px;white-space:nowrap}.adjustment-filter-button{width:136px}.report-page .page-actions{justify-content:flex-end}.report-period-card{padding:18px 18px 16px}.report-period-card .panel-header{margin-bottom:12px}.report-period-grid{display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(130px,.82fr) minmax(130px,.82fr) minmax(180px,.95fr) minmax(220px,1.35fr) minmax(180px,1.1fr);gap:10px;align-items:end}.report-period-grid>*{min-width:0}.report-filter-actions{display:flex;justify-content:flex-end;gap:10px;align-items:stretch;margin-top:10px}.report-filter-actions button{min-height:40px;height:40px;padding-inline:20px;white-space:nowrap}.report-filter-actions .secondary{flex:0 0 auto}.report-filter-actions>button:first-child{min-width:180px}.report-recalculate-action{min-width:270px}.report-kpi-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}.employee-filter-card{padding:18px 20px}.employee-filter-grid{grid-template-columns:minmax(260px,1fr) 240px 180px 180px minmax(290px,auto);align-items:stretch}.employee-filter-grid button{height:40px;min-height:40px}.employee-filter-actions{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr);gap:10px;align-items:stretch}.employee-filter-actions button{width:100%;white-space:nowrap}.employee-create-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2)}.employee-create-heading{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:#f6fbfa;border:1px solid var(--line-2)}.employee-create-heading strong{color:var(--heading);font-size:15px}.employee-create-heading span{color:var(--muted);font-size:13px;line-height:1.45}.employee-create-actions{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(100px,1fr);gap:10px;align-items:stretch}.employee-create-actions button{height:40px;min-height:40px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quick-actions{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px}.quick-actions button{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--heading);border:1px solid var(--line);box-shadow:var(--shadow-sm);text-align:left}.quick-actions button svg{color:var(--primary);flex:0 0 auto}.quick-actions button:hover{border-color:var(--primary-2)}.list-card{display:grid;gap:10px}.list-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line-2);border-radius:14px}.list-item small{display:block;color:var(--muted);margin-top:3px}.round-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-weight:700}.round-icon svg{display:block}.qr-code-chip{display:inline-block;margin-top:5px}.alert{padding:12px 14px;border-radius:13px;font-weight:700;font-size:13px}.alert.success{background:var(--success-soft);color:#047857;border:1px solid #bbf7d0}.alert.danger{background:var(--danger-soft);color:#b91c1c;border:1px solid #fecaca}.alert.info{background:var(--info-soft);color:#1d4ed8;border:1px solid #bfdbfe}.export-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.export-preview div,.setting-list div{display:grid;gap:4px;padding:14px;border:1px solid var(--line-2);border-radius:14px;background:#f8fafc}.export-preview span,.setting-list span{color:var(--muted);font-size:12px;font-weight:600}.setting-list{display:grid;gap:10px}.employee-page{max-width:1380px;margin:0 auto;display:grid;gap:18px}.employee-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff}.employee-hero h1{font-size:30px;margin-top:6px}.employee-hero p{color:var(--muted);margin-top:8px}.eyebrow{color:var(--primary);font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero-status-card{min-width:210px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;gap:8px;box-shadow:var(--shadow-sm)}.hero-status-card span{color:var(--muted);font-size:13px}.hero-status-card strong{font-size:24px}.employee-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.employee-stats-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}.employee-stat{padding:13px;border-radius:14px;background:#f8fafc;border:1px solid var(--line-2);display:grid;gap:5px}.employee-stat span{color:var(--muted);font-size:12px;font-weight:600}.employee-stat strong{font-size:16px;color:var(--heading)}.employee-stat small{color:var(--muted)}.qr-workflow{display:grid;grid-template-columns:1fr minmax(320px,430px);gap:18px;align-items:start}.scanner-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#f8fafc}.scanner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.qr-video{width:100%;max-height:280px;border-radius:16px;border:1px solid var(--line);-o-object-fit:cover;object-fit:cover;background:#0f172a}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.button-row button{flex:1;min-width:130px}.login-page.upgraded{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(340px,520px);gap:32px;align-items:center;padding:42px;background:#f8fafc}.login-page.upgraded.auth-centered{grid-template-columns:minmax(320px,480px);justify-content:center;align-content:center}.login-page.upgraded.auth-centered .login-card.upgraded{justify-self:center}.login-visual{display:grid;gap:32px;padding:30px}.login-visual h1{font-size:42px}.login-visual p{color:var(--muted);margin-top:8px;font-size:16px;max-width:560px}.login-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:780px}.login-feature-grid div{padding:18px;border-radius:18px;background:#ffffffc7;border:1px solid rgba(219,231,229,.9);box-shadow:var(--shadow-sm);display:grid;gap:8px}.login-feature-grid span{color:var(--muted);font-size:13px;line-height:1.5}.login-card.upgraded{width:100%;padding:28px;display:grid;gap:14px}.login-card.upgraded h2{font-size:28px}.login-card.upgraded p{color:var(--muted)}.hint-card{display:grid;gap:6px;padding:13px;border-radius:14px;background:#f8fafc;border:1px dashed var(--line);color:var(--muted);font-size:13px}.hint-card strong{color:var(--heading)}@media(max-width:1240px){.app-header{grid-template-columns:auto minmax(220px,1fr) auto}.workspace-pill{display:none}.kpi-grid{grid-template-columns:repeat(3,1fr)}.span-7,.span-5,.span-8,.span-4{grid-column:span 12}.side-panels{grid-template-columns:1fr 1fr}.employee-stats-row{grid-template-columns:repeat(3,1fr)}}@media(min-width:981px)and (max-width:1180px){.account-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.account-create-form .form-actions{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:980px){.account-create-form{grid-template-columns:1fr}.account-create-form .form-actions{grid-column:auto}.app-header{height:auto;grid-template-columns:1fr;align-items:stretch}.header-actions,.global-search{justify-self:stretch}.admin-workspace{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar nav{grid-template-columns:repeat(2,1fr);display:grid}.admin-content{padding:18px}.smart-form.four,.smart-form.three,.filter-row,.export-preview,.two-col,.quick-actions,.side-panels,.qr-workflow,.attendance-filter-row,.adjustment-filter-row{grid-template-columns:1fr}.attendance-filter-row button,.adjustment-filter-row button,.attendance-filter-button,.attendance-export-button,.attendance-recalculate-button,.adjustment-filter-button{width:100%}.report-period-grid,.report-filter-actions{grid-template-columns:1fr;max-width:none}.report-filter-actions{display:grid;justify-content:stretch}.report-field-employee,.report-field-status{grid-column:auto}.report-recalculate-action{min-width:0}.kpi-grid,.kpi-grid.compact{grid-template-columns:repeat(2,1fr)}.login-page.upgraded{grid-template-columns:1fr;padding:24px}.login-feature-grid{grid-template-columns:1fr}}@media(max-width:640px){.app-main{padding:14px}.page-title-row,.panel-header,.employee-hero{flex-direction:column;align-items:stretch}.kpi-grid,.kpi-grid.compact,.employee-stats-row{grid-template-columns:1fr}.admin-sidebar nav{grid-template-columns:1fr}.donut-wrap{grid-template-columns:1fr;justify-items:center}.user-meta,.global-search kbd{display:none}.view-switcher{width:100%}.view-switcher button{flex:1}}#global-notice-viewport{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;z-index:2147483000;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 28px - env(safe-area-inset-top));display:flex;flex-direction:column;gap:10px;overflow:visible;pointer-events:none;transform:translate(-50%)}.global-floating-notice{width:100%;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;padding:13px 13px 13px 15px;border:1px solid;border-radius:16px;background:#fff;box-shadow:0 22px 60px #0f172a3d;pointer-events:auto;animation:global-notice-enter .18s ease-out}.global-floating-notice.success{border-color:#86efac;background:#f0fdf4;color:#047857}.global-floating-notice.error{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.global-floating-notice.warning{border-color:#fcd34d;background:#fffbeb;color:#92400e}.global-floating-notice.info{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.global-floating-notice-icon{margin-top:2px;flex:0 0 auto}.global-floating-notice-content{min-width:0;display:grid;gap:2px;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.global-floating-notice-content strong{color:currentColor;font-size:13px;font-weight:800}.global-floating-notice-content>div{color:#334155;font-weight:600}.global-floating-notice-close{width:32px;height:32px;min-height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;color:currentColor;box-shadow:none;opacity:.75}.global-floating-notice-close:hover{background:#ffffffb8;color:currentColor;opacity:1}@keyframes global-notice-enter{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){#global-notice-viewport{top:max(8px,env(safe-area-inset-top));width:calc(100vw - 16px)}.global-floating-notice{min-height:54px;gap:9px;padding:11px 10px 11px 12px;border-radius:14px}}.smart-form.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.span-2{grid-column:span 2}.readonly-input{background:#f8fafc;color:#475569;font-weight:700}.form-note{padding:11px 13px;border:1px dashed var(--line);border-radius:12px;background:#f8fafc;color:var(--muted);font-size:13px;line-height:1.45}.action-group{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.alert.warning{background:var(--warning-soft);color:#92400e;border:1px solid #fde68a}.modal-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:22px;background:#0f172a75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{width:min(760px,100%);max-height:min(92vh,860px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px #0f172a38;padding:22px;display:grid;gap:16px}.modal-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modal-header h2{margin-top:4px;font-size:22px}.icon-close{flex:0 0 auto;width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#64748b;box-shadow:none;line-height:1}.icon-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.icon-close:hover:not(:disabled){transform:none;border-color:#e2e8f0;background:#f1f5f9;color:#0f172a;box-shadow:none}.icon-close:focus-visible{outline:0;border-color:#2563eb6b;box-shadow:0 0 0 4px #2563eb1f}.icon-close:disabled{cursor:not-allowed;opacity:.42}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.account-popup{width:min(680px,100%)}.assignment-history-modal{width:min(980px,100%)}.assignment-history-list{display:grid;gap:9px;max-height:min(58vh,560px);overflow:auto;padding:4px;border:1px solid var(--line-2);border-radius:16px;background:#f8fafc}.assignment-history-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(290px,1.45fr) auto auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line-2);border-radius:14px;background:#fff}.assignment-history-location{min-width:0}.assignment-history-period{display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));gap:10px}.assignment-history-period>div{display:grid;gap:3px;min-width:0}.assignment-history-period span,.assignment-history-period small{color:var(--muted);font-size:12px;line-height:1.35}.assignment-history-period strong{color:var(--heading);font-size:14px;font-weight:700}.assignment-history-edit-modal{width:min(680px,100%)}@media(max-width:860px){.assignment-history-row{grid-template-columns:minmax(0,1fr) auto}.assignment-history-period{grid-column:1 / -1;grid-row:2}}@media(max-width:560px){.assignment-history-row{grid-template-columns:1fr;align-items:stretch}.assignment-history-period{grid-column:auto;grid-template-columns:1fr}.assignment-history-row .action-icon-button{width:100%}}.credential-card{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;padding:16px;border-radius:18px;background:#eff6ff;border:1px solid #dbeafe}.credential-card div{display:grid;gap:5px}.credential-card span{color:var(--muted);font-size:12px;font-weight:700}.credential-card strong{color:var(--heading);font-size:17px}.credential-password{font-size:24px!important;letter-spacing:.08em;color:var(--primary-dark)!important}.password-required-page .login-card.upgraded .ghost-button{width:100%}button{font-weight:500}.brand-title,.sidebar-section-title,.nav-group-label,.kpi-icon,.status-badge,.eyebrow{font-weight:700}.form-field{font-weight:600}@media(max-width:980px){.smart-form.two,.span-2,.credential-card{grid-template-columns:1fr;grid-column:auto}.filter-row.inline,.employee-filter-grid,.employee-filter-actions,.employee-create-actions{grid-template-columns:1fr;min-width:0;width:100%}.employee-create-heading.span-4{grid-column:auto}}.filter-row.inline{grid-template-columns:minmax(210px,1fr) 210px 210px 190px;min-width:min(860px,100%)}.employee-filter-grid{grid-template-columns:minmax(260px,1fr) 240px 180px 180px minmax(290px,auto);min-width:0;width:100%}@media(max-width:980px){.employee-filter-grid,.employee-filter-actions,.employee-create-actions{grid-template-columns:1fr;min-width:0;width:100%}.employee-create-heading.span-4{grid-column:auto}}.location-create-form{grid-template-columns:1.1fr 170px minmax(280px,2fr) 150px 150px minmax(230px,1fr) auto}.location-note{min-height:44px;display:flex;align-items:center}button.mini-action.secondary{background:#dbeafe;color:var(--primary-dark)}.qr-modal-card{width:min(560px,100%)}.qr-print-sheet{display:grid;justify-items:center;gap:10px;padding:24px;border:1px dashed var(--line);border-radius:20px;background:#fff;text-align:center}.qr-print-title{color:var(--heading);font-size:22px;font-weight:800}.qr-print-subtitle,.qr-print-location{color:var(--muted);font-size:13px;font-weight:600}.qr-print-image{width:min(320px,72vw);height:auto;display:block}.qr-print-code{display:inline-block;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid var(--line);font-size:14px}@media(max-width:1180px){.location-create-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media print{body *{visibility:hidden!important}.qr-print-sheet,.qr-print-sheet *{visibility:visible!important}.qr-print-sheet{position:fixed;inset:0;width:100vw;height:100vh;border:0;border-radius:0;padding:42px;align-content:start}.no-print{display:none!important}}.form-actions-right{grid-column:1 / -1;display:flex;justify-content:flex-end}.form-actions-right button{min-width:180px}.assignment-filter-grid{grid-template-columns:minmax(260px,1.5fr) 180px 180px auto}.cell-main{display:grid;gap:4px;min-width:0}.cell-main strong{color:var(--heading);font-weight:700}.cell-main span{color:var(--muted);font-size:12px;line-height:1.35}.assignment-actions{justify-content:flex-start;flex-wrap:wrap;min-width:320px}.assignment-employee-modal{width:min(980px,100%)}.assignment-employee-toolbar{grid-template-columns:minmax(260px,1fr) 220px;align-items:end}.selection-count{min-height:42px;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;color:var(--muted);font-weight:600}.selection-count strong{color:var(--heading)}.assignment-employee-tabs{display:flex;margin-bottom:10px}.assignment-employee-tabs .tab-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-radius:14px}.assignment-employee-tabs .tab-buttons button{width:100%;border-radius:10px}.assignment-employee-list{display:grid;gap:8px;max-height:min(54vh,520px);overflow:auto;padding:4px;border:1px solid var(--line-2);border-radius:16px;background:#f8fafc}.assignment-employee-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line-2);border-radius:14px;background:#fff;cursor:pointer}.assignment-employee-row>input[type=checkbox]{width:18px;height:18px}.assignment-employee-row.blocked{background:#fff7ed;border-color:#fed7aa;cursor:not-allowed}.assignment-employee-row.blocked .cell-main strong{color:#9a3412}.assignment-employee-row.multi-assigned{background:#f8fafc}.assignment-period-note{margin-bottom:10px}.assignment-period-row{grid-template-columns:minmax(260px,1fr) auto;cursor:default}.assignment-employee-identity{min-width:0}.assignment-period-actions{display:grid;grid-template-columns:132px 146px;gap:8px;justify-content:end;align-items:center}.assignment-period-actions button{min-height:40px;width:100%;white-space:nowrap}button.assignment-end-button{background:#dc2626;border-color:#dc2626;color:#fff}button.assignment-end-button:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}@media(max-width:900px){.assignment-filter-grid,.assignment-employee-toolbar{grid-template-columns:1fr}.assignment-actions{min-width:0}.assignment-period-row{grid-template-columns:1fr}.assignment-period-actions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:flex-start}}.attendance-month-modal{width:min(96vw,1480px);max-height:94vh}.attendance-detail-modal{width:min(94vw,1360px);max-height:92vh}.attendance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.attendance-summary-grid div{display:grid;gap:5px;padding:14px 16px;border:1px solid var(--line-2);border-radius:16px;background:#f8fafc;text-align:center;justify-items:center;align-content:center}.attendance-summary-grid span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.attendance-summary-grid strong{color:var(--heading);font-size:22px}.attendance-modal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.attendance-toolbar-actions,.modal-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.tab-buttons{display:inline-flex;gap:6px;padding:5px;border:1px solid var(--line-2);border-radius:999px;background:#f8fafc}.tab-buttons button{height:40px;min-height:40px;padding:0 14px;border-radius:999px;background:transparent;color:var(--muted);border:0;box-shadow:none}.tab-buttons button.active{background:var(--primary);color:#fff}.attendance-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:400}.attendance-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block;border:1px solid transparent}.legend-dot.success{background:var(--success-soft);border-color:#bbf7d0}.legend-dot.warning{background:var(--warning-soft);border-color:#fde68a}.legend-dot.danger{background:var(--danger-soft);border-color:#fecaca}.legend-dot.muted{background:#f1f5f9;border-color:#e2e8f0}.legend-dot.future{background:#fff;border-color:#cbd5e1}.attendance-person-cell{min-width:240px;text-align:left}.attendance-day-cell{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 7px;border-radius:10px;font-weight:400;font-size:12px;border:1px solid transparent}.attendance-day-cell.success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.attendance-day-cell.warning{background:#fef3c7;color:#b45309;border-color:#fde68a}.attendance-day-cell.danger{background:#fee2e2;color:transparent;border-color:#fecaca}.attendance-day-cell.muted{background:#f1f5f9;color:#64748b;border-color:#e2e8f0;opacity:1}.attendance-day-cell.future{background:#fff;color:transparent;border-color:#e2e8f0}.raw-log-download{white-space:nowrap}button.mini-action.icon-action.raw-log-download{min-width:34px}.raw-log-download:disabled{background:#e2e8f0;color:#64748b;cursor:not-allowed}.log-mini-list{display:grid;gap:4px;min-width:220px;text-align:left;color:#475569;font-size:12px}@media(max-width:900px){.attendance-summary-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}.attendance-month-modal{width:min(98.5vw,1580px);padding:14px;gap:10px;max-height:96vh}.attendance-month-modal .modal-header h2{font-size:18px;margin-top:0}.attendance-month-modal .modal-header p{margin:4px 0 0;font-size:12px}.attendance-month-modal .attendance-summary-grid{gap:8px}.attendance-month-modal .attendance-summary-grid div{padding:8px 10px;border-radius:12px}.attendance-month-modal .attendance-summary-grid span{font-size:10px}.attendance-month-modal .attendance-summary-grid strong{font-size:17px}.attendance-month-modal .attendance-modal-toolbar{gap:8px}.attendance-month-modal .tab-buttons{padding:3px}.attendance-month-modal .tab-buttons button,.attendance-month-modal .attendance-toolbar-actions button{height:40px;min-height:40px;padding:0 10px;font-size:12px}.attendance-month-modal .attendance-legend{gap:10px;font-size:11px}.attendance-month-modal .table-shell{overflow-x:hidden;border-radius:12px}.attendance-month-modal table{table-layout:fixed;min-width:0!important;width:100%}.attendance-month-modal th,.attendance-month-modal td{padding:7px 3px;font-size:11px;line-height:1.2}.attendance-month-modal th{font-size:10px;letter-spacing:.02em}.attendance-month-modal th:first-child,.attendance-month-modal td:first-child{width:188px;min-width:188px;max-width:188px;text-align:left;padding-left:10px}.attendance-month-modal .attendance-matrix-work th:nth-last-child(3),.attendance-month-modal .attendance-matrix-work td:nth-last-child(3){width:56px;min-width:56px;max-width:56px}.attendance-month-modal .attendance-matrix-work th:nth-last-child(2),.attendance-month-modal .attendance-matrix-work td:nth-last-child(2),.attendance-month-modal .overtime-matrix th:nth-last-child(2),.attendance-month-modal .overtime-matrix td:nth-last-child(2){width:72px;min-width:72px;max-width:72px}.attendance-month-modal th:last-child,.attendance-month-modal td:last-child{width:88px;min-width:88px;max-width:88px}.attendance-month-modal .attendance-person-cell{min-width:0;gap:2px}.attendance-month-modal .attendance-person-cell strong{display:block;max-width:168px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.attendance-month-modal .attendance-person-cell span{display:block;max-width:168px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.attendance-month-modal .attendance-day-cell{min-width:24px;height:23px;padding:0 3px;border-radius:8px;font-size:10.5px;font-weight:400}.attendance-month-modal .mini-action{height:40px;min-height:40px;padding:0 7px;font-size:10.5px;border-radius:8px}@media(max-width:1200px){.attendance-month-modal th:first-child,.attendance-month-modal td:first-child{width:160px;min-width:160px;max-width:160px}.attendance-month-modal .attendance-person-cell strong,.attendance-month-modal .attendance-person-cell span{max-width:142px}.attendance-month-modal th:last-child,.attendance-month-modal td:last-child{width:76px;min-width:76px;max-width:76px}.attendance-month-modal .mini-action{padding:5px 6px}}.attendance-month-modal .mini-action.icon-action{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.payroll-config-grid{display:grid;grid-template-columns:200px 190px minmax(560px,1fr);gap:12px 16px;align-items:end}.payroll-config-grid>.form-field>input{min-width:0;width:100%}.payroll-multiplier-field{min-width:0;display:grid;gap:6px}.form-field-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:600}.payroll-multiplier-row{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.payroll-multiplier-row label{min-width:0;display:flex;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:600;white-space:nowrap}.payroll-multiplier-row label b{color:#94a3b8;font-size:15px}.payroll-multiplier-row input{width:64px;min-width:64px;padding-inline:7px;text-align:center;font-weight:700}.payroll-save-multiplier,.payroll-action-row button,.payroll-period-summary button,.payroll-history-reset{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.payroll-save-multiplier{flex:0 0 auto;padding-inline:13px}.payroll-action-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line-2)}.payroll-period-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line-2)}.payroll-period-meta{min-width:0;display:flex;align-items:center;gap:10px;flex:1 1 680px;flex-wrap:wrap;color:var(--muted);font-size:13px;line-height:1.45}.payroll-meta-divider{color:#cbd5e1}.payroll-version-pill{border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9;font-weight:700}.payroll-version-note{margin-top:14px;border:1px solid #ddd6fe;background:#f5f3ff;color:#6d28d9}.payroll-message{margin-top:14px}.payroll-kpi-grid{grid-template-columns:repeat(5,minmax(170px,1fr))}.payroll-history-kpi-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}.payroll-rate-input{width:150px;min-width:150px;margin-inline:auto;text-align:right;font-weight:600}.payroll-number-cell,.payroll-total-cell{display:block;min-width:-moz-max-content;min-width:max-content;text-align:right}.payroll-total-cell{color:var(--primary-dark)}.payroll-history-filter-card{overflow-x:auto}.payroll-history-filter{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(160px,190px) minmax(160px,190px) max-content minmax(360px,1.5fr);gap:12px;align-items:end;min-width:1180px}.payroll-history-filter-heading{min-width:0;align-self:center}.payroll-history-filter-heading h2{margin:0;color:#0f172a;font-size:18px;font-weight:700;line-height:1.35}.payroll-history-filter-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.payroll-history-reset{width:-moz-max-content;width:max-content}.payroll-history-note{display:flex;min-height:40px;margin-top:0;align-items:center;padding-block:8px;line-height:1.4}@media(max-width:1280px){.payroll-config-grid{grid-template-columns:200px 190px minmax(0,1fr)}.payroll-multiplier-row{flex-wrap:wrap}.payroll-save-multiplier{margin-left:auto}.payroll-kpi-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media(max-width:900px){.payroll-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-multiplier-field{grid-column:1 / -1}.payroll-history-reset{width:100%}.payroll-kpi-grid,.payroll-history-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.payroll-config-grid,.payroll-kpi-grid,.payroll-history-kpi-grid{grid-template-columns:1fr}.payroll-multiplier-row{align-items:stretch}.payroll-multiplier-row label{width:100%;justify-content:space-between}.payroll-multiplier-row input{margin-left:auto}.payroll-save-multiplier,.payroll-action-row button,.payroll-period-summary button{width:100%}.payroll-action-row{display:grid;grid-template-columns:1fr}}.qr-workflow.compact-punch{grid-template-columns:minmax(260px,1fr) minmax(280px,360px)}.punch-button-row button{min-height:40px;font-size:15px}.last-qr-box{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.last-qr-box span{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.last-qr-box code{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.punch-guide-card{display:grid;gap:10px}.punch-guide-card ol{margin:0;padding-left:19px;color:var(--text);line-height:1.55}.punch-guide-card small{color:var(--muted);line-height:1.45}.punch-scanner-modal{width:min(640px,100%)}.punch-scanner-modal .modal-header p{margin-top:6px;color:var(--muted);line-height:1.45}.punch-scanner-modal .qr-box{display:grid;gap:12px}.punch-scanner-modal .qr-box>button{justify-self:start}.punch-scanner-modal .qr-video{width:100%;height:min(58vh,420px);max-height:none}@media(max-width:980px){.qr-workflow.compact-punch{grid-template-columns:1fr}.punch-scanner-modal .qr-video{height:min(54vh,360px)}}.employee-log-list-mobile,.employee-mobile-action-bar{display:none}.employee-log-table table{min-width:720px}.employee-page .list-item>div{min-width:0}.employee-location-card .list-card{margin:0;padding:0;list-style:none}.employee-location-card .list-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;border-radius:16px}.employee-location-card .round-icon{width:42px;height:42px;border-radius:14px;font-size:32px}.employee-location-info{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}.employee-location-info strong{display:block;max-width:100%;overflow:hidden;color:var(--heading);font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.employee-location-info small{display:block;max-width:100%;margin-top:0;overflow:hidden;font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.employee-page .qr-code-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-page .status-badge{max-width:100%}@media(max-width:720px){.app-main:not(.app-main-admin){width:100%;padding:10px 10px calc(92px + env(safe-area-inset-bottom))}.app-header{padding:10px;gap:8px}.app-header .global-search,.app-header .icon-button{display:none}.brand-area{gap:9px}.brand-mark{width:38px;height:38px;flex-basis:38px}.brand-title{font-size:15px}.header-actions{gap:7px;align-items:stretch}.header-actions>.ghost-button{padding:9px 10px;border-radius:11px}.view-switcher{flex:1 1 160px}.user-menu{margin-left:auto}.avatar{width:36px;height:36px}.employee-page{width:100%;max-width:none;gap:10px}.employee-grid{gap:10px}.employee-page .panel-card{padding:12px;border-radius:16px}.employee-page .panel-header{gap:8px;margin-bottom:10px}.employee-page .panel-header h2{font-size:16px}.employee-page .panel-header p{font-size:12px;line-height:1.4}.employee-hero{gap:10px;padding:13px 12px}.employee-hero h1{margin-top:4px;font-size:20px;line-height:1.18}.employee-hero p{display:block;margin-top:6px;font-size:13px;line-height:1.4}.employee-page .eyebrow{font-size:10.5px;letter-spacing:.06em}.hero-status-card{width:100%;min-width:0;grid-template-columns:1fr auto;align-items:center;gap:7px 10px;padding:10px 11px;border-radius:14px}.hero-status-card span{font-size:12px}.hero-status-card .status-badge{justify-self:end}.hero-status-card strong{grid-column:1 / -1;font-size:20px;line-height:1.05}.employee-punch-card{order:-2}.date-pill{width:100%;justify-content:center;padding:7px 9px}.employee-stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.employee-stat{min-width:0;padding:10px;border-radius:13px;gap:3px}.employee-stat:first-child{grid-column:1 / -1}.employee-stat span{font-size:11px}.employee-stat strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:15px;line-height:1.25}.employee-stat .status-badge{white-space:normal;text-align:left;justify-content:flex-start;line-height:1.25}.qr-workflow.compact-punch{gap:10px}.employee-punch-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.employee-punch-actions button{min-width:0;min-height:40px;padding:10px 8px;border-radius:13px;font-size:14px}.punch-guide-card{display:none}.last-qr-box{display:grid;grid-template-columns:82px minmax(0,1fr);margin:8px 0 10px;padding:9px 10px;border-radius:13px}.employee-page .alert{padding:10px 11px;border-radius:12px;font-size:12px;line-height:1.4}.employee-location-card .list-card{gap:8px}.employee-location-card .list-item{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px;border-radius:13px}.employee-location-card .round-icon{width:34px;height:34px;border-radius:12px}.employee-location-card .list-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-location-card .list-item small{font-size:11.5px;line-height:1.35}.employee-location-card .qr-code-chip{font-size:11px;padding:3px 6px}.employee-log-table{display:none}.employee-log-list-mobile{display:grid;gap:8px}.employee-log-item{display:grid;gap:9px;padding:10px;border:1px solid var(--line-2);border-radius:13px;background:#f8fafc}.employee-log-item>div:first-child{display:grid;gap:3px}.employee-log-item strong{color:var(--heading)}.employee-log-item span{color:var(--muted);font-size:12px}.employee-log-item dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.employee-log-item dl div{padding:8px;border-radius:11px;background:#fff;border:1px solid var(--line-2)}.employee-log-item dt{margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:700}.employee-log-item dd{margin:0;color:var(--heading);font-weight:700}.employee-adjustment-card .smart-form{gap:9px}.employee-adjustment-card button{min-height:40px}.employee-page input,.employee-page select{min-height:40px;padding:9px 11px;border-radius:11px;font-size:13px}.employee-page .form-field{gap:5px}.employee-page .form-field span{font-size:12px}.employee-mobile-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -14px 32px #0f172a1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.employee-mobile-action-bar button{min-width:0;min-height:40px;padding:10px 8px;border-radius:13px}.punch-scanner-modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:12px;grid-template-rows:auto minmax(0,1fr) auto}.punch-scanner-modal .modal-header{gap:10px}.punch-scanner-modal .modal-header h2{font-size:18px}.punch-scanner-modal .modal-header p{font-size:12px;line-height:1.35}.punch-scanner-modal .icon-close{width:36px;height:36px;flex:0 0 36px}.punch-scanner-modal .qr-box{min-height:0;align-content:start}.punch-scanner-modal .qr-box>button,.punch-scanner-modal .modal-actions button{width:100%;justify-self:stretch}.punch-scanner-modal .qr-video{height:min(64dvh,calc(100dvh - 210px));border-radius:16px}.punch-scanner-modal .modal-actions{justify-content:stretch}}@media(max-width:380px){.employee-stats-row,.employee-log-item dl,.employee-punch-actions,.employee-mobile-action-bar{grid-template-columns:1fr}.employee-mobile-action-bar{position:static;margin-top:10px;padding:0;border-top:0;box-shadow:none;background:transparent}.app-main:not(.app-main-admin){padding-bottom:10px}}.span-12{grid-column:span 12}.compact-header{grid-template-columns:auto minmax(240px,1fr) auto;z-index:auto}.compact-header .brand-area{min-width:0}.compact-actions{justify-self:end}.header-menu-wrapper{position:relative;z-index:70}.hamburger-button{width:44px;height:40px;padding:0;display:grid;place-content:center;gap:5px;border-radius:14px;background:#eff6ff;color:var(--primary-dark);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.hamburger-button span{display:block;width:20px;height:2px;border-radius:99px;background:currentColor}.header-menu-card{position:absolute;z-index:70;top:calc(100% + 10px);right:0;width:min(320px,calc(100vw - 20px));display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 22px 60px #0f172a2e}.header-menu-card button{width:100%;justify-content:flex-start;text-align:left;padding:11px 12px;border-radius:13px;background:transparent;color:var(--heading);box-shadow:none}.header-menu-card button:hover,.header-menu-card button.active{background:var(--primary-soft);color:var(--primary-dark)}.header-menu-card .danger-menu-item{color:var(--danger)}.header-menu-card .danger-menu-item:hover{background:var(--danger-soft);color:var(--danger)}.menu-user-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:8px 8px 10px}.menu-user-row strong,.menu-user-row span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-user-row span{margin-top:2px;color:var(--muted);font-size:12px}.menu-divider{height:1px;margin:4px 0;background:var(--line)}.menu-scrim{position:fixed;inset:0;z-index:50;padding:0;border:0;background:transparent;box-shadow:none}.compact-hero h1{font-size:26px}.employee-report-toolbar{display:grid;grid-template-columns:minmax(180px,260px) auto auto;align-items:end;gap:10px}.employee-report-toolbar button{min-height:40px}.employee-report-toolbar button:last-child{background:linear-gradient(135deg,#dc2626,#f97316);color:#fff;box-shadow:0 12px 24px #dc262633}.employee-report-toolbar button:last-child:hover:not(:disabled){box-shadow:0 16px 30px #dc262642}.report-summary-row{margin-bottom:0}.report-summary-row .report-stat:first-child{grid-column:auto}.report-stat{background:#fff;align-content:center;justify-items:center;text-align:center}.report-stat span,.report-stat strong,.report-stat small{width:100%;text-align:center}.report-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.report-location-item{display:grid;gap:5px;padding:12px;border:1px solid var(--line-2);border-radius:14px;background:#f8fafc}.report-location-item span{color:var(--muted);font-size:12px;line-height:1.4}.employee-report-table table{min-width:980px}.employee-adjustment-page-card{max-width:860px;width:100%}.employee-adjustment-textarea{width:100%;min-height:82px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:#fff;color:var(--text);font:inherit;font-weight:400;line-height:1.45;outline:none;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease}.employee-adjustment-textarea::-moz-placeholder{color:var(--muted);opacity:1}.employee-adjustment-textarea::placeholder{color:var(--muted);opacity:1}.employee-adjustment-textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px #2563eb1f}.span-form-full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end}.form-actions button{min-width:180px}@media(max-width:720px){.compact-header{grid-template-columns:minmax(0,1fr) auto;height:auto;align-items:center}.compact-header .global-search{display:none}.hamburger-button{width:40px;height:40px;border-radius:13px}.header-menu-card{position:fixed;top:62px;right:10px;width:calc(100vw - 20px)}.compact-hero h1{font-size:20px}.employee-report-toolbar{grid-template-columns:1fr;gap:8px}.employee-report-toolbar button,.form-actions button{width:100%}.report-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-report-table{overflow-x:auto}.employee-adjustment-page-card{max-width:none}.employee-adjustment-page-card .smart-form.two{grid-template-columns:1fr}}.employee-current-action-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin-bottom:14px;border:1px solid var(--line-2);border-radius:18px;background:#eff6ff}.employee-current-action-card h3{margin:5px 0 6px;font-size:24px}.employee-current-action-card p{color:var(--muted);margin:0;line-height:1.45}.employee-current-action-card button{min-width:210px;white-space:nowrap}.employee-stats-row.employee-stats-row-compact{grid-template-columns:repeat(7,minmax(0,1fr))}.employee-stats-row.employee-stats-row-compact .employee-stat:first-child{grid-column:span 2}.attendance-breakdown-box{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.attendance-breakdown-box>div{display:grid;gap:5px;padding:12px;border:1px dashed var(--line-2);border-radius:14px;background:#fff}.attendance-breakdown-box span{font-size:12px;color:var(--muted);font-weight:700}.attendance-breakdown-box strong{font-size:15px;color:var(--heading)}.attendance-breakdown-box small{color:var(--muted)}@media(max-width:1100px){.employee-stats-row.employee-stats-row-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-stats-row.employee-stats-row-compact .employee-stat:first-child{grid-column:1 / -1}.attendance-breakdown-box{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.employee-current-action-card{display:grid;gap:12px;padding:13px}.employee-current-action-card h3{font-size:20px}.employee-current-action-card button{width:100%;min-width:0}.employee-stats-row.employee-stats-row-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-breakdown-box{grid-template-columns:1fr}}.employee-punch-summary-card{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;align-items:stretch;gap:14px}.employee-current-action-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.current-shift-chip{min-width:260px;max-width:390px;padding:10px 12px;border-radius:14px;border:1px solid rgba(37,99,235,.18);background:#ffffffbd;display:grid;gap:4px}.current-shift-chip span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.current-shift-chip strong{color:var(--heading);font-size:13px;line-height:1.35}.attendance-breakdown-box.attendance-breakdown-box-full{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat{min-width:0;padding:11px 12px;border-style:solid;background:#ffffffe0}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat:first-child{grid-column:auto}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat.employee-stat-span-full{grid-column:1 / -1}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat.employee-stat-span-2{grid-column:span 2}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-punch-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}.employee-current-action-card .employee-punch-actions button{width:100%;min-width:0;min-height:40px}.employee-punch-button{position:relative;overflow:hidden;border:1px solid transparent;font-weight:800;letter-spacing:.01em}.employee-punch-button.punch-check-in{background:var(--primary);box-shadow:0 12px 24px #2563eb38}.employee-punch-button.punch-check-in:hover:not(:disabled){box-shadow:0 16px 30px #2563eb47}.employee-punch-button.punch-check-out{background:linear-gradient(135deg,#dc2626,#f97316);box-shadow:0 12px 24px #dc262633}.employee-punch-button.punch-check-out:hover:not(:disabled){box-shadow:0 16px 30px #dc262642}.employee-punch-button:disabled{box-shadow:none}.employee-punch-button.is-inactive,.employee-punch-button.is-inactive:disabled{background:#f1f5f9;border-color:#e2e8f0;box-shadow:none;color:#94a3b8;cursor:not-allowed;opacity:.86}.employee-punch-button.is-active:disabled{cursor:wait;opacity:.78}@media(max-width:1180px){.attendance-breakdown-box.attendance-breakdown-box-full{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.app-main:not(.app-main-admin){padding-bottom:12px}.employee-punch-summary-card{width:100%;max-width:none;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;justify-self:stretch;margin-inline:0;gap:10px}.employee-punch-summary-card>.employee-current-action-header,.employee-punch-summary-card>.attendance-breakdown-box,.employee-punch-summary-card>.alert,.employee-punch-summary-card>.employee-punch-actions{width:100%;max-width:390px;justify-self:center}.employee-current-action-header{display:grid;gap:10px}.current-shift-chip{min-width:0;max-width:none;width:100%;padding:9px 10px}.attendance-breakdown-box.attendance-breakdown-box-full{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat{min-height:74px;padding:8px 7px;border-radius:12px}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat span{font-size:10px;line-height:1.22}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat strong{font-size:13px}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat small{font-size:10.5px;line-height:1.25}.employee-punch-actions{gap:8px}}@media(max-width:380px){.attendance-breakdown-box.attendance-breakdown-box-full{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat{min-height:72px;padding:7px 6px}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat span{font-size:9.6px}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat strong{font-size:12.5px}}@media(max-width:340px){.attendance-breakdown-box.attendance-breakdown-box-full{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.employee-punch-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat{align-content:center;justify-items:center;text-align:center}.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat span,.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat strong,.attendance-breakdown-box.attendance-breakdown-box-full .employee-stat small{width:100%;text-align:center}@media(min-width:1241px){.employee-grid{align-items:stretch}.employee-punch-summary-card{align-self:stretch;margin-bottom:0}.employee-location-card{align-self:stretch;height:100%;display:flex;flex-direction:column}.employee-location-card .list-card{flex:0 0 auto}}.employee-adjustment-list-card{max-width:860px;width:100%}.employee-adjustment-list{display:grid;gap:10px}.adjustment-list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--heading);box-shadow:none;text-align:left}.adjustment-list-item:hover{border-color:#2563eb73;background:#f8fffd}.adjustment-list-item div{display:grid;gap:4px;min-width:0}.adjustment-list-item span:not(.status-badge){color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-adjustment-result-modal,.adjustment-review-modal{width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.adjustment-review-modal{width:min(1280px,calc(100vw - 32px))}.adjustment-detail-block,.adjustment-request-note{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.adjustment-detail-block span,.adjustment-request-note span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.adjustment-detail-block p,.adjustment-request-note p{margin:0;color:var(--heading);white-space:pre-wrap}.adjustment-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:stretch}.adjustment-snapshot-card,.adjustment-edit-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px}.adjustment-snapshot-card h4,.adjustment-edit-card h4{margin:0 0 12px;color:var(--heading)}.adjustment-review-column{display:flex;flex-direction:column;min-height:100%}.adjustment-review-column>.adjustment-snapshot-card,.adjustment-review-column>.compact-adjustment-form{flex:1}.adjustment-review-column>.adjustment-snapshot-card{background:#f8fafc}.adjustment-review-column>.adjustment-snapshot-card h4{font-size:14px}.adjustment-review-column .snapshot-grid{grid-template-columns:minmax(150px,1fr) minmax(120px,1.05fr);row-gap:9px}.snapshot-grid{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:8px 12px;align-items:start}.snapshot-grid span{color:var(--muted);font-size:12px}.snapshot-grid strong{color:var(--heading);font-size:13px;overflow-wrap:anywhere}.muted-text{color:var(--muted)}.adjustment-table-text{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-adjustment-form{gap:10px}.admin-override-reason-input{display:block;width:100%;min-height:88px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fff;color:var(--text);font:inherit;line-height:1.45;outline:none;transition:border .16s ease,box-shadow .16s ease}.admin-override-reason-input:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px #2563eb1f}.admin-override-reason-input::-moz-placeholder{color:#94a3b8}.admin-override-reason-input::placeholder{color:#94a3b8}.adjustment-log-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;padding:10px 12px;border:1px dashed var(--line);border-radius:14px;background:#f8fafc;color:var(--muted);font-size:12px}.adjustment-log-strip strong{color:var(--heading)}.adjustment-log-strip span{padding:4px 8px;border-radius:999px;background:#fff;border:1px solid var(--line)}.adjustment-decision-box{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}@media(max-width:860px){.employee-adjustment-list-card{max-width:none}.adjustment-compare-grid{grid-template-columns:1fr}.snapshot-grid{grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr)}.adjustment-list-item{align-items:flex-start;flex-direction:column}}button.danger{background:var(--danger);color:#fff}.app-shell.admin-layout-mode{min-height:100vh;background:#fff}.admin-layout-mode .app-main-admin{height:100vh;min-height:100vh;overflow:hidden}.admin-layout-shell{display:grid;grid-template-columns:256px minmax(0,1fr);height:100vh;min-height:100vh;background:#fff}.admin-layout-sidebar{position:static;top:auto;width:256px;height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;background:#fff;border-right:1px solid var(--line)}.admin-sidebar-brand{height:75px;flex:0 0 75px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--line);background:#fff}.admin-sidebar-logo{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:12px;background:var(--primary);color:#fff;box-shadow:0 10px 22px #2563eb33}.admin-sidebar-logo-image{background:#fff;border:1px solid rgba(37,99,235,.16);box-shadow:0 10px 22px #2563eb24;overflow:hidden}.admin-sidebar-logo-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:5px;display:block}.admin-sidebar-title{color:var(--primary-dark);font-size:14px;font-weight:700;line-height:1.2}.admin-sidebar-subtitle{margin-top:3px;color:#64748b;font-size:12px;line-height:1.2}.admin-sidebar-nav{flex:1;min-height:0;overflow:auto;display:grid;align-content:start;gap:4px;padding:16px 12px}.admin-layout-sidebar .nav-group-label{margin:14px 8px 8px;color:#64748b;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-layout-sidebar .admin-nav-item,.admin-sidebar nav .admin-nav-item{width:100%;min-height:40px;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:transparent;color:#334155;box-shadow:none;text-align:left;font-size:14px;font-weight:600;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.admin-layout-sidebar .admin-nav-item:hover,.admin-sidebar nav .admin-nav-item:hover{background:#eff6ff;color:var(--primary-dark);transform:none;box-shadow:none}.admin-layout-sidebar .admin-nav-item.active,.admin-sidebar nav .admin-nav-item.active{background:var(--primary);color:#fff;box-shadow:0 12px 24px #2563eb38}.admin-layout-sidebar .nav-icon{width:20px;height:20px;display:inline-grid;place-items:center;flex:0 0 20px;color:currentColor}.admin-layout-sidebar .nav-icon svg{display:block}.admin-layout-main{min-width:0;min-height:0;height:100vh;display:flex;flex-direction:column;background:#fff}.admin-layout-header{height:75px;flex:0 0 75px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px;background:#fff;border-bottom:1px solid var(--line)}.admin-header-meta{min-width:0}.admin-header-title{color:var(--primary-dark);font-size:18px;font-weight:700;line-height:1.25}.admin-header-description{margin-top:4px;color:#64748b;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-account-wrapper{position:relative;flex:0 0 auto}.admin-account-button{min-height:40px;display:inline-flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#334155;box-shadow:none;text-align:left}.admin-account-button:hover{background:#eff6ff;color:var(--primary-dark);transform:none;box-shadow:none}.admin-account-icon{color:var(--primary)}.admin-account-text{display:grid;gap:1px;min-width:0}.admin-account-text strong,.admin-account-text span{min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-text strong{color:#334155;font-size:14px;font-weight:700}.admin-account-text span{color:#64748b;font-size:12px;font-weight:500}.admin-chevron{color:#64748b;transition:transform .16s ease}.admin-chevron.open{transform:rotate(180deg)}.admin-account-menu{position:absolute;z-index:80;top:calc(100% + 8px);right:0;width:240px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 48px #2563eb29}.admin-account-menu button{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:0;background:transparent;color:#334155;box-shadow:none;font-size:14px;font-weight:600;text-align:left}.admin-account-menu button:hover{background:#eff6ff;color:var(--primary-dark);transform:none;box-shadow:none}.admin-account-menu .danger-menu-item{color:#dc2626}.admin-account-menu .danger-menu-item:hover{background:#fef2f2;color:#dc2626}.admin-layout-main .admin-content{flex:1;min-height:0;overflow:auto;padding:24px}.admin-layout-main .breadcrumb{margin-bottom:14px;color:#64748b}@media(max-width:980px){.admin-layout-mode .app-main-admin{height:auto;min-height:100vh;overflow:visible}.admin-layout-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.admin-layout-sidebar{width:100%;height:auto;min-height:0;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar-brand{height:68px;flex-basis:68px}.admin-sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.admin-layout-main{height:auto;min-height:0}.admin-layout-header{height:auto;min-height:72px;align-items:flex-start;padding:14px 16px}.admin-header-description{white-space:normal}}@media(max-width:640px){.admin-sidebar-nav{grid-template-columns:1fr}.admin-layout-header{flex-direction:column;align-items:stretch;gap:12px}.admin-account-button{width:100%;justify-content:space-between}.admin-account-text{flex:1}.admin-account-menu{position:fixed;top:76px;right:12px;left:12px;width:auto}.admin-layout-main .admin-content{padding:16px}}.overtime-filter-row{grid-template-columns:minmax(320px,1fr) 150px 150px minmax(170px,220px) 126px 116px;align-items:stretch}.overtime-filter-row button{min-height:40px;padding-inline:14px;white-space:nowrap}.overtime-filter-button{width:126px}.overtime-reset-button{width:116px}.overtime-review-stats{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-top:12px}.overtime-review-stat{display:grid;gap:4px;min-height:78px;padding:12px 14px;border:1px solid var(--line-2);border-radius:14px;background:#f8fafc;text-align:center;place-items:center;align-content:center}.overtime-review-stat span{color:var(--muted);font-size:12px;font-weight:700}.overtime-review-stat strong{color:var(--heading);font-size:20px;line-height:1.1}.overtime-review-stat small{color:var(--muted);font-size:12px}.overtime-review-stat.warning{background:#fff9e8;border-color:#f9e7a5}.overtime-review-stat.success{background:#f1fff6;border-color:#c8f3d7}.overtime-review-stat.danger{background:#fff3f3;border-color:#ffd6d6}.overtime-review-stat.neutral{background:#fbfcfe;border-color:#e6edf5}@media(max-width:1024px){.overtime-filter-row,.overtime-review-stats{grid-template-columns:1fr}.overtime-filter-button,.overtime-reset-button{width:100%}}.login-options{display:grid;gap:9px;margin-top:2px}.login-option{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(203,213,225,.86);border-radius:14px;background:#f8fafcd1;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.login-option:has(input:checked){border-color:#2563eb8c;background:#f0fdfaf0;box-shadow:0 10px 24px #2563eb1a}.login-option input{margin-top:3px;accent-color:var(--primary)}.login-option span{display:grid;gap:3px}.login-option strong{color:var(--heading);font-size:13px}.login-option small{color:var(--muted);font-weight:500;line-height:1.35}.saved-login-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:12px;background:#fffbebeb;border:1px solid rgba(245,158,11,.22);color:#92400e;font-size:13px;font-weight:600}.text-button{border:0;background:transparent;color:var(--primary-dark);padding:0;min-height:auto;box-shadow:none;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.text-button:hover{transform:none;box-shadow:none}.review-page{gap:16px}.review-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.review-kpi-grid .kpi-card{min-height:92px;padding:16px 18px}.review-kpi-grid .kpi-icon{width:46px;height:46px;flex-basis:46px;border-radius:15px}.review-kpi-grid .kpi-card strong{font-size:24px}.review-filter-card .panel-header,.review-list-card .panel-header{margin-bottom:14px}.review-filter-card{padding-bottom:18px}.review-filter-row{grid-template-columns:minmax(300px,1fr) minmax(220px,.75fr) 180px 210px 144px;align-items:stretch}.review-filter-row>*{min-width:0}.review-filter-row input,.review-filter-row select,.review-filter-row button{min-height:40px}.review-filter-button{width:144px;padding-inline:14px;white-space:nowrap}.review-list-card{padding-top:18px}.review-list-card .panel-header{padding-bottom:13px;border-bottom:1px solid var(--line-2)}.review-table table{table-layout:auto}.review-table th,.review-table td{vertical-align:middle}.review-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2);color:var(--muted);font-size:13px}.review-pagination-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.review-pagination-actions .button{min-height:40px;padding:8px 14px;white-space:nowrap}.review-pagination-actions>span{min-width:92px;text-align:center;color:var(--text)}.review-table th:nth-child(1),.review-table td:nth-child(1),.review-table th:nth-child(7),.review-table td:nth-child(7),.review-table th:nth-child(8),.review-table td:nth-child(8),.review-table th:nth-child(9),.review-table td:nth-child(9),.review-table th:nth-child(10),.review-table td:nth-child(10){text-align:center}.review-table th:nth-child(6),.review-table td:nth-child(6){min-width:260px}.review-tags{display:flex;flex-wrap:wrap;gap:6px}.review-tag{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid #f4df9a;border-radius:999px;background:#fff8dc;color:#8a5a00;font-size:12px;font-weight:650;white-space:nowrap}.review-tag-missing-check-out,.review-tag-reversed-log-order{border-color:#fecaca;background:#fff1f2;color:#b42318}.review-tag-abnormal-multiple-punches{border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9}.review-tag-excessive-work-duration{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.review-tag-other-review{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.review-modal{width:min(1180px,96vw);max-height:92vh;overflow:auto}.review-detail-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);gap:18px}.review-pane{border:1px solid var(--border-color, #dfe6e1);border-radius:14px;padding:16px;background:#fbfdfc}.review-pane h3{margin:0 0 12px}.review-log-list,.review-segment-list{display:grid;gap:10px}.review-log-item{display:grid;gap:3px;padding:10px 12px;border:1px solid #e1e8e3;border-radius:10px;background:#fff}.review-log-item span,.review-log-item small{color:#66756c}.review-segment{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dbe5de;border-radius:12px;background:#fff}.review-segment>div:first-child{display:grid;gap:4px}.review-segment.excluded{opacity:.62;background:#f7f7f7;border-style:dashed}.review-segment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.review-comparison{margin:18px 0;border:1px solid #dfe7e2;border-radius:12px;overflow:hidden}.review-comparison>div{display:grid;grid-template-columns:1.2fr 1fr 1fr;padding:10px 14px;border-bottom:1px solid #e7ece8}.review-comparison>div:first-child{background:#eef7f1}.review-comparison>div:last-child{border-bottom:0}.review-note-section{margin-top:18px;padding:16px;border:1px solid #dbe7e3;border-radius:14px;background:#f8fafc}.review-note-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px}.review-note-icon{width:36px;min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#e5f5f2;color:var(--primary)}.review-note-heading h3{margin:1px 0 3px;font-size:14px;font-weight:700;letter-spacing:0}.review-note-heading p{color:#66756f;font-size:12.5px;line-height:1.45}.review-note-textarea{width:100%;min-height:102px;display:block;resize:vertical;border:1px solid #d7e4df;border-radius:12px;padding:12px 14px;background:#fff;color:var(--text);font-family:Segoe UI,Roboto,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.55;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.review-note-textarea::-moz-placeholder{color:#98a6a0;opacity:1}.review-note-textarea::placeholder{color:#98a6a0;opacity:1}.review-note-textarea:hover{border-color:#bfd3cc}.review-note-textarea:focus{border-color:var(--primary-2);background:#fff;box-shadow:0 0 0 4px #2563eb1c}.review-note-hint{display:block;margin-top:7px;color:#788780;font-size:12px;line-height:1.4}.review-modal-actions{margin-top:18px;padding-top:16px;border-top:1px solid #e6ece9}@media(max-width:1240px){.review-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-filter-row{grid-template-columns:1fr 1fr}.review-filter-row>input:first-child{grid-column:1 / -1}.review-filter-button{width:100%}}@media(max-width:980px){.review-filter-row{grid-template-columns:1fr 1fr}.review-filter-row>input:first-child{grid-column:1 / -1}.review-filter-button{width:100%}.review-detail-grid{grid-template-columns:1fr}.review-segment{flex-direction:column}.review-segment-actions{justify-content:flex-start}.review-pagination{align-items:flex-start;flex-direction:column}.review-pagination-actions{width:100%;justify-content:space-between}}@media(max-width:640px){.review-kpi-grid,.review-filter-row{grid-template-columns:1fr}.review-filter-row>input:first-child{grid-column:auto}.review-pagination-actions{display:grid;grid-template-columns:1fr}.review-pagination-actions .button,.review-pagination-actions>span{width:100%}}.overview-page{gap:18px}.overview-filter-card{padding:16px 18px}.overview-filter-card .panel-header{margin-bottom:12px}.overview-filter-card .panel-actions button{display:inline-flex;align-items:center;gap:7px}.overview-filter-grid{display:grid;grid-template-columns:minmax(165px,.95fr) minmax(135px,.76fr) minmax(135px,.76fr) minmax(190px,1.05fr) minmax(210px,1.2fr) minmax(215px,auto);gap:10px;align-items:end}.overview-filter-grid>*{min-width:0}.overview-filter-actions{display:grid;grid-template-columns:minmax(112px,1fr) minmax(92px,.72fr);gap:9px}.overview-filter-actions button{min-height:40px;padding-inline:14px;white-space:nowrap}.overview-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 2px 0}.overview-section-heading>div{display:flex;align-items:baseline;gap:10px}.overview-section-heading strong{color:var(--heading);font-size:17px}.overview-section-heading span,.overview-section-heading small{color:var(--muted);font-size:12px}.overview-section-heading small{max-width:620px;text-align:right;line-height:1.45}.overview-section-heading.period-heading{margin-top:2px}.overview-today-kpis{grid-template-columns:repeat(6,minmax(155px,1fr))}.overview-period-kpis{grid-template-columns:repeat(5,minmax(175px,1fr))}.overview-today-kpis .kpi-card,.overview-period-kpis .kpi-card{min-height:112px;padding:15px;gap:11px}.overview-today-kpis .kpi-icon,.overview-period-kpis .kpi-icon{width:43px;height:43px;flex-basis:43px;border-radius:14px}.overview-today-kpis .kpi-card strong,.overview-period-kpis .kpi-card strong{font-size:23px}.overview-main-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:stretch}.overview-main-grid>.panel-card{min-width:0}.overview-location-card,.overview-queue-card{height:100%}.overview-location-name{display:grid;gap:3px;min-width:190px;text-align:left}.overview-location-name strong{color:var(--heading);font-weight:650}.overview-location-name small{color:var(--muted);line-height:1.35}.metric-warning,.metric-danger{display:inline-flex;min-width:28px;justify-content:center;padding:4px 8px;border-radius:999px;font-weight:700}.metric-warning{color:#a16207;background:#fef3c7}.metric-danger{color:#b42318;background:#fee4e2}.overview-queue-list{display:grid;gap:9px}.overview-queue-list>button{width:100%;min-height:65px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 11px;border:1px solid var(--line-2);border-radius:13px;background:#f8fafc;color:var(--text);box-shadow:none;text-align:left}.overview-queue-list>button:hover{border-color:#b8d8d3;background:#f4fbfa;box-shadow:none}.overview-queue-list>button>span:nth-child(2){display:grid;gap:4px;min-width:0}.overview-queue-list strong{color:var(--heading);font-size:13px}.overview-queue-list small{color:var(--muted);font-size:11px;white-space:normal;line-height:1.35}.overview-queue-list b{min-width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#eff6ff;color:var(--primary-dark);font-size:14px}.queue-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--success);background:var(--success-soft)}.queue-icon.has-items{color:var(--danger);background:var(--danger-soft)}.overview-insight-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:18px}.overview-trend-chart{min-height:165px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:15px 5px 7px;border-bottom:1px solid var(--line-2)}.overview-trend-day{flex:1 1 0;min-width:22px;display:grid;justify-items:center;gap:7px;color:var(--muted)}.overview-trend-bars{height:126px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.trend-bar{width:7px;min-height:3px;display:block;border-radius:6px 6px 2px 2px}.trend-bar.full,.trend-dot.full{background:var(--primary)}.trend-bar.late,.trend-dot.late{background:var(--warning)}.trend-bar.review,.trend-dot.review{background:var(--danger)}.overview-trend-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding-top:13px;color:var(--muted);font-size:12px}.overview-trend-legend span{display:inline-flex;align-items:center;gap:6px}.trend-dot{width:8px;height:8px;border-radius:50%}.overview-distribution-list{display:grid;gap:15px;padding:2px 0}.overview-distribution-row{display:grid;gap:7px}.overview-distribution-row>div:first-child{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:12px}.overview-distribution-row b{color:var(--heading);font-size:13px}.overview-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#edf2f1}.overview-progress-fill{height:100%;display:block;border-radius:inherit;background:#94a3b8}.overview-progress-fill.success{background:var(--primary)}.overview-progress-fill.warning{background:var(--warning)}.overview-progress-fill.danger{background:var(--danger)}.overview-progress-fill.neutral{background:#64748b}.overview-progress-fill.muted{background:#cbd5e1}.overview-segmented-control{display:inline-flex;flex-wrap:wrap;gap:5px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f7faf9}.overview-segmented-control button{height:40px;min-height:40px;padding:0 10px;border-radius:8px;background:transparent;color:var(--muted);box-shadow:none;font-size:12px;white-space:nowrap}.overview-segmented-control button:hover{transform:none;box-shadow:none;color:var(--primary-dark);background:#eaf4f2}.overview-segmented-control button.active{color:#fff;background:var(--primary)}.rank-number{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:10px;background:#eff6ff;color:var(--primary-dark);font-weight:750}.rank-number.rank-1{background:#fff3c4;color:#9a6700}.rank-number.rank-2{background:#eef2f6;color:#475467}.rank-number.rank-3{background:#f8e6d5;color:#9a4e18}.overview-person-cell{justify-content:flex-start;text-align:left;min-width:230px}.overview-person-cell>span:last-child{display:grid;gap:3px}.overview-person-cell small{color:var(--muted);font-size:11px}@media(max-width:1480px){.overview-filter-grid{grid-template-columns:repeat(5,minmax(135px,1fr))}.overview-filter-actions{grid-column:4 / 6}.overview-today-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media(max-width:1180px){.overview-filter-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.overview-filter-actions{grid-column:auto}.overview-main-grid,.overview-insight-grid{grid-template-columns:1fr}.overview-period-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}.overview-section-heading{align-items:flex-start;flex-direction:column;gap:5px}.overview-section-heading small{text-align:left}}@media(max-width:760px){.overview-filter-grid,.overview-today-kpis,.overview-period-kpis{grid-template-columns:1fr}.overview-filter-actions{grid-template-columns:1fr 1fr}.overview-filter-card .panel-header,.overview-page .panel-header{align-items:stretch;flex-direction:column}.overview-page .panel-actions{justify-content:flex-start}.overview-segmented-control{width:100%}.overview-segmented-control button{flex:1 1 120px}.overview-trend-chart{overflow-x:auto;justify-content:flex-start}.overview-trend-day{flex:0 0 32px}}.review-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.review-tag-period{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.review-table td>div>small{display:block;margin-top:3px;color:var(--muted)}.review-comparison-v2>div{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(220px,1.2fr)}.review-modal-actions .muted{margin-right:auto}@media(max-width:1450px){.review-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.review-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-comparison-v2>div{grid-template-columns:1fr;gap:4px}}@media(max-width:640px){.review-kpi-grid{grid-template-columns:1fr}}button.attendance-review-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;box-shadow:none;font-family:inherit;line-height:1;cursor:pointer;position:relative;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}button.attendance-review-trigger:hover:not(:disabled),button.attendance-review-trigger:focus-visible:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 3px #d9770624;outline:none}button.attendance-review-trigger.pending{font-weight:800;border-color:#f6c84d}button.attendance-review-trigger.pending:after{content:"";position:absolute;top:-3px;right:-3px;width:7px;height:7px;border-radius:999px;background:#dc2626;border:1.5px solid #fff}button.attendance-review-trigger:disabled{cursor:wait;opacity:.75}.attendance-review-modal-backdrop{z-index:360;padding:14px}.attendance-review-inline-modal{width:min(1280px,97vw);max-height:95vh;padding:18px;gap:14px}.review-modal-header h2{margin:0 0 4px}.review-modal-header p{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:0}.review-context-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.review-context-strip>div{display:grid;gap:4px;padding:10px 12px;border:1px solid #dfe8e3;border-radius:12px;background:#f8fbfa}.review-context-strip span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.review-context-strip strong{color:var(--heading);font-size:14px}.review-modal-feedback{padding:10px 13px;border-radius:11px;border:1px solid transparent;font-size:13px;font-weight:650}.review-modal-feedback.success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.review-modal-feedback.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.attendance-review-inline-modal .review-detail-grid{grid-template-columns:minmax(290px,.72fr) minmax(560px,1.28fr);gap:14px;align-items:start}.attendance-review-inline-modal .review-pane{padding:14px}.review-pane-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px}.review-pane-heading h3{margin:0 0 3px;font-size:15px}.review-pane-heading p{margin:0;color:#697871;font-size:12px;line-height:1.45}.review-source-pane .review-log-list{max-height:390px;overflow:auto;padding-right:3px}.attendance-review-inline-modal .review-segment{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 14px}.attendance-review-inline-modal .review-segment.editing{border-color:#5eead4;box-shadow:0 0 0 3px #2563eb1a}.review-segment-summary{display:grid;gap:4px;min-width:0}.review-segment-summary span,.review-segment-summary small{color:#65746d}.review-item-note{padding-top:3px;color:#475569!important}.review-resolved-pill,.review-finalized-note{display:inline-flex;align-items:center;gap:5px;color:#047857;font-size:12px;font-weight:700;white-space:nowrap}.review-decision-editor{grid-column:1 / -1;display:grid;gap:12px;padding:13px;border:1px solid #cde7df;border-radius:11px;background:#f5fbf9}.review-decision-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.review-decision-heading strong{color:var(--heading);font-size:13px}.text-button{min-height:auto;padding:2px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#64748b;font-size:12px;font-weight:650}.text-button:hover:not(:disabled){background:transparent;color:var(--primary)}.review-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-time-grid label,.review-note-field{display:grid;gap:6px}.review-time-grid label>span,.review-note-field>span{color:#475569;font-size:12px;font-weight:700}.review-note-field>span b{color:#dc2626}.review-decision-editor .review-note-textarea{min-height:76px;padding:10px 12px;font-size:13px}.review-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-editor-actions small{color:#64748b;line-height:1.4}.review-result-section{padding:14px;border:1px solid #dbe7e3;border-radius:14px;background:#f8fafc}.review-result-section .review-note-heading{margin-bottom:10px}.attendance-review-inline-modal .review-comparison{margin:0}.review-history-list{max-height:220px;overflow:auto;padding-right:3px}@media(max-width:1050px){.review-context-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-review-inline-modal .review-detail-grid{grid-template-columns:1fr}.review-source-pane .review-log-list{max-height:260px}}@media(max-width:680px){.attendance-review-modal-backdrop{padding:0;place-items:stretch}.attendance-review-inline-modal{width:100%;max-height:100vh;min-height:100vh;border-radius:0;padding:14px}.review-context-strip,.review-time-grid,.attendance-review-inline-modal .review-segment{grid-template-columns:1fr}.review-segment-actions{justify-content:flex-start}.review-editor-actions{align-items:stretch;flex-direction:column}.review-editor-actions button{width:100%}}.credential-box{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding:14px 16px;border:1px solid #a7f3d0;border-radius:14px;background:#ecfdf5}.credential-box strong{color:#065f46}.credential-box small{width:100%;color:#4b6358}.smart-form .full-width{grid-column:1 / -1}.notice.warning{margin:10px 0;padding:12px 14px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#92400e}.admin-reopen-section{border-color:#fecaca;background:snow}button.secondary-button:hover,button.secondary:hover{background:#bfdbfe}button.ghost-button:hover{background:#dbeafe}button.text-button:hover{background:#eff6ff}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.right-0{right:0}.top-0{top:0}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-\[68px\]{height:68px}.h-full{height:100%}.h-px{height:1px}.max-h-\[92vh\]{max-height:92vh}.max-h-\[calc\(92vh-78px\)\]{max-height:calc(92vh - 78px)}.min-h-0{min-height:0px}.min-h-16{min-height:4rem}.min-h-20{min-height:5rem}.min-h-28{min-height:7rem}.min-h-\[72px\]{min-height:72px}.min-h-\[calc\(100vh-64px\)\]{min-height:calc(100vh - 64px)}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-60{width:15rem}.w-9{width:2.25rem}.w-\[min\(320px\,calc\(100vw-24px\)\)\]{width:min(320px,calc(100vw - 24px))}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[1120px\]{min-width:1120px}.min-w-\[820px\]{min-width:820px}.min-w-\[900px\]{min-width:900px}.min-w-\[920px\]{min-width:920px}.min-w-\[980px\]{min-width:980px}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[1600px\]{max-width:1600px}.max-w-\[180px\]{max-width:180px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-px{gap:1px}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-dashed{border-style:dashed}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-violet-200{--tw-border-opacity: 1;border-color:rgb(221 214 254 / var(--tw-border-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-50\/60{background-color:#fef2f299}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-slate-950\/20{background-color:#02061733}.bg-slate-950\/45{background-color:#02061773}.bg-transparent{background-color:transparent}.bg-violet-50{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-wide{letter-spacing:.025em}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-violet-700{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-violet-800{--tw-text-opacity: 1;color:rgb(91 33 182 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.accent-blue-600{accent-color:#2563eb}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_22px_rgba\(37\,99\,235\,0\.14\)\]{--tw-shadow: 0 10px 22px rgba(37,99,235,.14);--tw-shadow-colored: 0 10px 22px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_24px_rgba\(37\,99\,235\,0\.22\)\]{--tw-shadow: 0 12px 24px rgba(37,99,235,.22);--tw-shadow-colored: 0 12px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-floating{--tw-shadow: 0 22px 60px rgba(15, 23, 42, .18);--tw-shadow-colored: 0 22px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-panel{--tw-shadow: 0 18px 45px rgba(15, 23, 42, .08);--tw-shadow-colored: 0 18px 45px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.admin-nav-item{text-decoration:none}.header-menu-card a{display:flex;align-items:center;width:100%;text-decoration:none;color:inherit;justify-content:flex-start;text-align:left;padding:11px 12px;border-radius:13px;background:transparent;box-shadow:none}.header-menu-card a:hover,.header-menu-card a.active{background:var(--primary-soft);color:var(--primary-dark)}:root{--control-height: 2.5rem}button{height:var(--control-height);min-height:var(--control-height);padding-block:0}input:not([type=checkbox]):not([type=radio]),select{height:var(--control-height);min-height:var(--control-height);padding-block:0}.filter-row>input,.filter-row>select,.filter-row>button,.attendance-filter-row>input,.attendance-filter-row>select,.attendance-filter-row>button,.adjustment-filter-row>input,.adjustment-filter-row>select,.adjustment-filter-row>button,.overtime-filter-row>input,.overtime-filter-row>select,.overtime-filter-row>button,.review-filter-row>input,.review-filter-row>select,.review-filter-row>button,.overview-filter-grid input,.overview-filter-grid select,.overview-filter-grid button,.employee-filter-grid input,.employee-filter-grid select,.employee-filter-grid button,.report-period-grid input,.report-period-grid select,.report-period-grid button,.assignment-filter-grid input,.assignment-filter-grid select,.assignment-filter-grid button{height:var(--control-height);min-height:var(--control-height);padding-block:0;box-sizing:border-box}.action-icon-button,.icon-button,.icon-close,.hamburger-button,button.mini-action.icon-action{width:var(--control-height);min-width:var(--control-height);height:var(--control-height);min-height:var(--control-height);padding:0}.tab-buttons button,.attendance-month-modal .tab-buttons button,.attendance-month-modal .attendance-toolbar-actions button,.attendance-month-modal .mini-action,.overview-segmented-control button,.review-pagination-actions .button{height:var(--control-height);min-height:var(--control-height);padding-block:0}button.text-button,.text-button{height:auto;min-height:auto}.overview-queue-list>button{height:auto;min-height:65px}button.attendance-review-trigger{height:auto;min-height:0}.before\:fixed:before{content:var(--tw-content);position:fixed}.before\:inset-x-0:before{content:var(--tw-content);left:0;right:0}.before\:top-0:before{content:var(--tw-content);top:0}.before\:h-1:before{content:var(--tw-content);height:.25rem}.before\:bg-blue-600:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:border-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-red-200:hover{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.hover\:border-red-300:hover{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50\/50:hover{background-color:#eff6ff80}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-blue-900:hover{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (min-width:640px){.max-sm\:fixed{position:fixed}.max-sm\:left-3{left:.75rem}.max-sm\:right-3{right:.75rem}.max-sm\:top-\[76px\]{top:76px}.max-sm\:hidden{display:none}.max-sm\:w-11{width:2.75rem}.max-sm\:w-auto{width:auto}.max-sm\:justify-center{justify-content:center}.max-sm\:p-2{padding:.5rem}}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:items-center{align-items:center}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:h-\[75px\]{height:75px}.lg\:h-screen{height:100vh}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-\[256px_minmax\(0\,1fr\)\]{grid-template-columns:256px minmax(0,1fr)}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}}@media(min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\>input\]\:h-10>input{height:2.5rem}.\[\&\>input\]\:min-h-10>input{min-height:2.5rem}.\[\&\>input\]\:w-full>input{width:100%}.\[\&\>input\]\:rounded-xl>input{border-radius:.75rem}.\[\&\>input\]\:border>input{border-width:1px}.\[\&\>input\]\:border-slate-300>input{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.\[\&\>input\]\:bg-white>input{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.\[\&\>input\]\:px-3\.5>input{padding-left:.875rem;padding-right:.875rem}.\[\&\>input\]\:text-sm>input{font-size:.875rem;line-height:1.25rem}.\[\&\>input\]\:font-normal>input{font-weight:400}.\[\&\>input\]\:text-slate-800>input{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.\[\&\>input\]\:outline-none>input{outline:2px solid transparent;outline-offset:2px}.\[\&\>input\]\:transition>input{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\&\>input\]\:focus\:border-blue-500:focus>input{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.\[\&\>input\]\:focus\:ring-4:focus>input{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\>input\]\:focus\:ring-blue-100:focus>input{--tw-ring-opacity: 1;--tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1))}.\[\&\>select\]\:min-h-10>select{min-height:2.5rem}.\[\&\>select\]\:rounded-xl>select{border-radius:.75rem}.\[\&\>select\]\:border-slate-300>select{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.\[\&\>select\]\:focus\:border-blue-500:focus>select{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.\[\&\>textarea\]\:rounded-xl>textarea{border-radius:.75rem}.\[\&\>textarea\]\:border-slate-300>textarea{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.\[\&\>textarea\]\:focus\:border-blue-500:focus>textarea{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}
