@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box}body{color:#203247;background:#f5f7fa;margin:0;font-family:DM Sans,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}button:disabled{opacity:.5;cursor:default}:is(button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #46b9be}.shell{min-height:100vh;display:flex}aside{color:#b7c9d3;background:#102b3b;flex-direction:column;width:248px;padding:36px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #294351;padding:0 10px 34px}.brandmark{color:#fff;letter-spacing:-2px;font:800 38px Manrope,sans-serif}.brandmark span{color:#55c6be;margin-left:5px}.brand>div{letter-spacing:2px;color:#9fb8c7;margin-top:7px;font-size:9px}.workspace{letter-spacing:1.5px;padding:28px 10px 20px;font-size:10px}.workspace span{letter-spacing:0;color:#fff;margin-top:8px;font-size:13px;display:block}nav{gap:8px;display:grid}nav button{color:#b7c9d3;white-space:nowrap;background:0 0;border-radius:8px;justify-content:flex-start;padding:13px 12px;font-size:13px}nav button svg:last-child:not(:first-child){margin-left:auto}nav button.selected{color:#8ee5d9;background:#1e4c5a}nav button:hover{background:#1a4050}.side-bottom{gap:11px;margin-top:auto;padding:22px 8px 0;font-size:12px;display:flex}.side-bottom small{color:#7f9bab;margin-top:5px;font-size:10px;display:block}main{flex:1;min-width:0;margin-left:248px}header{color:#63748a;background:#fff;border-bottom:1px solid #e4eaf0;justify-content:space-between;align-items:center;height:76px;padding:0 40px;font-size:12px;display:flex}.breadcrumb span{color:#bcc6cf;margin:0 14px}.admin{align-items:center;gap:8px;display:flex}.dot{background:#2aaf8b;border-radius:50%;width:7px;height:7px}.content{max-width:1450px;margin:auto;padding:40px}.eyebrow{letter-spacing:2px;color:#298e89;margin-bottom:9px;font-size:10px;font-weight:700}h1{letter-spacing:-1px;margin:0;font:800 31px Manrope,sans-serif}p{color:#728094;margin:10px 0 0;line-height:1.6}.title-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.primary{color:#fff;white-space:nowrap;background:#147c78;border-radius:7px;padding:12px 18px;font-weight:600}.primary:hover{background:#09635f}.secondary{color:#33495e;white-space:nowrap;background:#fff;border:1px solid #dce4eb;border-radius:7px;padding:10px 14px}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px;display:grid}.stats>div{background:#fff;border:1px solid #e2e9ef;border-radius:10px;padding:23px 24px;position:relative;box-shadow:0 3px 10px #17324703}.stats span{color:#748397;font-size:12px;display:block}.stats strong{letter-spacing:-1px;margin-top:12px;font:700 36px Manrope,sans-serif;display:block}.stats strong.smaller{padding-top:9px;font-size:27px}.stats svg{color:#75aaa8;width:20px;position:absolute;top:23px;right:23px}.panel{background:#fff;border:1px solid #e0e7ee;border-radius:10px;margin-bottom:23px;overflow:hidden}.panel-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;padding:23px 25px;display:flex}.panel-head h2{margin:0 0 5px;font:700 16px Manrope,sans-serif}.panel-head span{color:#8995a5;font-size:12px}.date-select{color:#7a8b9c;border:1px solid #e0e6eb;border-radius:7px;align-items:center;gap:8px;padding:4px 10px;display:flex}.date-select input{background:0 0;border:0;width:140px;padding:6px}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{text-transform:uppercase;letter-spacing:1px;color:#8693a3;background:#fafbfd;padding:15px 24px;font-size:10px;font-weight:500}td{border-top:1px solid #eef2f5;padding:19px 24px;font-size:12px}td small{color:#8b98a6;margin-top:5px;font-size:11px;display:block}.person{align-items:center;gap:12px;display:flex}.avatar{color:#278b85;background:#e7f3f2;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.badge{border-radius:20px;padding:6px 10px;font-size:10px;font-weight:600}.green{color:#238668;background:#e8f6ef}.amber{color:#ad7728;background:#fff5e7}.neutral{color:#8994a4;background:#f1f4f7}.text-button{color:#238880;background:0 0;padding:5px 0;font-size:12px;font-weight:600}.panel-foot{color:#8c99a8;background:#fafcfd;border-top:1px solid #edf0f4;padding:16px 25px;font-size:11px}.empty{text-align:center;color:#8795a4;padding:60px 20px}.empty h3{color:#31465a;margin:18px 0 0;font:700 20px Manrope,sans-serif}.empty p{margin-bottom:22px}.empty-icon{color:#36928c;background:#edf7f5;border-radius:16px;place-items:center;width:64px;height:64px;margin:auto;display:grid}.empty.compact{padding:28px}.hint{color:#64848d;background:#edf4f6;border-radius:9px;gap:14px;padding:21px 24px;font-size:12px;display:flex}.hint svg{flex-shrink:0}.hint p{color:#7e939d;margin-top:5px;font-size:11px}.hint b{font-weight:500}footer{color:#a3aebb;justify-content:space-between;margin-top:40px;font-size:10px;display:flex}.filters{flex-wrap:wrap;gap:9px;display:flex}.filters input,.filters select{width:auto;font-size:12px}.alert{color:#b44837;background:#fff0ee;border:1px solid #f8d3cd;border-radius:7px;margin-bottom:16px;padding:13px;line-height:1.6}.alert button{color:inherit;background:0 0;text-decoration:underline}.toast{color:#fff;z-index:30;background:#143f3d;border-radius:9px;gap:9px;padding:15px 22px;display:flex;position:fixed;bottom:24px;right:24px}.overlay{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102b3b80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:14px;width:100%;max-width:540px;max-height:92vh;padding:28px;overflow:auto;box-shadow:0 20px 100px #09222d40}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.dialog-head h2{margin:0;font:700 21px Manrope,sans-serif}.dialog-head button{color:#8c99a8;background:0 0}form label{margin-bottom:16px;font-size:12px;font-weight:600;display:block}input,select,textarea{color:#263c50;background:#fff;border:1px solid #dce4ea;border-radius:7px;width:100%;margin-top:6px;padding:11px}textarea{resize:vertical;min-height:70px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.checkbox{align-items:center;gap:9px;font-weight:400;display:flex}.checkbox input{accent-color:#147c78;width:auto;margin:0}.optional{color:#96a3b2;font-weight:400}.form-note{background:#f5f8fa;border-radius:7px;padding:12px;font-size:11px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.audit-list article{border-bottom:1px solid #edf0f4;gap:17px;padding:22px 25px;display:flex}.audit-icon{color:#45918c;background:#edf6f4;border-radius:9px;height:40px;padding:10px}.audit-list p{margin:5px 0;font-size:12px}.audit-list small{color:#8995a5;margin-top:7px;font-size:11px;display:block}@media (min-width:1600px){.content{padding-top:55px}}@media (max-width:1050px){aside{width:205px;padding:30px 14px}main{margin-left:205px}.content{padding:28px}header{padding:0 28px}.panel-head{flex-wrap:wrap}.stats strong.smaller{font-size:21px}.stats>div{padding:20px 17px}}@media (max-width:760px){.shell{display:block}aside{width:auto;padding:18px 18px 12px;position:static}.brand{border:0;padding:0}.brandmark{font-size:25px}.brand>div,.workspace,.side-bottom{display:none}nav{gap:4px;margin-top:15px;display:flex;overflow:auto}nav button{padding:10px;font-size:11px}nav button svg{width:16px}nav button svg:last-child:not(:first-child){display:none}main{margin-left:0}header{height:50px;padding:0 20px}.content{padding:25px 18px}.title-row{flex-direction:column;align-items:flex-start;gap:15px}h1{font-size:27px}.stats{gap:8px}.stats>div{padding:15px 11px}.stats span{font-size:10px}.stats strong{font-size:27px}.stats svg{display:none}.stats strong.smaller{letter-spacing:-.5px;font-size:16px}.panel-head{padding:18px}.panel-foot{padding:14px 18px}.hint{padding:17px}footer span{display:none}.dialog{padding:22px}.filters{width:100%}.filters select{max-width:170px}.admin{font-size:10px}td,th{padding-left:18px;padding-right:18px}}.header-actions{align-items:center;gap:18px;display:flex}.install-button{color:#147c78;background:#f1f9f7;border:1px solid #cfe4e2;border-radius:7px;padding:9px 12px;font-size:12px;font-weight:600}.dialog-head h2:has(svg){align-items:center;gap:9px;display:flex}.app-address{word-break:break-all;color:#147c78;background:#edf7f5;border-radius:7px;margin-top:15px;padding:13px;font-size:12px;display:block}.install-steps{color:#526678;padding-left:22px;line-height:1.8}.install-steps li{padding:6px 0}.offline-banner{z-index:40;color:#78541b;background:#fff3df;border:1px solid #ead4ab;border-radius:8px;align-items:center;gap:9px;width:max-content;max-width:90vw;padding:14px 18px;font-size:12px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}@media (max-width:760px){.header-actions{gap:8px}.header-actions>.admin{display:none}.install-button{padding:7px 9px;font-size:11px}}@media (display-mode:standalone){body{overscroll-behavior-y:contain}header{padding-top:env(safe-area-inset-top)}.install-button{display:none}}.worker-actions{align-items:center;gap:20px;display:flex}.access-nav{color:#86c6c0;margin:24px 12px;font-size:12px;text-decoration:none}.access-page{background:radial-gradient(at 20% 15%,#e6f5f0,#0000 50%),#f4f7fa;place-items:center;min-height:100vh;margin:0;padding:24px;display:grid}.access-card{background:#fff;border:1px solid #e0e8ee;border-radius:16px;width:100%;max-width:460px;padding:36px;box-shadow:0 20px 70px #122b3d0a}.access-brand{color:#102b3b;letter-spacing:-2px;font:800 36px Manrope,sans-serif;text-decoration:none}.access-brand span{color:#39a799;margin-left:5px}.access-tag{letter-spacing:2px;color:#8b9ba9;margin-top:4px;font-size:9px}.access-lock{color:#278d83;background:#edf7f5;border-radius:12px;place-items:center;width:52px;height:52px;margin:30px 0 18px;display:grid}.access-card h1{font-size:26px}.access-card>p{margin:12px 0 25px;font-size:13px}.access-submit{width:100%;margin-top:8px}.password-help{color:#8191a0;margin:-8px 0 18px;font-size:11px}.access-back{text-align:center;color:#768b9a;margin-top:22px;font-size:12px;display:block}.access-success{color:#31735e;background:#edf8f3;border-radius:9px;gap:12px;margin-bottom:20px;padding:16px;font-size:13px;display:flex}.access-success svg{flex-shrink:0}.access-success p{color:#558573;font-size:12px}.access-link{margin-top:20px;text-decoration:none;display:flex}@media (max-width:760px){.access-nav{margin:12px 10px 0;font-size:11px;display:block}.access-card{padding:27px}.access-page{padding:18px}}.planning-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.planning-toolbar h2{margin:0;font:700 20px Manrope,sans-serif}.planning-toolbar p{font-size:12px}.small-select{width:auto;min-width:95px;margin:0}.balance-number{color:#23877e;font:700 18px Manrope,sans-serif}.month-nav{align-items:center;gap:16px;display:flex}.month-nav h2{text-transform:capitalize;text-align:center;min-width:145px}.month-nav .secondary{padding:8px}.calendar-legend{color:#768698;border-bottom:1px solid #edf0f4;flex-wrap:wrap;gap:20px;padding:17px 24px;font-size:10px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.calendar-legend span:not(:last-child):before{content:"";background:#ddd;border-radius:50%;width:8px;height:8px}.calendar-legend .legend-national:before{background:#d59058}.calendar-legend .legend-regional:before{background:#8386c3}.calendar-legend .legend-vacation:before{background:#39a990}.calendar-legend .legend-permit:before{background:#5e9ed2}.calendar-week,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week>div{text-align:right;text-transform:uppercase;letter-spacing:1px;color:#8392a2;background:#fafbfd;padding:13px 16px;font-size:10px}.calendar-cell{border-top:1px solid #e8edf2;border-right:1px solid #e8edf2;min-height:115px;padding:8px;overflow:hidden}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.outside{background:#fafbfd}.calendar-cell.weekend{background:#fbfcfe}.calendar-today{box-shadow:inset 0 0 0 2px #57b5a8}.day-number{color:#4e6276;background:0 0;border-radius:6px;width:27px;height:27px;margin:0 0 7px auto;padding:5px;font-size:12px;display:flex}.day-number:hover{background:#e7f4ef}.calendar-today .day-number{color:#fff;background:#147c78}.calendar-event{text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;border-radius:4px;width:100%;margin-bottom:4px;padding:5px 6px;font-size:9px;line-height:1.45;display:block}.holiday-Nacional{color:#ad753e;background:#fff2e5}.holiday-Autonómico,.holiday-Adicional{color:#7972a8;background:#f0eef9}.vacation-event{color:#24876b;background:#e4f6ee}.permit-event{color:#4685b7;background:#eaf3fd}.calendar-bottom{grid-template-columns:minmax(300px,1fr) minmax(350px,1.4fr);gap:22px;display:grid}.holiday-list>div{border-bottom:1px solid #eef2f5;align-items:center;gap:14px;padding:14px 22px;font-size:11px;display:flex}.holiday-list span{color:#7f8e9e;min-width:48px}.holiday-list b{flex:1;font-weight:500}.holiday-list small{color:#93a0af;font-size:9px}.panel-foot a{color:#27887e}.period-list article{border-bottom:1px solid #eef2f5;justify-content:space-between;gap:16px;padding:20px 22px;display:flex}.period-list p{margin:5px 0;font-size:12px}.period-list small{color:#8d9baa;font-size:10px}.period-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.policy-person{color:#23877e;margin:0 0 20px}.workday-options{flex-wrap:wrap;gap:8px;margin-top:-5px;display:flex}.workday-options label{border:1px solid #dce6eb;border-radius:6px;align-items:center;gap:5px;padding:9px;font-size:10px;font-weight:400;display:flex}.workday-options input{accent-color:#147c78;width:auto;margin:0}.plan-preview{color:#27876d;background:#edf7f3;border-radius:8px;margin-bottom:18px;padding:15px;font-size:13px}.plan-preview span{margin-top:4px;font-size:11px;display:block}@media (max-width:1050px){.calendar-bottom{grid-template-columns:1fr}.calendar-cell{min-height:100px}.calendar-event{font-size:8px}.calendar-cell{padding:5px}}@media (max-width:760px){.planning-toolbar{flex-direction:column;align-items:flex-start}.calendar-scroll{overflow:auto}.calendar-week,.calendar-grid{min-width:650px}.calendar-bottom{gap:0}.month-nav h2{font-size:15px}.calendar-legend{gap:12px;padding:14px 18px}.workday-options{gap:5px}.workday-options label{padding:7px}.period-list article{flex-direction:column}.period-actions{flex-direction:row;align-items:flex-start;gap:20px}}.holiday-notice{color:#745017;background:#fff8e6;border:1px solid #efce81;border-radius:10px;align-items:flex-start;gap:12px;margin:12px 18px;padding:14px 18px;display:flex}.holiday-notice svg{flex-shrink:0;margin-top:2px}.holiday-notice b{font-size:14px}.holiday-notice p{margin:5px 0 0;font-size:13px;line-height:1.5}.dialog .holiday-notice{margin:12px 0}
