html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--app-bg, #f4f7fb);color:#18212b;font-synthesis:none;text-rendering:optimizeLegibility}.payroll-employee-picker,.group-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.employee-pick,.debt-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff}.employee-pick{justify-content:flex-start}.employee-pick.active,.debt-item.active{border-color:var(--accent);background:var(--chip-bg)}.employee-pick span,.debt-item span,.debt-item small{display:block}.legal-deduction-control{display:grid;grid-template-columns:minmax(86px,.7fr) 1fr;gap:8px;align-items:end}.legal-options{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfc}.legal-options>span{flex-basis:100%;font-weight:800;color:var(--muted)}.debt-form{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.3fr) minmax(130px,.55fr) minmax(130px,.55fr) auto}.debt-list{display:grid;gap:10px;margin-top:14px}.debt-item>div:last-child{display:grid;justify-items:end;gap:4px}.group-member-grid{grid-template-columns:1fr;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.compact-empty{min-height:120px}.empty-payroll-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.empty-payroll-hero .section-heading{margin:0}.empty-payroll-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.onboarding-step{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#ffffffe0;box-shadow:0 16px 36px #22303a0f}.onboarding-step span{color:var(--muted);line-height:1.45}.compact-start-panel{padding:18px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--accent-dark, #087e8b) 14%,transparent),transparent 28vw),linear-gradient(180deg,#f8fbfd 0%,var(--app-bg, #eef4f8) 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh;font-family:var(--app-font)}.app-shell.font-pequena{font-size:.92rem}.app-shell.font-normal{font-size:1rem}.app-shell.font-grande{font-size:1.08rem}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px;padding:22px 16px;background:radial-gradient(circle at top left,rgba(21,191,159,.24),transparent 230px),linear-gradient(180deg,var(--sidebar-bg, #0d1822) 0%,#101923 54%,#0d131b 100%);color:#f6f8f8;box-shadow:20px 0 55px #18212b1f}.brand{display:flex;align-items:center;gap:12px;min-height:54px}.brand-mark,.brand-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent, #16b894),var(--accent-dark, #087e8b));color:#fff;font-weight:800;box-shadow:0 14px 32px #087e8b47}.brand-logo{flex:0 0 auto}.brand strong,.brand span{display:block}.brand span,.role-panel span,.eyebrow,.muted{color:#6c7a83}.sidebar .brand span,.sidebar .role-panel span{color:#aab6be}.nav-list{display:grid;gap:6px;overflow-y:auto}.nav-list button,.icon-action,.action-pair button{border:0}.nav-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;border-radius:12px;background:transparent;color:#cfd9df;text-align:left;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-list button.active,.nav-list button:hover{background:#ffffff1f;color:#fff;transform:translate(2px)}.role-panel{display:grid;gap:12px;margin-top:auto;padding:14px;border:1px solid #314252;border-radius:14px;background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.role-panel strong,.role-panel small{display:block}.role-panel small{color:#aab6be}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 50% 8%,rgba(18,165,148,.22),transparent 280px),linear-gradient(145deg,#0f1a24,#172635 58%,#0f2530)}.login-panel{display:grid;gap:18px;width:min(380px,calc(100vw - 32px));padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:#fffffff5;box-shadow:0 28px 70px #00000047}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;color:#17202a;text-align:left}.login-logo{width:62px;height:62px;flex:0 0 auto;filter:drop-shadow(0 16px 28px rgba(8,126,139,.2))}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:1.14rem}.login-brand span{color:#6c7a83}.login-copy{display:grid;gap:4px;text-align:center}.login-panel h1{margin:0;font-size:1.8rem;line-height:1.05;text-align:center}.login-panel p{margin:0;color:#62717b;font-weight:700}.login-panel .eyebrow{text-align:center}.login-panel form{width:min(320px,100%);justify-self:center}.login-panel .primary-button{width:100%}.login-error{color:#8d1e1e;font-weight:800}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:8px;background:#111922}.segmented button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#aab6be}.segmented button.selected{background:#f6f8f8;color:#17202a}label{display:grid;gap:8px;color:#56646d;font-size:.9rem;font-weight:650}.role-panel label{color:#cbd5db}input,select,textarea{width:100%;min-height:42px;border:1px solid #d8e1e7;border-radius:12px;padding:0 12px;background:#fbfdfe;color:#1d252b}input:focus,select:focus,textarea:focus{border-color:var(--accent, #12a594);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #12a594) 14%,transparent);outline:0}textarea{min-height:96px;padding-top:10px;resize:vertical}.workspace{display:grid;gap:22px;align-content:start;padding:30px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 2px}.topbar h1,.section-heading h2,.employee-snapshot h2{margin:0;letter-spacing:0}.topbar h1{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.04}.eyebrow{display:block;margin-bottom:5px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.icon-action{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#ffffffdb;color:#17202a;box-shadow:0 12px 28px #18222c14}.stack{display:grid;gap:18px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card,.panel,.employee-card{border:1px solid rgba(210,222,230,.86);border-radius:16px;background:#ffffffe6;box-shadow:0 18px 42px #22303a12;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.metric-card{display:grid;gap:7px;min-height:132px;padding:18px}.metric-card svg,.module-item svg,.legal-grid svg,.provision-grid svg{color:#087e8b}.metric-card span,.module-item span,.employee-details,.card-footer,.payroll-lines span,.provision-grid span,.legal-grid span,.mini-list span,.employee-snapshot p,.legal-note{color:#62717b}.metric-card strong{font-size:1.55rem}.metric-card small{color:#82909a}.two-column{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.35fr);gap:18px;align-items:start}.wide{min-width:0}.panel{padding:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{font-size:1.18rem}.module-grid,.employee-grid,.legal-grid,.provision-grid{display:grid;gap:12px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-item,.legal-grid article,.provision-grid article{display:grid;gap:8px;padding:14px;border:1px solid #e3e9ed;border-radius:8px;background:#fbfcfc}.module-item strong,.legal-grid strong{font-size:.98rem}.employee-snapshot{display:grid;gap:12px}.vacation-ring{display:grid;place-items:center;width:154px;height:154px;margin:8px auto;border:14px solid #c7eee1;border-top-color:#21a179;border-radius:50%;text-align:center}.vacation-ring strong{font-size:2.2rem}.vacation-ring span{max-width:90px;color:#62717b;font-size:.86rem}.mini-list{display:grid;gap:6px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:13px 12px;border-bottom:1px solid #e8edf0;text-align:left;white-space:nowrap}th{color:#56646d;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.status{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:.82rem;font-weight:760}.status.pendiente{background:#fff3cd;color:#725600}.status.aprobada{background:#dff7e9;color:#12653b}.status.rechazada{background:#fde2e2;color:#8d1e1e}.status.presente{background:#dff7e9;color:#12653b}.status.tarde{background:#fff3cd;color:#725600}.status.ausente{background:#fde2e2;color:#8d1e1e}.status.extra{background:#e4f0ff;color:#164f8b}.status.libre{background:#eef2f4;color:#56646d}.search-box{position:relative;min-width:min(300px,100%)}.search-box svg{position:absolute;top:32px;left:12px;color:#82909a}.search-box input{padding-left:38px}.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-profile{display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(0,1.5fr) auto;gap:18px;align-items:center;padding:20px;border:1px solid #dfe6ea;border-radius:14px;background:linear-gradient(135deg,#21a1791f,#087e8b0a),#fff;box-shadow:0 18px 42px #22303a14}.profile-main{display:flex;align-items:center;gap:18px}.profile-main h2,.profile-main p{margin:0}.profile-main p{margin-top:4px;color:#62717b}.avatar.large{width:96px;height:124px;flex:0 0 96px;border-radius:12px;font-size:1.45rem}.employee-photo{width:96px;height:124px;flex:0 0 96px;border-radius:12px;object-fit:cover;object-position:center;border:2px solid rgba(255,255,255,.9);box-shadow:0 12px 24px #0f1f2d29;background:#fff}.profile-facts,.info-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-facts div,.info-list div{display:grid;gap:4px;padding:10px;border-radius:8px;background:#f5f8f9}.profile-facts span,.info-list span{color:#62717b;font-size:.78rem}.profile-facts strong,.info-list strong{overflow-wrap:anywhere}.profile-actions{display:grid;gap:8px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.employee-tabs{display:grid;gap:12px}.tab-strip{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #dfe6ea;border-radius:14px;background:#ffffffdb;box-shadow:0 12px 30px #22303a0f}.tab-strip button{min-height:38px;padding:0 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:#56646d;font-weight:800}.tab-strip button.active{border-color:color-mix(in srgb,var(--accent, #12a594) 28%,#d8e5e8);background:color-mix(in srgb,var(--accent, #12a594) 10%,#ffffff);color:var(--accent-dark, #087e8b)}.record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.record-card,.timeline-list div{display:grid;gap:5px;padding:12px;border:1px solid #e3e9ed;border-radius:10px;background:#fbfcfc}.record-card span,.timeline-list span,.timeline-list small,.timeline-list p{color:#62717b}.record-card span{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.record-card small,.timeline-list small{font-size:.82rem}.document-upload-row{margin-top:14px;padding-top:14px;border-top:1px solid #edf1f3}.document-upload-row label{display:grid;gap:7px;color:#5c6b75;font-weight:760}.document-list{display:grid;gap:10px;margin-top:14px}.document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e3e9ed;border-radius:10px;background:#fff}.document-row div:first-child{display:grid;gap:4px}.document-row span{color:#62717b;font-size:.85rem}.empty-state.compact{min-height:120px;padding:18px}.timeline-list{display:grid;gap:10px}.timeline-list p{margin:2px 0 0}.wide-info{grid-template-columns:repeat(6,minmax(0,1fr))}.employee-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:13px;padding:16px}.employee-card.selected{border-color:#21a179;box-shadow:0 0 0 2px #21a1791f}.avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:8px;background:#0f5f73;color:#fff;font-weight:800}.employee-main,.employee-details,.tag-row,.card-footer{grid-column:2}.employee-main{display:grid;gap:3px}.employee-details{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.9rem}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag-row span{padding:5px 8px;border-radius:999px;background:#eef5f6;color:#17646d;font-size:.78rem;font-weight:760}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid #edf1f3}.link-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border-radius:8px;font-weight:780}.link-button{border:0;background:transparent;color:#087e8b}.primary-button{border:0;padding:0 16px;background:#21a179;color:#fff}.secondary-button{border:1px solid #d5dde2;padding:0 14px;background:#fff;color:#17202a}.secondary-button.danger-button{border-color:#f0c7c7;background:#fff7f7;color:#a53b3b}.profile-delete-button{margin-top:8px}.compact-action{min-height:30px;padding:0 10px;font-size:.82rem;white-space:nowrap}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;background:#a9b6bc;color:#fff}.balance-strip,.pay-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.balance-strip div,.pay-summary{padding:14px;border-radius:8px;background:#eef7f4}.balance-strip strong{display:block;font-size:1.8rem}.balance-strip span{color:#49636a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.single{grid-template-columns:1fr}.settings-divider{height:1px;margin:18px 0;background:#e5edf1}.compact-heading{margin-bottom:12px}.compact-heading h2{font-size:1.05rem}.company-create-form{margin-bottom:4px}.company-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:16px}.company-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9e4ea;border-radius:12px;padding:12px 14px;background:#fbfcfc;color:#17202a}.company-list article.active{border-color:var(--accent, #12a594);background:color-mix(in srgb,var(--accent, #12a594) 10%,#ffffff)}.company-list article>div:first-child{display:grid;min-width:0;gap:3px}.company-list span{color:#61717d;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-actions{display:flex;flex-shrink:0;gap:8px}.company-actions .secondary-button{min-height:38px;padding:0 12px}.full-span,.submit-row{grid-column:1 / -1}.submit-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.submit-row span{display:inline-flex;align-items:center;gap:6px;color:#56646d}.action-pair{display:inline-flex;gap:6px}.action-pair button{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#eef2f4;color:#17202a}.management-item .card-footer{align-items:center;gap:12px}.management-item .action-pair{gap:8px}.management-item .action-pair .secondary-button{display:inline-flex;width:auto;min-width:104px;height:38px;padding:0 14px;white-space:nowrap}.pay-summary{grid-template-columns:1fr auto;margin-top:18px}.pay-summary strong{text-align:right}.payroll-lines{display:grid;gap:10px}.payroll-lines div,.parameter-table div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e8edf0}.payroll-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid rgba(210,222,230,.86);border-radius:18px;background:radial-gradient(circle at top left,rgba(18,165,148,.16),transparent 260px),linear-gradient(135deg,#fffffff0,#f5fafce0);box-shadow:0 22px 52px #22303a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.payroll-hero h2,.payslip-head h3{margin:0;letter-spacing:0}.payroll-hero p,.payslip-head p,.concept-item small{margin:6px 0 0;color:#62717b}.status-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.status.en-revision{background:#e4f0ff;color:#164f8b}.pay-button{background:#087e8b}.payroll-period-grid{grid-template-columns:minmax(180px,1.3fr) repeat(4,minmax(130px,1fr)) repeat(3,minmax(140px,.8fr))}.holiday-strip,.legal-warning{display:grid;gap:4px;margin-top:12px;padding:10px 12px;border:1px solid #f0dfb8;border-radius:10px;background:#fff8e6;color:#725a14}.holiday-strip span,.legal-warning{font-size:.86rem}.payroll-run-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payroll-run-table{grid-template-columns:1fr;gap:0;overflow:hidden;border:1px solid #dfe6ea;border-radius:10px;background:#fff}.payroll-run-header,.payroll-run-table .payroll-run-item{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(120px,.75fr) minmax(220px,1.1fr) minmax(145px,.8fr);gap:12px;align-items:center}.payroll-run-header{padding:10px 12px;background:#f6f9fb;border-bottom:1px solid #e5ecef;color:#62717b;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.payroll-run-item{display:grid;gap:4px;min-height:76px;padding:12px;border:1px solid #dfe6ea;border-radius:10px;background:#fbfcfc;color:#17202a;text-align:left}.payroll-run-table .payroll-run-item{min-height:auto;border:0;border-bottom:1px solid #e8edf0;border-radius:0;background:#fff}.payroll-run-table .payroll-run-item:last-child{border-bottom:0}.payroll-run-item.active{border-color:#21a179;background:#effaf7;box-shadow:0 0 0 2px #21a1791f}.payroll-run-table .payroll-run-item.active{box-shadow:inset 4px 0 #21a179}.payroll-run-item.issued:not(.active){border-color:#c8d7de;background:#f5f8f9}.payroll-run-item span,.payroll-run-item small{color:#62717b}.payroll-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payroll-history-grid article{display:grid;gap:12px;padding:14px;border:1px solid #dfe6ea;border-radius:12px;background:#fbfcfc}.payroll-history-grid header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payroll-history-grid strong,.payroll-history-grid span{display:block}.payroll-history-grid header span{color:#62717b}.history-open-button{justify-self:start}.readonly-banner{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;border:1px solid #bfe6dc;border-radius:10px;background:#eefaf7;color:#145b50;font-weight:750}.calendar-name{margin-bottom:10px}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:8px;overflow-x:auto;padding-bottom:2px}.schedule-day{display:grid;gap:7px;min-width:118px;padding:9px;border:1px solid #e3e9ed;border-radius:8px;background:#f7f9fa}.schedule-day.active{border-color:#b8e5dc;background:#effaf7}.schedule-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-day-head>span{color:#087e8b;font-size:.86rem;font-weight:800}.check-row{display:flex;grid-template-columns:none;align-items:center;gap:6px;color:#17202a}.check-row input{width:15px;min-height:15px}.time-row{display:grid;gap:6px}.schedule-day label{font-size:.78rem}.schedule-day input:not([type=checkbox]){min-height:34px;padding:6px 8px;border-radius:8px}.attendance-layout{grid-template-columns:minmax(560px,.95fr) minmax(0,1.45fr)}.compact-tabs{width:fit-content}.planning-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px;border:1px solid #dfe6ea;border-radius:16px;background:linear-gradient(135deg,#087e8b24,#21a17914),#fff;box-shadow:0 18px 42px #22303a14}.planning-hero h2,.planning-hero p{margin:0}.planning-hero p{margin-top:6px;color:#62717b}.planning-summary{display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:10px}.planning-summary div{display:grid;gap:2px;padding:12px;border-radius:12px;background:#ffffffc7}.planning-summary strong{font-size:1.45rem}.planning-summary span{color:#62717b;font-size:.82rem}.dayoff-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.dayoff-day{display:grid;gap:8px;min-height:118px;padding:10px;border:1px solid #e3e9ed;border-radius:14px;background:#f7f9fa}.dayoff-day.muted-day{opacity:.45}.dayoff-day.has-plan{border-color:#b8e5dc;background:#effaf7}.dayoff-day>span{color:#62717b;font-size:.82rem}.dayoff-day div{display:grid;gap:6px}.dayoff-day small{padding:5px 7px;border-radius:8px;background:#fff;color:#17646d;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}.month-weekdays span{color:#62717b;font-size:.78rem;font-weight:850;text-align:center;text-transform:uppercase}.month-actions{display:flex;flex-wrap:wrap;gap:8px}.dayoff-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dayoff-item{display:grid;gap:10px;padding:14px;border:1px solid #e3e9ed;border-radius:14px;background:#fbfcfc}.dayoff-item h3,.dayoff-item p{margin:0}.dayoff-item p{color:#62717b}.payroll-table{min-width:1080px;font-size:.88rem}.payroll-table th,.payroll-table td{padding:8px 9px}.payroll-table td:first-child strong,.payroll-table td:first-child span,.payroll-table td:nth-child(9) strong,.payroll-table td:nth-child(9) span,.payroll-table td:nth-child(10) strong,.payroll-table td:nth-child(10) span{display:block}.payroll-table td:first-child span,.payroll-table td:nth-child(9) span,.payroll-table td:nth-child(10) span{margin-top:4px;color:#62717b;font-size:.82rem}.payroll-capture-list{display:grid;gap:10px;overflow-x:auto;padding-bottom:2px}.payroll-capture-card{display:grid;grid-template-columns:minmax(250px,.95fr) minmax(420px,1.2fr) minmax(660px,1.8fr) minmax(210px,.68fr);gap:12px;align-items:stretch;min-width:1540px;padding:12px;border:1px solid #e2e9ee;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdfe);box-shadow:0 8px 22px #18222c0d}.payroll-person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0}.payroll-person strong,.payroll-person span,.payroll-person small,.payroll-net-card span,.payroll-net-card strong,.payroll-net-card small{display:block}.payroll-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll-person span,.payroll-person small,.capture-cluster>span,.capture-cluster small,.payroll-net-card span,.payroll-net-card small{color:#62717b;font-size:.82rem}.capture-cluster{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:8px;align-items:end;padding:10px;border:1px solid #edf1f4;border-radius:12px;background:#f8fbfc}.capture-cluster.deductions{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}.concept-toggle{display:grid;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;box-shadow:none;outline:0}.concept-toggle:focus,.concept-toggle:focus-visible{outline:0;box-shadow:none}.mini-danger{justify-self:start;min-height:30px;padding:0 10px;border:1px solid #f0c7c7;border-radius:8px;background:#fff7f7;color:#a53b3b;font-size:.82rem;font-weight:800}.mini-danger:disabled{cursor:not-allowed;opacity:.48}.signature-pad{display:grid;gap:10px;padding:12px;border:1px solid #dfe6ea;border-radius:12px;background:#f8fbfc}.signature-pad canvas{width:100%;max-width:760px;height:180px;border:1px dashed #93a4ae;border-radius:10px;background:#fff;touch-action:none}.signature-actions,.signature-preview{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.signature-preview{padding:8px;border:1px solid #edf1f3;border-radius:10px;background:#fff}.signature-preview img{width:150px;height:46px;object-fit:contain;border-bottom:1px solid #17202a}.capture-cluster>span{grid-column:1 / -1;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.capture-cluster label{gap:5px;font-size:.78rem}.capture-cluster>div{display:grid;gap:3px;align-content:end;min-height:56px}.payroll-net-card{display:grid;gap:4px;align-content:center;padding:10px;border:1px solid color-mix(in srgb,var(--accent, #12a594) 22%,#dbe7ea);border-radius:12px;background:color-mix(in srgb,var(--accent, #12a594) 7%,#ffffff)}.payroll-net-card strong{font-size:1.08rem}.money-input{width:100%;min-height:32px;padding:0 8px}.note-input{width:100%;min-height:32px}.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.concept-item{display:grid;gap:4px;padding:12px;border:1px solid #e3e9ed;border-radius:8px;background:#fbfcfc}.concept-item span{color:#087e8b;font-size:.82rem;font-weight:800}.deduction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.deduction-grid.custom{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.deduction-item{display:grid;gap:5px;min-height:98px;padding:12px;border:1px solid #e3e9ed;border-radius:10px;background:#fbfcfc;color:#17202a;text-align:left}.deduction-item.active,.deduction-item.legal{border-color:#b8e5dc;background:#effaf7}.deduction-item span{color:#087e8b;font-size:.82rem;font-weight:800}.deduction-item small{color:#62717b}.deduction-form{display:grid;grid-template-columns:minmax(0,1fr) 130px 130px auto;gap:10px;align-items:end}.empty-state{display:grid;place-items:center;gap:8px;min-height:180px;border:1px dashed #cbd5db;border-radius:8px;color:#62717b;text-align:center}.empty-state svg{color:#087e8b}.payslip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payslip-card{display:grid;gap:10px;padding:12px;border:1px solid #dfe6ea;border-radius:10px;background:#fbfcfc;font-size:.9rem}.payslip-head,.payslip-card footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payslip-lines{display:grid;gap:5px}.payslip-lines div{display:flex;justify-content:space-between;gap:12px;padding-bottom:5px;border-bottom:1px solid #e8edf0}.payslip-lines span,.payslip-card footer span{color:#62717b}.payslip-lines .net-line{border-bottom:0;color:#17202a;font-size:1.05rem}.compact-payslip-list{display:grid;gap:10px}.compact-payslip-list div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #e3e9ed;border-radius:8px;background:#fbfcfc}.device-grid{display:grid;gap:12px}.device-card{display:grid;gap:14px;padding:14px;border:1px solid #e3e9ed;border-radius:8px;background:#fbfcfc}.device-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.device-head svg{color:#087e8b}.device-head strong,.device-head span{display:block}.device-head div span{color:#62717b}.biometric-map{grid-template-columns:1fr}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.settings-subnav{position:sticky;top:24px;display:grid;gap:6px;padding:10px;border:1px solid rgba(210,222,230,.86);border-radius:16px;background:#ffffffe0;box-shadow:0 14px 34px #22303a0f}.settings-subnav button{display:flex;align-items:center;gap:9px;min-height:40px;border:0;border-radius:11px;padding:0 11px;background:transparent;color:#52616c;font-weight:780;text-align:left}.settings-subnav button.active,.settings-subnav button:hover{background:color-mix(in srgb,var(--accent, #12a594) 11%,#ffffff);color:var(--accent-dark, #087e8b)}.settings-content,.settings-pane{min-width:0}.settings-security-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:16px}.theme-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.theme-preview{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-preview button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;min-height:70px;border:1px solid #e3e9ed;border-radius:14px;padding:12px;background:#fbfcfc;color:#17202a;text-align:left}.theme-preview button.selected{border-color:var(--accent, #12a594);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #12a594) 12%,transparent)}.theme-preview button>span{grid-row:span 2;width:28px;height:28px;border-radius:999px}.theme-preview small,.settings-module-head p{color:#62717b}.settings-module-list,.user-policy-list{display:grid;gap:12px}.settings-module-list>article,.user-policy-list>article{display:grid;gap:10px;padding:14px;border:1px solid #e3e9ed;border-radius:14px;background:#fbfcfc}.settings-module-list.compact>article,.user-policy-list.compact>article{padding:12px}.user-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}.settings-module-head,.settings-module-tools{display:flex;justify-content:space-between;gap:12px;align-items:center}.settings-module-head h3,.settings-module-head p{margin:0}.settings-module-tools{justify-content:flex-start;flex-wrap:wrap;color:#62717b;font-size:.86rem}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permission-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.permission-toggle{min-height:34px;justify-content:flex-start;padding:7px 9px;border:1px solid #edf1f3;border-radius:10px;background:#fff}.toggle-row{display:flex;grid-template-columns:none;align-items:center;gap:10px}.toggle-row input{width:18px;min-height:18px}.employee-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-list{display:grid;gap:12px}.settlement-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:18px;align-items:start}.settlement-form{display:grid;gap:14px}.settlement-checks{justify-content:flex-start;gap:10px 16px}.settlement-checks label{display:inline-flex;align-items:center;gap:6px;color:#53646f;font-weight:800}.settlement-checks input{width:auto;min-height:auto}.settlement-months{display:grid;gap:6px;padding:10px;border:1px solid #dfe6ea;border-radius:10px;background:#f8fbfc;overflow-x:auto}.settlement-month-head,.settlement-month-row{display:grid;grid-template-columns:44px repeat(4,minmax(110px,1fr));gap:8px;align-items:center;min-width:560px}.settlement-month-head{color:#6f7f89;font-size:.76rem;font-weight:900;text-transform:uppercase}.settlement-month-row strong{color:#087e8b}.settlement-month-row input{min-height:34px;padding:6px 8px;border-radius:8px}.settlement-summary{position:sticky;top:18px;display:grid;gap:12px;padding:16px;border:1px solid #d7e1e5;border-radius:12px;background:#fff;box-shadow:0 18px 38px #1f2d3714}.settlement-summary>strong{color:#101820;font-size:2rem;line-height:1}.settlement-summary>small{color:#53646f;font-weight:700}.settlement-lines{display:grid;border-top:1px solid #e5ebef}.settlement-lines div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5ebef;color:#53646f}.settlement-lines strong{color:#101820;white-space:nowrap}.management-item{display:grid;gap:10px;padding:14px;border:1px solid #e3e9ed;border-radius:10px;background:#fbfcfc}.management-item h3,.management-item p{margin:0}.management-item p{color:#62717b}.hcm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hcm-card{display:grid;gap:12px;min-height:222px;padding:16px;border:1px solid rgba(210,222,230,.9);border-radius:16px;background:linear-gradient(180deg,#fffffffa,#f8fbfcf0);box-shadow:0 16px 36px #22303a12;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.hcm-card:hover{border-color:#12a59461;box-shadow:0 20px 46px #22303a1a;transform:translateY(-2px)}.hcm-card.inactive{opacity:.78;background:#f7fafb}.hcm-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.hcm-card h3,.hcm-card p,.hcm-record-block h3{margin:0}.hcm-card p,.hcm-record-block small{color:#62717b;line-height:1.45}.option-chips{display:flex;flex-wrap:wrap;gap:6px}.option-chips span{padding:4px 8px;border-radius:999px;background:#e8f4f1;color:#08736f;font-size:.78rem;font-weight:760}.option-chips span.disabled{background:#eef2f4;color:#8a98a2}.hcm-records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hcm-record-block{display:grid;gap:8px;padding:14px;border:1px solid #e3e9ed;border-radius:14px;background:#fbfcfc}.hcm-record-block div{display:grid;gap:3px;padding:8px 0;border-top:1px solid #e8edf0}.module-config-records{min-height:100%}.module-option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.module-option-grid article{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px;border:1px solid #e3e9ed;border-radius:14px;background:#fbfcfc}.module-option-grid strong,.module-option-grid span{display:block}.module-option-grid article>div span{margin-top:4px;color:#62717b;font-size:.82rem}.switch-row{display:inline-flex;grid-template-columns:none;align-items:center;justify-content:flex-end;gap:8px;color:#62717b;font-size:.78rem;font-weight:800}.switch-row input{position:relative;width:38px;min-height:22px;appearance:none;border:0;border-radius:999px;padding:0;background:#d5dde2;transition:background .18s ease}.switch-row input:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 2px 6px #18222c33;content:"";transition:transform .18s ease}.switch-row input:checked{background:#12a594}.switch-row input:checked:after{transform:translate(16px)}.module-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.print-area{display:none}.provision-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.legal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.parameter-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:18px}.legal-note{margin:18px 0 0;line-height:1.6}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr}.nav-list{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.nav-list button{justify-content:center}.nav-list span{display:none}.role-panel{margin-top:0}.metrics-grid,.legal-grid,.hcm-grid,.hcm-records,.module-option-grid,.dayoff-list{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.employee-grid,.employee-profile,.profile-grid,.settings-shell,.settings-security-grid,.settings-grid{grid-template-columns:1fr}.settings-subnav{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.workspace{padding:18px}.metrics-grid,.module-grid,.provision-grid,.legal-grid,.module-option-grid,.record-grid,.theme-config-grid,.theme-preview,.permission-grid,.permission-grid.compact,.parameter-table,.form-grid,.balance-strip{grid-template-columns:1fr}.section-heading,.topbar,.payroll-hero,.empty-payroll-hero,.submit-row,.payslip-head,.payslip-card footer,.card-footer{align-items:stretch;flex-direction:column}.status-actions,.empty-payroll-actions{justify-content:stretch}.empty-payroll-actions button{flex:1 1 160px}.planning-hero{grid-template-columns:1fr}.dayoff-board,.month-weekdays{min-width:760px}.status-actions button{width:100%}.employee-card{grid-template-columns:1fr}.employee-main,.employee-details,.tag-row,.card-footer{grid-column:1}.avatar{width:48px;height:48px}.avatar.large,.employee-photo{width:82px;height:106px;flex-basis:82px}.concept-grid,.deduction-grid,.deduction-grid.custom,.deduction-form,.payslip-grid,.payroll-run-list,.payroll-run-header,.payroll-run-table .payroll-run-item,.hcm-grid,.hcm-records,.dayoff-list,.planning-summary,.onboarding-grid,.compact-payslip-list div,.profile-facts,.info-list,.wide-info,.employee-edit-grid{grid-template-columns:1fr}}@media print{@page{size:A4 portrait;margin:0}@page payrollReport{size:A4 landscape;margin:0}html,body,#root{width:210mm;min-height:297mm;margin:0!important;overflow:visible!important;background:#fff!important}body.printing-payroll-report,body.printing-payroll-report #root{width:297mm!important;min-height:210mm!important}.sidebar,.workspace>:not(.print-area){display:none!important}.app-shell,.workspace{display:block!important;width:210mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}body.printing-payroll-report .app-shell,body.printing-payroll-report .workspace{width:297mm!important}.print-area,.print-area *{color:#000!important;text-shadow:none!important}.print-area{display:grid!important;grid-template-rows:1fr 1fr;gap:4mm;position:static!important;width:210mm;height:297mm;box-sizing:border-box;padding:7mm 10mm;background:#fff;overflow:hidden}.print-payslip{display:grid;grid-template-rows:auto auto auto auto 1fr auto;gap:3px;min-height:0;height:100%;padding:4.5mm;box-sizing:border-box;border:1.2px solid #000;color:#000;page-break-inside:avoid;break-inside:avoid;font-family:Arial,Helvetica,sans-serif;font-size:8.5px;line-height:1.18}.print-payslip h1{margin:0 0 3px;color:#000;font-size:18px;letter-spacing:0;text-align:center}.copy-label{justify-self:end;font-size:9px;font-weight:700}.receipt-grid.two{display:grid;grid-template-columns:1fr 1.12fr;border:1px solid #000}.receipt-grid>div{min-height:21mm;border-right:1px solid #000}.receipt-grid>div:last-child{border-right:0}.receipt-grid h2,.receipt-row.receipt-head{margin:0;padding:2px 5px;background:#fff;color:#000;font-size:9px;text-align:center}.receipt-grid p,.print-payslip p{margin:2px 5px}.receipt-period{display:grid;grid-template-columns:2.1fr .85fr .85fr .65fr;border-right:1px solid #000;border-left:1px solid #000;border-bottom:1px solid #000}.receipt-period span{padding:2px 5px;border-right:1px solid #000}.receipt-period span:last-child{border-right:0}.payroll-report-print{page:payrollReport;display:block!important;width:297mm!important;height:210mm!important;padding:7mm!important;overflow:hidden!important}.payroll-report-print section{display:grid;grid-template-rows:auto auto;gap:4mm;height:100%;font-family:Arial,Helvetica,sans-serif}.payroll-report-print header{display:flex;justify-content:space-between;gap:8mm;border-bottom:1.2px solid #000;padding-bottom:3mm}.payroll-report-print header strong,.payroll-report-print header span{display:block}.payroll-report-print header strong{font-size:13px}.payroll-report-print header span{font-size:10px}.payroll-report-print table{width:100%;border-collapse:collapse;font-size:6.4px;table-layout:fixed;line-height:1.12}.payroll-report-print th,.payroll-report-print td{padding:2px 2.5px;border:1px solid #000;text-align:right;vertical-align:middle;word-break:break-word}.payroll-report-print th:first-child,.payroll-report-print td:first-child,.payroll-report-print th:nth-child(2),.payroll-report-print td:nth-child(2){text-align:left}.payroll-report-print thead th,.payroll-report-print tfoot th{font-weight:800;background:#f2f2f2!important}.receipt-table{border-right:1px solid #000;border-left:1px solid #000}.receipt-row{display:grid;grid-template-columns:1fr .42fr;min-height:12px;border-bottom:1px solid #c7c7c7}.receipt-row>*{padding:1.5px 5px;border-right:1px solid #d0d0d0}.receipt-row>*:last-child{border-right:0;text-align:right}.receipt-section-title{padding:2px 5px;border-bottom:1px solid #c7c7c7;font-weight:800}.receipt-total,.receipt-net{display:grid;grid-template-columns:1fr .8fr;border-bottom:1px solid #000}.receipt-total strong,.receipt-net strong{padding:2px 5px}.receipt-total strong:last-child,.receipt-net strong:last-child{text-align:right}.receipt-net{background:#fff;color:#000;font-size:9px}.receipt-footer{display:grid;grid-template-columns:1.6fr 1fr;min-height:16mm;border:1px solid #000;border-top:0}.receipt-footer>div{padding:4px 5px;border-right:1px solid #000}.receipt-footer>div:last-child{border-right:0}.receipt-signature{display:grid;align-items:end;justify-items:center;font-style:italic;font-size:9px}}
