:root{--ink:#0b234f;--navy:#0b3477;--navy-deep:#075bd2;--teal:#0868e8;--teal-dark:#0759c5;--teal-soft:#e9f2ff;--blue-soft:#e9f2ff;--green-soft:#edf4ff;--amber:#ffc53d;--amber-soft:#fff4cc;--red:#d95050;--red-soft:#fff0ef;--text:#172b4d;--muted:#68758b;--line:#d8e1ed;--line-soft:#edf2f8;--surface:#fff;--page:#f5f8fc;--shadow:0 10px 30px #0d3a7a17;--radius:8px;--font:Inter, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{font-family:var(--font);color:var(--text);background:var(--page)}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{stroke-width:1.8px;width:20px;height:20px}.app-shell{background:var(--page);min-height:100vh;display:flex}.sidebar{z-index:30;color:#fff;background:linear-gradient(#096de9 0%,#075bd2 100%);flex-direction:column;width:238px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__head{justify-content:space-between;align-items:center;min-height:92px;padding:17px 16px;display:flex}.brand{align-items:center;gap:11px;display:flex}.brand__mark{object-fit:contain;border-radius:12px;flex:none;width:48px;height:48px;display:block}.brand strong{letter-spacing:-.6px;font-size:22px;line-height:1;display:block}.brand small{color:#ffffffe0;margin-top:5px;font-size:10px;line-height:1.25;display:block}.sidebar__nav{scrollbar-width:none;flex-direction:column;flex:1;gap:5px;padding:13px 8px;display:flex;overflow-y:auto}.sidebar__nav::-webkit-scrollbar{display:none}.nav-link{color:#f1f6fa;border-radius:5px;align-items:center;gap:14px;min-height:48px;padding:0 15px;font-size:13px;transition:background .18s,transform .18s;display:flex;position:relative}.nav-link svg{width:19px;height:19px}.nav-link:hover{background:#ffffff14;transform:translate(2px)}.nav-link--active{background:#ffffff29;box-shadow:inset 3px 0 #ffc53d}.sidebar__help{border-top:1px solid #fff3;align-items:center;gap:13px;margin:0 12px 14px;padding:17px 8px;font-size:13px;display:flex}.icon-button.sidebar__close{color:#fff;display:none}.app-content{width:calc(100% - 238px);min-width:0;margin-left:238px}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;min-height:86px;padding:0 26px;display:flex;position:sticky;top:0}.icon-button.menu-toggle{display:none}.icon-button{width:40px;height:40px;color:var(--text);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--line-soft)}.company-switcher>span{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.company-switcher button{min-width:254px;height:40px;color:var(--text);text-align:left;background:#fff;border:1px solid #cfd7e1;border-radius:4px;align-items:center;gap:10px;padding:0 12px;font-size:13px;display:flex}.company-switcher button svg{width:15px;margin-left:auto}.company-switcher__icon{border:1px solid var(--line);place-items:center;width:23px;height:23px;font-size:11px;font-weight:700;display:grid}.company-switcher__control{background:#fff;border:1px solid #cfd8e6;border-radius:6px;align-items:center;gap:10px;min-width:254px;height:42px;padding:0 11px;display:flex}.company-switcher__control select{min-width:0;height:100%;color:var(--text);appearance:none;background:0 0;border:0;outline:0;flex:1;font-size:13px}.company-switcher__control>svg{width:15px;color:var(--muted);pointer-events:none;margin-left:auto}.topbar__actions{align-items:center;gap:24px;display:flex}.notification-button{position:relative}.notification-button>span{color:#16284a;background:var(--amber);border:2px solid #fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-weight:700;display:grid;position:absolute;top:2px;right:1px}.profile-menu{position:relative}.profile-trigger{text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:4px;display:flex}.profile-trigger>svg{width:15px;color:var(--muted)}.avatar{color:#fff;background:var(--teal);width:38px;height:38px;box-shadow:0 0 0 3px var(--teal-soft);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.avatar svg{width:19px;height:19px}.profile-trigger--compact{gap:6px}.profile-trigger__text{flex-direction:column;min-width:120px;display:flex}.profile-trigger__text strong{font-size:12px}.profile-trigger__text small{color:var(--muted);margin-top:2px;font-size:10px}.profile-popover{border:1px solid var(--line);border-radius:var(--radius);width:230px;box-shadow:var(--shadow);background:#fff;padding:14px;position:absolute;top:52px;right:0}.profile-popover p{border-bottom:1px solid var(--line-soft);margin:0 0 12px;padding-bottom:12px}.profile-popover p strong,.profile-popover p span{font-size:12px;display:block}.profile-popover p span{color:var(--muted);margin-top:3px}.profile-popover button{width:100%;color:var(--text);background:0 0;border:0;align-items:center;gap:9px;padding:8px;font-size:12px;display:flex}.profile-popover button:last-child{color:var(--red)}.profile-popover button:hover{background:var(--line-soft)}.profile-popover button svg{width:16px}.notification-menu{position:relative}.notification-popover{border:1px solid var(--line);border-radius:var(--radius);width:min(370px,100vw - 24px);box-shadow:var(--shadow);background:#fff;position:absolute;top:50px;right:-70px;overflow:hidden}.notification-popover>header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:52px;padding:0 15px;display:flex}.notification-popover>header strong{color:var(--ink);font-size:13px}.notification-popover>header span{color:#8b5b00;font-size:9px;font-weight:600}.notification-list{max-height:360px;overflow-y:auto}.notification-item{border-bottom:1px solid var(--line-soft);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-height:70px;padding:10px 14px;display:grid}.notification-item:hover{background:#f8fbff}.notification-item__icon{width:34px;height:34px;color:var(--teal);background:var(--blue-soft);border-radius:50%;place-items:center;display:grid}.notification-item__icon--validation{color:#926000;background:var(--amber-soft)}.notification-item__icon svg{width:16px}.notification-item strong,.notification-item small,.notification-item time{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.notification-item strong{color:var(--ink);font-size:10px}.notification-item small{color:var(--text);margin-top:3px;font-size:9px}.notification-item time{color:var(--muted);margin-top:4px;font-size:8px}.notification-empty{min-height:120px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0;font-size:10px;display:flex}.notification-empty svg{width:22px}.notification-all-link{border-top:1px solid var(--line-soft);min-height:40px;color:var(--teal);justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.notification-all-link:hover{background:var(--blue-soft)}.main-content{padding:28px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}.page-heading h1,.page h1{color:var(--ink);letter-spacing:-.7px;margin:0;font-size:clamp(25px,2.2vw,31px);line-height:1.15}.page-heading p,.page>p{color:var(--muted);margin:7px 0 0;font-size:13px}.primary-button,.secondary-button{border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:0 20px;font-size:13px;font-weight:600;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{border:1px solid var(--teal);color:#fff;background:var(--teal);box-shadow:0 7px 18px #0868e833}.primary-button:hover{background:#075fd4;transform:translateY(-1px);box-shadow:0 10px 24px #0868e847}.primary-button:disabled{cursor:wait;opacity:.62;transform:none}.secondary-button{color:var(--text);background:#fff;border:1px solid #cbd5e1}.secondary-button:hover{background:var(--page)}.primary-button svg,.secondary-button svg{width:18px;height:18px}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px;display:grid}.balance-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:22px;min-height:122px;padding:18px;display:flex}.balance-card__icon{border-radius:9px;flex:none;place-items:center;width:66px;height:66px;display:grid}.balance-card__icon svg{width:31px;height:31px}.balance-card--leave .balance-card__icon{color:#0868e8;background:#e6f0ff}.balance-card--absence .balance-card__icon{color:#9a6500;background:#fff1bd}.balance-card--recovery .balance-card__icon{color:#0759c5;background:#edf4ff}.balance-card p{color:#37465c;margin:0;font-size:12px}.balance-card strong{color:var(--teal);letter-spacing:-.8px;margin:4px 0 10px;font-size:31px;font-weight:700;line-height:1;display:block}.balance-card strong small{color:#425066;letter-spacing:0;margin-left:8px;font-size:11px;font-weight:400}.balance-card a{color:var(--teal-dark);align-items:center;gap:5px;font-size:11px;display:flex}.balance-card a svg{width:13px;height:13px}.dashboard-columns{grid-template-columns:minmax(0,1.75fr) minmax(300px,.95fr);gap:20px;margin-bottom:20px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.panel__header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:18px;min-height:52px;padding:0 18px;display:flex}.panel__header h2{color:var(--ink);margin:0;font-size:15px;font-weight:600}.panel__header h2 span{background:#ffd977;border-radius:50%;place-items:center;min-width:22px;height:22px;margin-left:8px;font-size:10px;display:inline-grid}.panel__header p{color:var(--muted);margin:4px 0 0;font-size:11px}.panel__header a{color:var(--teal-dark);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.panel__header a svg{width:14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{color:#4f5d71;text-align:left;white-space:nowrap;background:#fcfdfe;padding:10px 18px;font-weight:600}td{border-top:1px solid var(--line-soft);color:#354258;white-space:nowrap;height:48px;padding:8px 18px}tbody tr{transition:background .15s}tbody tr:hover{background:#fbfdfd}.type-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.inline-arrow{vertical-align:-2px;width:12px;height:12px;margin:0 4px;display:inline-block}.recent-panel table{table-layout:fixed}.recent-panel th:first-child{width:28%}.recent-panel th:nth-child(2){width:34%}.recent-panel th:nth-child(3){width:17%}.empty-cell{height:96px;color:var(--muted);text-align:center}.status{border:1px solid #0000;border-radius:4px;align-items:center;min-height:22px;padding:0 8px;font-size:10px;font-weight:500;display:inline-flex}.status--requested{color:#bd6b00;background:var(--amber-soft);border-color:#f3b64e}.status--processing{color:#236180;background:#eaf6fc;border-color:#7bb8d8}.status--accepted{color:#087658;background:#e9f8f3;border-color:#58ba96}.status--rejected{color:#bd3e39;background:var(--red-soft);border-color:#e9837e}.status--cancelled{color:#5c6675;background:#f3f5f7;border-color:#c7ced8}.validation-list{flex-direction:column;display:flex}.validation-row{border-bottom:1px solid var(--line-soft);grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:65px;padding:8px 16px;transition:background .15s;display:grid}.validation-row:hover{background:#fbfdfd}.mini-avatar{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);border-radius:50%;place-items:center;font-size:10px;font-weight:600;display:grid}.validation-row strong,.validation-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.validation-row strong{font-size:11px}.validation-row small{color:var(--muted);margin-top:3px;font-size:9px}.validation-row em{color:#48566a;font-size:9px;font-style:normal}.empty-list{color:var(--muted);text-align:center;padding:38px 20px;font-size:11px}.dashboard-absence-grid{grid-template-columns:minmax(360px,.9fr) minmax(0,1.25fr);gap:20px;margin-bottom:10px;display:grid}.planning-panel{min-width:0}.planning-panel .panel__header{min-height:66px}.planning-list{max-height:350px;padding:8px 18px 15px;overflow-y:auto}.planning-timeline-head{z-index:4;border-bottom:1px solid var(--line);min-height:36px;color:var(--muted);background:#fff;grid-template-columns:150px minmax(0,1fr) 40px;align-items:end;gap:12px;padding-top:8px;font-size:8px;display:grid;position:sticky;top:-8px}.planning-timeline-head>span:last-child{text-align:right;padding-bottom:6px}.planning-timeline-scale{background:repeating-linear-gradient(90deg, transparent 0, transparent calc((100% / var(--month-days)) - 1px), var(--line-soft) calc(100% / var(--month-days)));height:26px;display:block;position:relative}.planning-timeline-scale>b{color:#78869a;font-size:8px;font-weight:500;position:absolute;bottom:5px;transform:translate(-50%)}.planning-timeline-scale>i{z-index:2;background:var(--teal);width:2px;position:absolute;inset-block:0;transform:translate(-1px)}.planning-timeline-scale>i em{color:#fff;background:var(--teal);white-space:nowrap;border-radius:3px;padding:2px 5px;font-size:7px;font-style:normal;font-weight:600;position:absolute;top:0;left:0;transform:translate(-50%,-1px)}.planning-timeline-scale>i.is-start em{transform:translateY(-1px)}.planning-timeline-scale>i.is-end em{transform:translate(-100%,-1px)}.planning-row{border-bottom:1px solid var(--line-soft);grid-template-columns:150px minmax(0,1fr) 40px;align-items:center;gap:12px;min-height:37px;font-size:10px;display:grid}.planning-row__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planning-row__track{border-left:1px solid var(--line);background:repeating-linear-gradient(90deg, transparent 0, transparent calc((100% / var(--month-days)) - 1px), var(--line-soft) calc(100% / var(--month-days)));height:19px;display:block;position:relative}.planning-row__bar{z-index:1;color:#684300;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:3px;min-width:3px;height:15px;padding:2px 4px;font-size:8px;font-style:normal;display:block;position:absolute;top:2px;overflow:hidden;background:#ffe59a!important}.planning-row__today{z-index:2;background:#0868e8b3;width:2px;position:absolute;top:-9px;bottom:-9px;transform:translate(-1px)}.planning-empty{min-height:80px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:11px;display:flex}.today-absences-panel{min-width:0}.today-absences-panel .panel__header{min-height:66px}.today-absence-list{max-height:350px;overflow-y:auto}.today-absence-row{border-bottom:1px solid var(--line-soft);grid-template-columns:36px minmax(120px,1fr) auto auto;align-items:center;gap:11px;min-height:66px;padding:9px 16px;display:grid}.today-absence-row:last-child{border-bottom:0}.today-absence-row__identity strong,.today-absence-row__identity small,.today-absence-row__period,.today-absence-row__period small{display:block}.today-absence-row__identity strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.today-absence-row__identity small{color:var(--muted);margin-top:4px;font-size:9px}.today-absence-row__identity i{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.today-absence-row__period{color:#435169;white-space:nowrap;font-size:9px}.today-absence-row__period small{color:var(--muted);margin-top:3px}.dashboard-empty{min-height:150px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.dashboard-empty svg{width:27px;height:27px;color:var(--teal);margin-bottom:3px}.dashboard-empty strong{color:var(--ink);font-size:12px}.dashboard-empty span{font-size:10px}.workforce-analytics{margin:0 0 24px}.workforce-heading,.workforce-year-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.workforce-heading h2,.workforce-year-heading h3{color:var(--ink);margin:0;font-size:17px}.workforce-heading p,.workforce-year-heading p{color:var(--muted);margin:5px 0 0;font-size:10px}.workforce-legend{color:#536177;flex-wrap:wrap;gap:14px;font-size:9px;display:flex}.workforce-legend span{align-items:center;gap:5px;display:inline-flex}.workforce-legend i{border-radius:50%;width:8px;height:8px}.workforce-chart-panel{padding:12px 14px 4px}.workforce-chart-scroll{scrollbar-width:thin;overflow-x:auto}.workforce-chart{width:100%;height:250px;display:block}.workforce-chart__grid{stroke:#e6ebf2;stroke-width:1px}.workforce-chart__selection{fill:#0868e80f}.workforce-chart__axis,.workforce-chart__year{fill:#77859a;font-size:9px}.workforce-chart__year.is-selected{fill:var(--teal);font-weight:700}.workforce-year-heading{align-items:center;margin:18px 0 12px;padding:0 2px}.workforce-year-heading label{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.workforce-year-heading select{border:1px solid var(--line);min-width:100px;height:38px;color:var(--ink);background:#fff;border-radius:5px;outline:0;padding:0 30px 0 11px;font-size:11px}.workforce-year-heading select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0868e81a}.workforce-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.workforce-kpi{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:15px;min-height:102px;padding:17px;display:flex;box-shadow:0 4px 18px #173f7509}.workforce-kpi>span{border-radius:10px;flex:none;place-items:center;width:48px;height:48px;display:grid}.workforce-kpi svg{width:24px}.workforce-kpi strong{color:var(--ink);font-size:27px;line-height:1;display:block}.workforce-kpi p{color:var(--muted);margin:7px 0 0;font-size:10px}.workforce-kpi--arrivals>span{color:#087e5d;background:#e8f8f2}.workforce-kpi--departures>span{color:#c84635;background:#fff0ed}.workforce-kpi--total>span{color:var(--teal);background:var(--blue-soft)}.workforce-details{grid-template-columns:minmax(320px,.9fr) minmax(0,1.35fr);gap:16px;margin-top:16px;display:grid}.workforce-absence-card,.workforce-rates-card{padding:18px}.workforce-absence-card header,.workforce-rates-card header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.workforce-absence-card h3,.workforce-rates-card h3{color:var(--ink);margin:0;font-size:13px}.workforce-absence-card header>strong{color:var(--teal);font-size:24px}.workforce-absence-card dl{margin:0}.workforce-absence-card dl div{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;min-height:36px;font-size:10px;display:flex}.workforce-absence-card dt{color:var(--muted)}.workforce-absence-card dd{color:var(--ink);margin:0;font-weight:700}.workforce-rates-card>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.workforce-rates-card article{color:#5d4300;background:#fff3c8;border-radius:7px;min-height:104px;padding:15px;position:relative;overflow:hidden}.workforce-rates-card article>svg{opacity:.12;width:38px;height:38px;position:absolute;bottom:8px;right:10px}.workforce-rates-card article strong,.workforce-rates-card article span{display:block}.workforce-rates-card article strong{font-size:23px}.workforce-rates-card article span{max-width:110px;margin-top:12px;font-size:9px;line-height:1.35}.page-loader{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.page-loader--full{min-height:100vh}.page-loader span{border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:80px 20px}.error-state h1{color:var(--ink);margin:0}.error-state p{color:var(--muted)}.error-state.compact{padding:36px}.login-layout{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 20% 42%,#0d9a8f21,#0000 27%),linear-gradient(145deg,#041d38,#062d54);flex-direction:column;padding:10vh 7vw;display:flex;position:relative;overflow:hidden}.login-visual .brand strong{font-size:clamp(32px,4vw,58px)}.login-visual .brand small{color:#10c5b4;font-size:clamp(13px,1.35vw,20px)}.login-visual .brand__mark{width:70px;height:75px}.login-visual .brand__mark svg{width:62px;height:62px}.login-visual>p{color:#c7d8e8;margin:auto 0 0;font-size:14px;line-height:1.65}.login-calendar{background:repeating-linear-gradient(90deg,#0000,#0000 19.8%,#a9c9e22b 20%),repeating-linear-gradient(#a9c9e21f 75%,#0000 75.2%,#0000);border:1px solid #a9c9e259;border-radius:9px;width:min(100%,610px);height:355px;margin-top:10vh;position:relative}.login-calendar__days{color:#d8e5f0;text-align:center;grid-template-columns:repeat(5,1fr);align-items:center;height:52px;padding-left:65px;font-size:10px;display:grid}.login-calendar__icon{color:#12b9aa;position:absolute;top:70px;left:20px}.login-bar{opacity:.9;border:1px solid;border-radius:8px;height:34px;display:block;position:absolute}.login-bar--one{color:#13c2ad;background:#0fac9b80;width:38%;top:68px;left:90px}.login-bar--two{color:#10ae9d;background:#0a7d747a;width:34%;top:140px;left:34%}.login-bar--three{color:#458be0;background:#2d63b487;width:40%;top:214px;left:15%}.login-bar--four{color:#65cfc6;background:#259b9185;width:29%;top:280px;left:59%}.login-panel{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:70px clamp(34px,8vw,130px) 90px;display:flex;position:relative}.login-form{width:100%;min-width:0;max-width:550px}.login-form h1{color:var(--ink);letter-spacing:-1.3px;margin:0;font-size:clamp(35px,4vw,51px);font-weight:600}.login-form__intro{color:var(--muted);margin:14px 0 40px;font-size:16px}.field-label{color:var(--text);margin:20px 0 8px;font-size:13px;font-weight:600;display:block}.field-label span{color:var(--muted);font-weight:400}.input-wrap{background:#fff;border:1px solid #aeb9c8;border-radius:5px;align-items:center;height:52px;transition:border .15s,box-shadow .15s;display:flex;position:relative}.input-wrap>svg{color:#6d7b8e;width:20px;margin-left:16px}.input-wrap input{width:auto;min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:0 14px;font-size:14px}.input-wrap input::placeholder{color:#9aa5b5}.input-wrap button{color:#6d7b8e;background:0 0;border:0;place-items:center;width:50px;height:100%;display:grid}.checkbox-row{color:#334257;align-items:center;gap:9px;margin:21px 0 28px;font-size:13px;display:flex}.checkbox-row input{width:17px;height:17px;accent-color:var(--teal)}.login-submit{width:100%;min-height:52px;font-size:15px}.help-link{color:var(--teal-dark);justify-content:center;align-items:center;gap:8px;margin-top:34px;font-size:13px;font-weight:600;display:flex}.login-security{border-top:1px solid var(--line);min-height:68px;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:0;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.login-security svg{width:16px}.login-mobile-brand{display:none}.form-alert{color:#a73832;background:var(--red-soft);border:1px solid #efaaa5;border-radius:4px;margin:-20px 0 18px;padding:11px 13px;font-size:12px}.dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03132594;place-items:center;padding:28px;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{background:#fff;border-radius:8px;width:min(100%,620px);box-shadow:0 26px 70px #01142647}.dialog__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:22px 24px 18px;display:flex}.dialog__header h2{color:var(--ink);margin:0;font-size:21px}.dialog__header p{color:var(--muted);margin:5px 0 0;font-size:12px}.dialog form{padding:4px 24px 24px}.dialog .form-alert{margin:18px 0 0}.dialog select,.dialog input:not([type=checkbox]),.dialog textarea{width:100%;min-height:45px;color:var(--text);background:#fff;border:1px solid #b8c2cf;border-radius:4px;outline:0;padding:0 12px;font-size:13px}.dialog textarea{resize:vertical;min-height:90px;padding-top:11px}.dialog .input-wrap{height:45px}.dialog .input-wrap input{box-shadow:none;border:0}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-error{color:var(--red);margin-top:5px;font-size:11px;display:block}.dialog__footer{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;display:flex}.profile-dialog{width:min(100%,680px)}.profile-identity{border:1px solid var(--line-soft);background:var(--page);border-radius:6px;align-items:center;gap:12px;margin-top:19px;padding:12px;display:flex}.profile-identity>span{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:40px;height:40px;font-size:10px;font-weight:700;display:grid}.profile-identity strong,.profile-identity small{display:block}.profile-identity strong{color:var(--ink);font-size:12px}.profile-identity small{color:var(--muted);margin-top:3px;font-size:9px}.dialog-section-title{border-top:1px solid var(--line-soft);color:var(--ink);margin:22px 0 -7px;padding-top:17px;font-size:13px}.toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.search-field,.filter-field{border:1px solid var(--line);background:#fff;border-radius:4px;align-items:center;height:42px;display:flex}.search-field{width:min(100%,360px)}.search-field svg,.filter-field svg{width:17px;color:var(--muted);margin-left:12px}.search-field input,.filter-field select{width:100%;height:100%;color:var(--text);background:0 0;border:0;outline:0;padding:0 12px;font-size:12px}.filter-field{width:190px}.request-toolbar{align-items:flex-start}.request-filter-controls{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:10px;display:flex}.request-date-filter{border:1px solid var(--line);background:#fff;border-radius:4px;align-items:center;min-width:175px;height:42px;display:flex}.request-date-filter span{color:var(--muted);text-transform:uppercase;padding-left:11px;font-size:10px;font-weight:700}.request-date-filter input{min-width:135px;height:100%;color:var(--text);font-family:var(--font);background:0 0;border:0;outline:0;padding:0 10px 0 7px;font-size:11px}.request-filter-reset{border:1px solid var(--line);height:42px;color:var(--muted);font-family:var(--font);background:#fff;border-radius:4px;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:600;display:inline-flex}.request-filter-reset svg{width:14px}.request-filter-summary{min-height:66px;color:var(--text);background:linear-gradient(100deg,#f7fbff 0%,#eef6ff 100%);border:1px solid #cfe0f7;border-radius:7px;align-items:center;gap:18px;margin:-2px 0 14px;padding:10px 16px;display:flex}.request-filter-summary>span{grid-template-columns:34px auto auto;align-items:center;column-gap:9px;display:grid}.request-filter-summary>span svg{width:20px;color:var(--blue);grid-row:1/3}.request-filter-summary small{color:var(--muted);font-size:10px;font-weight:600}.request-filter-summary strong{font-size:20px;line-height:1}.request-filter-summary em{color:var(--muted);align-self:end;font-size:10px;font-style:normal}.request-filter-summary>i{background:#cfe0f7;width:1px;height:34px}.request-filter-summary>p{color:var(--muted);margin:0 0 0 auto;font-size:10px}.request-table-panel td,.request-table-panel th{height:54px;font-size:12px}.request-balance-cell strong,.request-balance-cell small{display:block}.request-balance-cell strong{color:#087658;font-size:13px}.request-balance-cell span{color:var(--muted);font-size:10px}.request-balance-cell small{color:#bb302b;margin-top:3px;font-size:9px;font-weight:700}.request-row--insufficient>td{background:#fff2f1;border-bottom-color:#efb8b5}.request-row--insufficient>td:first-child{box-shadow:inset 4px 0 #e34c45}.request-row--insufficient .request-balance-cell strong{color:#c73530}.align-right,.row-actions{text-align:right}.row-actions{min-width:100px}.action-button{background:#fff;border:1px solid;border-radius:4px;place-items:center;width:30px;height:30px;margin-left:5px;display:inline-grid}.action-button svg{width:15px;height:15px}.action-button--reject{color:var(--red);border-color:#e4a4a0}.text-action{color:var(--red);background:0 0;border:0;font-size:11px}.toast{z-index:70;color:#fff;max-width:360px;box-shadow:var(--shadow);border-radius:5px;padding:13px 16px;font-size:12px;position:fixed;bottom:24px;right:24px}.toast--error{background:#a83a36}.placeholder-page{min-height:400px;padding:10px 0}.placeholder-page>p{max-width:600px}.placeholder-line{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;height:120px;margin-top:30px}.placeholder-line--short{width:64%;height:70px;margin-top:14px}.balance-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px;display:grid}.balance-summary article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:16px;min-height:108px;padding:20px;display:flex;box-shadow:0 4px 18px #173f7509}.balance-summary p{color:var(--muted);margin:0 0 7px;font-size:12px}.balance-summary strong{color:var(--ink);font-size:27px}.balance-summary strong small{color:var(--muted);font-size:11px;font-weight:500}.summary-icon{border-radius:9px;flex:none;place-items:center;width:54px;height:54px;display:grid}.summary-icon--blue{color:var(--teal);background:var(--blue-soft)}.summary-icon--yellow{color:#a66d00;background:var(--amber-soft)}.active-notes-banner{color:#6f4600;border:1px solid #f3d67a;border-left:4px solid var(--yellow);background:#fff8df;border-radius:10px;align-items:flex-start;gap:12px;max-width:1480px;margin:0 auto 18px;padding:14px 18px;display:flex}.active-notes-banner>span{color:#9a6500;background:#ffedac;border-radius:8px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.active-notes-banner svg{width:18px;height:18px}.active-notes-banner div{min-width:0}.active-notes-banner strong{color:#604000;margin-bottom:3px;font-size:13px;display:block}.active-notes-banner p{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0;font-size:13px;line-height:1.45}.notes-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.notes-table{border-collapse:collapse;width:100%}.notes-table th,.notes-table td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:15px 18px}.notes-table th{color:var(--muted);background:#fbfcfe;font-size:12px;font-weight:600}.notes-table th:first-child{width:52%}.notes-table td{color:var(--navy);font-size:13px}.note-text{-webkit-line-clamp:3;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.note-status{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.note-status--active{color:#08734b;background:#dcf8eb}.note-status--scheduled{color:#075fc7;background:#e4f0ff}.note-status--expired{color:#69778d;background:#edf1f6}.action-button--danger{color:#d93434;border-color:#f0b7b7}.note-dialog textarea{resize:vertical;width:100%;min-height:150px}.validator-picker{border:1px solid var(--line);border-radius:10px;margin-top:20px;padding:16px}.validator-picker legend{color:var(--navy);padding:0 6px;font-size:13px;font-weight:700}.validator-picker>p{color:var(--muted);margin:0 0 12px;font-size:12px}.validator-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.validator-picker label{border:1px solid var(--line-soft);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.validator-picker label:has(input:checked){background:var(--blue-soft);border-color:#8ebcff}.validator-picker label span{flex-direction:column;min-width:0;display:flex}.validator-picker label strong{color:var(--navy);font-size:12px}.validator-picker label small{color:var(--muted);font-size:11px}.substitutions-table{border-collapse:collapse;width:100%;min-width:760px}.substitutions-table th,.substitutions-table td{text-align:left;border-bottom:1px solid var(--line-soft);padding:14px 18px}.substitutions-table th{color:var(--muted);background:#fbfcfe;font-size:12px}.substitution-link{width:50px;color:var(--teal);text-align:center!important}.substitution-link svg{width:18px;height:18px}.substitution-fields{grid-template-columns:1fr auto 1fr;align-items:end;gap:14px;display:grid}.substitution-fields>span{width:38px;height:38px;color:var(--teal);background:var(--blue-soft);border-radius:50%;place-items:center;margin-bottom:1px;display:grid}.substitution-fields>span svg{width:18px;height:18px}.company-profile-form{overflow:hidden}.company-profile-content{padding:24px}.company-profile-alert{margin-bottom:18px}.company-logo-editor{border:1px solid var(--line-soft);background:#f8faff;border-radius:12px;align-items:center;gap:18px;margin-bottom:26px;padding:18px;display:flex}.company-logo-preview{width:100px;height:100px;color:var(--muted);border:1px dashed var(--line);background:#fff;border-radius:12px;flex:0 0 100px;place-items:center;display:grid;overflow:hidden}.company-logo-preview img{object-fit:contain;width:100%;height:100%}.company-logo-preview svg{width:32px;height:32px}.company-logo-editor h3{color:var(--navy);margin:0 0 4px;font-size:14px}.company-logo-editor p{color:var(--muted);margin:0 0 12px;font-size:12px}.company-logo-editor>div:last-child>div{align-items:center;gap:12px;display:flex}.company-logo-editor input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.company-logo-editor .secondary-button{cursor:pointer;display:inline-flex}.company-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.company-field--wide{grid-column:1/-1}.company-profile-footer{border-top:1px solid var(--line-soft);background:#fbfcfe;justify-content:flex-end;padding:18px 24px;display:flex}@media (width<=700px){.active-notes-banner{margin-bottom:14px;padding:12px}.notes-toolbar{flex-direction:column;align-items:stretch}.notes-toolbar .search-control{width:100%}.notes-table{min-width:760px}}.balances-detail-panel .panel__header{min-height:66px}.balances-table{min-width:940px}.balances-table td{height:68px}.balance-type{align-items:center;gap:10px;display:flex}.balance-type>i{border-radius:6px;flex:none;width:9px;height:38px}.balance-type strong,.balance-type small{display:block}.balance-type small{color:var(--muted);align-items:center;gap:4px;margin-top:4px;font-size:9px;display:flex}.balance-type small svg{width:11px;height:11px;color:var(--teal)}.positive-value{color:#067a59;font-weight:600}.negative-value{color:var(--red);font-weight:600}.available-value{min-width:116px;display:block}.available-value strong{color:var(--teal);margin-bottom:7px;font-size:13px;display:block}.available-value>i{background:#e8edf5;border-radius:99px;width:100%;height:5px;display:block;overflow:hidden}.available-value b{border-radius:inherit;height:100%;display:block}.balances-empty,.calendar-empty{min-height:280px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.balances-empty svg,.calendar-empty svg{width:38px;height:38px;color:var(--teal);margin-bottom:13px}.balances-empty h2,.calendar-empty h2{color:var(--ink);margin:0;font-size:17px}.balances-empty p,.calendar-empty p{margin:7px 0 0;font-size:12px}.calendar-panel{min-height:540px}.calendar-toolbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:72px;padding:12px 18px;display:grid}.calendar-current-period{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.calendar-current-period>strong{color:var(--ink);text-transform:capitalize;font-size:17px}.calendar-current-period>span{color:var(--teal);align-items:center;gap:5px;font-size:9px;font-weight:600;display:inline-flex}.calendar-current-period>span i{background:var(--teal);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #0868e81f}.calendar-view-switch{border:1px solid var(--line);background:var(--page);border-radius:6px;width:max-content;padding:3px;display:flex}.calendar-view-switch button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;padding:0 12px;font-size:11px;display:flex}.calendar-view-switch button svg{width:15px}.calendar-view-switch button.is-active{color:var(--teal);background:#fff;font-weight:600;box-shadow:0 2px 8px #0e346414}.calendar-actions{justify-content:flex-end;gap:7px;display:flex}.calendar-actions .secondary-button{min-height:38px;padding:0 13px}.icon-square{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:#fff;border-radius:5px;place-items:center;display:grid}.icon-square:hover{background:var(--page)}.icon-square svg{width:17px}.calendar-scroll{overflow-x:auto}.calendar-grid{min-width:1020px}.calendar-corner{float:left;border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:190px;height:62px;color:var(--muted);align-items:center;padding:0 18px;font-size:11px;font-weight:600;display:flex}.calendar-days{grid-template-columns:repeat(var(--calendar-days), minmax(28px, 1fr));border-bottom:1px solid var(--line);height:62px;margin-left:190px;display:grid}.calendar-days span{border-right:1px solid var(--line-soft);color:#4d5b70;flex-direction:column;justify-content:center;align-items:center;font-size:10px;display:flex}.calendar-days span small{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:8px}.calendar-days .is-weekend{color:var(--red);background:snow}.calendar-days .is-today{z-index:2;color:#fff;background:var(--teal);position:relative;box-shadow:0 4px 12px #0868e83d}.calendar-days .is-today small{color:#fff;font-weight:700}.calendar-entry{border-bottom:1px solid var(--line-soft);grid-template-columns:190px minmax(0,1fr);min-height:66px;display:grid}.calendar-person{z-index:3;border-right:1px solid var(--line);background:#fff;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;left:0}.calendar-person>span{border:1px solid var(--line);width:34px;height:34px;color:var(--teal);background:var(--blue-soft);border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.calendar-person strong,.calendar-person small{text-overflow:ellipsis;white-space:nowrap;max-width:124px;display:block;overflow:hidden}.calendar-person strong{color:var(--ink);font-size:10px}.calendar-person small{color:var(--muted);margin-top:4px;font-size:8px}.calendar-lane{background:repeating-linear-gradient(90deg, transparent, transparent calc((100% / var(--calendar-days)) - 1px), var(--line-soft) calc(100% / var(--calendar-days)));position:relative}.calendar-today-line{z-index:2;background:var(--teal);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px);box-shadow:0 0 0 1px #ffffff8c}.calendar-event{z-index:1;color:#583c00;white-space:nowrap;border:1px solid #be8b1442;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-width:3px;height:42px;padding:4px 5px;display:flex;position:absolute;top:12px;overflow:hidden;box-shadow:0 3px 8px #684a0914}.calendar-event strong{text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.calendar-event small{margin-top:3px;font-size:8px}.planning-color-legend{border-bottom:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:14px;padding:10px 18px;font-size:9px;display:flex}.planning-color-legend span{align-items:center;gap:6px;display:inline-flex}.planning-color-legend i{border:1px solid #0000;border-radius:3px;width:10px;height:10px}.calendar-event.planning-color--pending,.planning-row__bar.planning-color--pending,.planning-color-legend .planning-color--pending{color:#485568;border-color:#b7c0cc;background:#d9dee5!important}.calendar-event.planning-color--accepted,.planning-row__bar.planning-color--accepted,.planning-color-legend .planning-color--accepted{color:#684300;border-color:#e2aa22;background:#ffc53d!important}.calendar-event.planning-color--absence,.planning-row__bar.planning-color--absence,.planning-color-legend .planning-color--absence{color:#fff;border-color:#d95050;background:#e65b55!important}.hr-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.hr-summary article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:14px;min-height:96px;padding:17px;display:flex;box-shadow:0 4px 18px #173f7509}.hr-summary .summary-icon{width:48px;height:48px}.hr-summary p{color:var(--muted);margin:0 0 5px;font-size:11px}.hr-summary strong{color:var(--ink);font-size:25px}.hr-toolbar{margin-bottom:15px}.hr-filters{gap:10px;display:flex}.hr-table-panel{position:relative}.hr-table{min-width:920px}.hr-table td{height:66px}.employee-cell{align-items:center;gap:11px;display:flex}.employee-cell>i{width:36px;height:36px;color:var(--teal);background:var(--blue-soft);border:1px solid #c9d9ed;border-radius:50%;flex:none;place-items:center;font-size:9px;font-style:normal;font-weight:700;display:grid}.employee-cell>i img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.employee-cell strong,.employee-cell small,.organization-cell strong,.organization-cell small{display:block}.employee-cell strong,.organization-cell strong{color:var(--ink);font-size:11px}.employee-cell small,.organization-cell small{color:var(--muted);margin-top:4px;font-size:9px}.organization-cell small{align-items:center;gap:5px;display:flex}.organization-cell small svg{width:12px;height:12px}.employee-status{border:1px solid;border-radius:4px;align-items:center;height:24px;padding:0 9px;font-size:9px;font-weight:600;display:inline-flex}.employee-status--active{color:#087658;background:#eaf8f3;border-color:#79c5aa}.employee-status--leave{color:#9a6500;background:var(--amber-soft);border-color:#e5bc58}.employee-status--inactive{color:#68758b;background:#f3f5f7;border-color:#c9d0d9}.action-button--edit{color:var(--teal);border-color:#9dbce8}.action-button--view{color:#315f99;background:#f7faff;border-color:#aac4e7}.action-button--balance{color:#087658;border-color:#9fc9bd}.table-refresh{z-index:2;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute;top:10px;right:10px}.pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:18px;padding:16px 4px 4px;font-size:.82rem;display:flex}.pagination p{margin:0}.pagination p strong{color:var(--navy)}.pagination>div{align-items:center;gap:6px;display:flex}.pagination button{border:1px solid var(--line);min-width:34px;height:34px;color:var(--navy);font:inherit;cursor:pointer;background:#fff;border-radius:8px;place-items:center;padding:0 9px;font-weight:700;display:inline-grid}.pagination button svg{width:16px}.pagination button:hover:not(:disabled),.pagination button.is-active{border-color:var(--blue);background:var(--soft-blue);color:var(--blue)}.pagination button:disabled{opacity:.45;cursor:not-allowed}.pagination__page-wrap{align-items:center;gap:6px;display:flex}.pagination__page-wrap i{color:var(--muted);font-style:normal}.holiday-group-block>.pagination,.report-table-panel>.pagination{padding:14px 18px 18px}.access-denied-page{text-align:center;place-content:center;justify-items:center;min-height:calc(100vh - 160px);padding:40px;display:grid}.access-denied-page>span{color:#d64545;background:#fff1f0;border-radius:22px;place-items:center;width:72px;height:72px;display:grid}.access-denied-page>span svg{width:34px;height:34px}.access-denied-page h1{color:var(--navy);margin:20px 0 8px;font-size:2rem}.access-denied-page p{color:var(--muted);margin:0 0 22px}.personnel-dialog{width:min(100%,760px)}.personnel-dialog form{max-height:calc(92vh - 92px);overflow-y:auto}.personnel-dialog--complete{width:min(100%,980px)}.personnel-dialog--complete form{max-height:none;padding:0;overflow:hidden}.personnel-form-scroll{max-height:calc(92vh - 166px);padding:4px 24px 22px;overflow-y:auto}.personnel-form-section{padding-top:18px}.personnel-form-section+.personnel-form-section{border-top:1px solid var(--line-soft);margin-top:20px}.personnel-form-section>h3{color:var(--ink);text-transform:uppercase;letter-spacing:.045em;margin:0 0 4px;font-size:12px}.personnel-form-identity{grid-template-columns:190px minmax(0,1fr);gap:22px;display:grid}.personnel-identity-fields{min-width:0}.personnel-photo-field{padding-top:20px}.personnel-photo-preview{color:#8292a8;background:#f5f7fa;border:1px dashed #a9b8cb;border-radius:8px;place-items:center;width:150px;height:170px;margin:0 auto 12px;display:grid;overflow:hidden}.personnel-photo-preview img{object-fit:cover;width:100%;height:100%}.personnel-photo-preview svg{width:46px;height:46px}.personnel-photo-field input[type=file]{clip:rect(0 0 0 0);height:1px;position:absolute;overflow:hidden;width:1px!important;min-height:0!important}.personnel-photo-upload{cursor:pointer;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 10px;font-size:10px;display:flex}.personnel-photo-upload svg,.personnel-photo-remove svg{width:14px;height:14px}.personnel-photo-remove{justify-content:center;align-items:center;gap:5px;width:100%;margin-top:8px;display:flex}.personnel-photo-field small{color:var(--muted);text-align:center;margin-top:9px;font-size:8px;display:block}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.personnel-dialog--complete .dialog__footer{margin:0;padding:16px 24px 20px}.personnel-details-dialog{width:min(100%,760px)}.personnel-details-body{gap:17px;max-height:calc(92vh - 164px);padding:20px 24px;display:grid;overflow-y:auto}.personnel-details-identity{background:#f5f9ff;border:1px solid #cfe0f5;border-radius:8px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;display:grid}.personnel-details-avatar{color:#fff;background:linear-gradient(145deg,#0868e8,#0556bd);border-radius:50%;place-items:center;width:54px;height:54px;font-size:16px;font-weight:700;display:grid}.personnel-details-avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.personnel-details-identity h3,.personnel-details-identity p{margin:0}.personnel-details-identity h3{color:var(--ink);font-size:16px}.personnel-details-identity p{color:var(--muted);margin-top:5px;font-size:10px}.personnel-details-section{padding-top:2px}.personnel-details-section>h3{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:11px}.personnel-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.personnel-detail{border:1px solid var(--line-soft);background:#fbfcfe;border-radius:6px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:9px 11px;display:grid}.personnel-detail>span{width:32px;height:32px;color:var(--teal);background:var(--blue-soft);border-radius:6px;place-items:center;display:grid}.personnel-detail svg{width:15px;height:15px}.personnel-detail dt{color:var(--muted);font-size:9px}.personnel-detail dd{overflow-wrap:anywhere;color:var(--ink);margin:4px 0 0;font-size:11px;font-weight:600}.personnel-detail a{color:var(--teal)}.initial-balances-dialog{width:min(100%,850px)}.initial-balance-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.initial-balance-toolbar .field-label{margin:0}.initial-balance-history-link{color:#075cc8;min-height:34px;font:inherit;cursor:pointer;background:linear-gradient(#fff,#f1f6fe);border:1px solid #bdd5f7;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:700;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 2px 7px #0868e814}.initial-balance-history-link:hover{border-color:#72a9ef;transform:translateY(-1px);box-shadow:0 4px 11px #0868e824}.initial-balance-history-link svg{stroke-width:2px;width:15px;height:15px}.initial-history-backdrop{z-index:1200}.initial-history-dialog{width:min(94vw,920px)}.initial-history-content{padding:20px 24px 0}.initial-history-table{border-collapse:collapse;width:100%;font-size:12px}.initial-history-table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 12px;font-size:10px}.initial-history-table td{border-bottom:1px solid var(--line-soft);color:var(--ink);white-space:nowrap;padding:13px 12px}.initial-history-current,.initial-history-previous{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.initial-history-current{color:#087a56;background:#ecfbf4;border:1px solid #71cfaa}.initial-history-previous{border:1px solid var(--line);color:var(--muted);background:#f6f8fb}.initial-history-footer{margin:18px 24px 0;padding-bottom:20px}.dialog-loading,.dialog-error{color:var(--muted);text-align:center;padding:36px 24px}.initial-balance-selection-head{background:#f6f9fe;border:1px solid #dce8f8;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:11px 13px;display:flex}.initial-balance-selection-head>div strong,.initial-balance-selection-head>div small{display:block}.initial-balance-selection-head>div strong{color:var(--ink);font-size:11px}.initial-balance-selection-head>div small{color:var(--muted);margin-top:3px;font-size:9px}.initial-balance-selection-head>label{color:#075cc8;cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:10px;font-weight:700;display:inline-flex}.initial-balance-selection-head input,.initial-balance-selector input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer}.initial-balance-list{gap:9px;margin-top:12px;display:grid}.initial-balance-columns{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;grid-template-columns:20px 6px minmax(0,1fr) 120px 160px;gap:13px;padding:0 12px;font-size:9px;display:grid}.initial-balance-columns strong{font-weight:600}.initial-balance-row{border:1px solid var(--line-soft);background:#fbfcfe;border-radius:6px;grid-template-columns:20px 6px minmax(0,1fr) 120px 160px;align-items:center;gap:13px;min-height:67px;padding:10px 12px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.initial-balance-row--selected{background:#f7fbff;border-color:#8ebbf3;box-shadow:0 0 0 2px #0868e80f}.initial-balance-selector{cursor:pointer;place-items:center;width:20px;height:32px;display:grid}.initial-balance-row>i{border-radius:99px;width:6px;height:40px}.initial-balance-row strong,.initial-balance-row small{display:block}.initial-balance-row strong{color:var(--ink);font-size:12px}.initial-balance-row small{color:var(--muted);margin-top:5px;font-size:9px}.initial-balance-current{border-right:1px solid var(--line-soft);text-align:right;padding-right:12px}.initial-balance-current strong{color:#087658;font-size:16px}.initial-balance-input{display:block;position:relative}.initial-balance-input input{text-align:right;padding-right:47px!important}.initial-balance-input input:disabled{color:#9ba6b4;cursor:not-allowed;background:#f1f4f8;border-color:#dce3ec}.initial-balance-input em{color:var(--muted);font-size:10px;font-style:normal;position:absolute;top:15px;right:11px}.initial-balance-selection-summary{color:var(--muted);align-self:center;margin-right:auto;font-size:10px;font-weight:600}@media (width<=640px){.personnel-form-scroll{max-height:calc(94vh - 168px);padding:4px 16px 20px}.personnel-form-identity{grid-template-columns:1fr;gap:4px}.personnel-photo-preview{width:116px;height:132px}.personnel-photo-upload{width:min(100%,230px);margin:auto}.personnel-dialog--complete .dialog__footer{padding:14px 16px 18px}.personnel-details-body{padding:16px}.personnel-details-identity{grid-template-columns:48px minmax(0,1fr)}.personnel-details-avatar{width:48px;height:48px}.personnel-details-identity .employee-status{grid-column:2;justify-self:start}.personnel-details-grid{grid-template-columns:1fr}.initial-balance-columns{display:none}.initial-balance-toolbar,.initial-balance-selection-head{flex-direction:column;align-items:flex-start}.initial-balance-row{grid-template-columns:20px 6px minmax(0,1fr)}.initial-balance-current{border-top:1px solid var(--line-soft);text-align:left;border-right:0;grid-column:3;padding:10px 0 0}.initial-balance-current:before{color:var(--muted);text-transform:uppercase;content:"Solde actuel";margin-bottom:4px;font-size:9px;font-weight:600;display:block}.initial-balance-input{grid-column:3}.initial-balance-selection-summary{width:100%}}.report-alert{margin:0 0 14px}.report-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;padding:15px 18px;display:grid}.report-filters label>span{color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:600;display:block}.report-filters input,.report-filters select{border:1px solid var(--line);width:100%;height:40px;color:var(--text);background:#fff;border-radius:5px;outline:0;padding:0 11px;font-size:11px}.report-filters input:focus,.report-filters select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0868e81a}.report-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.report-summary article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:14px;min-height:96px;padding:17px;display:flex;box-shadow:0 4px 18px #173f7509}.report-summary .summary-icon{width:48px;height:48px}.report-summary p{color:var(--muted);margin:0 0 5px;font-size:11px}.report-summary strong{color:var(--ink);font-size:24px}.report-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.8fr);gap:18px;margin-bottom:18px;display:grid}.report-grid .panel{min-height:280px}.monthly-chart{align-items:stretch;gap:7px;height:220px;padding:24px 20px 16px;display:flex}.monthly-bar{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.monthly-bar>span{border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg, transparent, transparent 39px, var(--line-soft) 40px);flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.monthly-bar i{background:linear-gradient(#3385ef,#0868e8);border-radius:5px 5px 0 0;width:min(72%,32px);min-height:5px;transition:height .2s;display:block;position:relative}.monthly-bar b{color:var(--ink);font-size:8px;font-style:normal;position:absolute;top:-17px;left:50%;transform:translate(-50%)}.monthly-bar small{color:var(--muted);text-align:center;text-transform:capitalize;white-space:nowrap;margin-top:9px;font-size:8px}.type-breakdown{padding:17px 19px}.type-breakdown>div{margin-bottom:18px}.type-breakdown span{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;display:flex}.type-breakdown strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.type-breakdown small{color:var(--muted);white-space:nowrap;font-size:8px}.type-breakdown>div>i{background:#edf1f6;border-radius:99px;height:7px;display:block;overflow:hidden}.type-breakdown b{border-radius:inherit;height:100%;display:block}.report-status{margin-bottom:18px}.status-distribution{padding:18px}.status-stack{background:var(--line-soft);border-radius:99px;width:100%;height:12px;display:flex;overflow:hidden}.status-stack i{height:100%}.status-legend{flex-wrap:wrap;gap:12px 28px;margin-top:16px;display:flex}.status-legend span{grid-template-columns:8px auto auto;align-items:center;gap:7px;display:grid}.status-legend span>i{border-radius:50%;width:8px;height:8px}.status-legend strong{color:var(--text);font-size:9px}.status-legend small{color:var(--muted);font-size:9px}.report-table{min-width:760px}.report-table-panel .panel__header{min-height:62px}.settings-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.settings-summary article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:13px;min-height:92px;padding:16px;display:flex}.settings-summary .summary-icon{width:46px;height:46px}.settings-summary p{color:var(--muted);margin:0 0 5px;font-size:10px}.settings-summary strong{color:var(--ink);font-size:23px}.settings-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:18px;display:grid}.settings-tabs{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;padding:7px;display:flex;overflow:hidden}.settings-tabs button{min-height:46px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:11px;padding:0 12px;font-size:11px;display:flex}.settings-tabs button svg{width:17px}.settings-tabs button:hover{background:var(--page)}.settings-tabs button.is-active{color:var(--teal);background:var(--blue-soft);box-shadow:inset 3px 0 var(--amber);font-weight:600}.settings-content{min-height:390px}.settings-content .panel__header{min-height:66px}.settings-list article{border-bottom:1px solid var(--line-soft);grid-template-columns:38px minmax(0,1fr) auto 34px;align-items:center;gap:12px;min-height:64px;padding:10px 17px;display:grid}.leave-type-list article{grid-template-columns:38px minmax(0,1fr) auto auto auto}.leave-type-list article.is-disabled{background:#f8fafc}.leave-type-list article.is-disabled .setting-color,.leave-type-list article.is-disabled>div:not(.setting-actions){opacity:.58}.setting-status{text-align:center;border:1px solid;border-radius:99px;min-width:54px;padding:5px 8px;font-size:8px;font-weight:700}.setting-status.is-active{color:#087658;background:#e9f8f3;border-color:#8ed0b7}.setting-status.is-inactive{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.setting-actions{align-items:center;gap:5px;display:flex}.setting-actions .action-button{margin-left:0}.action-button--warning{color:#a86500;border-color:#edbf69}.settings-action-error{color:#a73832;background:var(--red-soft);border:1px solid #efaaa5;border-radius:5px;margin:12px 17px 0;padding:10px 12px;font-size:10px}.setting-color{border-radius:8px;width:9px;height:38px}.setting-icon{width:34px;height:34px;color:var(--teal);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.setting-icon--yellow{color:#9a6500;background:var(--amber-soft)}.setting-icon svg{width:17px}.settings-list strong,.settings-list small{display:block}.settings-list strong{color:var(--ink);font-size:11px}.settings-list small{color:var(--muted);margin-top:4px;font-size:9px}.setting-mode,.setting-hours{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:9px;display:flex}.setting-hours svg{width:13px}.settings-table{min-width:720px}.settings-table td{height:56px}.setting-dialog{width:min(100%,650px)}.color-input{border:1px solid #b8c2cf;border-radius:4px;align-items:center;gap:10px;height:45px;padding:0 11px;display:flex}.color-input input{border:0!important;width:34px!important;min-height:30px!important;padding:0!important}.color-input strong{color:var(--muted);text-transform:uppercase;font-size:10px}.setting-checkbox{align-self:end;min-height:45px;margin:20px 0 0}.holiday-batch-dialog{width:min(100%,920px)}.holiday-batch-dialog form{max-height:calc(92vh - 92px);overflow-y:auto}.holiday-periods-head,.holiday-groups__head{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.holiday-periods-head h3,.holiday-groups__head h3{color:var(--ink);margin:0;font-size:13px}.holiday-periods-head p,.holiday-groups__head p{color:var(--muted);margin:4px 0 0;font-size:10px}.holiday-periods-head .secondary-button{min-height:38px}.holiday-periods-head .secondary-button svg{width:15px}.holiday-periods{gap:11px;margin-top:13px;display:grid}.holiday-period{border:1px solid var(--line);background:#fbfcfe;border-radius:7px;padding:14px}.holiday-period>header{justify-content:space-between;align-items:center;margin-bottom:-3px;display:flex}.holiday-period>header strong{color:var(--teal);font-size:11px}.holiday-period>header button{width:28px;height:28px;color:var(--red);background:0 0;border:0;place-items:center;display:grid}.holiday-period>header button:disabled{opacity:.3}.holiday-period>header svg{width:15px}.holiday-period-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.holiday-groups{border-top:1px solid var(--line-soft);margin-top:20px;padding-top:18px}.holiday-groups__head{margin-top:0}.holiday-groups__head .checkbox-row{margin:0}.holiday-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.holiday-group-option{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:10px;min-height:52px;padding:9px 11px;display:flex}.holiday-group-option input{width:15px;height:15px;accent-color:var(--teal)}.holiday-group-option strong,.holiday-group-option small{display:block}.holiday-group-option strong{color:var(--ink);font-size:10px}.holiday-group-option small{color:var(--muted);margin-top:3px;font-size:8px}.holiday-batch-summary{color:var(--muted);background:var(--blue-soft);border-radius:6px;align-items:center;gap:6px;margin-top:16px;padding:11px 13px;font-size:10px;display:flex}.holiday-batch-summary strong{color:var(--teal);font-size:12px}.holiday-group-blocks{background:#f7f9fc;gap:16px;padding:16px;display:grid}.holiday-group-block{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 3px 12px #173f7509}.holiday-group-block__header{border-bottom:1px solid var(--line);background:#fbfcfe;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:11px 16px;display:grid}.holiday-group-block__header h3{color:var(--ink);margin:0;font-size:13px}.holiday-group-block__header p{color:var(--muted);margin:4px 0 0;font-size:9px}.holiday-group-block__header>strong{min-width:58px;color:var(--teal);background:var(--blue-soft);text-align:center;border-radius:99px;padding:6px 9px;font-size:9px}.holiday-group-block .settings-list article:last-child{border-bottom:0}.holiday-calendar{background:#f7f9fc;padding:16px}.holiday-group-tabs{scrollbar-width:thin;gap:8px;padding:0 0 14px;display:flex;overflow-x:auto}.holiday-group-tabs button{border:1px solid var(--line);min-width:max-content;height:42px;color:var(--muted);font:inherit;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:10px;font-weight:700;display:inline-flex}.holiday-group-tabs button svg{color:#7185a4;width:15px}.holiday-group-tabs button strong{min-width:22px;height:22px;color:var(--muted);background:#eef3f9;border-radius:99px;place-items:center;padding:0 5px;font-size:9px;display:grid}.holiday-group-tabs button:hover{color:var(--teal);border-color:#9ec2f8}.holiday-group-tabs button.is-active{border-color:var(--teal);color:#fff;background:var(--teal);box-shadow:0 5px 14px #0868e82e}.holiday-group-tabs button.is-active svg{color:#fff}.holiday-group-tabs button.is-active strong{color:var(--teal);background:#fff}.holiday-calendar-toolbar{border:1px solid var(--line);background:#fff;border-radius:9px 9px 0 0;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;display:flex}.holiday-calendar-toolbar h3{color:var(--ink);margin:0;font-size:14px}.holiday-calendar-toolbar p{color:var(--muted);margin:4px 0 0;font-size:10px}.holiday-year-switch{align-items:center;gap:7px;display:flex}.holiday-year-switch button{border:1px solid var(--line);height:34px;color:var(--teal);font:inherit;cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:700;display:inline-flex}.holiday-year-switch button:hover{border-color:var(--teal);background:var(--blue-soft)}.holiday-year-switch button svg{width:14px}.holiday-year-switch>strong{min-width:55px;color:var(--ink);text-align:center;font-size:16px}.holiday-calendar-legend{border:1px solid var(--line);color:var(--muted);background:#fbfcfe;border-top:0;flex-wrap:wrap;align-items:center;gap:15px;padding:10px 16px;font-size:9px;display:flex}.holiday-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.holiday-calendar-legend i{border:1px solid #f0bd38;border-radius:3px;width:13px;height:13px}.holiday-calendar-legend .legend-full{background:#ffe7a3}.holiday-calendar-legend .legend-morning{background:linear-gradient(#ffe7a3 0 50%,#fff 50%)}.holiday-calendar-legend .legend-afternoon{background:linear-gradient(#fff 0 50%,#ffe7a3 50%)}.holiday-calendar-legend small{color:#7185a4;margin-left:auto}.holiday-year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:14px;display:grid}.holiday-month{background:#fff;border:1px solid #cdd9e8;border-radius:8px;overflow:hidden;box-shadow:0 3px 12px #173f750a}.holiday-month>header{color:#fff;background:var(--teal-dark);text-align:center;text-transform:capitalize;padding:8px 10px;font-size:11px;font-weight:800}.holiday-weekdays,.holiday-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.holiday-weekdays{color:#fff;background:#3f8fbd}.holiday-weekdays span{text-align:center;border-right:1px solid #ffffff59;padding:6px 2px;font-size:8px;font-weight:700}.holiday-weekdays span:last-child{border-right:0}.holiday-day{min-width:0;min-height:40px;color:var(--ink);font:inherit;text-align:left;background:#fff;border:1px solid #edf1f6;border-top:0;border-left:0;justify-content:space-between;align-items:flex-start;padding:5px;font-size:9px;display:flex;position:relative}.holiday-day:nth-child(7n){border-right:0}.holiday-day:nth-last-child(-n+7){border-bottom:0}.holiday-day.is-weekend:not(.has-holiday){background:#fafbfd}.holiday-day.is-outside{color:#b3bfce;background:#fbfcfe}.holiday-day.is-today{box-shadow:inset 0 0 0 2px var(--teal);z-index:1}button.holiday-day{cursor:pointer}button.holiday-day:hover{z-index:2;box-shadow:inset 0 0 0 2px #d59500,0 3px 8px #7953001f}.holiday-day.has-holiday{color:#684300;font-weight:800}.holiday-day--no_working_days{background:#ffe7a3}.holiday-day--no_working_morning{background:linear-gradient(#ffe7a3 0 50%,#fff 50%)}.holiday-day--no_working_afternoon{background:linear-gradient(#fff 0 50%,#ffe7a3 50%)}.holiday-day em{color:#7d5900;text-overflow:ellipsis;white-space:nowrap;align-self:flex-end;font-size:6px;font-style:normal;font-weight:800;overflow:hidden}@media (width<=1280px){.holiday-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.holiday-periods-head,.holiday-groups__head{flex-direction:column;align-items:stretch}.holiday-period-grid,.holiday-group-grid{grid-template-columns:1fr}.holiday-batch-summary{flex-wrap:wrap}.holiday-group-blocks{gap:12px;padding:12px}.holiday-group-block__header{padding:10px 12px}.holiday-group-block .settings-list article{grid-template-columns:34px minmax(0,1fr) 30px;padding:10px 12px}.holiday-group-block .setting-mode{grid-column:2}.holiday-group-block .action-button{grid-area:1/3/span 2}.holiday-calendar{padding:12px}.holiday-calendar-toolbar{flex-direction:column;align-items:stretch}.holiday-year-switch{justify-content:space-between}.holiday-calendar-legend small{width:100%;margin-left:0}.holiday-year-grid{grid-template-columns:1fr;gap:12px}.holiday-day{min-height:44px}}.administration-summary{margin-bottom:16px}.administration-summary--companies{grid-template-columns:repeat(2,minmax(0,1fr))}.administration-tabs{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:5px;margin-bottom:14px;padding:5px;display:flex}.administration-tabs button{min-height:39px;color:var(--muted);background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:0 16px;font-size:11px;font-weight:600;display:flex}.administration-tabs button svg{width:16px}.administration-tabs button.is-active{color:var(--teal);background:var(--blue-soft);box-shadow:inset 0 -3px var(--amber)}.administration-panel{min-height:390px}.administration-toolbar{min-height:70px}.search-control{border:1px solid var(--line);background:#fff;border-radius:5px;align-items:center;width:min(100%,300px);height:38px;display:flex}.search-control svg{width:16px;color:var(--muted);margin-left:11px}.search-control input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:0 10px;font-size:11px}.administration-table{min-width:760px}.administration-table td{height:64px}.user-cell{align-items:center;gap:11px;display:flex}.user-cell strong,.user-cell small{display:block}.user-cell strong{color:var(--ink);font-size:11px}.user-cell small{color:var(--muted);margin-top:4px;font-size:9px}.user-avatar{width:36px;height:36px;color:var(--teal);background:var(--blue-soft);border:1px solid #b9d0ee;border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid}.role-badge{color:#40516a;background:#f6f8fb;border:1px solid #b9c8da;border-radius:4px;align-items:center;min-height:23px;padding:0 8px;font-size:9px;font-weight:600;display:inline-flex}.role-badge--superadmin,.role-badge--admin,.role-badge--hr{color:#0759c5;background:var(--blue-soft);border-color:#8db6ef}.role-badge--validator{color:#8b5b00;background:var(--amber-soft);border-color:#e5bc58}.empty-inline{color:var(--muted);text-align:center;padding:36px;font-size:11px}.company-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.company-card{min-height:230px;padding:18px}.company-card header{justify-content:space-between;align-items:center;display:flex}.company-mark{color:#fff;background:var(--teal);border-radius:8px;place-items:center;width:42px;height:42px;font-size:16px;font-weight:700;display:grid;box-shadow:0 6px 16px #0868e82e}.company-card h2{color:var(--ink);margin:17px 0 6px;font-size:16px}.company-card>p{min-height:32px;color:var(--muted);margin:0 0 16px;font-size:10px;line-height:1.55}.company-card dl{border-top:1px solid var(--line-soft);margin:0}.company-card dl div{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;min-height:34px;font-size:9px;display:flex}.company-card dt{color:var(--muted)}.company-card dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.administration-dialog{width:min(100%,660px)}@media (width<=1100px){.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.icon-button.sidebar__close,.icon-button.menu-toggle{display:inline-grid}.sidebar-backdrop{z-index:25;background:#05142573;border:0;position:fixed;inset:0}.app-content{width:100%;margin-left:0}.topbar{padding-left:16px}.menu-toggle{margin-right:8px}.company-switcher{margin-right:auto}.dashboard-columns{grid-template-columns:1fr}.validation-list{grid-template-columns:repeat(2,1fr);display:grid}.hr-summary,.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}.settings-summary,.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-absence-grid,.workforce-details{grid-template-columns:1fr}.login-layout{grid-template-columns:.8fr 1fr}}@media (width<=760px){.topbar{min-height:68px;padding:0 12px}.company-switcher>span,.profile-trigger__text,.company-switcher__icon{display:none}.company-switcher button{border:0;min-width:0;height:36px;padding:0 8px}.company-switcher__control{border:0;min-width:0;max-width:150px;height:36px;padding:0 6px}.company-switcher__control select{max-width:120px;font-size:11px}.topbar__actions{gap:8px}.notification-popover{position:fixed;top:62px;right:8px}.main-content{padding:20px 15px}.page-heading{align-items:flex-start}.page-heading .primary-button{width:44px;min-width:44px;padding:0}.page-heading .primary-button:not(.login-submit){font-size:0}.page-heading .primary-button svg{margin:0}.balance-grid,.balance-summary{grid-template-columns:1fr;gap:10px}.balance-summary article{min-height:92px;padding:16px}.hr-summary{grid-template-columns:1fr 1fr;gap:10px}.hr-summary article{min-height:88px;padding:13px}.hr-summary .summary-icon{width:42px;height:42px}.hr-summary strong{font-size:21px}.hr-toolbar,.hr-filters{flex-direction:column;align-items:stretch}.hr-filters .filter-field{width:100%}.report-filters{grid-template-columns:1fr 1fr;gap:10px;padding:13px}.report-summary{grid-template-columns:1fr 1fr;gap:10px}.report-summary article{min-height:88px;padding:13px}.report-summary .summary-icon{width:42px;height:42px}.report-summary strong{font-size:20px}.monthly-chart{min-width:540px}.report-monthly{overflow-x:auto}.settings-summary{grid-template-columns:1fr 1fr;gap:10px}.settings-summary article{min-height:84px;padding:12px}.settings-summary .summary-icon{width:40px;height:40px}.settings-summary strong{font-size:20px}.settings-layout{display:block}.settings-tabs{flex-direction:row;margin-bottom:12px;overflow-x:auto}.settings-tabs button{min-width:max-content}.settings-tabs button.is-active{box-shadow:inset 0 -3px var(--amber)}.settings-list article{grid-template-columns:34px minmax(0,1fr) 30px}.setting-mode,.setting-hours{display:none}.administration-toolbar{flex-direction:column;align-items:stretch;padding:15px}.search-control{width:100%}.company-grid{grid-template-columns:1fr}.balance-card{min-height:96px}.balance-card__icon{width:55px;height:55px}.recent-panel table{min-width:620px}.calendar-toolbar{grid-template-columns:1fr auto}.calendar-current-period{text-align:center;grid-area:1/1/auto/-1}.calendar-view-switch{grid-area:2/1}.calendar-actions{grid-area:2/2}.calendar-actions .secondary-button{display:none}.validation-list{grid-template-columns:1fr}.today-absence-row{grid-template-columns:36px minmax(0,1fr) auto}.today-absence-row__period{display:none}.planning-row,.planning-timeline-head{grid-template-columns:100px minmax(170px,1fr) 30px}.workforce-heading,.workforce-year-heading{flex-direction:column;align-items:flex-start}.workforce-kpis{grid-template-columns:1fr;gap:10px}.workforce-kpi{min-height:86px;padding:13px}.workforce-rates-card>div{grid-template-columns:1fr}.workforce-rates-card article{min-height:82px}.login-layout{display:block}.login-visual{display:none}.login-panel{flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:100vh;padding:34px 24px 90px}.login-mobile-brand{width:100%;color:var(--ink);margin-bottom:10vh;display:block}.login-mobile-brand .brand small{color:var(--muted)}.login-form h1{font-size:37px}.login-form__intro{margin-bottom:30px;font-size:14px}.form-grid{grid-template-columns:1fr;gap:0}.dialog-backdrop{align-items:end;padding:0}.dialog{border-radius:12px 12px 0 0;max-height:94vh;overflow-y:auto}.toolbar{flex-direction:column;align-items:stretch}.search-field,.filter-field{width:100%}.request-filter-controls{justify-content:stretch}.request-date-filter,.request-filter-reset{width:100%}.request-date-filter input{flex:1}.request-filter-summary{flex-wrap:wrap;align-items:flex-start;gap:12px}.request-filter-summary>p{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sidebar__head{min-height:104px;padding:20px 15px}.sidebar .brand strong{font-size:21px}.sidebar__nav{padding-top:7px}.sidebar__help{color:#ffffffe0}.sidebar-user{background:#ffffff14;border:1px solid #ffffff4d;border-radius:8px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:72px;margin:12px 10px 18px;padding:12px;display:grid}.sidebar-user__avatar{border:1px solid #ffffff85;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:700;display:grid}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-user strong{font-size:12px}.sidebar-user small{color:#ffffffd1;margin-top:4px;font-size:10px}.sidebar-user>svg{width:15px}.balance-card{min-height:138px;padding:18px 20px;position:relative;box-shadow:0 4px 18px #173f7509}.balance-card__body{flex:1;min-width:0;position:relative}.balance-card__body>a{border:1px solid var(--line);width:34px;height:34px;color:var(--teal);background:#fff;border-radius:7px;place-items:center;display:grid;position:absolute;bottom:0;right:0}.balance-progress{background:#e8edf5;border-radius:999px;width:calc(100% - 50px);height:5px;display:block;overflow:hidden}.balance-progress i{border-radius:inherit;background:var(--teal);width:62%;height:100%;display:block}.balance-card--absence .balance-progress i{background:var(--amber);width:38%}.balance-card--recovery .balance-progress i{width:48%}.panel{box-shadow:0 4px 20px #11376b09}.panel__header a,.balance-card a,.help-link{color:var(--teal)}.planning-row__bar{color:#684300;background:#ffe59a!important}.page-loader span{border-top-color:var(--teal)}.action-button--accept{color:var(--teal-dark);border-color:#80aef2}.login-visual{background:linear-gradient(145deg,#0874ef 0%,#075fd8 55%,#0755c3 100%);align-items:center;padding:7vh 7vw 6vh}.login-visual .brand{text-align:center;flex-direction:column;gap:20px}.login-visual .brand__mark{border:1px solid #ffffff73;border-radius:34px;width:clamp(150px,16vw,220px);height:clamp(150px,16vw,220px);box-shadow:0 18px 45px #002a7b38}.login-visual .brand strong{letter-spacing:-.8px;font-size:clamp(38px,4vw,58px)}.login-visual .brand small{color:#fff;margin-top:10px;font-size:clamp(15px,1.35vw,20px);line-height:1.35}.login-calendar{background:repeating-linear-gradient(90deg,#0000,#0000 19.8%,#ffffff24 20%),repeating-linear-gradient(#ffffff1f 75%,#0000 75.2%,#0000);border-color:#ffffff57;height:300px;margin-top:7vh}.login-calendar__days{color:#ffffffe0}.login-calendar__icon{color:var(--amber)}.login-bar{border-color:#ffffffa6}.login-bar--one{color:#fff;background:#ffc53dd9}.login-bar--two{color:#fff;background:#fff3}.login-bar--three{color:#fff;background:#ffc53d73}.login-bar--four{color:#fff;background:#ffffff42}.login-form{max-width:500px}.login-form h1{color:var(--ink);font-weight:700}.input-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #0868e81f}.checkbox-row input{accent-color:var(--teal)}.login-security svg{color:var(--teal)}.dialog select:focus,.dialog input:focus,.dialog textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0868e81a}.request-details-dialog{width:min(860px,100%)}.request-details-header{border-bottom:0}.request-document-company{border-bottom:2px solid var(--navy);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 28px;padding:18px 0;display:grid}.request-document-company img{object-fit:contain;border-radius:10px;width:62px;height:62px}.request-document-company strong,.request-document-company small{display:block}.request-document-company strong{color:var(--navy);font-size:19px}.request-document-company small{color:var(--muted);margin-top:4px}.request-document-title{border:1px solid var(--line);color:var(--navy);text-align:center;text-transform:uppercase;background:#f5f8fd;margin:24px 28px 18px;padding:11px;font-weight:800}.request-detail-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:0 28px 20px;display:grid}.request-detail-grid article{border:1px solid var(--line-soft);background:#fbfcff;border-radius:9px;align-items:flex-start;gap:10px;min-width:0;padding:14px;display:flex}.request-detail-grid svg{width:19px;color:var(--teal);flex:none}.request-detail-grid span,.request-detail-grid small,.request-detail-grid strong,.request-detail-grid em{min-width:0;display:block}.request-detail-grid small{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:10px}.request-detail-grid strong{color:var(--navy);text-overflow:ellipsis;font-size:12px;overflow:hidden}.request-detail-grid em{color:var(--muted);margin-top:3px;font-size:11px;font-style:normal}.request-document-data{border-top:1px solid var(--line-soft);margin:0 28px}.request-document-data>div{border-bottom:1px solid var(--line-soft);grid-template-columns:180px minmax(0,1fr);gap:18px;padding:13px 0;display:grid}.request-document-data dt{color:var(--muted);font-size:12px}.request-document-data dd{color:var(--navy);margin:0;font-size:12px;font-weight:600}.request-document-data dd i{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.request-signatures{grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 28px 8px;display:grid}.request-signatures article{border:1px solid var(--line);border-radius:9px;min-height:125px;padding:16px}.request-signatures strong{color:var(--navy);font-size:12px}.request-signatures p{color:var(--muted);font-size:11px;line-height:1.65}.audit-panel{position:relative}.audit-table{min-width:920px}.audit-table th:first-child{width:170px}.audit-table th:nth-child(2){width:190px}.audit-table th:nth-child(3){width:145px}.audit-table th:nth-child(4){width:150px}.audit-user,.audit-message{align-items:center;gap:8px;display:inline-flex}.audit-user svg,.audit-message svg{width:15px;height:15px;color:var(--muted)}.audit-action{color:#31547c;text-transform:uppercase;background:#eaf2ff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.audit-action--add{color:#127151;background:#e4f8ef}.audit-action--delete{color:#a73d35;background:#ffebe9}.audit-action--status{color:#765400;background:#fff3cf}.permissions-panel{max-width:920px;margin:0 auto}.permission-role-select{min-width:230px;color:var(--muted);text-transform:uppercase;flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.permission-role-select select{min-height:40px;color:var(--navy);text-transform:none}.permission-list{gap:10px;padding:22px 24px;display:grid}.permission-card{border:1px solid var(--line-soft);cursor:pointer;border-radius:10px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;transition:border-color .15s,background .15s;display:grid}.permission-card--enabled{background:#f4f8ff;border-color:#9bc2ff}.permission-card__icon{width:40px;height:40px;color:var(--muted);background:#eef2f8;border-radius:9px;place-items:center;display:grid}.permission-card--enabled .permission-card__icon{color:var(--teal);background:#e3efff}.permission-card strong,.permission-card small{display:block}.permission-card strong{color:var(--navy);font-size:13px}.permission-card small{color:var(--muted);margin-top:4px;font-size:11px}.permission-card input{opacity:0;pointer-events:none;position:absolute}.permission-card>i{background:#cbd3de;border-radius:999px;width:42px;height:23px;position:relative}.permission-card>i:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:3px;left:3px}.permission-card--enabled>i{background:var(--teal)}.permission-card--enabled>i:after{transform:translate(19px)}.permissions-footer{border-top:1px solid var(--line-soft);justify-content:flex-end;padding:18px 24px 24px;display:flex}.permissions-panel .success-alert,.permissions-panel .form-alert{margin:0 24px 16px}.heading-actions{align-items:center;gap:10px;display:flex}.subscription-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:650px;margin-bottom:20px;display:grid}.subscription-summary article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:14px;padding:18px;display:flex}.subscription-summary article>span{width:44px;height:44px;color:var(--teal);background:var(--blue-soft);border-radius:10px;place-items:center;display:grid}.subscription-summary svg{width:21px}.subscription-summary p{color:var(--muted);margin:0 0 5px;font-size:11px}.subscription-summary strong{color:var(--navy);font-size:24px}.subscription-alert{margin:0 0 16px}.subscription-table{border-collapse:collapse;width:100%;min-width:850px}.subscription-table th,.subscription-table td{border-bottom:1px solid var(--line-soft);text-align:left;padding:15px 18px;font-size:12px}.subscription-table th{color:var(--muted);background:#fbfcfe;font-weight:600}.subscription-table td{color:var(--navy)}.subscription-type-dialog{width:min(100%,680px)}.compensatory-settings{font-family:var(--font);justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:20px;display:flex}.compensatory-settings__description,.compensatory-settings form{align-items:center;gap:14px;display:flex}.compensatory-settings__description{min-width:0}.compensatory-settings h2{margin:0 0 4px;font-size:1rem}.compensatory-settings p{color:var(--muted);font-family:var(--font);margin:0;font-size:12px;line-height:1.55}.compensatory-settings p strong{color:var(--ink);font-family:var(--font);font-weight:700}.conversion-rate-field{color:var(--muted);white-space:nowrap;flex-direction:column;gap:5px;font-size:10px;font-weight:600;display:flex}.conversion-rate-field input{border:1px solid var(--line);width:112px;height:42px;color:var(--ink);font-family:var(--font);background:#fff;border-radius:5px;outline:0;padding:0 12px;font-size:13px}.conversion-rate-field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0868e81a}.compensatory-toolbar{align-items:flex-end;gap:20px}.toolbar-controls{align-items:center;gap:10px;display:flex}.toolbar-controls .status-filter{border:1px solid var(--line);min-width:180px;height:38px;color:var(--text);font-family:var(--font);background-color:#fff;border-radius:5px;outline:0;padding:0 34px 0 12px;font-size:11px}.toolbar-controls .status-filter:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0868e81a}.personnel-search-field{background:#fff;border:1px solid #b8c2cf;border-radius:4px;align-items:center;min-height:45px;display:flex}.personnel-search-field:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #0868e81a}.personnel-search-field>svg{width:17px;color:var(--muted);flex:none;margin-left:12px}.dialog .personnel-search-field input{min-height:43px;box-shadow:none;border:0}.table-subtitle{color:var(--text-muted);margin-top:4px;display:block}.compensatory-reason{white-space:normal;min-width:220px;max-width:380px}.request-balance-hint{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-direction:column;gap:3px;margin-top:16px;padding:12px 14px;display:flex}.request-balance-hint span{color:#52647d;font-size:.8rem}@media (width<=900px){.compensatory-settings,.compensatory-toolbar{flex-direction:column;align-items:stretch}.compensatory-settings form,.toolbar-controls{flex-wrap:wrap}}@media (width<=680px){.heading-actions{width:100%}.heading-actions>button{flex:1}.subscription-summary{grid-template-columns:1fr}}@media print{body *{visibility:hidden!important}.request-print-sheet,.request-print-sheet *{visibility:visible!important}.request-details-backdrop{background:#fff;padding:0;display:block;position:static}.request-print-sheet{width:100%;max-width:none;max-height:none;box-shadow:none;border:0;position:absolute;inset:0;overflow:visible}.print-hidden{display:none!important}.request-details-header{padding:0 28px 8px}}@media (width<=1100px){.app-content{width:100%;margin-left:0}}@media (width<=760px){.login-mobile-brand .brand__mark{width:56px;height:56px}.login-mobile-brand .brand strong{color:var(--ink)}.login-mobile-brand .brand small{color:var(--muted)}.balance-card{min-height:112px}.pagination{flex-direction:column;align-items:flex-start}.pagination>div{width:100%;padding-bottom:3px;overflow-x:auto}.validator-picker>div,.company-fields{grid-template-columns:1fr}.substitution-fields{grid-template-columns:1fr;align-items:stretch}.substitution-fields>span{margin:0 auto;transform:rotate(90deg)}.company-field--wide{grid-column:auto}.company-logo-editor{flex-direction:column;align-items:flex-start}.request-detail-grid,.request-signatures{grid-template-columns:1fr}.request-document-data>div{grid-template-columns:1fr;gap:5px}.request-document-company{grid-template-columns:auto minmax(0,1fr)}.request-document-company .status-badge{grid-column:1/-1;width:max-content}.permissions-panel .panel__header{flex-direction:column;align-items:stretch}.permission-role-select{width:100%}.permission-card{grid-template-columns:38px minmax(0,1fr) auto;padding:12px}}
