:root{color:#17352f;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f6f3;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 8% 5%,#4895801f,#0000 28rem),#f2f6f3;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}:root{--ink:#17352f;--muted:#657a74;--brand:#176b5d;--brand-dark:#0f554a;--surface:#fff;--surface-soft:#edf6f2;--border:#cfddd8;--danger:#a53434;--shadow:0 24px 70px #143f3524}.ios-install-hint{border:1px solid var(--border);background:var(--surface-soft);color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;margin:0 0 1rem;padding:.55rem .75rem;font-size:.85rem;display:flex}.ios-install-hint .share-icon{vertical-align:-.2rem;color:#007aff;width:1.1rem;height:1.1rem}.ios-install-close{width:1.8rem;height:1.8rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:0;font-size:1.1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-page{background:var(--surface);grid-template-columns:minmax(320px,620px) minmax(260px,1fr);min-height:100vh;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);width:min(100%,460px);box-shadow:var(--shadow);border-radius:24px;padding:3rem}.login-card{box-shadow:none;border:0;place-self:center;margin:2rem}.brand-mark,.success-mark,.status-icon{background:var(--brand);color:#fff;border-radius:16px;place-items:center;width:3.25rem;height:3.25rem;font-size:1.45rem;font-weight:800;display:grid}.success-mark{color:var(--brand-dark);background:#dcefe8;margin-bottom:1.5rem}.status-icon{color:var(--danger);background:#f9e2e2}.eyebrow{color:var(--brand);letter-spacing:.09em;text-transform:uppercase;margin:1.4rem 0 .45rem;font-size:.8rem;font-weight:800}h1{color:var(--ink);margin:0;font-size:clamp(2rem,5vw,3.25rem);line-height:1.08}.lead{color:var(--muted);margin:1rem 0 0;font-size:1.05rem;line-height:1.65}.language-selector{background:var(--surface-soft);border-radius:12px;gap:.35rem;margin:1.6rem 0;padding:.28rem;display:flex}.language-selector button{color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;padding:.55rem .6rem;font-size:.84rem;font-weight:700}.language-selector button[aria-pressed=true]{background:var(--surface);color:var(--brand-dark);box-shadow:0 2px 8px #143f351a}.login-form{gap:1.15rem;display:grid}.login-form label{color:var(--ink);gap:.45rem;font-weight:700;display:grid}.login-form input{border:1px solid var(--border);width:100%;min-height:3rem;color:var(--ink);background:#fbfdfc;border-radius:11px;outline:none;padding:.75rem .9rem;transition:border-color .12s,box-shadow .12s}.login-form input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #176b5d1f}.primary-button,.secondary-button{border:1px solid #0000;border-radius:11px;min-height:2.85rem;padding:.72rem 1.15rem;font-weight:800}.primary-button{background:var(--brand);color:#fff}.primary-button:hover:not(:disabled){background:var(--brand-dark)}.secondary-button{border-color:var(--border);background:var(--surface);color:var(--ink)}.error-message{color:var(--danger);background:#fff1f1;border-radius:10px;margin:0;padding:.8rem .9rem;font-weight:650}.auth-visual{background:linear-gradient(135deg,#06433af5,#187565e6),#176b5d;place-items:center;min-height:100%;display:grid;position:relative;overflow:hidden}.auth-visual:before,.auth-visual:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:22rem;height:22rem;position:absolute}.auth-visual:before{inset:-8rem auto auto -6rem}.auth-visual:after{inset:auto -7rem -9rem auto}.visual-grid{grid-template-columns:repeat(3,1fr);gap:1rem;width:min(72%,560px);display:grid;transform:rotate(-5deg)}.visual-grid span{aspect-ratio:1.3;background:#ffffff14;border:1px solid #ffffff2e;border-radius:15px;box-shadow:inset 0 1px #ffffff26}.visual-grid span:nth-child(4n+1){background:#eecd6833}.center-page{text-align:center;place-content:center;justify-items:center;gap:1rem;min-height:100vh;padding:2rem;display:grid}.spinner{border:4px solid #d6e7e1;border-top-color:var(--brand);border-radius:50%;width:2.75rem;height:2.75rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-card{text-align:start;justify-items:start;gap:1rem;display:grid}.error-card h1{font-size:1.65rem}.button-row{gap:.7rem;display:flex}.identity-page{min-height:100vh;padding:0 5vw 5rem}.identity-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;max-width:1080px;min-height:92px;margin:0 auto;display:flex}.identity-header .eyebrow{margin:0 0 .35rem}.identity-header strong{color:var(--ink);font-size:1.05rem}.welcome-panel{border:1px solid var(--border);background:var(--surface);max-width:860px;box-shadow:var(--shadow);border-radius:28px;margin:clamp(3rem,9vh,7rem) auto 0;padding:clamp(2rem,6vw,4.5rem)}.identity-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2.5rem 0 0;display:grid}.identity-details div{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;min-width:0;padding:1rem}.identity-details dt{color:var(--muted);font-size:.78rem;font-weight:700}.identity-details dd{overflow-wrap:anywhere;color:var(--ink);margin:.35rem 0 0;font-size:1.05rem;font-weight:800}.manager-week-page{padding-inline:2vw}.manager-week-page .identity-header{max-width:1600px}.manager-identity-summary{flex-wrap:wrap;align-items:baseline;gap:.55rem;display:flex}.manager-identity-summary .eyebrow{flex-basis:100%}.manager-identity-summary>span{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:.2rem .45rem;font-size:.72rem;font-weight:800}.weekly-workspace{width:min(100%,1600px);margin:2rem auto 0}.week-toolbar{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.5rem;display:flex}.week-toolbar .eyebrow{margin-top:0}.week-toolbar h1{font-size:clamp(2rem,4vw,3.2rem)}.week-range{color:var(--muted);margin:.65rem 0 0;font-weight:750}.week-navigation{gap:.65rem;display:flex}.week-navigation button{white-space:nowrap;align-items:center;gap:.45rem;display:inline-flex}.week-state{border:1px solid var(--border);background:var(--surface);border-radius:20px;place-content:center;justify-items:center;gap:.8rem;min-height:16rem;display:grid}.week-state.error-message{min-height:12rem}.week-state p{margin:0}.week-not-open{background:#fff9e8;border:1px solid #e8d79c;border-radius:16px;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:1.2rem 1.35rem;display:flex}.week-not-open h2,.week-not-open p{margin:0}.week-not-open h2{font-size:1.15rem}.week-not-open p{color:#756332;margin-top:.35rem;line-height:1.5}.week-shift-card.read-only{cursor:default}.week-shift-card.read-only:hover{outline:none}.header-actions{align-items:center;gap:.6rem;display:flex}.notification-bell{position:relative}.bell-button{min-width:2.8rem;position:relative}.bell-count{top:-.4rem;background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:1.35rem;padding:.1rem .3rem;font-size:.72rem;font-weight:800;line-height:1.2;position:absolute;inset-inline-end:-.4rem}.notification-panel{z-index:5;top:calc(100% + .5rem);border:1px solid var(--border);background:var(--surface);width:min(360px,100vw - 2rem);max-height:70vh;box-shadow:var(--shadow);border-radius:14px;position:absolute;inset-inline-end:0;overflow:auto}.notification-panel header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 1rem;display:flex}.notification-panel h2{margin:0;font-size:1rem}.notification-panel>p{margin:.8rem 1rem}.notification-panel ul{margin:0;padding:0;list-style:none}.notification-panel li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem 1rem;display:flex}.notification-panel li:last-child{border-bottom:0}.notification-panel li>div{text-align:start;gap:.15rem;display:grid}.notification-panel li.unread{background:#eef8f4}.notification-panel li.read{color:var(--muted)}.notification-panel li.unread strong:before{content:"● ";color:var(--brand)}.notification-panel time,.notification-panel li span{color:var(--muted);font-size:.75rem}.notification-panel .secondary-button,.app-language{border:1px solid var(--border);min-height:2.3rem;color:inherit;font:inherit;background:#fff;border-radius:10px;padding:.35rem .6rem;font-size:.8rem}.header-actions .secondary-button{min-height:2.3rem;padding:.35rem .75rem;font-size:.8rem}.employee-tabs{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:.3rem;margin-bottom:1.2rem;padding:.3rem;display:inline-flex}.employee-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.5rem 1rem;font-weight:800}.employee-tabs button.active{background:var(--brand);color:#fff}.my-schedule{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.my-day-block{gap:.35rem;display:grid}.my-shift-block,.no-shift-day{border:1px solid var(--border);background:var(--surface);border-inline-start:4px solid #6d8f88;border-radius:10px;gap:.2rem;padding:.55rem .8rem;display:grid}.my-shift-block.morning{background:#fff7e6;border-inline-start-color:#d29320}.my-shift-block.afternoon{background:#eaf6f2;border-inline-start-color:#338270}.my-shift-block.night{background:#eef0f8;border-inline-start-color:#59658d}.my-shift-block.support{background:#f5edf6;border-inline-start-color:#8d5d91}.no-shift-day{border-inline-start-color:var(--border);color:var(--muted)}.my-shift-line{flex-wrap:wrap;align-items:center;gap:.2rem .45rem;min-width:0;display:flex}.my-shift-day time{color:var(--muted);font-size:.85em}.my-shift-line.second{color:var(--ink);font-size:.9rem}.my-shift-times{white-space:nowrap;font-weight:700}.my-shift-block.cancelled{opacity:.8}.my-shift-block.cancelled .my-shift-title,.my-shift-block.cancelled .my-shift-times{text-decoration:line-through}.line-tag{white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:0 .35rem;font-size:.7rem;font-weight:800;line-height:1.45}.line-tag.status{color:var(--ink);background:#eef2f1}.my-shift-block.cancelled .line-tag.status{color:var(--danger);background:#fbe4e4}.line-tag.holiday{color:#65500d;background:#fff4c9;border-color:#dec56e}.line-tag.holiday.eve{color:#74480d;background:#fff3e5;border-color:#e3c9a8}.manager-tabs{margin-top:1.2rem}.absence-strip{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin-bottom:1rem;padding:.8rem 1.1rem}.absence-strip h2{margin:0 0 .5rem;font-size:1rem}.absence-table{table-layout:fixed;border-collapse:collapse;width:100%}.absence-table th{border-bottom:1px solid var(--border);text-align:start;padding:.3rem .4rem;font-size:.78rem}.absence-table td{vertical-align:top;padding:.4rem}.absence-table td+td,.absence-table th+th{border-inline-start:1px solid var(--border)}.absence-strip ul{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.absence-strip ul li{background:#f3eefa;border-radius:8px;flex-wrap:wrap;gap:.1rem .4rem;padding:.25rem .5rem;font-size:.78rem;display:flex}.absence-days{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.absence-days h3{margin:0 0 .3rem;font-size:.85rem}.request-note{color:#2d5b8a;font-size:.75rem;font-weight:800;display:block}.requests-page{gap:1rem;display:grid}.requests-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.deadline-notice{border:1px solid var(--border);border-inline-start:4px solid var(--brand);background:var(--surface);color:var(--ink);border-radius:10px;margin:0;padding:.65rem .9rem;font-weight:700}.deadline-notice.soon{background:#fff8e8;border-inline-start-color:#d29320}.deadline-notice.locked{border-inline-start-color:var(--muted);background:var(--surface-soft)}.requests-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:1rem 1.2rem}.requests-card h2{margin:0 0 .8rem;font-size:1.1rem}.requests-card h3{color:var(--muted);margin:1rem 0 .5rem;font-size:.85rem}.requests-card h2+h3,.request-group:first-of-type h3{margin-top:0}.requests-week-status{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.4rem 0 0;display:flex}.request-group+.request-group{margin-top:.9rem}.request-group h3{color:var(--ink);font-size:.95rem}.match-badge{color:var(--muted);white-space:nowrap;background:#eceff0;border-radius:999px;flex-shrink:0;align-self:start;padding:.2rem .55rem;font-size:.78rem;font-weight:800}.match-badge.matched{color:var(--brand-dark);background:#dff3ea}.match-badge.mismatched{color:var(--danger);background:#fbe4e4}.request-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.request-actions .primary-button,.request-actions .secondary-button{min-height:2.1rem;padding:.25rem .7rem;font-size:.8rem}.machine-picker{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;display:inline-flex}.request-outcome{flex-basis:100%;margin:0;font-size:.8rem}.match-details{color:var(--danger);font-size:.8rem;font-weight:700}.entry-form{gap:.8rem;display:grid}.remove-assignments{background:#fff8e8;border:1px solid #e3c07a;border-radius:12px;gap:.6rem;padding:.8rem 1rem;display:grid}.remove-assignments p{margin:0;font-weight:700}.entry-form label,.on-behalf-employee{gap:.25rem;font-size:.8rem;font-weight:700;display:grid}.entry-form select,.entry-form input,.on-behalf-employee select{border:1px solid var(--border);background:var(--surface);min-height:2.5rem;color:var(--ink);font:inherit;border-radius:9px;padding:.35rem .6rem}.entry-dates{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.entry-exceptions{border:1px dashed var(--border);border-radius:10px;gap:.5rem;margin:0;padding:.7rem;display:grid}.entry-exceptions legend{padding-inline:.3rem;font-size:.8rem;font-weight:700}.entry-exception{flex-wrap:wrap;gap:.4rem;display:flex}.entry-exceptions .secondary-button,.entries-list .secondary-button,.entries-list .primary-button{min-height:2.3rem;padding:.3rem .75rem;font-size:.8rem}.entry-submit{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.entry-submit .error-message{margin:0}.entry-saved{color:var(--brand);font-weight:800}.entries-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.entries-list li{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.entries-list li>div:first-child{gap:.15rem;display:grid}.entries-list li span{color:var(--muted);font-size:.8rem}.entries-list li.cancelled{opacity:.6}.entry-state{align-items:center;gap:.5rem;display:flex}.entry-badge{border-radius:999px;padding:.15rem .5rem;font-weight:800;font-size:.75rem!important}.entry-badge.pending{background:#fff1c2;color:#6b4e00!important}.entry-badge.approved{background:#dff3ea;color:var(--brand-dark)!important}.entry-badge.rejected{background:#fbe4e4;color:var(--danger)!important}.entry-badge.cancelled{background:#eceff0;color:var(--muted)!important}.taxi-grid{border:1px solid var(--border);background:var(--surface);border-radius:20px;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow-x:auto}.taxi-day-filter{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:auto;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.3rem;margin-bottom:.6rem;padding:.35rem;display:grid}.taxi-day-filter button{background:var(--surface-soft);min-height:2.4rem;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:0 .7rem;font-size:.85rem;font-weight:800}.taxi-day-filter button.active{background:var(--brand);color:#fff}.taxi-day-filter button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.taxi-grid.single-day{grid-template-columns:minmax(0,1fr)}.taxi-grid.single-day .taxi-day{border-inline-end:0}.taxi-grid.single-day .week-day-heading{flex-wrap:wrap;align-items:center;gap:.3rem .6rem;min-height:auto;display:flex}.taxi-grid.single-day .holiday-badge{margin-top:0}.taxi-day{border-inline-end:1px solid var(--border);min-width:10rem}.taxi-day:last-child{border-inline-end:0}.taxi-day .week-day-heading{min-height:7.2rem}.taxi-day ul{gap:.4rem;margin:0;padding:.7rem;list-style:none;display:grid}.taxi-group+.taxi-group{border-top:1px solid var(--border)}.taxi-group h3{color:var(--muted);letter-spacing:.02em;margin:0;padding:.55rem .7rem 0;font-size:.72rem;font-weight:800}.taxi-group ul{padding-top:.35rem}.taxi-day li{background:#eaf6f2;border-inline-start:4px solid #338270;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.15rem .45rem;padding:.45rem .55rem;font-size:.8rem;display:flex}.taxi-row-text{flex-wrap:wrap;align-items:baseline;gap:.15rem .45rem;display:inline-flex}.taxi-night-tag{background:#eef0f8;border-radius:6px;padding:0 .35rem;font-size:.7rem;font-weight:800;color:#3f4a70!important}.taxi-waive-icon{color:#8a9794;width:1.35rem;height:1.35rem;font:inherit;cursor:pointer;background:0 0;border:1px solid #c4cdca;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:auto;padding:0;font-size:.7rem;line-height:1;display:inline-flex}.taxi-waive-icon:hover,.taxi-waive-icon:focus-visible{border-color:var(--muted);color:var(--ink);background:#fff;outline:none}.taxi-waive-icon:disabled{cursor:default;opacity:.5}.taxi-waived-note{color:var(--muted);white-space:nowrap;margin-inline-start:auto;font-size:.72rem;font-weight:700}.taxi-waived-note .link-button{font-size:inherit}.taxi-day ul li.waived{color:var(--muted);background:#f1f3f3;border-inline-start-color:#b8c4c1}.taxi-day ul li.waived .taxi-row-text{opacity:.75;text-decoration:line-through}.taxi-day li.departure{background:#fff6e2;border-inline-start-color:#c98a12}.taxi-day li bdi{font-weight:800}.taxi-day li small{color:var(--muted)}.taxi-day li.empty{color:#91a09c;background:0 0;border:0}.employee-add-form{grid-template-columns:2fr 1fr 1fr 1fr;align-items:end;gap:.8rem;display:grid}.employee-add-form label{gap:.25rem;font-size:.8rem;font-weight:700;display:grid}.employee-add-form input,.employee-add-form select,.employees-table input,.employees-table select{border:1px solid var(--border);background:var(--surface);min-height:2.4rem;color:var(--ink);font:inherit;border-radius:8px;padding:.3rem .55rem}.employee-add-submit{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.8rem;display:flex}.employee-add-submit .error-message{margin:0}.employees-table-wrap{overflow-x:auto}.employees-table{border-collapse:collapse;width:100%;min-width:860px;font-size:.85rem}.employees-table th{border-bottom:2px solid var(--border);color:var(--muted);text-align:start;padding:.5rem;font-size:.75rem}.employees-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.55rem .5rem}.employee-chip{background:var(--surface-soft);color:var(--muted);border-radius:999px;margin-inline-start:.4rem;padding:.1rem .4rem;font-size:.7rem;font-weight:800}.account-state{border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:800}.account-state.yes{color:var(--brand-dark);background:#dff3ea}.account-state.no{color:var(--danger);background:#fbe9e9}.account-state.locked{color:var(--muted);background:#eceff0}.last-sign-in{white-space:nowrap}.last-sign-in.never{color:var(--muted)}.employees-view{margin-bottom:.8rem}.employee-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.employee-actions .primary-button,.employee-actions .secondary-button{min-height:2.2rem;padding:.3rem .7rem;font-size:.78rem}.employee-actions .whatsapp-link{align-items:center;min-height:2.2rem;padding:.3rem .7rem;font-size:.78rem;text-decoration:none;display:inline-flex}.password-form{flex-wrap:wrap;gap:.4rem;display:flex}.password-form input{border:1px solid var(--border);width:11rem;min-height:2.2rem;font:inherit;border-radius:8px;padding:.3rem .55rem}.employee-error{color:var(--danger);font-size:.78rem;font-weight:700}.pending-badge{color:#6b4e00;text-overflow:ellipsis;background:#fff8e8;border:1px dashed #c98a12;border-radius:7px;width:fit-content;max-width:100%;padding:.25rem .45rem;font-size:.68rem;font-weight:800;overflow:hidden}.pending-details{gap:.3rem;display:grid}.pending-note{font-style:italic;color:var(--ink)!important}.entries-list li.cancelled-approved{background:#fff5f5;border-color:#e3a3a3}.cancelled-approved-mark{color:var(--danger);font-size:.85rem}.requests-week-status .requests-cancelled-toggle{min-height:2rem;padding:.2rem .8rem;font-size:.8rem}.pending-weeks-title{color:var(--muted);margin-top:.2rem;font-size:.78rem;font-weight:800}.pending-weeks{gap:.25rem;margin:.2rem 0 0;padding:0;list-style:none;display:grid}.entries-list .pending-weeks li{border:0;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;padding:0;display:flex}.week-status{background:#eceff0;border-radius:999px;padding:.1rem .45rem;font-weight:800}.week-status.draft{background:#fff1c2;color:#6b4e00!important}.week-status.published{background:#dff3ea;color:var(--brand-dark)!important}.week-status.reopened{background:#fde8cf;color:#7a3b00!important}.link-button{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:800;text-decoration:underline}.pending-assigned{font-weight:700}.pending-assigned.has-assignments{color:#7a3b00!important}.password-dialog{width:min(440px,100vw - 2rem)}.password-change-form{gap:.8rem;display:grid}.password-change-form label{gap:.3rem;font-size:.85rem;font-weight:700;display:grid}.password-change-form input{border:1px solid var(--border);min-height:2.6rem;font:inherit;border-radius:10px;padding:.4rem .7rem}.password-change-form .error-message{margin:0}.password-change-actions{gap:.6rem;display:flex}.forced-password-card{text-align:start;gap:1rem;display:grid}.forced-password-card h1{font-size:1.8rem}.forced-password-signout{justify-content:flex-end;display:flex}.personal-picker{align-items:center;gap:.5rem;margin-top:.7rem;font-size:.85rem;font-weight:800;display:inline-flex}.personal-picker select{border:1px solid var(--border);background:var(--surface);min-height:2.4rem;color:var(--ink);font:inherit;border-radius:9px;padding:.3rem .6rem;font-weight:600}.personal-view{gap:.8rem;display:grid}.personal-view-header{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.personal-view-header h2{margin:0;font-size:1.25rem}.personal-view-header .secondary-button{margin-inline-start:auto}.personal-draft{color:#6b4e00;background:#fff8e8;border:1px dashed #c98a12;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:800}.hours-kinds{margin:.8rem 0 0}.hours-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.8rem;font-weight:700;display:flex}.hours-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.hours-metric{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer;border-radius:14px;gap:.3rem;padding:.9rem 1rem;display:grid}.hours-metric span{color:var(--muted);font-size:.8rem;font-weight:800}.hours-metric strong{font-size:1.7rem}.hours-metric.overtime strong{color:#9a5a00}.hours-metric.active{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}.hours-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow-x:auto}.hours-table{border-collapse:collapse;width:100%;min-width:700px;font-size:.85rem}.hours-table th,.hours-table td{border-bottom:1px solid var(--border);text-align:start;padding:.55rem .7rem}.hours-table th{color:var(--muted);font-size:.75rem}.hours-table tr.clickable{cursor:pointer}.hours-table tr.clickable:hover{background:#f6faf8}.hours-table td.overtime{color:#9a5a00;font-weight:800}.hours-detail{gap:.6rem;display:grid}.hours-detail h3{margin:.4rem 0 0;font-size:1rem}.hours-absences{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.hours-absences li{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:.3rem .9rem;padding:.5rem .7rem;display:flex}.update-banner{z-index:50;inset-inline:1rem;background:var(--ink);color:#fff;width:fit-content;max-width:calc(100vw - 2rem);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem 1rem;margin-inline:auto;padding:.75rem 1rem;font-weight:700;display:flex;position:fixed;bottom:1rem}.update-banner .primary-button{min-height:2.3rem;color:var(--ink);background:#fff;padding:.35rem .9rem}.publish-bar{border:1px solid var(--border);background:var(--surface);border-inline-start:6px solid #8a9a96;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.5rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.publish-bar.published{border-inline-start-color:var(--brand);background:#eef8f4}.publish-bar.reopened{background:#fff8e8;border-inline-start-color:#c98a12}.publish-state{gap:.25rem;display:grid}.publish-state strong{font-size:1.15rem}.publish-state small{color:var(--muted);font-weight:700}.publish-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.open-alerts{color:var(--muted);font-size:.85rem;font-weight:800}.open-alerts.has-alerts{color:#7a3b00}.publish-bar .error-message{flex-basis:100%;margin:0}.week-board{gap:1.25rem;display:grid}.machine-week-section,.manager-presence-section{border:1px solid var(--border);background:var(--surface);border-radius:20px;overflow-x:auto;box-shadow:0 10px 35px #143f3512}.machine-week-section>h2,.manager-presence-section>h2{width:fit-content;color:var(--ink);margin:0;padding:1rem 1.2rem .85rem;font-size:1.2rem;position:sticky;inset-inline-start:0}.machine-week-grid,.manager-presence-grid{border-top:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));min-width:1100px;display:grid}.machine-day-cell,.manager-presence-grid>article{border-inline-end:1px solid var(--border);min-width:0}.machine-week-grid{grid-template-rows:auto 1fr}.machine-day-cell{grid-row:span 2;grid-template-rows:subgrid;display:grid}.machine-day-cell:last-child,.manager-presence-grid>article:last-child{border-inline-end:0}.week-day-heading{border-bottom:1px solid var(--border);background:#f6faf8;align-content:start;gap:.28rem;min-height:7.2rem;padding:.75rem;display:grid}.week-day-heading strong{color:var(--ink);font-size:.9rem}.week-day-heading time{color:var(--muted);font-size:.78rem;font-weight:700}.holiday-badge{color:#65500d;text-overflow:ellipsis;background:#fff4c9;border:1px solid #dec56e;border-radius:7px;width:fit-content;max-width:100%;margin-top:.2rem;padding:.3rem .45rem;font-size:.68rem;font-weight:800;line-height:1.35;overflow:hidden}.holiday-badge.eve{color:#74480d;background:#fff3e5;border-color:#e3c9a8}.day-shifts{align-content:start;gap:.55rem;min-height:12.5rem;padding:.7rem;display:grid}.week-shift-card{border:0;width:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:#edf4f1;border-inline-start:4px solid #6d8f88;border-radius:10px;gap:.24rem;padding:.7rem;display:grid}.week-shift-card:hover,.week-shift-card:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.week-shift-card.has-alert{box-shadow:inset 0 0 0 2px #d9822b}.alert-mark{color:#b55a00}.assigned-names{gap:.2rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.assigned-names li{background:#ffffffb3;border-radius:6px;padding:.22rem .4rem;font-size:.74rem;font-weight:750;display:grid}.assigned-names li small{color:var(--muted);font-size:.66rem}.assigned-names li.alerted{color:#7a3b00;background:#fdebd6}.assigned-names li.carryover{color:var(--muted);background:#ffffff73;border:1px dashed #17352f38;font-weight:650}.assigned-names li.carryover small{font-size:.64rem}.assigned-names li.empty{color:#91a09c;background:0 0;font-weight:600}.week-alerts{background:#fff6ea;border:1px solid #efc58f;border-radius:16px;padding:.9rem 1.1rem}.week-alerts h2{color:#7a3b00;margin:0 0 .5rem;font-size:1rem}.week-alerts ul{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.week-alerts li{flex-wrap:wrap;gap:.35rem .8rem;font-size:.85rem;display:flex}.assign-dialog{border:1px solid var(--border);background:var(--surface);width:min(760px,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--ink);box-shadow:var(--shadow);border-radius:18px;padding:0;overflow:auto}.assign-dialog::backdrop{background:#0f282373}.assign-dialog-header{z-index:1;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1.2rem;display:flex;position:sticky;top:0}.assign-dialog-header h2{margin:0;font-size:1.2rem}.assign-dialog-header p{color:var(--muted);margin:.3rem 0 0;font-weight:700}.assign-dialog>.error-message{margin:.8rem 1.2rem 0}.assign-section{border-bottom:1px solid var(--border);padding:1rem 1.2rem}.assign-section:last-child{border-bottom:0}.assign-section h3{margin:0 0 .7rem;font-size:1rem}.assigned-list,.available-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.assigned-row{border:1px solid var(--border);background:#f8fbfa;border-radius:12px;gap:.45rem;padding:.75rem;display:grid}.assigned-row-head{justify-content:space-between;gap:.6rem;display:flex}.last-week{color:var(--muted);font-size:.75rem;font-weight:700;display:block}.assign-alert{color:#7a3b00;margin:0;font-size:.8rem;font-weight:800}.assigned-fields{flex-wrap:wrap;align-items:end;gap:.6rem 1rem;display:flex}.assigned-fields label,.copy-shift{gap:.2rem;font-size:.75rem;font-weight:700;display:grid}.assigned-fields fieldset{border:0;gap:.5rem;margin:0;padding:0;display:flex}.assigned-fields legend{margin-bottom:.2rem;font-size:.75rem;font-weight:700}.assign-dialog select,.assign-dialog input[type=time]{border:1px solid var(--border);background:var(--surface);min-height:2.3rem;color:var(--ink);font:inherit;border-radius:8px;padding:.3rem .5rem}.assigned-actions,.shift-actions{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.assign-dialog .primary-button,.assign-dialog .secondary-button{min-height:2.3rem;padding:.35rem .8rem;font-size:.82rem}.available-list li{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.8rem;padding:.5rem .7rem;display:flex}.available-list li.has-note{background:#fff6ea;border-color:#efc58f}.available-note{color:#7a3b00;font-size:.75rem;font-weight:800;display:block}.muted-note{color:var(--muted);margin:0}.week-shift-card.morning{background:#fff7e6;border-inline-start-color:#d29320}.week-shift-card.afternoon{background:#eaf6f2;border-inline-start-color:#338270}.week-shift-card.night{background:#eef0f8;border-inline-start-color:#59658d}.week-shift-card.support{background:#f5edf6;border-inline-start-color:#8d5d91}.week-shift-card strong{font-size:.82rem}.week-shift-card bdi,.week-shift-card span{color:var(--muted);font-size:.72rem;font-weight:700}.week-shift-card.cancelled{opacity:.72;border-inline-start-width:2px;flex-wrap:wrap;align-items:baseline;gap:.2rem .45rem;padding-block:.3rem;display:flex}.week-shift-card.cancelled>strong,.week-shift-card.cancelled>bdi{text-decoration:line-through}.week-shift-card .shift-status{font-weight:800}.week-shift-card.cancelled .shift-status{color:var(--danger)}.week-shift-card.cancelled .assigned-names{flex-wrap:wrap;flex-basis:100%;gap:.2rem;margin:0;display:flex}.week-shift-card.cancelled .assigned-names li{padding:.05rem .35rem;font-size:.68rem}.week-shift-card.hours-changed .changed-hours{color:#6b4e00;background:#fff1c2;border-radius:5px;width:fit-content;padding:0 .3rem;font-weight:800}.week-shift-card.hours-changed .changed-hours:after{content:" ✎"}.shift-status-section{gap:.6rem;display:grid}.shift-status-section h3{margin-bottom:0}.shift-status-now{color:#6b4e00;background:#fff6db;border-radius:10px;margin:0;padding:.5rem .7rem;font-weight:800}.shift-status-now.cancelled{color:var(--danger);background:#fbe9e9}.shift-status-controls{flex-wrap:wrap;align-items:end;gap:.5rem .8rem;display:flex}.shift-status-controls label{gap:.2rem;font-size:.75rem;font-weight:700;display:grid}.no-shifts{color:#91a09c;font-size:.74rem}.no-shifts.absence{color:#6b4a99;font-weight:700}.manager-presence-section{border-color:#b8d3ca;margin-top:.15rem}.manager-presence-grid .week-day-heading{min-height:auto;padding-block:.65rem}.manager-name-list{align-content:start;gap:.4rem;min-height:5.3rem;padding:.7rem;display:grid}.manager-name-list span{background:var(--surface-soft);color:var(--ink);border-radius:8px;padding:.42rem .55rem;font-size:.76rem;font-weight:800}.manager-name-list small{color:#91a09c;font-size:.72rem}@media (width<=800px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.login-card{margin:0;padding:2rem 1.35rem}.identity-page{padding-inline:1rem}.identity-header{min-height:80px}.welcome-panel{margin-top:2rem;padding:1.6rem}.identity-details{grid-template-columns:1fr}.manager-week-page{padding-inline:.75rem}.week-toolbar,.week-not-open{flex-direction:column;align-items:stretch}.week-navigation{grid-template-columns:1fr 1fr;display:grid}.week-navigation button{justify-content:center}.machine-week-grid,.manager-presence-grid{min-width:980px}.requests-layout,.entry-dates,.taxi-grid,.employee-add-form{grid-template-columns:1fr}.hours-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.taxi-day{border-inline-end:0;border-bottom:1px solid var(--border)}.identity-header{align-items:start}}@media (width<=767.98px){.identity-header .header-actions{flex-wrap:wrap;justify-content:flex-end}.identity-header .identity-locale{display:none}.weekly-workspace .week-toolbar h1{font-size:1.5rem}.employee-tabs{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;display:grid}.employee-tabs button{padding:.5rem .3rem;font-size:.84rem}.my-schedule{gap:.4rem}.my-shift-block,.no-shift-day{padding:.45rem .6rem;font-size:.86rem}.my-shift-line.second{font-size:.82rem}.day-jump{z-index:5;border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.3rem;padding:.35rem;display:grid;position:sticky;top:0;box-shadow:0 6px 18px #143f351a}.day-jump button{background:var(--surface-soft);min-height:2.4rem;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:0;font-size:.82rem;font-weight:800}.day-jump button:focus-visible{outline:2px solid var(--brand)}.week-board.phone{gap:.75rem}.phone-day{border:1px solid var(--border);background:var(--surface);border-radius:16px;scroll-margin-top:3.8rem;overflow:hidden}.phone-day .week-day-heading,.taxi-grid.phone .week-day-heading{flex-wrap:wrap;align-items:center;gap:.3rem .6rem;min-height:auto;padding:.6rem .75rem;display:flex}.phone-day .holiday-badge,.taxi-grid.phone .holiday-badge{margin-top:0}.phone-day-machines{background:var(--border);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;display:grid}.phone-machine-cell{background:var(--surface);min-width:0}.phone-machine-cell h3{color:var(--muted);margin:0;padding:.55rem .7rem 0;font-size:.85rem}.phone-machine-cell .day-shifts{min-height:0;padding:.5rem}.phone-day-managers{border-top:1px solid var(--border);color:var(--muted);background:#f6faf8;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;margin:0;padding:.5rem .75rem;font-size:.78rem;font-weight:700;display:flex}.phone-day-managers .manager-name{background:var(--surface-soft);color:var(--ink);border-radius:6px;padding:.15rem .45rem;font-weight:800}.notification-slot .notification-panel{border-inline:0;border-radius:0;width:auto;max-height:60vh;margin-inline:calc(50% - 50vw);position:static;box-shadow:0 8px 18px #143f351a}.notification-slot .notification-panel li{align-items:flex-start}.employee-cards{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.employee-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:.45rem;padding:.7rem .8rem;display:grid}.employee-card-line{flex-wrap:wrap;align-items:center;gap:.35rem .8rem;min-width:0;display:flex}.employee-card-line.primary{justify-content:space-between}.employee-card-name{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.employee-card-number{color:var(--muted);font-weight:800}.employee-card-line.details{color:var(--muted);font-size:.82rem}.employee-card-line.details label{align-items:center;gap:.3rem;display:inline-flex}.employee-card-line.details input,.employee-card-line.details select{border:1px solid var(--border);min-height:2.2rem;font:inherit;border-radius:8px;padding:.2rem .4rem}.employee-card .employee-actions,.employee-card .password-form{flex-wrap:wrap}.employee-card .password-form input{flex:9rem;min-width:0}.taxi-grid.phone{grid-template-columns:1fr;overflow:visible}.taxi-grid.phone .taxi-day{border-inline-end:0;border-bottom:1px solid var(--border);min-width:0;scroll-margin-top:3.8rem}.taxi-grid.phone .taxi-day:last-child{border-bottom:0}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.8s}}
