body{color:#172033;background:#f5f7fb;margin:0;font-family:Inter,system-ui,sans-serif}.app-shell{max-width:960px;margin:0 auto;padding:32px}.card{background:#fff;border:1px solid #dfe6f0;border-radius:18px;margin:16px 0;padding:24px;box-shadow:0 12px 30px #192a4614}.stack{gap:16px;display:grid}.row{flex-wrap:wrap;gap:12px;display:flex}.button{color:#fff;cursor:pointer;background:#2357d8;border:0;border-radius:12px;padding:12px 18px;font-weight:700}.button.secondary{color:#1d3a8a;background:#eef2ff}.button.danger{background:#b42318}input,select{border:1px solid #cbd5e1;border-radius:10px;padding:12px;font-size:16px}.camera video,.camera canvas{background:#111827;border-radius:16px;width:100%;max-width:560px}.status{background:#eef2ff;border-radius:10px;padding:12px}.summary{border-collapse:collapse;width:100%}.summary th,.summary td{text-align:left;border-bottom:1px solid #e5e7eb;padding:10px}:root{--primary:#2357d8;--primary-dark:#102a66;--accent:#14b8a6;--surface:#ffffffdb;--line:#dbe4f0;--muted:#64748b;--text:#0f172a}.console-shell{background:radial-gradient(circle at 0 0,#dbeafe 0,#f8fafc 36%,#eef2ff 100%);grid-template-columns:280px 1fr;min-height:100vh;display:grid}.admin-theme{--primary:#4f46e5;--accent:#f97316}.company-theme{--primary:#0f766e;--accent:#38bdf8}.sidebar{background:linear-gradient(180deg, var(--primary-dark), #111827);color:#fff;box-sizing:border-box;height:100vh;padding:32px 24px;position:sticky;top:0}.brand-mark{background:linear-gradient(135deg, var(--accent), #fff);color:#0f172a;border-radius:18px;place-items:center;width:56px;height:56px;margin-bottom:18px;font-weight:900;display:grid}.sidebar h1{margin:0 0 28px;font-size:28px}.sidebar nav{gap:10px;display:grid}.sidebar a{color:#e0e7ff;background:#ffffff14;border-radius:14px;padding:12px 14px;font-weight:700;text-decoration:none}.sidebar a:hover{background:#ffffff2e}.console-main{align-content:start;gap:24px;padding:32px;display:grid}.glass-panel{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #94a3b852;border-radius:26px;padding:24px;box-shadow:0 24px 70px #0f172a1a}.page-hero{justify-content:space-between;align-items:center;gap:24px;display:flex}.page-hero h2{letter-spacing:-.04em;margin:6px 0 8px;font-size:40px}.page-hero p{color:var(--muted);max-width:760px;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;color:var(--accent)!important}.hero-actions{gap:12px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:22px;box-shadow:0 16px 40px #0f172a14}.metric-card span,.mini-card span{color:var(--muted);font-size:13px;font-weight:800}.metric-card strong{color:var(--text);margin:10px 0;font-size:32px;display:block}.metric-card small{color:var(--primary);font-weight:900}.content-grid{gap:24px;display:grid}.two-columns{grid-template-columns:1.2fr .8fr}.progress-list{gap:16px;display:grid}.progress-list div{gap:8px;display:grid}.progress-list span{font-weight:800}.progress-list progress{width:100%;height:12px;accent-color:var(--primary)}.timeline{gap:14px;margin:0;padding-left:20px;display:grid}.timeline li::marker{color:var(--accent)}.table-panel{overflow:auto}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h3,.glass-panel h3{margin-top:0}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.data-table th,.data-table td{border-bottom:1px solid #e2e8f0;padding:16px}.pill{color:#3730a3;background:#eef2ff;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.pill.active,.pill.activa{color:#166534;background:#dcfce7}.pill.suspendida{color:#991b1b;background:#fee2e2}.pill.interna{color:#92400e;background:#fef3c7}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.mini-card h3{margin:10px 0;font-size:24px}.mini-card p{color:var(--muted)}.auth-page{--auth-primary:#2563eb;--auth-primary-dark:#173fba;--auth-accent:#16b8a6;--auth-panel:#fff;--auth-input:#f8fafc;--auth-heading:#101828;--auth-copy:#667085;--auth-border:#dce4ef;box-sizing:border-box;min-height:100vh;color:var(--auth-heading);background:linear-gradient(135deg,#f7fafffa,#eef4fff5),#eef4ff;grid-template-rows:1fr auto;place-items:center;gap:24px;padding:40px 32px 24px;display:grid;position:relative;overflow:hidden}.auth-page-empresa{--auth-primary:#0f766e;--auth-primary-dark:#0b5d56;--auth-accent:#22c3b1}.auth-page-empleado{--auth-primary:#2457d6;--auth-primary-dark:#193fa9;--auth-accent:#22c3b1}.auth-background-shape{pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.auth-background-shape-one{background:radial-gradient(circle,#2563eb30,#2563eb00);width:460px;height:460px;top:-220px;left:-150px}.auth-background-shape-two{background:radial-gradient(circle,#14b8a629,#14b8a600);width:520px;height:520px;bottom:-250px;right:-210px}.auth-shell{z-index:1;background:var(--auth-panel);border:1px solid #ffffffc7;border-radius:32px;grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);width:min(100%,1080px);min-height:650px;display:grid;position:relative;overflow:hidden;box-shadow:0 32px 90px #162c542e,0 3px 12px #162c540f}.auth-showcase{color:#fff;background:radial-gradient(circle at 85% 15%, #4cdeca3d, transparent 30%), linear-gradient(155deg, #10285d 0%, #173f9e 52%, var(--auth-primary) 100%);flex-direction:column;padding:46px 44px 38px;display:flex;position:relative;overflow:hidden}.auth-showcase:before,.auth-showcase:after{content:"";border:1px solid #ffffff1a;border-radius:50%;position:absolute}.auth-showcase:before{width:330px;height:330px;top:120px;right:-190px}.auth-showcase:after{width:230px;height:230px;bottom:-65px;left:-150px}.auth-showcase .auth-logo{z-index:1;border-color:#ffffff47;align-self:flex-start;width:auto;max-width:250px;height:66px;position:relative;box-shadow:0 16px 36px #02102d38}.auth-showcase-copy{z-index:1;margin-top:auto;padding-top:68px;position:relative}.auth-product-label,.auth-eyebrow{color:var(--auth-accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:900}.auth-showcase h2{letter-spacing:-.045em;max-width:460px;margin:0;font-size:clamp(32px,4vw,44px);line-height:1.06}.auth-showcase-copy>p:last-child{color:#ffffffc2;max-width:430px;margin:20px 0 0;font-size:16px;line-height:1.7}.auth-benefits{z-index:1;gap:15px;margin:34px 0 0;padding:0;list-style:none;display:grid;position:relative}.auth-benefits li{color:#ffffffeb;align-items:center;gap:12px;font-size:14px;font-weight:700;display:flex}.auth-feature-icon{background:#ffffff1c;border:1px solid #ffffff30;border-radius:10px;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.auth-feature-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.auth-showcase-footnote{z-index:1;color:#ffffff85;letter-spacing:.04em;margin:34px 0 0;font-size:12px;position:relative}.auth-panel{background:var(--auth-panel);flex-direction:column;justify-content:center;min-width:0;padding:48px clamp(36px,5vw,70px);display:flex}.auth-mobile-brand{display:none}.auth-panel-header h1{color:var(--auth-heading);letter-spacing:-.045em;margin:0;font-size:clamp(34px,4vw,44px);line-height:1.1}.auth-panel-header>p:last-child{max-width:520px;color:var(--auth-copy);margin:14px 0 0;font-size:15px;line-height:1.65}.auth-form{gap:19px;margin-top:32px;display:grid}.auth-form label{color:#344054;gap:8px;min-width:0;font-size:14px;font-weight:800;display:grid}.auth-input-wrap{position:relative}.auth-input-wrap>svg{fill:none;stroke:#98a2b3;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:20px;height:20px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.auth-form input{box-sizing:border-box;border:1px solid var(--auth-border);background:var(--auth-input);width:100%;min-width:0;height:54px;color:var(--auth-heading);font:inherit;border-radius:14px;outline:0;padding:0 16px 0 49px;font-size:16px;transition:border-color .16s,box-shadow .16s,background .16s}.auth-form input::placeholder{color:#98a2b3}.auth-form input:hover{background:#fff;border-color:#b6c3d5}.auth-form input:focus{border-color:var(--auth-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--auth-primary) 14%, transparent);background:#fff}.auth-primary-button{background:linear-gradient(135deg, var(--auth-primary), var(--auth-primary-dark));color:#fff;width:100%;min-height:54px;box-shadow:0 14px 30px color-mix(in srgb, var(--auth-primary) 28%, transparent);font:inherit;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;margin-top:2px;padding:14px 22px;font-size:16px;font-weight:900;transition:transform .16s,box-shadow .16s,opacity .16s;display:flex}.auth-primary-button:hover:not(:disabled){box-shadow:0 18px 34px color-mix(in srgb, var(--auth-primary) 34%, transparent);transform:translateY(-1px)}.auth-primary-button:focus-visible,.auth-login-switcher a:focus-visible,.auth-demo-contact a:focus-visible{outline:3px solid color-mix(in srgb, var(--auth-primary) 28%, transparent);outline-offset:3px}.auth-primary-button:disabled{opacity:.66;cursor:wait}.auth-status{border:1px solid;border-radius:13px;align-items:flex-start;gap:10px;margin:-2px 0 0;padding:12px 14px;font-size:14px;font-weight:750;line-height:1.45;display:flex}.auth-status>span{color:#fff;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:950;display:grid}.auth-status-error{color:#9f1c1c;background:#fff5f5;border-color:#fecaca}.auth-status-error>span{background:#dc2626}.auth-status-success{color:#0b6848;background:#ecfdf5;border-color:#a7f3d0}.auth-status-success>span{background:#059669}.auth-secondary-text{color:var(--auth-copy);text-align:center;margin:15px 0 0;font-size:13px}.auth-login-switcher{border-top:1px solid #edf0f5;gap:10px;margin-top:29px;padding-top:24px;display:grid}.auth-login-switcher>span{color:#98a2b3;letter-spacing:.12em;text-align:center;text-transform:uppercase;font-size:11px;font-weight:900}.auth-login-switcher>div{background:#f2f4f7;border-radius:13px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px;display:grid}.auth-login-switcher a{color:#667085;text-align:center;border:1px solid #0000;border-radius:10px;min-width:0;padding:9px 8px;font-size:12px;font-weight:850;text-decoration:none}.auth-login-switcher a:hover{color:var(--auth-primary)}.auth-login-switcher a.active{color:var(--auth-primary);background:#fff;border-color:#e4e7ec;box-shadow:0 2px 8px #10182814}.auth-demo-contact{border:1px solid color-mix(in srgb, var(--auth-primary) 15%, #e4e7ec);background:color-mix(in srgb, var(--auth-primary) 4%, #fff);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:14px 16px;display:flex}.auth-demo-contact>div{gap:3px;min-width:0;display:grid}.auth-demo-contact strong{color:var(--auth-heading);font-size:13px}.auth-demo-contact span{color:var(--auth-copy);font-size:12px;line-height:1.4}.auth-demo-contact a{color:var(--auth-primary);flex:none;font-size:12px;font-weight:900;text-decoration:none}.auth-demo-contact a:hover{text-decoration:underline}.auth-footer{z-index:1;box-sizing:border-box;color:#7c8aa1;justify-content:space-between;gap:16px;width:min(100%,1080px);font-size:12px;display:flex;position:relative}.auth-theme-dark{--auth-panel:#101828;--auth-input:#172033;--auth-heading:#f8fafc;--auth-copy:#aab4c5;--auth-border:#344054;background:radial-gradient(circle at 0 0,#172554,#0b1220 50%,#101828)}.auth-theme-dark .auth-panel{background:var(--auth-panel)}.auth-theme-dark .auth-form label{color:#d0d5dd}.auth-theme-dark .auth-form input:hover,.auth-theme-dark .auth-form input:focus{background:#1d2939}.auth-theme-dark .auth-login-switcher{border-color:#263244}.auth-theme-dark .auth-login-switcher>div{background:#172033}.auth-theme-dark .auth-login-switcher a.active{background:#263244;border-color:#344054}.auth-theme-dark .auth-demo-contact{background:#172033}@media (width<=900px){.auth-page{padding:28px 22px 20px}.auth-shell{grid-template-columns:1fr;width:min(100%,620px);min-height:0}.auth-showcase{display:none}.auth-panel{padding:40px clamp(26px,7vw,54px)}.auth-mobile-brand{margin-bottom:34px;display:block}.auth-mobile-logo{max-width:230px;height:58px}}@media (width<=520px){.auth-page{background:var(--auth-panel);min-height:100dvh;padding:0;display:block}.auth-background-shape,.auth-footer{display:none}.auth-shell{min-height:100dvh;box-shadow:none;border:0;border-radius:0}.auth-panel{box-sizing:border-box;justify-content:flex-start;padding:28px 20px 34px}.auth-mobile-brand{margin-bottom:36px}.auth-mobile-logo{height:54px}.auth-panel-header h1{font-size:34px}.auth-form{margin-top:28px}.auth-login-switcher>div{gap:4px}.auth-login-switcher a{padding-inline:5px;font-size:11px}.auth-demo-contact{flex-direction:column;align-items:flex-start}}.fingertech-logo{object-fit:contain;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:auto;max-width:min(100%,260px);height:58px;padding:8px 12px;display:block;box-shadow:0 12px 30px #0f172a1a}.sidebar-logo{background:#fff;max-width:100%;height:64px;margin-bottom:20px;padding:10px}.app-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.app-header-brand{align-items:center;gap:20px;min-width:0;display:flex}.app-header-brand>div{min-width:0}.app-header h1{color:var(--text);letter-spacing:-.04em;margin:4px 0 6px;font-size:clamp(28px,4vw,40px)}.app-header p{margin:0}.app-header-description{max-width:760px;color:var(--muted)}.app-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;display:flex}.logout-button{appearance:none;color:#b42318;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #fecaca;border-radius:14px;padding:12px 16px;font-weight:900;box-shadow:0 10px 24px #b4231814}.logout-button:hover{background:#fef2f2;border-color:#f87171}.logout-button:focus-visible{outline-offset:2px;outline:3px solid #ef444438}.auth-logo{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:auto;max-width:min(100%,280px);height:64px;padding:9px 12px;box-shadow:0 12px 30px #0f172a1a}.employee-app-shell{gap:16px;display:grid}@media (width<=900px){.sidebar{grid-template-columns:auto 1fr;align-items:center;column-gap:18px;display:grid}.sidebar-logo{grid-row:1/span 2;height:56px;margin:0}.sidebar h1{margin:0}.sidebar nav{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:20px}}@media (width<=720px){.app-shell,.console-main{padding:20px}.app-header{flex-direction:column;align-items:stretch}.app-header-brand{flex-direction:column;align-items:flex-start}.app-header-actions,.logout-button{width:100%}.logout-button{text-align:center}}@media (width<=520px){.fingertech-logo,.auth-logo{max-width:100%;height:52px}.sidebar{padding:20px}.sidebar-logo{height:48px}.app-shell,.console-main{padding:16px}.app-header{border-radius:20px;padding:18px}}.employee-app-shell{--terminal-blue:#2563eb;gap:16px;max-width:1240px;padding:28px 32px 48px;display:grid}.employee-app-shell:before{content:"";z-index:-1;background:radial-gradient(circle at 10% 4%,#2563eb1c,#0000 30%),radial-gradient(circle at 90% 18%,#14b8a614,#0000 28%),#f4f7fb;position:fixed;inset:0}.employee-app-shell .app-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #cbd5e1bf;border-radius:22px;padding:20px 22px;box-shadow:0 14px 42px #0f172a12}.employee-app-shell .app-header-brand{gap:22px}.employee-app-shell .fingertech-logo{border-radius:16px;max-width:245px;height:66px;box-shadow:0 8px 22px #0f172a14}.employee-app-shell .app-header h1{margin:2px 0 4px;font-size:clamp(27px,3vw,36px)}.employee-app-shell .app-header .eyebrow{color:#2563eb!important}.employee-app-shell .logout-button{color:#475569;min-height:46px;box-shadow:none;border-color:#dbe4f0}.employee-app-shell .logout-button:hover{color:#b42318}.punch-terminal-card{background:#fff;border:1px solid #cbd5e1d1;border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f172a1c}.terminal-camera-panel,.terminal-clock-panel{min-width:0;padding:clamp(24px,3vw,38px)}.terminal-camera-panel{background:linear-gradient(155deg,#fff,#f8fafc);border-right:1px solid #e2e8f0}.terminal-section-heading{align-items:center;gap:14px;margin-bottom:22px;display:flex}.section-step{color:#2563eb;background:#eaf1ff;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:950;display:grid}.terminal-section-heading h2{color:#0f172a;letter-spacing:-.02em;margin:0 0 3px;font-size:21px}.terminal-section-heading p,.camera-instructions p,.punch-guidance p{color:#64748b;margin:0;font-size:14px}.punch-camera-column{gap:14px;display:grid}.camera-viewport{background:radial-gradient(circle at 50% 36%,#4755699e,#0000 22%),linear-gradient(145deg,#17243a,#07111f);border:5px solid #fff;border-radius:24px;min-height:345px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #d8e0ea,0 18px 36px #0f172a2e}.camera-viewport video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0;transform:scaleX(-1)}.camera-viewport.is-active video{opacity:1}.camera-placeholder{color:#fff;text-align:center;place-content:center;justify-items:center;gap:9px;padding:30px;display:grid;position:absolute;inset:0}.camera-placeholder strong{font-size:18px}.camera-placeholder span{color:#a9b8cb;max-width:320px;font-size:13px}.face-placeholder{width:150px;height:150px;margin-bottom:4px}.face-placeholder svg{fill:none;stroke:#94a3b8bf;stroke-width:2.8px;stroke-linecap:round;width:100%;height:100%}.face-guide{pointer-events:none;border:1px solid #ffffff59;border-radius:46% 46% 42% 42%;position:absolute;inset:12% 25%;box-shadow:0 0 0 999px #030b161f}.face-guide-corner{border-style:solid;border-color:#5eead4;width:28px;height:28px;position:absolute}.corner-top-left{border-width:3px 0 0 3px;border-radius:12px 0 0;top:-2px;left:-2px}.corner-top-right{border-width:3px 3px 0 0;border-radius:0 12px 0 0;top:-2px;right:-2px}.corner-bottom-left{border-width:0 0 3px 3px;border-radius:0 0 0 12px;bottom:-2px;left:-2px}.corner-bottom-right{border-width:0 3px 3px 0;border-radius:0 0 12px;bottom:-2px;right:-2px}.camera-live-badge{color:#dbe5f1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060f1cb8;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:850;display:inline-flex;position:absolute;top:16px;left:16px}.camera-live-badge span{background:#94a3b8;border-radius:50%;width:7px;height:7px}.camera-live-badge.online span{background:#34d399;box-shadow:0 0 0 4px #34d39929}.capture-preview{background:#0f172a;border:3px solid #fff;border-radius:13px;width:88px;height:68px;position:absolute;bottom:15px;right:15px;overflow:visible;box-shadow:0 10px 25px #00000047}.capture-preview img{object-fit:cover;border-radius:10px;width:100%;height:100%;transform:scaleX(-1)}.capture-preview span{color:#fff;background:#059669;border:3px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:950;display:grid;position:absolute;top:-10px;right:-10px}.camera-instructions>div,.punch-guidance,.camera-error{align-items:flex-start;gap:12px;display:flex}.camera-instructions{padding:2px 2px 0}.instruction-icon{color:#2563eb;background:#eaf1ff;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.camera-instructions strong,.punch-guidance strong{color:#1e293b;margin-bottom:2px;font-size:14px;display:block}.camera-error{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:13px}.camera-error>span{color:#fff;background:#ea580c;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-weight:950;display:grid}.camera-error strong,.camera-error p,.camera-error small{display:block}.camera-error p{margin:3px 0;font-size:13px;line-height:1.45}.camera-error small{color:#9a3412;line-height:1.4}.camera-actions{grid-template-columns:.9fr 1.1fr;gap:10px;display:grid}.terminal-button{color:#334155;min-height:48px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:13px;padding:11px 14px;font-size:14px;font-weight:850}.terminal-button:hover:not(:disabled){background:#f8fbff;border-color:#93c5fd}.terminal-button.capture-button{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 10px 24px #2563eb38}.terminal-button:disabled,.punch-action-button:disabled,.history-refresh-button:disabled{cursor:not-allowed;opacity:.58}.capture-success{color:#047857;justify-content:center;align-items:center;gap:7px;margin:-2px 0 0;font-size:13px;font-weight:850;display:flex}.capture-success span{background:#d1fae5;border-radius:50%;place-items:center;width:19px;height:19px;display:grid}.terminal-clock-panel{background:radial-gradient(circle at 90% 0,#2563eb12,#0000 30%),#fff;flex-direction:column;display:flex}.clock-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.terminal-state,.attendance-badge{border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.terminal-state i,.attendance-badge i,.time-cell i{background:currentColor;border-radius:50%;width:7px;height:7px}.terminal-state.waiting{color:#c2410c;background:#fff7ed}.terminal-state.ready{color:#2563eb;background:#eff6ff}.terminal-state.captured{color:#047857;background:#ecfdf5}.live-clock-label{color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.clock-display{color:#0b1f3a;letter-spacing:-.075em;text-align:center;font-variant-numeric:tabular-nums;margin-top:clamp(24px,4vw,48px);font-size:clamp(72px,8vw,106px);font-weight:800;line-height:.9}.clock-display span{color:#94a3b8;letter-spacing:-.03em;margin-left:9px;font-size:24px}.clock-date{color:#64748b;text-align:center;margin:13px 0 30px;font-size:16px;font-weight:700}.employee-welcome{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:17px 0;display:flex}.employee-avatar{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border-radius:14px;flex:0 0 43px;place-items:center;width:43px;height:43px;font-size:18px;font-weight:950;display:grid}.employee-welcome span,.employee-welcome strong{display:block}.employee-welcome span{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:850}.employee-welcome strong{color:#172033;font-size:17px}.punch-guidance{background:#f1f5f9;border-radius:15px;margin:18px 0;padding:13px 14px}.punch-guidance>span{color:#2563eb;background:#fff;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-weight:950;display:grid;box-shadow:0 3px 10px #0f172a14}.punch-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.punch-action-button{color:#fff;text-align:left;min-height:76px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:17px;align-items:center;gap:12px;padding:13px 15px;transition:transform .15s,box-shadow .15s;display:flex}.punch-action-button:hover:not(:disabled){transform:translateY(-2px)}.punch-action-button.check-in{background:linear-gradient(135deg,#059669,#0d9488);box-shadow:0 13px 26px #05966938}.punch-action-button.check-out{background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 13px 26px #ea580c33}.punch-action-icon{background:#ffffff2b;border-radius:12px;flex:0 0 37px;place-items:center;width:37px;height:37px;font-size:22px;display:grid}.punch-action-button small,.punch-action-button span:last-child{display:block}.punch-action-button span:last-child{font-size:16px;font-weight:900}.punch-action-button small{color:#ffffffc2;letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:750}.punch-message{border:1px solid;border-radius:13px;align-items:center;gap:9px;margin-top:14px;padding:11px 13px;font-size:13px;font-weight:800;display:flex}.punch-message span{color:#fff;border-radius:50%;flex:0 0 21px;place-items:center;width:21px;height:21px;display:grid}.punch-message.success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.punch-message.success span{background:#059669}.punch-message.error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.punch-message.error span{background:#dc2626}.punch-message.info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.punch-message.info span{background:#2563eb}.device-summary{color:#94a3b8;justify-content:center;align-items:center;gap:7px;margin-top:auto;padding-top:18px;font-size:11px;display:flex}.device-summary strong{color:#64748b}.attendance-history-card{background:#fff;border:1px solid #cbd5e1d1;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px #0f172a13}.history-heading{justify-content:space-between;align-items:center;gap:20px;padding:26px 28px 20px;display:flex}.history-eyebrow{color:#2563eb;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:950}.history-heading h2{color:#0f172a;letter-spacing:-.025em;margin:4px 0 3px;font-size:23px}.history-heading p{color:#64748b;margin:0;font-size:14px}.history-refresh-button{color:#334155;min-height:43px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:850;display:inline-flex}.history-refresh-button:hover:not(:disabled){color:#1d4ed8;border-color:#93c5fd}.history-table-wrap{border-top:1px solid #e2e8f0;overflow-x:auto}.history-table{border-collapse:collapse;width:100%;min-width:760px}.history-table th{color:#64748b;letter-spacing:.09em;text-align:left;text-transform:uppercase;background:#f8fafc;font-size:10px;font-weight:950}.history-table th,.history-table td{border-bottom:1px solid #eef2f7;padding:14px 24px}.history-table tbody tr:last-child td{border-bottom:0}.history-table tbody tr:hover{background:#fafcff}.day-cell strong,.day-cell small{display:block}.day-cell strong{color:#1e293b;text-transform:capitalize;font-size:14px}.day-cell small{color:#94a3b8;margin-top:2px;font-size:11px}.time-cell{color:#94a3b8;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:13px;font-weight:750;display:inline-flex}.time-cell.check-in{color:#047857}.time-cell.check-out{color:#c2410c}.worked-time{color:#334155;font-size:13px}.attendance-badge.complete{color:#047857;background:#ecfdf5}.attendance-badge.entry{color:#2563eb;background:#eff6ff}.attendance-badge.exit{color:#e11d48;background:#fff1f2}.attendance-badge.absent{color:#a16207;background:#fefce8}.attendance-badge.incomplete{color:#c2410c;background:#fff7ed}.history-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:13px;margin:0 28px 24px;padding:12px 14px;font-size:13px;font-weight:750}.history-empty{text-align:center;border-top:1px solid #e2e8f0;justify-items:center;gap:5px;padding:38px 24px 42px;display:grid}.history-empty>span{color:#64748b;background:#f1f5f9;border-radius:16px;place-items:center;width:50px;height:50px;margin-bottom:4px;font-size:25px;display:grid}.history-empty strong{color:#334155}.history-empty p{color:#94a3b8;margin:0;font-size:13px}@media (width<=980px){.punch-terminal-card{grid-template-columns:1fr}.terminal-camera-panel{border-bottom:1px solid #e2e8f0;border-right:0}.camera-viewport{min-height:420px}.device-summary{margin-top:0}}@media (width<=720px){.employee-app-shell,.employee-app-shell .app-header{padding:18px}.employee-app-shell .app-header-brand{gap:14px}.employee-app-shell .fingertech-logo{height:58px}.terminal-camera-panel,.terminal-clock-panel{padding:22px}.camera-viewport{min-height:360px}.history-heading{flex-direction:column;align-items:stretch;padding:22px}.history-refresh-button{width:100%}}@media (width<=520px){.employee-app-shell{gap:12px;padding:12px 12px 30px}.employee-app-shell .app-header,.punch-terminal-card,.attendance-history-card{border-radius:20px}.employee-app-shell .app-header-brand{align-items:stretch}.employee-app-shell .fingertech-logo{width:fit-content;max-width:100%}.terminal-camera-panel,.terminal-clock-panel{padding:18px}.camera-viewport{border-width:4px;border-radius:20px;min-height:295px}.face-placeholder{width:120px;height:120px}.camera-actions,.punch-actions{grid-template-columns:1fr}.clock-display{margin-top:32px;font-size:clamp(68px,23vw,90px)}.clock-display span{display:none}.clock-date{margin-bottom:24px;font-size:14px}.punch-action-button{min-height:70px}.device-summary{text-align:center;align-items:flex-start}.history-heading{padding:19px}}.terminal-state.error{color:#dc2626;background:#fef2f2}.capture-flash{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#064e3be6;border:1px solid #a7f3d0b3;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:900;animation:.2s ease-out capture-confirmation;display:flex;position:absolute;inset:auto 50% 20px auto;transform:translate(50%);box-shadow:0 12px 30px #00000040}.capture-flash span{background:#10b981;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}@keyframes capture-confirmation{0%{opacity:0;transform:translate(50%,8px)}to{opacity:1;transform:translate(50%)}}.camera-retry-button{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.capture-notice{color:#1e3a5f;background:linear-gradient(135deg,#eff6ff,#f0fdfa);border:1px solid #bfdbfe;border-radius:17px;align-items:flex-start;gap:13px;margin:18px 0;padding:15px 16px;display:flex}.capture-notice-icon{color:#2563eb;background:#fff;border-radius:11px;flex:0 0 35px;place-items:center;width:35px;height:35px;font-size:21px;font-weight:900;display:grid;box-shadow:0 5px 14px #2563eb1f}.capture-notice strong{color:#172554;margin-bottom:4px;font-size:14px;display:block}.capture-notice small{color:#1d4ed8;margin-top:7px;font-size:12px;font-weight:900;display:block}.register-attendance-button{color:#fff;width:100%;min-height:76px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0d9488);border:0;border-radius:18px;justify-content:center;align-items:center;gap:13px;padding:15px 20px;font-size:17px;font-weight:950;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 16px 32px #2563eb3d}.register-attendance-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 38px #2563eb4d}.register-attendance-button:focus-visible{outline-offset:3px;outline:3px solid #2563eb4d}.register-attendance-button:disabled{cursor:not-allowed;opacity:.58}.register-attendance-button.capturing,.register-attendance-button.registering{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.register-attendance-button.success,.register-attendance-button.success:disabled{opacity:1;background:linear-gradient(135deg,#059669,#0d9488)}.register-attendance-icon{background:#ffffff2e;border-radius:13px;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:23px;display:grid}.register-attendance-button.capturing .register-attendance-icon,.register-attendance-button.registering .register-attendance-icon{animation:1s ease-in-out infinite attendance-pulse}@keyframes attendance-pulse{50%{opacity:.65;transform:scale(.88)}}.punch-message>div{min-width:0}.punch-message strong{margin-bottom:2px;display:block}.punch-message p{margin:0;font-weight:750;line-height:1.4}@media (width<=520px){.capture-notice{padding:14px}.register-attendance-button{min-height:74px;padding:13px 15px;font-size:16px}.capture-flash{white-space:nowrap;bottom:15px}}.history-days-list{background:#f8fafc;border-top:1px solid #e2e8f0;gap:10px;padding:16px;display:grid}.history-day-card{background:#fff;border:1px solid #e2e8f0;border-radius:17px;transition:border-color .18s,box-shadow .18s;overflow:hidden}.history-day-card.expanded{border-color:#bfdbfe;box-shadow:0 10px 28px #2563eb14}.history-day-toggle{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(130px,1.2fr) minmax(120px,.9fr) minmax(130px,.9fr) minmax(80px,.55fr) 24px;align-items:center;gap:14px;padding:17px 20px;display:grid}.history-day-toggle:hover{background:#fafcff}.history-day-date strong,.history-day-date small,.history-day-stat strong,.history-day-stat small{display:block}.history-day-date strong{color:#172033;margin-bottom:2px;font-size:15px}.history-day-date small,.history-day-stat small{color:#94a3b8;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:850}.history-day-stat strong{color:#334155;font-variant-numeric:tabular-nums;margin-top:3px;font-size:14px}.history-chevron{color:#64748b;font-size:22px;transition:transform .2s}.history-day-card.expanded .history-chevron{transform:rotate(180deg)}.attendance-badge.no-records{color:#64748b;background:#f1f5f9}.attendance-badge.inconsistent{color:#dc2626;background:#fef2f2}.attendance-badge.in-progress{color:#2563eb;background:#eff6ff}.history-day-detail{background:linear-gradient(#fbfdff,#fff);border-top:1px solid #e8eef5;padding:8px 20px 18px}.punch-list{display:grid}.punch-list-item{border-bottom:1px solid #eef2f7;grid-template-columns:38px minmax(130px,1fr) minmax(200px,1.15fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.punch-type-icon{border-radius:11px;place-items:center;width:34px;height:34px;font-size:17px;font-weight:950;display:grid}.punch-type-icon.entrada{color:#047857;background:#ecfdf5}.punch-type-icon.salida{color:#c2410c;background:#fff7ed}.punch-main strong,.punch-main small{display:block}.punch-main strong{color:#1e293b;font-size:14px}.punch-main strong span{text-transform:capitalize}.punch-main small{color:#94a3b8;margin-top:3px;font-size:11px}.punch-evidence-status{flex-wrap:wrap;gap:7px;display:flex}.punch-evidence-status span{color:#64748b;background:#f1f5f9;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.punch-evidence-status .available{color:#047857;background:#ecfdf5}.punch-evidence-status .missing{color:#94a3b8;background:#f8fafc}.punch-detail-actions{justify-content:flex-end;gap:6px;display:flex}.punch-detail-actions button,.punch-detail-actions a{color:#2563eb;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:850;text-decoration:none}.punch-detail-actions button:disabled{opacity:.55}.punch-detail-actions button:hover:not(:disabled),.punch-detail-actions a:hover{background:#eff6ff;border-color:#93c5fd}.missing-punch-notice{color:#c2410c;background:#fff7ed;border-radius:11px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:12px;font-weight:800;display:flex}.missing-punch-notice span{color:#fff;background:#f97316;border-radius:50%;place-items:center;width:19px;height:19px;display:grid}.day-without-punches{color:#94a3b8;justify-content:center;align-items:center;gap:9px;padding:22px;font-size:13px;display:flex}.day-without-punches p{margin:0}.day-without-punches span{font-size:20px}.capture-notice{background:#eff6ff;border-radius:15px;align-items:flex-start;gap:12px;margin:18px 0;padding:13px 14px;display:flex}.capture-notice-icon{color:#2563eb;background:#fff;border-radius:9px;flex:0 0 27px;place-items:center;width:27px;height:27px;font-size:18px;display:grid}.capture-notice strong{color:#1e3a8a;font-size:13px;display:block}.capture-notice p{color:#475569;margin:3px 0;font-size:12px;line-height:1.45}.capture-notice small{color:#64748b;font-size:10px;line-height:1.4}@media (width<=720px){.history-days-list{padding:10px}.history-day-toggle{grid-template-columns:1fr auto;gap:10px;padding:15px}.history-day-toggle .attendance-badge{justify-self:end}.history-day-stat{border-top:1px solid #eef2f7;padding-top:10px}.history-chevron{opacity:0;position:absolute}.history-day-detail{padding:4px 15px 15px}.punch-list-item{grid-template-columns:38px 1fr;padding:13px 0}.punch-evidence-status,.punch-detail-actions{grid-column:2}.punch-detail-actions{justify-content:flex-start}}@media (width<=420px){.history-day-toggle{grid-template-columns:1fr}.history-day-toggle .attendance-badge{justify-self:start}.history-day-stat{justify-content:space-between;align-items:center;display:flex}.history-day-stat strong{margin:0}.punch-evidence-status{display:grid}.punch-detail-actions{flex-wrap:wrap}}.company-theme{--primary:#2563eb;--primary-dark:#172554;--accent:#14b8a6;background:radial-gradient(circle at 8% 5%,#2563eb21,#0000 30%),radial-gradient(circle at 92% 18%,#14b8a617,#0000 28%),#f6f8fc}.company-theme .sidebar{background:linear-gradient(#172554,#0f172a)}.company-theme .sidebar a{background:#ffffff0e;border:1px solid #ffffff0f}.company-theme .sidebar a:hover{background:#2563eb57}.company-theme .glass-panel{background:#fffffff0;border-color:#e2e8f0;box-shadow:0 18px 50px #0f172a14}.company-primary{color:#fff;background:linear-gradient(135deg,#2563eb,#0d9488);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;box-shadow:0 12px 26px #2563eb33}.company-primary:hover{transform:translateY(-1px);box-shadow:0 16px 30px #2563eb42}.company-alert{border:1px solid;border-radius:16px;padding:14px 18px;font-weight:750}.company-alert.success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.company-alert.error{color:#b42318;background:#fef2f2;border-color:#fecaca}.company-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.company-metrics .metric-card{position:relative;overflow:hidden}.company-metrics .metric-card:before{content:"";background:linear-gradient(#2563eb,#14b8a6);width:4px;position:absolute;inset:0 auto 0 0}.company-metrics .metric-card strong{color:#172554}.company-loading{text-align:center;color:#64748b;font-weight:800}.company-empty{text-align:center;justify-items:center;gap:8px;padding:46px 24px;display:grid}.company-empty>span{background:linear-gradient(135deg,#dbeafe,#ccfbf1);border-radius:19px;place-items:center;width:58px;height:58px;font-size:28px;display:grid}.company-empty h2,.company-empty h3{color:#1e293b;margin:8px 0 0}.company-empty p{color:#64748b;max-width:520px;margin:0 0 12px}.quick-access .section-heading h2,.employee-form-card .section-heading h2{margin:3px 0 0}.quick-access-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.quick-access-grid a{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;gap:7px;min-height:105px;padding:18px;text-decoration:none;transition:all .15s;display:grid;position:relative}.quick-access-grid a:hover{background:#eff6ff;border-color:#93c5fd;transform:translateY(-2px)}.quick-access-grid a span{color:#64748b;font-size:13px;line-height:1.4}.quick-access-grid a b{color:#2563eb;font-size:20px;position:absolute;bottom:12px;right:16px}.employee-form-card{scroll-margin-top:20px}.employee-form{gap:22px;margin-top:20px;display:grid}.employee-form fieldset{border:1px solid #e2e8f0;border-radius:19px;min-width:0;margin:0;padding:20px}.employee-form legend{color:#1e3a8a;padding:0 8px;font-weight:900}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid.single{grid-template-columns:minmax(0,540px)}.employee-form label{color:#475569;gap:7px;font-size:13px;font-weight:800;display:grid}.employee-form label span{color:#334155}.employee-form input,.employee-form textarea,.employee-filters input{box-sizing:border-box;color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;padding:12px 13px}.employee-form textarea{resize:vertical}.employee-form input:focus,.employee-form textarea:focus,.employee-filters input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb1f}.employee-form small{color:#64748b;font-weight:500}.full-width{grid-column:1/-1}.toggle-field{align-self:end;align-items:center;min-height:44px;gap:9px!important;display:flex!important}.toggle-field input{accent-color:#2563eb;height:18px;margin:0;width:18px!important}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.push-right{margin-left:auto}.employee-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.employee-toolbar h3{margin:0 0 4px;font-size:22px}.employee-toolbar p{color:#64748b;margin:0}.employee-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.employee-filters input{min-width:290px}.responsive-table{overflow-x:auto}.company-list-card .data-table{min-width:900px}.company-list-card .data-table td strong,.company-list-card .data-table td small{display:block}.company-list-card .data-table td small{color:#94a3b8;margin-top:4px}.pill.inactive{color:#64748b;background:#f1f5f9}.table-actions{white-space:nowrap;gap:8px;display:flex}.button.ghost-danger{color:#b42318;background:#fff;border:1px solid #fecaca}.button.ghost-success{color:#047857;background:#fff;border:1px solid #a7f3d0}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}@media (width<=1100px){.company-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-access-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.company-metrics,.form-grid,.quick-access-grid{grid-template-columns:1fr}.employee-toolbar,.section-heading,.employee-filters{flex-direction:column;align-items:stretch}.employee-filters input{min-width:0}.push-right{margin-left:0}.form-actions .button{width:100%}.employee-form fieldset{padding:16px}.company-empty{padding:34px 18px}}.sector-form-card,.sector-detail,.sector-list-card{margin-bottom:22px}.sector-form-card{scroll-margin-top:18px}.section-kicker{color:#2563eb;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.sector-form-card h2,.sector-detail h2{color:#172554;margin:4px 0 0}.sector-steps{grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 4px;padding:0;list-style:none;display:grid}.sector-steps li{color:#94a3b8;background:#f1f5f9;border-radius:13px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:900;display:flex}.sector-steps li.active{color:#1d4ed8;background:#eff6ff}.schedule-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.schedule-choice{text-align:left;color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:17px;gap:7px;padding:18px;transition:all .15s;display:grid}.schedule-choice:hover{border-color:#93c5fd;transform:translateY(-1px)}.schedule-choice.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.schedule-choice b{color:#172554;font-size:16px}.schedule-choice span,.future-schedules{color:#64748b;font-size:12px;line-height:1.5}.future-schedules{margin:13px 2px 0}.employee-form select,.sector-filters select{box-sizing:border-box;color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;padding:12px 13px}.color-input{min-height:45px;padding:5px!important}.field-title{color:#334155;margin-bottom:9px;font-size:13px;font-weight:800;display:block}.weekday-picker{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekday-picker button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:11px;padding:10px 5px;font-weight:850}.weekday-picker button.selected{color:#fff;background:#2563eb;border-color:#3b82f6}.schedule-hint{color:#047857;background:#ecfdf5;border-radius:13px;margin-top:16px;padding:12px 14px;font-size:13px;font-weight:700}.schedule-hint.night{color:#4338ca;background:#eef2ff}.sector-form-summary{background:#f8fafc;border-radius:15px;align-items:center;gap:12px;margin-top:15px;padding:14px;display:flex}.sector-form-summary>span{border-radius:999px;width:12px;height:42px}.sector-form-summary b,.sector-form-summary small{display:block}.sector-form-summary small{color:#64748b;margin-top:4px}.sector-metrics{margin-bottom:22px}.metric-icon.slate{color:#64748b;background:#f1f5f9}.metric-icon.amber{color:#d97706;background:#fffbeb}.sector-filters{grid-template-columns:minmax(210px,1.4fr) minmax(125px,.7fr) minmax(185px,1fr);display:grid}.sector-filters input{min-width:0}.sector-list-card .data-table{min-width:1040px}.sector-name{align-items:flex-start;gap:11px;display:flex}.sector-name i{border-radius:999px;flex:none;width:9px;height:40px;display:block}.schedule-badge{color:#4338ca;background:#eef2ff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850;display:inline-flex}.sector-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.sector-detail-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;padding:15px}.sector-detail-grid small{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:850}.sector-detail-grid p{color:#1e293b;margin:7px 0 0;font-weight:700;line-height:1.45}.company-empty.compact{padding:28px}.button.tiny{min-height:32px;padding:6px 10px;font-size:11px}@media (width<=1000px){.sector-filters{grid-template-columns:1fr 1fr}.sector-filters input{grid-column:1/-1}.sector-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.sector-steps{grid-template-columns:repeat(2,1fr)}.schedule-choice-grid,.sector-detail-grid,.sector-filters{grid-template-columns:1fr}.sector-filters input{grid-column:auto}.weekday-picker{grid-template-columns:repeat(4,1fr)}}@media (width<=430px){.sector-steps li span{display:none}.sector-steps{grid-template-columns:repeat(4,1fr)}.sector-steps li{justify-content:center}.weekday-picker{grid-template-columns:repeat(3,1fr)}}.employee-filters select{color:#0f172a;min-width:190px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;padding:12px 13px}.sector-assignment-badge{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;display:inline-flex}.sector-assignment-badge.missing{color:#c2410c;background:#fff7ed}.sector-employees-card{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.sector-employees-card h3{color:#172554;margin:4px 0 0}.muted{color:#64748b}.sector-employee-list{gap:10px;display:grid}.sector-employee-list>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.sector-employee-list>div>span:first-child{color:#1d4ed8;background:#dbeafe;border-radius:12px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid}.sector-employee-list>div>div{flex:1}.sector-employee-list strong,.sector-employee-list small{display:block}.sector-employee-list small{color:#64748b;margin-top:3px}@media (width<=720px){.employee-filters select{width:100%}}.holidays-toolbar{margin-bottom:18px;padding:22px 24px}.holidays-toolbar form{flex-direction:column;gap:10px;display:flex}.holidays-toolbar label{color:#1e293b;letter-spacing:.02em;font-size:13px;font-weight:900}.holidays-toolbar small{color:#64748b;line-height:1.5}.holiday-control-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.holiday-control-row input{color:#0f172a;width:150px;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;padding:0 14px;font-weight:800}.holiday-control-row input:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11f}.holiday-api-message{border:1px solid;border-radius:14px;margin:0 0 18px;padding:13px 16px;font-size:14px;font-weight:750}.holiday-api-message.info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.holiday-api-message.warning{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.holiday-metrics{margin-bottom:18px}.holiday-sync-date{line-height:1.25;font-size:clamp(16px,1.6vw,22px)!important}.holiday-status{border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:13px;font-weight:900;display:inline-flex}.holiday-status i{background:currentColor;border-radius:50%;width:8px;height:8px}.holiday-status.ok{color:#047857;background:#ecfdf5}.holiday-status.cached{color:#2563eb;background:#eff6ff}.holiday-status.down{color:#c2410c;background:#fff7ed}.holiday-list-panel{padding:0;overflow:hidden}.holiday-list-panel .section-heading{border-bottom:1px solid #e2e8f0;padding:22px 24px}.holiday-source-badge,.holiday-source{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;font-weight:850;display:inline-flex}.holiday-table-wrap{overflow-x:auto}.holiday-table{border-collapse:collapse;text-align:left;width:100%}.holiday-table th{color:#64748b;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;padding:13px 18px;font-size:11px;font-weight:900}.holiday-table td{color:#334155;border-top:1px solid #eef2f7;padding:16px 18px;font-size:14px}.holiday-table tbody tr:hover{background:#fafaff}.holiday-table td:nth-child(3){color:#172554;min-width:290px;font-weight:750}.holiday-weekday{text-transform:capitalize}.holiday-type-badge{color:#5b21b6;text-transform:capitalize;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.holiday-empty{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:32px;display:flex}.holiday-empty>span{color:#6366f1;background:#f1f5f9;border-radius:16px;place-items:center;width:50px;height:50px;margin-bottom:12px;font-size:24px;font-weight:900;display:grid}.holiday-empty h3{color:#1e293b;margin:0}.holiday-empty p{max-width:520px;margin:8px 0 0;line-height:1.55}.attendance-badge.holiday{color:#6d28d9;background:#eef2ff}.attendance-badge.holiday-worked{color:#c2410c;background:#fff7ed}.day-without-punches.holiday{color:#5b21b6;background:#f5f3ff;border-color:#c4b5fd}@media (width<=720px){.holiday-control-row{flex-direction:column;align-items:stretch}.holiday-control-row input,.holiday-control-row .button{width:100%}.holiday-table th,.holiday-table td{padding:13px 14px}.holiday-list-panel .section-heading{flex-direction:column;align-items:flex-start;gap:12px}}.attendance-filter-panel{padding:20px 22px}.attendance-filter-grid{grid-template-columns:minmax(150px,.8fr) minmax(170px,1fr) minmax(180px,1fr) minmax(260px,1.5fr) auto;align-items:end;gap:14px;display:grid}.attendance-filter-grid label{gap:7px;display:grid}.attendance-filter-grid label>span{color:#475569;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:900}.attendance-filter-grid input,.attendance-filter-grid select{box-sizing:border-box;color:#0f172a;width:100%;height:45px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:13px;outline:none;padding:0 13px;font-size:14px}.attendance-filter-grid input:focus,.attendance-filter-grid select:focus{border-color:#0f766e;box-shadow:0 0 0 4px #0f766e1a}.attendance-refresh{white-space:nowrap;background:linear-gradient(135deg,#0f766e,#0891b2);height:45px;box-shadow:0 10px 22px #0f766e33}.attendance-refresh:disabled{cursor:not-allowed;opacity:.65}.attendance-context-row{color:#64748b;border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:15px;font-size:12px;display:flex}.attendance-context-row>span:not(.attendance-day-badge){background:#f8fafc;border-radius:999px;padding:7px 10px}.attendance-day-badge{border-radius:999px;padding:7px 11px;font-weight:900;display:inline-flex}.attendance-day-badge.regular{color:#047857;background:#ecfdf5}.attendance-day-badge.holiday{color:#6d28d9;background:#f5f3ff}.company-alert.attendance-warning{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.attendance-loading{color:#475569;justify-content:center;align-items:center;gap:12px;min-height:180px;font-weight:850;display:flex}.attendance-spinner{border:3px solid #cbd5e1;border-top-color:#0f766e;border-radius:50%;width:22px;height:22px;animation:.75s linear infinite attendance-spin}@keyframes attendance-spin{to{transform:rotate(360deg)}}.attendance-summary-grid{grid-template-columns:repeat(7,minmax(135px,1fr));gap:13px;display:grid}.attendance-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:18px;position:relative;overflow:hidden;box-shadow:0 14px 34px #0f172a12}.attendance-summary-card:before{content:"";background:var(--metric-color);width:4px;position:absolute;inset:0 auto 0 0}.attendance-summary-card span{color:#64748b;letter-spacing:.04em;text-transform:uppercase;min-height:30px;font-size:11px;font-weight:900;display:block}.attendance-summary-card strong{color:#0f172a;margin:8px 0 5px;font-size:clamp(22px,2vw,30px);line-height:1;display:block}.attendance-summary-card small{color:#64748b;font-size:11px}.attendance-summary-card.blue{--metric-color:#3b82f6}.attendance-summary-card.green{--metric-color:#10b981}.attendance-summary-card.red{--metric-color:#ef4444}.attendance-summary-card.orange{--metric-color:#f97316}.attendance-summary-card.teal{--metric-color:#14b8a6}.attendance-summary-card.violet{--metric-color:#8b5cf6}.attendance-summary-card.gold{--metric-color:#eab308}.attendance-list-panel{padding:0;overflow:hidden}.attendance-list-heading{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:18px;padding:23px 25px;display:flex}.attendance-list-heading h2{color:#172554;margin:4px 0 3px;font-size:23px}.attendance-list-heading p{color:#64748b;margin:0;font-size:13px}.attendance-inline-loading{color:#0e7490;background:#ecfeff;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:850;display:inline-flex}.attendance-inline-loading i{background:#06b6d4;border-radius:50%;width:8px;height:8px}.attendance-empty-note{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:15px;align-items:center;gap:13px;margin:18px 22px 0;padding:13px 15px;display:flex}.attendance-empty-note>span{font-size:24px}.attendance-empty-note strong,.attendance-empty-note small{display:block}.attendance-empty-note small{color:#64748b;margin-top:3px}.attendance-table-wrap{overflow-x:auto}.attendance-dashboard-table{border-collapse:collapse;width:100%}.attendance-dashboard-table th{color:#64748b;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f8fafc;padding:12px 14px;font-size:10px;font-weight:950}.attendance-dashboard-table td{color:#334155;vertical-align:middle;border-top:1px solid #eef2f7;padding:14px;font-size:13px}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row):hover,.attendance-dashboard-table>tbody>tr.expanded{background:#fbfdff}.attendance-person{align-items:center;gap:10px;min-width:190px;display:flex}.attendance-person>span{color:#155e75;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border-radius:13px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:950;display:grid}.attendance-person strong,.attendance-person small{display:block}.attendance-person strong{color:#172554}.attendance-person small{color:#64748b;margin-top:3px;font-size:11px}.attendance-sector-name{max-width:150px;display:block}.attendance-cell-note{color:#b45309;margin-top:3px;display:block}.attendance-time{color:#172554;font-variant-numeric:tabular-nums;font-size:14px;font-weight:900}.attendance-status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:900;display:inline-flex}.attendance-status-pill i{background:currentColor;border-radius:50%;width:7px;height:7px}.attendance-status-pill.complete{color:#166534;background:#dcfce7}.attendance-status-pill.incomplete{color:#c2410c;background:#ffedd5}.attendance-status-pill.inconsistent{color:#991b1b;background:#fee2e2}.attendance-status-pill.holiday{color:#6d28d9;background:#ede9fe}.attendance-status-pill.holiday-worked{color:#a16207;background:#fef3c7}.attendance-status-pill.warning{color:#854d0e;background:#fef9c3}.attendance-status-pill.pending{color:#0369a1;background:#e0f2fe}.attendance-status-pill.neutral{color:#475569;background:#f1f5f9}.attendance-feature{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-flex}.attendance-feature.available{color:#047857;background:#ecfdf5}.attendance-feature.missing{color:#64748b;background:#f1f5f9}.attendance-detail-cell{text-align:right}.attendance-detail-button{color:#334155;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:7px;padding:7px 9px;font-size:11px;font-weight:900;display:inline-flex}.attendance-detail-row>td{border-top:0!important;padding:0!important}.attendance-detail-panel{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #cbd5e1;border-radius:18px;margin:0 14px 16px;padding:20px}.attendance-detail-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.attendance-detail-header h3{color:#172554;margin:4px 0}.attendance-detail-header p{color:#64748b;margin:0}.attendance-row-alert{color:#9a3412;background:#fff7ed;border-radius:11px;margin-top:13px;padding:10px 12px;font-size:12px;font-weight:800}.attendance-no-punches{text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:13px;margin-top:16px;padding:20px}.attendance-punch-list{margin:17px 0 0;padding:0;list-style:none;display:grid}.attendance-punch-list li{border-top:1px solid #e2e8f0;grid-template-columns:40px minmax(140px,1fr) auto;align-items:center;gap:11px;padding:13px 0;display:grid}.attendance-punch-icon{border-radius:11px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:950;display:grid}.attendance-punch-icon.entrada{color:#047857;background:#dcfce7}.attendance-punch-icon.salida{color:#1d4ed8;background:#dbeafe}.attendance-punch-main strong,.attendance-punch-main small{display:block}.attendance-punch-main small{color:#94a3b8;margin-top:3px}.attendance-punch-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-punch-meta button,.attendance-punch-meta a,.attendance-punch-meta span{color:#475569;font:inherit;background:#f1f5f9;border:0;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:850;text-decoration:none}.attendance-punch-meta button,.attendance-punch-meta a{color:#0369a1;cursor:pointer;background:#e0f2fe}.attendance-timezone-note{color:#64748b;text-align:right;margin:0 4px;font-size:12px}@media (width<=1280px){.attendance-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-search-field{grid-column:span 3}.attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=900px){.attendance-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-search-field{grid-column:1/-1}.attendance-refresh{width:100%}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-dashboard-table thead{display:none}.attendance-dashboard-table,.attendance-dashboard-table tbody{display:block}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row){background:#fff;border:1px solid #e2e8f0;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px;display:grid;overflow:hidden}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row)>td{border-top:1px solid #eef2f7;grid-template-columns:92px 1fr;align-items:center;padding:11px 13px;display:grid}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row)>td:before{content:attr(data-label);color:#94a3b8;text-transform:uppercase;font-size:9px;font-weight:950}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row)>td:first-child{border-top:0;grid-column:1/-1}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row)>td:first-child:before,.attendance-detail-cell:before{display:none}.attendance-detail-cell{text-align:left;grid-column:1/-1!important;display:block!important}.attendance-detail-button{justify-content:center;width:100%}.attendance-detail-row,.attendance-detail-row>td{display:block}.attendance-punch-list li{grid-template-columns:40px 1fr}.attendance-punch-meta{grid-column:2;justify-content:flex-start}}@media (width<=620px){.attendance-filter-grid,.attendance-summary-grid{grid-template-columns:1fr}.attendance-search-field{grid-column:auto}.attendance-context-row{flex-direction:column;align-items:stretch}.attendance-list-heading,.attendance-detail-header{flex-direction:column;align-items:flex-start}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row){grid-template-columns:1fr}.attendance-dashboard-table>tbody>tr:not(.attendance-detail-row)>td:first-child,.attendance-detail-cell{grid-column:auto!important}.attendance-timezone-note{text-align:left}.attendance-punch-meta{flex-direction:column;align-items:stretch}.attendance-punch-meta>*{text-align:center}.attendance-summary-card span{min-height:auto}}.report-hero{color:#0f172a;background:linear-gradient(135deg,#f8fffe,#eef5fb);border:1px solid #cbddec;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;display:flex;position:relative;overflow:hidden}.report-hero:after{content:"";background:#0d948817;border-radius:50%;width:240px;height:240px;position:absolute;top:-120px;right:-70px}.report-hero h2{margin:5px 0 7px;font-size:28px;color:#0f172a!important}.report-hero p{margin:0;color:#475569!important}.report-hero .section-kicker{color:#0f766e!important}.report-hero-icon{color:#0f766e;z-index:1;background:#ffffffb8;border:1px solid #0f766e33;border-radius:20px;place-items:center;width:62px;height:62px;font-size:31px;display:grid}.report-filter-card,.report-results{margin-top:18px;padding:24px}.report-section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:19px;display:flex}.report-section-heading span{color:#0f766e;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:950}.report-section-heading h3{color:#172554;margin:4px 0 0}.report-section-heading small{color:#64748b}.report-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.report-filter-grid label{gap:7px;display:grid}.report-filter-grid label>span{color:#475569;font-size:12px;font-weight:850}.report-filter-grid input,.report-filter-grid select{box-sizing:border-box;color:#0f172a;background:#fff;width:100%;font-size:14px}.report-helper{color:#64748b;margin:12px 0 0;font-size:12px}.report-helper.warning{color:#a16207}.report-helper.error{color:#b91c1c}.report-actions{border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;padding-top:18px;display:flex}.report-actions .button{font-size:13px}.report-action-spacer{flex:1}.button:disabled{opacity:.48;cursor:not-allowed}.report-export.excel{background:#15803d}.report-export.pdf{background:#b91c1c}.report-alert{border-radius:14px;align-items:flex-start;gap:14px;margin-top:16px;padding:14px 17px;font-size:13px;display:flex}.report-alert b{white-space:nowrap}.report-alert span{line-height:1.45}.report-alert.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.report-alert.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.report-empty{text-align:center;justify-items:center;margin-top:18px;padding:54px 24px;display:grid}.report-empty>span:first-child{color:#0369a1;background:#e0f2fe;border-radius:19px;place-items:center;width:58px;height:58px;font-size:27px;display:grid}.report-empty h3{color:#172554;margin:16px 0 7px}.report-empty p{color:#64748b;margin:0}.report-spinner{animation:.8s linear infinite report-spin;background:0 0!important;border:4px solid #bfdbfe!important;border-top-color:#0f766e!important;border-radius:50%!important;width:30px!important;height:30px!important}@keyframes report-spin{to{transform:rotate(360deg)}}.report-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:18px;display:grid}.report-summary-grid article{background:#ffffffe6;border:1px solid #dbe4f0;border-radius:17px;padding:17px;box-shadow:0 8px 24px #0f172a0d}.report-summary-grid span,.report-summary-grid small,.report-summary-grid strong{display:block}.report-summary-grid span{color:#64748b;text-transform:uppercase;min-height:30px;font-size:11px;font-weight:850}.report-summary-grid strong{color:#172554;margin:4px 0;font-size:24px}.report-summary-grid small{color:#94a3b8}.report-table-wrap{border:1px solid #e2e8f0;border-radius:15px;overflow:auto}.report-table{border-collapse:collapse;background:#fff;width:100%;min-width:1420px;font-size:12px}.report-table th{z-index:1;color:#fff;text-align:left;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#1e3a5f;padding:12px 11px;font-size:10px;position:sticky;top:0}.report-table td{color:#475569;vertical-align:top;border-top:1px solid #edf2f7;padding:12px 11px}.report-table tbody tr:hover{background:#f8fafc}.report-table td>strong,.report-table td>small{display:block}.report-table td>strong{color:#172554}.report-table td>small{color:#94a3b8;margin-top:4px}.report-time{font-variant-numeric:tabular-nums;font-weight:850;color:#172554!important}.report-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:950;display:inline-flex}.report-status i{background:currentColor;border-radius:50%;width:6px;height:6px}.report-status.complete{color:#166534;background:#dcfce7}.report-status.holiday{color:#6d28d9;background:#ede9fe}.report-status.holiday-worked{color:#a16207;background:#fef3c7}.report-status.incomplete{color:#c2410c;background:#ffedd5}.report-status.danger{color:#991b1b;background:#fee2e2}.report-status.warning{color:#854d0e;background:#fef9c3}.report-status.neutral{color:#475569;background:#f1f5f9}.report-sector-missing{color:#854d0e;background:#fef9c3;border-radius:7px;padding:4px 7px;font-weight:800;display:inline-block}.report-yes{color:#c2410c;font-weight:900}.report-observation{max-width:260px;line-height:1.45}@media (width<=1100px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.report-hero{padding:22px}.report-hero-icon{display:none}.report-filter-card,.report-results{padding:18px}.report-filter-grid,.report-summary-grid{grid-template-columns:1fr}.report-section-heading{flex-direction:column;align-items:flex-start}.report-actions{flex-direction:column;align-items:stretch}.report-actions .button{width:100%}.report-action-spacer{display:none}.report-alert{flex-direction:column;gap:5px}.report-alert b{white-space:normal}}.company-theme[data-theme=original]{--company-bg:radial-gradient(circle at top left, #dbeafe 0, #f8fafc 36%, #eef2ff 100%);--company-surface:#ffffffdb;--company-card:#fff;--company-text:#0f172a;--company-heading:#172554;--company-muted:#64748b;--company-primary:#0f766e;--company-primary-hover:#115e59;--company-accent:#38bdf8;--company-border:#dbe4f0;--company-soft:#f1f5f9;--company-table-head:#1e3a5f;--company-sidebar:linear-gradient(180deg, #102a66, #111827);--company-sidebar-text:#e0e7ff;--company-sidebar-item:#ffffff14;--company-sidebar-hover:#ffffff2e;--company-shadow:0 18px 50px #0f172a17}.company-theme[data-theme=dark]{--primary:#38bdf8;--primary-dark:#0b1220;--accent:#22c55e;--surface:#1e293be6;--line:#94a3b840;--muted:#94a3b8;--text:#e5e7eb;--company-bg:radial-gradient(circle at 12% 0%, #172554 0, #0f172a 34%, #0b1220 100%);--company-surface:#1e293be6;--company-card:#111827;--company-text:#e5e7eb;--company-heading:#f8fafc;--company-muted:#94a3b8;--company-primary:#38bdf8;--company-primary-hover:#0ea5e9;--company-accent:#22c55e;--company-border:#94a3b840;--company-soft:#1e293b;--company-table-head:#0b1220;--company-sidebar:linear-gradient(180deg, #0b1220, #111827);--company-sidebar-text:#cbd5e1;--company-sidebar-item:#94a3b814;--company-sidebar-hover:#38bdf829;--company-shadow:0 22px 56px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.company-theme[data-theme=executive]{--primary:#0f766e;--primary-dark:#17324d;--accent:#d9a441;--surface:#fffffff0;--line:#dbe3ea;--muted:#64748b;--text:#111827;--company-bg:radial-gradient(circle at 4% 0%, #e6eeed 0, #f4f6f8 34%, #edf1f4 100%);--company-surface:#fffffff0;--company-card:#fffefa;--company-text:#111827;--company-heading:#1e3a5f;--company-muted:#64748b;--company-primary:#0f766e;--company-primary-hover:#115e59;--company-accent:#d9a441;--company-border:#dbe3ea;--company-soft:#f3f5f6;--company-table-head:#1e3a5f;--company-sidebar:linear-gradient(180deg, #17324d, #102a43);--company-sidebar-text:#e7eef4;--company-sidebar-item:#ffffff12;--company-sidebar-hover:#d9a44133;--company-shadow:0 18px 45px #1e3a5f1a}.company-theme[data-theme]{background:var(--company-bg);color:var(--company-text);transition:background .25s,color .2s}.company-theme[data-theme] .sidebar{background:var(--company-sidebar)}.company-theme[data-theme] .sidebar a{background:var(--company-sidebar-item);color:var(--company-sidebar-text)}.company-theme[data-theme] .sidebar a:hover,.company-theme[data-theme] .sidebar a.active{background:var(--company-sidebar-hover);color:#fff}.company-theme[data-theme] .sidebar a.active{box-shadow:inset 3px 0 0 var(--company-accent)}.company-theme[data-theme] .glass-panel,.company-theme[data-theme] .metric-card{background:var(--company-surface);border-color:var(--company-border);box-shadow:var(--company-shadow)}.header-theme-link{border:1px solid var(--company-border,#dbe4f0);background:var(--company-soft,#f8fafc);min-width:84px;color:var(--company-text,#0f172a);border-radius:14px;gap:1px;padding:8px 13px;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.header-theme-link:hover{border-color:var(--company-primary,#0f766e);transform:translateY(-1px)}.header-theme-link span{color:var(--company-muted,#64748b);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:900}.header-theme-link strong{font-size:13px}.company-theme[data-theme] :is(h1,h2,h3,h4,strong){color:var(--company-heading)}.company-theme[data-theme] :is(p,small,.muted,.app-header-description){color:var(--company-muted)}.company-theme[data-theme] :is(input,select,textarea){border-color:var(--company-border);background:var(--company-card);color:var(--company-text)}.company-theme[data-theme] :is(input,select,textarea)::placeholder{color:var(--company-muted)}.company-theme[data-theme] :is(input,select,textarea):focus{border-color:var(--company-primary);outline:3px solid color-mix(in srgb, var(--company-primary) 18%, transparent)}.company-theme[data-theme] .button.company-primary,.company-theme[data-theme] .button:not(.secondary):not(.danger):not(.ghost-danger):not(.ghost-success):not(.report-export){background:var(--company-primary);color:#fff}.company-theme[data-theme] .button.company-primary:hover{background:var(--company-primary-hover)}.company-theme[data-theme] .button.secondary{border:1px solid var(--company-border);background:var(--company-soft);color:var(--company-heading)}.company-theme[data-theme] .data-table :is(th,td),.company-theme[data-theme] .summary :is(th,td){border-color:var(--company-border)}.company-theme[data-theme] .data-table th{color:var(--company-muted)}.company-theme[data-theme] .data-table tbody tr:hover{background:color-mix(in srgb, var(--company-primary) 6%, transparent)}.company-theme[data-theme] .section-kicker,.company-theme[data-theme] .eyebrow{color:var(--company-accent)!important}.company-theme[data-theme] .logout-button{border-color:color-mix(in srgb, #ef4444 35%, var(--company-border));background:var(--company-card)}.company-theme[data-theme=dark] :is(.company-hero,.company-list-card,.company-form-card,.company-empty,.employee-toolbar,.sector-detail,.holiday-calendar-card,.holiday-form-card,.attendance-filter-card,.attendance-results,.report-filter-card,.report-results,.report-hero,.attendance-hero,.company-metrics article,.report-summary-grid article,.attendance-summary-card,.sector-employees-card,.modal-card){background:var(--company-surface)!important;border-color:var(--company-border)!important;color:var(--company-text)!important}.company-theme[data-theme=dark] :is(.company-hero,.report-hero,.attendance-hero){background:linear-gradient(135deg,#162337,#1e293b)!important}.company-theme[data-theme=dark] :is(.company-hero h2,.company-list-card h2,.company-list-card h3,.company-form-card h2,.employee-toolbar h3,.sector-detail h2,.sector-detail h3,.holiday-calendar-card h2,.attendance-hero h2,.attendance-results h2,.attendance-results h3,.report-hero h2,.report-section-heading h3,.report-empty h3,.report-summary-grid strong,.report-table td>strong,.report-time,.company-metrics strong,.attendance-summary-card strong,.sector-name strong){color:var(--company-heading)!important}.company-theme[data-theme=dark] :is(.company-hero p,.employee-toolbar p,.sector-detail p,.holiday-calendar-card p,.attendance-hero p,.attendance-results p,.report-hero p,.report-helper,.report-empty p,.report-summary-grid span,.report-summary-grid small,.report-table td,.report-table td>small,.company-metrics small,.attendance-summary-card span,label>span){color:var(--company-muted)!important}.company-theme[data-theme=dark] :is(.employee-form,.sector-form,.holiday-form,.attendance-filter-grid,.report-filter-grid,.employee-detail-grid,.sector-detail-grid) :is(input,select,textarea),.company-theme[data-theme=dark] .report-table{color:var(--company-text)!important;border-color:var(--company-border)!important;background:#111827!important}.company-theme[data-theme=dark] :is(.report-table-wrap,.attendance-table-wrap,.company-table-wrap,.report-actions,.employee-welcome,.history-empty){border-color:var(--company-border)!important}.company-theme[data-theme=dark] .attendance-dashboard-table td:is([data-label=Entrada],[data-label=Salida],[data-label=Fichadas]){color:var(--company-heading)}.company-theme[data-theme=dark] .report-table th{background:var(--company-table-head)}.company-theme[data-theme=dark] .report-table td{border-color:var(--company-border)}.company-theme[data-theme=dark] .report-table tbody tr:hover{background:#1e293b}.company-theme[data-theme=dark] :is(.schedule-badge,.pill:not(.active):not(.inactive),.future-badge){color:#bae6fd;background:#263449}.company-theme[data-theme=executive] :is(.company-hero,.report-hero,.attendance-hero){border-color:var(--company-border)!important;background:linear-gradient(135deg,#fffefa,#edf4f3)!important}.company-theme[data-theme=executive] :is(.company-primary,.report-spinner){accent-color:var(--company-primary)}.settings-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);align-items:start;gap:22px;display:grid}.settings-card{padding:28px}.settings-heading{border-bottom:1px solid var(--company-border);align-items:flex-start;gap:16px;padding-bottom:22px;display:flex}.settings-heading.compact{padding-bottom:18px}.settings-heading h2{letter-spacing:-.025em;margin:4px 0 6px;font-size:25px}.settings-heading p{margin:0}.settings-icon{background:color-mix(in srgb, var(--company-primary) 12%, var(--company-card));width:46px;height:46px;color:var(--company-primary);border-radius:15px;flex:0 0 46px;place-items:center;font-size:23px;font-weight:900;display:grid}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.theme-option{border:2px solid var(--company-border);background:var(--company-card);min-width:0;color:var(--company-text);font:inherit;text-align:left;cursor:pointer;border-radius:18px;align-content:start;gap:14px;padding:12px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.theme-option:hover{border-color:color-mix(in srgb, var(--company-primary) 60%, var(--company-border));transform:translateY(-2px)}.theme-option.selected{border-color:var(--company-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--company-primary) 15%, transparent)}.theme-preview{border:1px solid var(--preview-border);background:var(--preview-bg);border-radius:12px;height:105px;display:flex;position:relative;overflow:hidden}.theme-preview-sidebar{background:var(--preview-sidebar);width:27%}.theme-preview-card{border:1px solid var(--preview-border);background:var(--preview-card);border-radius:9px;gap:8px;width:56%;padding:11px;display:grid;position:absolute;top:17px;right:12px;box-shadow:0 8px 18px #0f172a1f}.theme-preview-card b{background:var(--preview-text);opacity:.7;border-radius:999px;width:72%;height:5px;display:block}.theme-preview-card b:nth-child(2){opacity:.35;width:48%}.theme-preview-card em{background:var(--preview-primary);border-radius:6px;width:58%;height:17px;margin-top:3px;display:block}.theme-option[data-preview-theme=original]{--preview-bg:#eef2ff;--preview-sidebar:linear-gradient(180deg, #102a66, #111827);--preview-card:#fff;--preview-primary:#0f766e;--preview-text:#172554;--preview-border:#dbe4f0}.theme-option[data-preview-theme=dark]{--preview-bg:#0f172a;--preview-sidebar:linear-gradient(180deg, #0b1220, #111827);--preview-card:#1e293b;--preview-primary:#38bdf8;--preview-text:#e5e7eb;--preview-border:#94a3b84d}.theme-option[data-preview-theme=executive]{--preview-bg:#f4f6f8;--preview-sidebar:linear-gradient(180deg, #17324d, #102a43);--preview-card:#fffefa;--preview-primary:#0f766e;--preview-text:#1e3a5f;--preview-border:#dbe3ea}.theme-option-copy{gap:5px;padding-right:22px;display:grid}.theme-option-copy strong{font-size:15px}.theme-option-copy small{line-height:1.45}.theme-radio{border:2px solid var(--company-border);border-radius:50%;width:15px;height:15px;position:absolute;bottom:52px;right:14px}.theme-option.selected .theme-radio{border:4px solid var(--company-primary);background:var(--company-card)}.settings-actions{border-top:1px solid var(--company-border);justify-content:flex-end;align-items:center;gap:18px;margin-top:25px;padding-top:20px;display:flex}.settings-saved{color:#15803d;opacity:0;align-items:center;gap:7px;font-size:13px;font-weight:850;transition:opacity .2s;display:flex}.settings-saved.visible{opacity:1}.settings-saved span{background:#dcfce7;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.settings-side-stack{gap:22px;display:grid}.company-settings-list{gap:0;margin:6px 0 0;display:grid}.company-settings-list>div{border-bottom:1px solid var(--company-border);gap:4px;padding:15px 0;display:grid}.company-settings-list dt{color:var(--company-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.company-settings-list dd{color:var(--company-heading);overflow-wrap:anywhere;margin:0;font-weight:850}.settings-note{margin:17px 0 0;font-size:12px;line-height:1.55}.future-settings{position:relative;overflow:hidden;background:linear-gradient(135deg, var(--company-surface), color-mix(in srgb, var(--company-accent) 9%, var(--company-surface)))!important}.future-settings:after{content:"";background:color-mix(in srgb, var(--company-accent) 14%, transparent);border-radius:50%;width:130px;height:130px;position:absolute;bottom:-54px;right:-40px}.future-settings h3{margin:15px 0 8px}.future-settings p{z-index:1;margin:0;line-height:1.55;position:relative}.future-badge{background:color-mix(in srgb, var(--company-accent) 18%, var(--company-card));color:var(--company-heading);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:950;display:inline-flex}@media (width<=1100px){.settings-grid{grid-template-columns:1fr}.settings-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.header-theme-link{min-width:0}.theme-options,.settings-side-stack{grid-template-columns:1fr}.settings-card{padding:20px}.settings-actions{flex-direction:column-reverse;align-items:stretch}.settings-actions .button{width:100%}}.company-theme[data-theme=dark] :is(.company-alert,.status){border-color:var(--company-border)!important;background:var(--company-soft)!important;color:var(--company-text)!important}.company-theme[data-theme=dark] :is(.company-alert.error,.status.error){color:#fecaca!important;background:#7f1d1d52!important;border-color:#f871716b!important}.import-panel,.import-preview-panel{overflow:hidden}.import-heading{align-items:flex-start}.import-heading h3{margin:5px 0 6px;font-size:23px}.import-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.import-brand-badge{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;display:inline-flex}.import-form{grid-template-columns:minmax(180px,.7fr) minmax(280px,1.5fr) auto;align-items:end;gap:16px;margin-top:22px;display:grid}.import-form label{gap:8px;display:grid}.import-form label>span{color:var(--text);font-size:12px;font-weight:850}.import-form input,.import-form select{box-sizing:border-box;width:100%;min-height:46px}.import-file-field small{color:var(--muted);font-size:10px}.import-actions{gap:8px;padding-bottom:18px;display:flex}.import-actions .button{white-space:nowrap}.import-safety-note{background:#eff6ff;border:1px solid #bfdbfe;border-radius:15px;align-items:center;gap:12px;margin-top:18px;padding:13px 15px;display:flex}.import-safety-note strong{color:#1e40af;white-space:nowrap;font-size:12px}.import-safety-note span{color:#475569;font-size:11px;line-height:1.5}.import-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.import-metric{border-radius:18px;padding:17px}.import-metric strong{margin:7px 0 0;font-size:28px}.import-table-wrap{border:1px solid var(--line);border-radius:17px}.import-table{min-width:900px}.import-table th,.import-table td{vertical-align:middle;padding:13px 14px;font-size:12px}.import-table code{color:#334155;background:#f1f5f9;border-radius:7px;padding:4px 7px;font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace}.import-status{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.import-status.success{color:#166534;background:#dcfce7}.import-status.warning{color:#92400e;background:#fef3c7}.import-status.danger{color:#991b1b;background:#fee2e2}.import-status.neutral{color:#475569;background:#e2e8f0}.import-empty{color:var(--muted);text-align:center!important;padding:28px!important}.export-coming-soon{justify-content:space-between;align-items:center;gap:20px;display:flex}.export-coming-soon h3{margin:5px 0}.export-coming-soon p{color:var(--muted);margin:0;font-size:13px}.company-theme[data-theme=dark] .import-brand-badge{color:#99f6e4;background:#134e4a;border-color:#115e59}.company-theme[data-theme=dark] .import-table code{color:#e2e8f0;background:#1e293b}@media (width<=1180px){.import-form{grid-template-columns:1fr 1.4fr}.import-actions{grid-column:1/-1;padding:0}.import-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.import-form{grid-template-columns:1fr}.import-actions{flex-wrap:wrap;grid-column:auto}.import-safety-note{flex-direction:column;align-items:flex-start}.import-safety-note strong{white-space:normal}.import-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-preview-panel .section-heading{display:grid}.import-preview-panel .button{width:100%}.export-coming-soon{flex-direction:column;align-items:flex-start}}.import-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.import-form-compact{grid-template-columns:minmax(150px,.7fr) minmax(230px,1.3fr);align-items:end}.import-form-compact .import-actions{flex-wrap:wrap;grid-column:1/-1;padding-bottom:0}.employee-import-card{border-color:color-mix(in srgb,var(--company-primary) 25%,var(--line))}.employee-import-metrics .import-metric:last-child{background:color-mix(in srgb,var(--company-primary) 8%,var(--company-card,#fff))}.import-sector-value{overflow-wrap:anywhere;line-height:1.25;font-size:17px!important}.employee-preview-table{min-width:1250px}.import-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.import-history-grid h4{color:var(--text);margin:0 0 10px}.import-history-grid .import-table{min-width:760px}.company-theme[data-theme=dark] .import-safety-note{background:#172033;border-color:#1e3a5f}.company-theme[data-theme=dark] .import-safety-note strong{color:#93c5fd}.company-theme[data-theme=dark] .import-safety-note span{color:var(--company-muted)}@media (width<=1100px){.import-module-grid,.import-history-grid{grid-template-columns:1fr}.import-form-compact{grid-template-columns:minmax(160px,.7fr) minmax(260px,1.3fr)}}@media (width<=720px){.import-form-compact{grid-template-columns:1fr}.import-form-compact .import-actions{grid-column:auto}.import-form-compact .import-actions .button{width:100%}}.import-format-help{border-left:3px solid var(--company-primary);background:color-mix(in srgb,var(--company-primary) 8%,transparent);color:var(--company-muted);grid-column:1/-1;margin:0;padding:9px 12px;font-size:12px;line-height:1.5}.company-theme[data-theme=dark] .import-preview-panel,.company-theme[data-theme=dark] .import-table-wrap{border-color:var(--company-border);color:var(--company-text)}.company-theme[data-theme=dark] .import-table{background:var(--company-card);color:var(--company-text)}.company-theme[data-theme=dark] .import-table th{background:var(--company-table-head);color:#e2e8f0}.company-theme[data-theme=dark] .import-table td{border-color:var(--company-border);color:var(--company-text)}.company-theme[data-theme=dark] .import-table tbody tr:hover{background:#1e293b}.company-theme[data-theme=dark] .import-preview-panel .import-heading p,.company-theme[data-theme=dark] .import-preview-panel .import-heading p strong,.company-theme[data-theme=dark] .import-empty{color:var(--company-muted)}.company-theme[data-theme=dark] .import-status.neutral{color:#e2e8f0;background:#334155}.company-theme[data-theme=dark] .import-format-help{color:#cbd5e1;background:#38bdf814}.report-catalog{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.report-card{border:1px solid var(--company-border,#dbe4f0);background:var(--company-surface,#ffffffeb);text-align:left;min-height:128px;color:inherit;cursor:pointer;border-radius:18px;grid-template-columns:auto 1fr;gap:11px;padding:16px;transition:all .18s;display:grid;position:relative;box-shadow:0 8px 22px #0f172a0d}.report-card:hover:not(:disabled),.report-card.active{border-color:#14b8a6;transform:translateY(-2px);box-shadow:0 14px 30px #0d948821}.report-card.active{outline:2px solid #14b8a62e}.report-card:disabled{cursor:not-allowed;opacity:.66}.report-card-icon{color:#0f766e;background:#ccfbf1;border-radius:11px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:900;display:grid}.report-card strong,.report-card small{display:block}.report-card strong{color:var(--company-title,#172554);font-size:13px}.report-card small{color:var(--company-muted,#64748b);margin-top:6px;font-size:11px;line-height:1.4}.report-card em{border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:900;position:absolute;bottom:11px;right:12px}.report-card em.ready{color:#166534;background:#dcfce7}.report-card em.planned{color:#64748b;background:#f1f5f9}.report-combobox{position:relative}.report-combobox-menu{z-index:20;background:var(--company-surface,#fff);border:1px solid #cbd5e1;border-radius:13px;max-height:280px;margin-top:5px;padding:6px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 18px 45px #0f172a2e}.report-combobox-menu button{text-align:left;width:100%;color:var(--company-title,#172554);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px;display:block}.report-combobox-menu button:hover{background:#14b8a61c}.report-combobox-menu button strong,.report-combobox-menu button small{display:block}.report-combobox-menu button small{color:var(--company-muted,#64748b);margin-top:3px;font-size:10px}.report-combobox-menu p{text-align:center;color:var(--company-muted,#64748b);margin:8px;padding:12px}.report-checks{flex-wrap:wrap;gap:20px;margin-top:15px;display:flex}.report-checks label{color:var(--company-muted,#475569);align-items:center;gap:8px;font-size:12px;font-weight:750;display:flex}.report-checks input{width:auto}.report-table td span>small{color:#94a3b8;margin-top:4px;display:block}.company-theme[data-theme=dark] .report-card-icon{color:#5eead4;background:#14b8a62e}.company-theme[data-theme=dark] .report-card em.planned{color:#b6c2d4;background:#26354b}.company-theme[data-theme=dark] .report-combobox-menu{border-color:#334155}.company-theme[data-theme=dark] .report-combobox-menu button:hover{background:#26354b}@media (width<=1250px){.report-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=780px){.report-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.report-catalog{grid-template-columns:1fr}.report-card{min-height:105px}}.report-detail-button{border:1px solid color-mix(in srgb,var(--company-primary,#0f766e) 35%,#cbd5e1);color:var(--company-primary,#0f766e);white-space:nowrap;cursor:pointer;background:0 0;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:850}.report-night-badge{color:#6d28d9;background:#ede9fe;border-radius:999px;width:max-content;margin-top:6px;padding:4px 7px;font-size:9px;font-weight:900;display:block}.report-expanded-row td{background:color-mix(in srgb,var(--company-primary,#0f766e) 5%,var(--company-card,#fff))}.report-punch-detail{color:var(--company-text,#334155);padding:10px 14px}.report-punch-detail ol{flex-wrap:wrap;gap:10px;margin:12px 0;padding:0;list-style:none;display:flex}.report-punch-detail li{border:1px solid var(--company-border,#dbe4f0);background:var(--company-card,#fff);border-radius:12px;gap:4px;min-width:190px;padding:11px;display:grid}.report-punch-detail li span,.report-punch-detail li small{color:var(--company-muted,#64748b);font-size:10px}.report-punch-detail p{color:#c2410c;margin:8px 0 0}.company-theme[data-theme=dark] .report-detail-button{color:#5eead4}.company-theme[data-theme=dark] .report-night-badge{color:#c4b5fd;background:#8b5cf633}.report-sector-detail{color:var(--company-text,#334155);padding:12px 14px}.report-sector-detail>div{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:12px;display:grid}.report-sector-detail article{border:1px solid var(--company-border,#dbe4f0);background:var(--company-card,#fff);border-radius:12px;gap:4px;padding:11px;display:grid}.report-sector-detail article span,.report-sector-detail article small{color:var(--company-muted,#64748b);font-size:10px}.report-status.holiday{color:#c2410c;background:#fff7ed;border-color:#fdba74}.company-theme[data-theme=dark] .report-status.holiday{color:#fdba74;background:#ea580c2e;border-color:#fb923c66}.report-event-badge{color:#475569;white-space:nowrap;background:#e2e8f0;border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.report-event-badge.late_arrival,.report-event-badge.early_exit,.report-event-badge.incomplete_punch,.report-event-badge.missing_hours{color:#c2410c;background:#ffedd5}.report-event-badge.absence,.report-event-badge.inconsistent_punch{color:#991b1b;background:#fee2e2}.report-event-badge.holiday_worked{color:#92400e;background:#fef3c7}.report-event-badge.no_sector,.report-event-badge.no_schedule{color:#854d0e;background:#fef9c3}.report-event-badge.day_off{color:#475569;background:#e2e8f0}.report-event-badge.extra_hours{color:#1d4ed8;background:#dbeafe}.report-difference{white-space:nowrap;border-radius:999px;padding:5px 8px;font-weight:900;display:inline-flex}.report-difference.positive{color:#166534;background:#dcfce7}.report-difference.negative{color:#c2410c;background:#ffedd5}.report-difference.neutral{color:#475569;background:#e2e8f0}.company-theme[data-theme=dark] .report-event-badge.no_sector,.company-theme[data-theme=dark] .report-event-badge.no_schedule{color:#fde047;background:#eab30833}.company-theme[data-theme=dark] .report-difference.neutral{color:#e2e8f0;background:#334155}.company-dashboard{gap:26px;display:grid}.dashboard-context{border:1px solid var(--company-border,#dbe4f0);background:linear-gradient(135deg,color-mix(in srgb,var(--company-primary,#0f766e) 9%,var(--company-card,#fff)),var(--company-card,#fff));border-radius:24px;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;display:flex;box-shadow:0 14px 38px #0f172a12}.dashboard-context h2{color:var(--company-title,#172554);letter-spacing:-.03em;margin:4px 0 7px;font-size:28px}.dashboard-date{color:var(--company-muted,#64748b);text-transform:capitalize;margin:0;font-size:13px;font-weight:700}.dashboard-date span{color:#10b981;font-size:10px}.dashboard-holiday{color:#0e7490;background:#cffafe;border-radius:999px;margin-top:10px;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.dashboard-controls{align-items:flex-end;gap:18px;display:flex}.dashboard-controls label{color:var(--company-muted,#64748b);text-transform:uppercase;letter-spacing:.08em;gap:6px;font-size:10px;font-weight:900;display:grid}.dashboard-controls input{border-color:var(--company-border,#cbd5e1);background:var(--company-card,#fff);min-width:150px;color:var(--company-title,#172554);font-size:12px}.dashboard-controls p{color:var(--company-muted,#64748b);margin:0 0 9px;font-size:11px}.dashboard-controls p strong{color:var(--company-title,#172554)}.dashboard-refresh{align-items:center;gap:8px;display:inline-flex}.dashboard-refresh:disabled{cursor:wait;opacity:.7}.is-spinning{animation:.8s linear infinite dashboard-spin;display:inline-block}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.dashboard-section-heading h2{color:var(--company-title,#172554);margin:3px 0 0;font-size:21px}.dashboard-section-heading>span{background:color-mix(in srgb,var(--company-primary,#0f766e) 10%,transparent);color:var(--company-primary,#0f766e);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900}.dashboard-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;display:grid}.dashboard-kpi{border:1px solid var(--company-border,#dbe4f0);background:var(--company-card,#fff);border-radius:20px;min-height:122px;padding:17px;position:relative;overflow:hidden;box-shadow:0 10px 28px #0f172a0e}.dashboard-kpi:after{content:"";background:var(--kpi-soft,#f1f5f9);border-radius:50%;width:90px;height:90px;position:absolute;bottom:-32px;right:-25px}.dashboard-kpi-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard-kpi-heading span{color:var(--company-muted,#64748b);font-size:11px;font-weight:850}.dashboard-kpi-heading b{background:var(--kpi-soft,#f1f5f9);width:29px;height:29px;color:var(--kpi,#475569);border-radius:9px;place-items:center;font-size:14px;display:grid}.dashboard-kpi>strong{z-index:1;color:var(--company-title,#0f172a);letter-spacing:-.04em;margin:12px 0 5px;font-size:25px;display:block;position:relative}.dashboard-kpi>small{z-index:1;max-width:150px;color:var(--company-muted,#64748b);font-size:9.5px;line-height:1.4;display:block;position:relative}.tone-blue{--kpi:#2563eb;--kpi-soft:#dbeafe}.tone-green{--kpi:#059669;--kpi-soft:#d1fae5}.tone-red{--kpi:#dc2626;--kpi-soft:#fee2e2}.tone-amber{--kpi:#d97706;--kpi-soft:#fef3c7}.tone-purple{--kpi:#7c3aed;--kpi-soft:#ede9fe}.tone-cyan{--kpi:#0891b2;--kpi-soft:#cffafe}.tone-pink{--kpi:#db2777;--kpi-soft:#fce7f3}.dashboard-grid{gap:16px;display:grid}.dashboard-grid-main{grid-template-columns:minmax(320px,.8fr) minmax(480px,1.2fr)}.dashboard-grid-lists{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card{border:1px solid var(--company-border,#dbe4f0);background:var(--company-card,#fff);border-radius:22px;min-width:0;padding:20px;box-shadow:0 12px 34px #0f172a0f}.dashboard-card-header{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.dashboard-card-header h2{color:var(--company-title,#172554);margin:0;font-size:16px}.dashboard-card-header p{color:var(--company-muted,#64748b);margin:5px 0 0;font-size:10px}.staff-status-layout{grid-template-columns:150px 1fr;align-items:center;gap:22px;display:grid}.staff-donut{background:#e2e8f0;border-radius:50%;place-items:center;width:145px;height:145px;display:grid}.staff-donut>div{background:var(--company-card,#fff);width:92px;height:92px;box-shadow:inset 0 0 0 1px var(--company-border,#e2e8f0);border-radius:50%;place-items:center;display:grid}.staff-donut strong{color:var(--company-title,#172554);font-size:27px}.staff-donut span{color:var(--company-muted,#64748b);font-size:9px}.staff-legend{gap:7px;display:grid}.staff-legend>div{border-bottom:1px solid var(--company-border,#eef2f7);color:var(--company-muted,#64748b);grid-template-columns:9px 1fr auto;align-items:center;gap:8px;padding-bottom:6px;font-size:10px;display:grid}.staff-legend i{border-radius:50%;width:8px;height:8px}.staff-legend strong{color:var(--company-title,#172554)}.hour-chart{border-bottom:1px solid var(--company-border,#dbe4f0);grid-template-columns:repeat(24,minmax(7px,1fr));align-items:end;gap:3px;height:180px;padding-top:18px;display:grid}.hour-column{text-align:center;grid-template-rows:14px 1fr 18px;align-items:end;height:100%;display:grid;position:relative}.hour-column>span{color:var(--company-muted,#64748b);font-size:8px}.hour-column>i{background:linear-gradient(180deg,#2dd4bf,var(--company-primary,#0f766e));border-radius:4px 4px 1px 1px;min-height:1px;transition:all .2s;display:block}.hour-column>small{color:var(--company-muted,#64748b);padding-top:5px;font-size:7px}.sector-bars{gap:13px;display:grid}.sector-bar>div:first-child{justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.sector-bar strong{color:var(--company-title,#172554);font-size:11px}.sector-bar span{color:var(--company-muted,#64748b);font-size:9px}.sector-track{background:var(--company-soft,#e2e8f0);border-radius:99px;height:7px;overflow:hidden}.sector-track i{border-radius:inherit;background:linear-gradient(90deg,var(--company-primary,#0f766e),#2dd4bf);height:100%;display:block}.events-legend{flex-wrap:wrap;gap:11px;margin-bottom:12px;display:flex}.events-legend span{color:var(--company-muted,#64748b);align-items:center;gap:5px;font-size:8px;font-weight:750;display:flex}.events-legend i{border-radius:2px;width:7px;height:7px}.events-chart{border-bottom:1px solid var(--company-border,#dbe4f0);grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;height:165px;display:grid}.events-day{text-align:center;grid-template-rows:1fr 25px;align-items:end;height:100%;display:grid}.events-bars{justify-content:center;align-items:end;gap:2px;height:100%;display:flex}.events-bars i{border-radius:3px 3px 0 0;width:min(8px,22%)}.events-day small{color:var(--company-muted,#64748b);text-transform:capitalize;padding-top:6px;font-size:8px}.dashboard-empty{min-height:140px;color:var(--company-muted,#64748b);text-align:center;place-items:center;display:grid}.dashboard-empty span{opacity:.55;font-size:25px}.dashboard-empty p{margin:7px 0;font-size:11px}.dashboard-alert-list,.latest-punches,.configuration-list,.sector-ranking{gap:8px;display:grid}.dashboard-alert-item{border:1px solid var(--company-border,#e2e8f0);color:inherit;border-radius:13px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:10px;text-decoration:none;transition:all .16s;display:grid}.dashboard-alert-item:hover,.configuration-list a:hover{border-color:var(--company-primary,#0f766e);transform:translate(2px)}.dashboard-alert-item>i{color:#475569;background:#f1f5f9;border-radius:9px;place-items:center;width:28px;height:28px;font-style:normal;font-weight:900;display:grid}.dashboard-alert-item div{gap:3px;display:grid}.dashboard-alert-item strong{color:var(--company-title,#172554);font-size:10px}.dashboard-alert-item span{color:var(--company-muted,#64748b);font-size:9px}.dashboard-alert-item>b{color:var(--company-muted,#94a3b8)}.dashboard-alert-item.severity-critical>i{color:#dc2626;background:#fee2e2}.dashboard-alert-item.severity-warning>i{color:#d97706;background:#fef3c7}.dashboard-alert-item.severity-info>i{color:#2563eb;background:#dbeafe}.latest-punches>div,.sector-ranking>div{border-bottom:1px solid var(--company-border,#edf2f7);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:7px 2px;display:grid}.punch-type{color:#15803d;background:#dcfce7;border-radius:9px;place-items:center;width:27px;height:27px;font-size:10px;font-weight:900;display:grid}.punch-type.check_out{color:#1d4ed8;background:#dbeafe}.latest-punches strong,.sector-ranking strong{color:var(--company-title,#172554);font-size:10px;display:block}.latest-punches small,.sector-ranking small{color:var(--company-muted,#64748b);margin-top:3px;font-size:8px;display:block}.punch-meta{text-align:right}.punch-meta b{color:var(--company-title,#172554);font-size:11px;display:block}.punch-meta span{color:var(--company-muted,#64748b);font-size:7px}.configuration-list a{border:1px solid var(--company-border,#e2e8f0);color:inherit;border-radius:13px;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:11px;text-decoration:none;transition:all .16s;display:grid}.configuration-list a>span{background:#fef3c7;border-radius:9px;place-items:center;width:29px;height:29px;display:grid}.configuration-list strong,.configuration-list small{display:block}.configuration-list strong{color:var(--company-title,#172554);font-size:10px}.configuration-list small{color:var(--company-muted,#64748b);margin-top:3px;font-size:8.5px}.configuration-list b{color:#c2410c;background:#fff7ed;border-radius:999px;padding:5px 7px;font-size:9px}.sector-ranking>div>span{background:color-mix(in srgb,var(--company-primary,#0f766e) 12%,transparent);width:25px;height:25px;color:var(--company-primary,#0f766e);border-radius:8px;place-items:center;font-size:9px;font-weight:900;display:grid}.sector-ranking>div>b{color:var(--company-title,#172554);font-size:10px}.dashboard-success{border:1px solid color-mix(in srgb,#10b981 30%,var(--company-border,#dbe4f0));background:color-mix(in srgb,#10b981 7%,var(--company-card,#fff));border-radius:15px;align-items:center;gap:13px;min-height:100px;padding:18px;display:flex}.dashboard-success>span{color:#047857;background:#d1fae5;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.dashboard-success strong{color:var(--company-title,#172554);font-size:11px}.dashboard-success p{color:var(--company-muted,#64748b);margin:4px 0 0;font-size:9px}.dashboard-loading{align-items:center;gap:14px;display:flex}.dashboard-loading>span{border:3px solid #cbd5e1;border-top-color:var(--company-primary,#0f766e);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite dashboard-spin}.dashboard-loading strong,.dashboard-loading small{display:block}.dashboard-loading small{color:var(--company-muted,#64748b);margin-top:4px}.dashboard-error{align-items:center;gap:10px;display:flex}.dashboard-error span{flex:1}.dashboard-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:900}.dashboard-no-employees{margin:0}.company-theme[data-theme=dark] .dashboard-context,.company-theme[data-theme=dark] .dashboard-card,.company-theme[data-theme=dark] .dashboard-kpi{box-shadow:0 14px 34px #00000038}.company-theme[data-theme=dark] .dashboard-holiday{color:#67e8f9;background:#06b6d433}.company-theme[data-theme=dark] .dashboard-kpi{--kpi-soft:#26354b}.company-theme[data-theme=dark] .tone-blue{--kpi:#93c5fd;--kpi-soft:#2563eb33}.company-theme[data-theme=dark] .tone-green{--kpi:#6ee7b7;--kpi-soft:#05966933}.company-theme[data-theme=dark] .tone-red{--kpi:#fca5a5;--kpi-soft:#dc262633}.company-theme[data-theme=dark] .tone-amber{--kpi:#fcd34d;--kpi-soft:#d9770633}.company-theme[data-theme=dark] .tone-purple{--kpi:#c4b5fd;--kpi-soft:#7c3aed33}.company-theme[data-theme=dark] .tone-cyan{--kpi:#67e8f9;--kpi-soft:#0891b233}.company-theme[data-theme=dark] .tone-pink{--kpi:#f9a8d4;--kpi-soft:#db277733}.company-theme[data-theme=dark] .dashboard-alert-item.severity-critical>i{color:#fca5a5;background:#dc262633}.company-theme[data-theme=dark] .dashboard-alert-item.severity-warning>i,.company-theme[data-theme=dark] .configuration-list a>span{color:#fcd34d;background:#d9770633}.company-theme[data-theme=dark] .dashboard-alert-item.severity-info>i{color:#93c5fd;background:#2563eb33}.company-theme[data-theme=dark] .configuration-list b{color:#fdba74;background:#ea580c2e}.company-theme[data-theme=dark] .dashboard-success>span{color:#6ee7b7;background:#10b98133}@media (width<=1250px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid-main,.dashboard-grid-lists{grid-template-columns:1fr}}@media (width<=760px){.dashboard-context{flex-direction:column;align-items:flex-start}.dashboard-controls{flex-direction:column;align-items:flex-start;width:100%}.dashboard-controls label,.dashboard-controls input{box-sizing:border-box;width:100%}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-status-layout{grid-template-columns:1fr;justify-items:center}.staff-legend{width:100%}.dashboard-section-heading{flex-direction:column;align-items:flex-start}.hour-chart{gap:1px}.dashboard-card{padding:16px}}@media (width<=440px){.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-kpi{min-height:105px}.dashboard-context{padding:20px}.dashboard-context h2{font-size:24px}.events-chart{gap:4px}.events-legend{gap:7px}}.company-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.company-kpis article{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px;box-shadow:0 12px 32px #0f172a0f}.company-kpis span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900}.company-kpis strong{margin-top:8px;font-size:28px;display:block}.feedback{border-radius:14px;margin:0;padding:14px 18px;font-weight:800}.feedback.success{color:#166534;background:#dcfce7;border:1px solid #86efac}.feedback.error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.company-form{gap:20px;display:grid}.company-form fieldset{border:1px solid #dbe4f0;border-radius:18px;margin:0;padding:18px}.company-form legend{color:#3730a3;padding:0 8px;font-weight:900}.company-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.company-form label,.modal-card label{color:#334155;gap:7px;font-size:13px;font-weight:800;display:grid}.company-form input,.company-form select,.company-form textarea,.filters input,.filters select,.modal-card textarea{box-sizing:border-box;background:#fff;width:100%}.company-form textarea,.modal-card textarea{font:inherit;resize:vertical;border:1px solid #cbd5e1;border-radius:10px;padding:12px}.company-form .check-label{align-self:end;align-items:center;gap:10px;min-height:44px;display:flex}.company-form .check-label input{width:18px;height:18px}.full-field{grid-column:1/-1}.form-kicker{color:#4f46e5;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:950}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.icon-button{color:#3730a3;cursor:pointer;background:#eef2ff;border:0;border-radius:50%;width:38px;height:38px;font-size:24px}.companies-panel{padding:0;overflow:hidden}.companies-toolbar{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:end;gap:18px;padding:22px 24px;display:flex}.companies-toolbar h3,.companies-toolbar p{margin:0}.companies-toolbar p{color:var(--muted);margin-top:5px}.filters{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.filters input{min-width:300px}.table-scroll{overflow-x:auto}.companies-table{min-width:1280px}.companies-table td{vertical-align:top}.companies-table td strong,.companies-table td small{display:block}.companies-table td small{color:var(--muted);max-width:240px;margin-top:5px}.status-badge{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950;display:inline-flex}.service-active,.payment-current{color:#166534;background:#dcfce7}.service-blocked{color:#fff;background:#7f1d1d}.service-suspended,.payment-overdue,.payment-unpaid{color:#991b1b;background:#fee2e2}.service-cancelled,.payment-not_configured{color:#475569;background:#e2e8f0}.service-demo{color:#6d28d9;background:#ede9fe}.payment-due_soon{color:#92400e;background:#fef3c7}.inline-warning{color:#b45309;margin-top:6px;font-size:11px;font-weight:900;display:inline-flex}.action-menu{flex-wrap:wrap;gap:6px;min-width:190px;display:flex}.action-menu button,.action-menu a{color:#3730a3;font:inherit;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:850;text-decoration:none}.action-menu .danger-action{color:#991b1b;background:#fee2e2;border-color:#fecaca}.action-menu .success-action{color:#166534;background:#dcfce7;border-color:#bbf7d0}.empty-state{min-height:180px;color:var(--muted);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:30px;display:flex}.empty-state strong{color:var(--text);font-size:20px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{box-sizing:border-box;background:#fff;border-radius:24px;gap:16px;width:min(520px,100%);padding:26px;display:grid;box-shadow:0 30px 100px #0f172a59}.modal-card h3,.modal-card p{margin:0}.detail-backdrop{place-items:stretch end;padding:0}.detail-drawer{box-sizing:border-box;background:#f8fafc;align-content:start;gap:20px;width:min(720px,100%);height:100%;padding:28px;display:grid;overflow:auto;box-shadow:-20px 0 70px #0f172a47}.detail-drawer section{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px}.detail-drawer h4{margin:0 0 14px}.detail-status{gap:8px;display:flex}.detail-drawer dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.detail-drawer dl div{border-bottom:1px solid #e2e8f0;padding-bottom:8px}.detail-drawer dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.detail-drawer dd{overflow-wrap:anywhere;margin:5px 0 0;font-weight:750}.detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.detail-metrics article{background:#f1f5f9;border-radius:14px;padding:13px}.detail-metrics span{color:var(--muted);font-size:11px;font-weight:800;display:block}.detail-metrics strong{overflow-wrap:anywhere;margin-top:7px;font-size:17px;display:block}.detail-drawer .blocked-note{color:#881337;background:#fff1f2;border-color:#fecdd3}.fingertech-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-callout{justify-content:space-between;align-items:center;gap:24px;display:flex}.dashboard-callout h3{margin:6px 0;font-size:26px}.dashboard-callout p{color:var(--muted);margin:0}@media (width<=1200px){.company-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fingertech-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.console-main{padding:18px}.company-kpis,.company-form-grid,.fingertech-metrics{grid-template-columns:1fr}.companies-toolbar,.dashboard-callout{flex-direction:column;align-items:stretch}.filters,.filters input{width:100%;min-width:0}.detail-drawer dl,.detail-metrics{grid-template-columns:1fr 1fr}}.billing-context{justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.billing-context>div{gap:5px;display:grid}.billing-context strong{font-size:18px}.billing-context small,.billing-heading p{color:var(--muted)}.billing-context label{color:#475569;gap:6px;font-size:12px;font-weight:900;display:grid}.billing-context input,.billing-filters input,.billing-filters select,.modal-card input,.modal-card select{box-sizing:border-box;color:#0f172a;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px}.billing-metrics{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid}.billing-metrics article{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #dbe4f0;border-radius:18px;min-width:0;padding:18px;box-shadow:0 10px 28px #0f172a0d}.billing-metrics span,.schedule-summary span{color:#64748b;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:950;display:block}.billing-metrics strong{color:#172554;overflow-wrap:anywhere;margin:9px 0 6px;font-size:21px;line-height:1.2;display:block}.billing-metrics small{color:#64748b;font-size:10px}.billing-metrics .danger-metric{background:#fff7f7;border-color:#fecaca}.billing-metrics .danger-metric strong{color:#b91c1c}.billing-metrics .warning-metric{background:#fffdf4;border-color:#fde68a}.billing-metrics .warning-metric strong{color:#b45309}.billing-metrics .blocked-metric{background:#fff1f2;border-color:#fca5a5}.billing-metrics .blocked-metric strong{color:#7f1d1d}.billing-panel{padding:0;overflow:hidden}.billing-heading{border-bottom:1px solid #e2e8f0;padding:22px 24px}.billing-heading h3,.billing-heading p{margin:0}.billing-heading p{margin-top:5px}.billing-filters{background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:12px;padding:18px 24px;display:grid}.billing-filters label{color:#475569;gap:6px;font-size:11px;font-weight:900;display:grid}.filter-actions{gap:8px;display:flex}.billing-table{min-width:1750px}.billing-table td,.schedule-table td{vertical-align:top}.billing-table td small,.schedule-table td small{color:var(--muted);max-width:220px;margin-top:5px;display:block}.billing-table .overdue-row{background:snow}.company-link{color:#312e81;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:950}.mini-badge{border-radius:999px;margin:7px 5px 0 0;padding:4px 7px;font-size:9px;font-weight:950;display:inline-flex}.mini-badge.demo{color:#6d28d9;background:#ede9fe}.mini-badge.neutral{color:#475569;background:#e2e8f0}.payment-pending_confirmation{color:#1d4ed8;background:#dbeafe}.billing-actions{flex-wrap:wrap;gap:6px;min-width:180px;display:flex}.billing-actions button{color:#3730a3;font:inherit;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:7px 8px;font-size:10px;font-weight:900}.billing-actions .danger-action{color:#991b1b;background:#fee2e2;border-color:#fecaca}.billing-actions .success-action{color:#166534;background:#dcfce7;border-color:#bbf7d0}.schedule-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 24px;display:grid}.schedule-summary article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.schedule-summary strong{margin-top:7px;font-size:23px;display:block}.schedule-table{min-width:900px}.button.compact{padding:8px 10px;font-size:11px}.inline-alert{border-radius:14px;justify-content:space-between;align-items:center;gap:15px;padding:13px 17px;font-weight:850;display:flex}.inline-alert.error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.inline-alert.success{color:#166534;background:#dcfce7;border:1px solid #86efac}.inline-alert button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:20px}.billing-modal{width:min(760px,100%);max-height:calc(100vh - 30px);overflow:auto}.modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.modal-card label small{color:#64748b;font-weight:500}.modal-card .check-label{align-items:center;gap:9px;display:flex}.modal-card .check-label input{width:18px;height:18px}.future-payment{color:#5b21b6;border-radius:14px;gap:4px;display:grid;background:#f5f3ff!important;border:1px dashed #c4b5fd!important;padding:14px!important}.future-payment span{font-size:11px}.modal-warning{color:#92400e;background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;padding:12px;font-size:12px;font-weight:800}.drawer-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a94;place-items:stretch end;display:grid;position:fixed;inset:0}.drawer-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.drawer-heading h3,.drawer-heading p{margin:4px 0 0}.drawer-heading button{color:#334155;cursor:pointer;background:#e2e8f0;border:0;border-radius:50%;width:36px;height:36px;font-size:24px}.billing-detail{width:min(780px,100%)}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.detail-actions .button{text-decoration:none}.history-empty{color:var(--muted);margin:0}.history-list{gap:10px;display:grid}.history-list article{border:1px solid #e2e8f0;border-radius:13px;gap:5px;padding:13px;display:grid}.history-list article>div{justify-content:space-between;gap:15px;display:flex}.history-list span,.history-list small{color:var(--muted);font-size:11px}.history-list p{color:#475569;margin:3px 0 0;font-size:12px}.event-list{gap:12px;display:grid}.event-list article{grid-template-columns:10px 1fr;align-items:center;gap:10px;display:grid}.event-list article>span{background:#6366f1;border-radius:50%;width:9px;height:9px}.event-list strong,.event-list small{display:block}.event-list small{color:var(--muted);margin-top:3px}@media (width<=1450px){.billing-metrics,.billing-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-actions{grid-column:1/-1}}@media (width<=900px){.billing-context{flex-direction:column;align-items:stretch}.billing-metrics,.billing-filters,.schedule-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.billing-metrics,.billing-filters,.schedule-summary,.modal-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}.billing-context{padding:17px}.billing-heading,.billing-filters,.schedule-summary{padding:16px}.billing-detail{padding:18px}.history-list article>div{flex-direction:column}.detail-actions{display:grid}.detail-actions .button{box-sizing:border-box;text-align:center;width:100%}}
