:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#101828;background:#f1f6fb;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #0b1f3a;--navy-deep: #07162b;--blue: #147ce5;--blue-hover: #0f6ecc;--sky: #dceeff;--aqua: #e8f7ff;--page: #f1f6fb;--surface: #ffffff;--text: #101828;--line: #e4eaf1;--muted: #667085;--white: #fff;--success: #16a36a;--warning: #f2a51a;--danger: #d64545;--off: #7b8794;--radius: 20px;--radius-card: 26px;--radius-small: 18px;--radius-input: 15px;--shadow: 0 14px 36px rgba(11, 31, 58, .07);--shadow-raised: 0 18px 48px rgba(11, 31, 58, .14);--space-page: clamp(1rem, 2.2vw, 2rem);--transition: .18s cubic-bezier(.2, .8, .2, 1);--sidebar-width: 270px;--mobile-nav-height: 76px;--z-nav: 40;--z-modal: 80}*{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}body{margin:0;width:100%;max-width:100%;min-height:100vh;overflow-x:hidden;background:var(--page);color:var(--text)}#root{width:100%;max-width:100%;min-width:0;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled),select:not(:disabled),input[type=checkbox]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}:focus-visible{outline:3px solid rgba(22,118,170,.3);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy-deep);letter-spacing:-.025em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.button{border:1px solid transparent;border-radius:12px;min-height:42px;padding:.65rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.48rem;font-weight:750;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}.button:hover:not(:disabled){transform:translateY(-1px)}.button--primary{color:#fff;background:linear-gradient(135deg,#1683ba,#126993);box-shadow:0 7px 17px #12699333}.button--primary:hover:not(:disabled){background:linear-gradient(135deg,#1273a4,#0c587f)}.button--secondary{color:var(--navy);background:#e5f5fd;border-color:#c6e6f5}.button--secondary:hover:not(:disabled){background:#d4effc}.button--ghost{color:var(--blue-hover);background:transparent;border-color:#cfe4ef}.button--ghost:hover:not(:disabled){background:#eef8fd}.button--danger{color:#9b3239;background:#fff0f1;border-color:#f0cdd0}.button--danger:hover:not(:disabled){background:#ffe5e7}.button svg{flex:0 0 auto}.button-row{display:flex;gap:.65rem;flex-wrap:wrap}.icon-button{width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent}.icon-button:hover{background:#eef5f8}.field{display:flex;flex-direction:column;gap:.38rem;min-width:0}.field__label{color:#294b65;font-size:.87rem;font-weight:750}.input{appearance:none;width:100%;min-height:44px;padding:.68rem .78rem;border:1px solid #cbdde8;border-radius:11px;background:#fff;color:#153650;transition:border .15s,box-shadow .15s}.input:hover:not(:disabled){border-color:#9fc5d9}.input:focus{border-color:#2d91bf;box-shadow:0 0 0 3px #2d91bf1f;outline:0}.input:disabled{background:#f3f7f9;color:#607583}.input--error{border-color:#c6545b}.textarea{min-height:95px;resize:vertical}.field__hint,.field__error{color:var(--muted);font-size:.78rem;line-height:1.45}.field__error{color:var(--danger)}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.check-row{display:flex;align-items:flex-start;gap:.65rem;color:#27465c}.check-row input{width:19px;height:19px;accent-color:var(--blue);flex:0 0 auto;margin-top:2px}.check-row span{display:flex;flex-direction:column;gap:.12rem}.check-row small{color:var(--muted);line-height:1.4}.checkbox-fieldset{border:1px solid var(--line);border-radius:13px;padding:.8rem 1rem 1rem;display:flex;gap:1rem;flex-wrap:wrap}.checkbox-fieldset legend{font-weight:750;color:#294b65;padding:0 .35rem}.checkbox-fieldset label{display:flex;align-items:center;gap:.42rem}.checkbox-fieldset input{width:18px;height:18px;accent-color:var(--blue)}.card{background:#fffffff0;border:1px solid rgba(211,229,239,.95);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow)}.alert{padding:.72rem .85rem;border-radius:12px;display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;line-height:1.5;border:1px solid}.alert svg{flex:0 0 auto;margin-top:.1rem}.alert>div{display:flex;flex-direction:column;gap:.12rem}.alert--info{color:#195777;background:#edf8fe;border-color:#cbe8f5}.alert--success{color:#12654e;background:#eaf8f3;border-color:#c8eadf}.alert--warning{color:#855109;background:#fff8e7;border-color:#f0dfad}.alert--danger{color:#95373d;background:#fff0f1;border-color:#efcdd0}.loading{min-height:230px;display:flex;flex-direction:column;gap:.7rem;justify-content:center;align-items:center;color:var(--muted)}.loading svg{color:var(--blue)}.inline-loading{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:1rem}.empty>svg{width:38px;height:38px;color:#82adc3;margin-bottom:.7rem}.empty h3{margin:0 0 .3rem;font-size:1.03rem}.empty p{max-width:370px;margin:0;font-size:.88rem;line-height:1.5}.skeleton-card span{display:block;height:13px;background:linear-gradient(90deg,#e7f0f5,#f4f8fa,#e7f0f5);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:9px;margin:.65rem 0}.skeleton-card span:first-child{width:40%;height:18px}.skeleton-card span:last-child{width:68%}@keyframes shimmer{to{background-position:-200% 0}}.toast{position:fixed;z-index:200;right:1.2rem;bottom:1.2rem;max-width:min(390px,calc(100vw - 2rem));display:flex;align-items:center;gap:.65rem;padding:.78rem .9rem;border-radius:13px;color:#fff;box-shadow:0 15px 35px #0f2c3e3d;animation:toast-in .2s ease-out}.toast--success{background:#126c54}.toast--danger{background:#9b373e}.toast--info{background:#165f86}.toast span{flex:1;font-size:.9rem}.toast button{display:grid;place-items:center;color:inherit;border:0;background:transparent}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.status,.shift{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:.27rem .54rem;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2;border:1px solid transparent;white-space:nowrap}.status--pending{color:#8a5205;background:#fff5d9;border-color:#f0d992}.status--approved{color:#0f6c52;background:#e5f7f0;border-color:#c2e8da}.status--rejected{color:#993941;background:#fae9eb;border-color:#eecbcf}.status--cancellation_pending,.status--change_pending{color:#7a4b06;background:#fff1ca;border-color:#ead18b}.status--cancelled{color:#65727b;background:#eef1f3;border-color:#dce2e6}.status--superseded{color:#465f75;background:#e8f0f6;border-color:#cfdee8}.shift--sabah{color:#715605;background:#fff6c9;border-color:#f0df7c}.shift--ogle{color:#0c6374;background:#dff8fb;border-color:#afe3e9}.shift--gece{color:#fff;background:#344684;border-color:#2a3c78}.shift--off{color:#53616a;background:#edf1f3;border-color:#d8dfe3}.auth-page,.onboarding-page{min-height:100vh;display:grid;place-items:center;padding:1.2rem;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 8%,#d9f3ff 0 13%,transparent 30%),radial-gradient(circle at 92% 92%,#dffaf5 0 12%,transparent 30%),linear-gradient(145deg,#f9fdff,#eef9ff 56%,#f3fffc)}.auth-page:before{content:"";position:absolute;inset:0;opacity:.28;background-image:radial-gradient(#5ea7c8 1px,transparent 1px);background-size:25px 25px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 60%);mask-image:linear-gradient(to bottom,black,transparent 60%)}.auth-card,.onboarding-card{position:relative;z-index:1;width:min(100%,465px);background:#fffffff0;border:1px solid rgba(197,225,239,.9);border-radius:25px;padding:clamp(1.35rem,4vw,2.25rem);box-shadow:0 24px 70px #19547329;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.onboarding-card{width:min(100%,690px)}.auth-card h1,.onboarding-card h1{font-size:clamp(1.65rem,5vw,2.25rem);margin-bottom:.6rem}.auth-lead,.onboarding-card>p{color:var(--muted);line-height:1.6;margin-bottom:1.4rem}.password-field{position:relative}.password-field .input{padding-right:3.3rem}.password-toggle{position:absolute;right:.45rem;bottom:.32rem;width:38px;height:38px;border:0;background:transparent;border-radius:9px;color:#607b8b;display:grid;place-items:center}.password-toggle svg{width:19px}.auth-note{margin-top:1.35rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:.55rem;color:var(--muted);font-size:.78rem;line-height:1.45}.auth-note svg{flex:0 0 auto;color:#4683a2}.boot-screen,.fatal-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.boot-screen>svg,.fatal-error>svg{width:58px;height:58px;color:var(--blue)}.boot-screen .loading{min-height:auto;margin-top:1rem}.fatal-error p{color:var(--muted);max-width:420px}.offline-banner{position:fixed;left:0;right:0;top:0;z-index:300;background:#6f4609;color:#fff;padding:.52rem 1rem;text-align:center;font-size:.82rem;box-shadow:0 4px 10px #00000026}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:250px;padding:1rem .78rem;background:#fafdfff2;border-right:1px solid #dceaf1;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;flex-direction:column}.sidebar-brand{border:0;background:transparent;display:flex;align-items:center;gap:.7rem;text-align:left;padding:.45rem .5rem 1.2rem}.sidebar-brand>span{display:grid;place-items:center;width:40px;height:40px;color:#fff;background:linear-gradient(145deg,#2aa2d2,#166f9c);border-radius:13px;box-shadow:0 7px 17px #1a78a338}.sidebar-brand>span svg{width:25px}.sidebar-brand strong{color:var(--navy-deep);line-height:1.15;font-size:.98rem}.sidebar nav{display:flex;flex-direction:column;gap:.28rem;overflow-y:auto}.sidebar nav button{position:relative;min-height:43px;border:0;border-radius:11px;padding:.6rem .72rem;background:transparent;display:flex;align-items:center;gap:.7rem;text-align:left;font-weight:650;color:#526b7d}.sidebar nav button svg{width:19px;height:19px}.sidebar nav button:hover{background:#eef7fb;color:#1a6187}.sidebar nav button.active{color:#0d6692;background:#e5f5fd;box-shadow:inset 3px 0 #2793c2}.unread-badge{margin-left:auto;min-width:20px;height:20px;padding:0 .32rem;display:grid;place-items:center;border-radius:10px;color:#fff;background:#c0444c;font-size:.65rem}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:.8rem;padding-top:.75rem;border-top:1px solid var(--line)}.signed-user{display:flex;align-items:center;min-width:0;gap:.55rem}.signed-user>div:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.signed-user strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signed-user span{color:var(--muted);font-size:.7rem}.signed-user>button{width:36px;height:36px;border:0;background:transparent;display:grid;place-items:center;border-radius:9px;color:#718593}.signed-user>button:hover{color:#a43b42;background:#fff0f1}.signed-user>button svg{width:18px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:850;color:#126187;background:#dff3fd;flex:0 0 auto}.avatar--small{width:35px;height:35px;font-size:.72rem}.avatar--large{width:74px;height:74px;font-size:1.5rem}.avatar--team-a{background:#e3efff;color:#285ca0}.avatar--team-b{background:#e2f8f3;color:#18715d}.avatar--team-c{background:#f0e9ff;color:#6746a2}.avatar--team-d{background:#fff0dc;color:#9a5c11}.mobile-header,.bottom-nav{display:none}.app-content{min-height:100vh;margin-left:250px}.page{width:min(100%,1460px);margin:0 auto;padding:1.55rem clamp(1rem,3vw,2.3rem) 3rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.25rem 0 1.35rem}.page-header h1{margin:.12rem 0 .28rem;font-size:clamp(1.7rem,3vw,2.25rem)}.page-header p{margin:0;color:var(--muted);line-height:1.5}.page-header__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.eyebrow{display:block;color:#277eaa;font-size:.7rem;font-weight:850;letter-spacing:.12em}.section-block{margin-top:1.6rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem;margin-bottom:.8rem}.section-heading h2{margin:.12rem 0 0;font-size:1.2rem}.text-link{border:0;background:transparent;color:#126b98;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem;font-weight:750;font-size:.82rem}.text-link:hover{color:#094f73;text-decoration:underline}.cards-grid,.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.summary-grid .card{min-height:175px;display:flex;flex-direction:column}.summary-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;margin-bottom:.7rem}.summary-icon--sabah{background:#fff2aa;color:#80600a}.summary-icon--ogle{background:#d9f5fa;color:#147184}.summary-icon--gece{background:#3d4f8d;color:#fff}.summary-icon--off{background:#e7ecef;color:#5c6971}.summary-grid .card>span{color:var(--muted);font-size:.78rem}.summary-grid .card>strong{font-size:1.55rem;margin:.15rem 0;color:var(--navy-deep)}.summary-grid .card>small{color:var(--muted);margin-top:auto}.balance-title{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted)}.balance-title svg{color:#277eaa;width:20px}.balance-pair{display:flex;margin:.9rem 0 .35rem}.balance-pair>div{width:50%;display:flex;flex-direction:column}.balance-pair>div+div{padding-left:.8rem;border-left:1px solid var(--line)}.balance-pair strong{font-size:1.35rem}.balance-pair span{color:var(--muted);font-size:.72rem}.summary-grid .text-link{margin-top:auto;align-self:flex-start}.big-number{font-size:2rem!important}.quick-card{gap:.55rem}.quick-card .button{width:100%}.handover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.handover{background:linear-gradient(145deg,#fff,#f2faff);border:1px solid #cfe4ef;border-radius:17px;padding:1rem;box-shadow:0 8px 24px #1d547112}.handover__date{display:flex;align-items:center;gap:.4rem;color:#2479a2;font-size:.75rem;font-weight:800;text-transform:uppercase;margin-bottom:.8rem}.handover__route{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto minmax(0,1fr);align-items:center;gap:.55rem}.handover__route+.handover__route{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.handover__route>div{display:flex;flex-direction:column;min-width:0}.handover__route strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.handover__route small{color:var(--muted);font-size:.68rem}.handover__route>svg{color:#6f95aa;width:18px}.handover>p{color:var(--muted);font-size:.8rem;margin:.8rem 0 0}.handover__warning{margin-top:.65rem;padding:.5rem .65rem;color:#855109;background:#fff7df;border-radius:9px;font-size:.76rem}.team-dot{width:29px;height:29px;border-radius:50%;display:inline-grid;place-items:center;flex:0 0 auto;font-size:.75rem;font-weight:900}.team-dot--a{background:#dcecff;color:#285a9c}.team-dot--b{background:#dff6f0;color:#176f5b}.team-dot--c{background:#eee5ff;color:#64429e}.team-dot--d{background:#ffedd8;color:#96590f}.team-dot--none{background:#edf1f3;color:#65727b}.forecast-strip{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:.6rem;overflow-x:auto;padding:.7rem 0 .3rem}.handover--compact{padding:.75rem}.handover--compact .handover__route{grid-template-columns:auto minmax(0,1fr) auto auto minmax(0,1fr);gap:.3rem}.handover--compact .handover__route strong{font-size:.72rem}.dashboard-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.team-status-list,.compact-list{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.team-status{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:.7rem;padding:.8rem .9rem}.team-status+.team-status{border-top:1px solid #e8f0f4}.team-status>div:nth-child(2){display:flex;align-items:center;gap:.5rem}.team-status__numbers{display:flex;flex-direction:column;align-items:flex-end;color:var(--muted);font-size:.72rem}.team-status__numbers b{color:#173c55;font-size:.9rem}.compact-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.75rem .85rem}.compact-list article+article{border-top:1px solid #e8f0f4}.compact-list article>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.compact-list strong{font-size:.82rem}.compact-list article>div span{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-bottom:.8rem}.team-tabs button{border:1px solid #d4e4ed;background:#fff;border-radius:13px;padding:.66rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:750;color:#577082}.team-tabs button>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;background:#edf3f6}.team-tabs button.active{color:#124b6b;border-color:#83bed9;box-shadow:0 5px 14px #1d688b1a}.team-tabs button.active.team-a span{background:#dcecff;color:#285a9c}.team-tabs button.active.team-b span{background:#dff6f0;color:#176f5b}.team-tabs button.active.team-c span{background:#eee5ff;color:#64429e}.team-tabs button.active.team-d span{background:#ffedd8;color:#96590f}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0}.segmented{display:flex;background:#eaf3f8;border-radius:12px;padding:.25rem;gap:.2rem}.segmented button{border:0;background:transparent;border-radius:9px;min-height:37px;padding:.45rem .7rem;display:flex;align-items:center;justify-content:center;gap:.4rem;color:#557083;font-size:.78rem;font-weight:750}.segmented button svg{width:17px}.segmented button.active{background:#fff;color:#126b98;box-shadow:0 3px 10px #1b4e691a}.calendar-nav{display:flex;align-items:center;gap:.35rem}.calendar-nav>button:not(.button){width:36px;height:36px;border:0;border-radius:9px;background:#fff;display:grid;place-items:center}.calendar-nav>button svg{width:18px}.calendar-nav strong{min-width:145px;text-align:center;text-transform:capitalize;font-size:.9rem}.filters{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:.85rem}.filters summary{display:flex;align-items:center;gap:.45rem;padding:.65rem .8rem;font-size:.82rem;font-weight:750;cursor:pointer}.filters summary::marker{color:#5b8da6}.filter-count{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#1676aa;color:#fff;font-size:.65rem}.filters__body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.7rem;align-items:end;padding:.1rem .8rem .8rem}.filters__body .field__label{font-size:.75rem}.month-calendar{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow)}.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row span{padding:.55rem;text-align:center;background:#f3f9fc;color:#60798a;font-size:.72rem;font-weight:800;border-bottom:1px solid var(--line)}.calendar-cell{position:relative;min-height:116px;border:0;border-right:1px solid #e5eef3;border-bottom:1px solid #e5eef3;background:#fff;padding:.42rem;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;overflow:hidden}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell:hover:not(:disabled){background:#f6fbfe}.calendar-cell--dim{background:#f7fafb;color:#9aabb5}.calendar-cell--today{box-shadow:inset 0 0 0 2px #2c96c5}.calendar-cell__day{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:800}.calendar-cell--today .calendar-cell__day{background:#1676aa;color:#fff}.mini-shift,.mini-event,.more-events{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:.17rem .35rem;font-size:.64rem;font-weight:750}.mini-shift--sabah{background:#fff4b6;color:#6f570c}.mini-shift--ogle{background:#dff7fa;color:#126b79}.mini-shift--gece{background:#3d4e89;color:#fff}.mini-shift--off{background:#edf1f3;color:#5b6971}.mini-shift--personal-off{width:100%;overflow:visible;line-height:1.1;text-align:center;text-overflow:clip;white-space:normal}.mini-event--pending{background:#fff0c7;color:#88530a}.mini-event--approved{background:#ddf4ea;color:#126b51}.mini-event--rejected{background:#f9e5e7;color:#953b42}.mini-event--cancellation_pending,.mini-event--change_pending{background:#fff0c7;color:#88530a}.more-events{color:#3f708b;background:#edf6fa}.calendar-leave-name{display:block;width:100%;min-width:0;overflow:hidden;color:#344054;font-size:.64rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.week-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.week-day{background:#fff;border:1px solid var(--line);border-radius:15px;padding:.85rem}.week-day header{display:flex;align-items:center;justify-content:space-between}.week-day header>div{display:flex;flex-direction:column}.week-day header span{color:var(--muted);font-size:.72rem}.week-day header strong{text-transform:capitalize}.week-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.75rem 0}.week-counts span{background:#f5f9fb;border-radius:8px;padding:.45rem;display:flex;flex-direction:column;color:var(--muted);font-size:.67rem}.week-counts b{color:#183e56;font-size:.95rem}.week-counts .remaining{background:#e6f6ef;color:#22634f}.calendar-list{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.calendar-list article{display:grid;grid-template-columns:90px auto minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.75rem}.calendar-list article+article{border-top:1px solid #e8f0f4}.calendar-list time{font-size:.76rem;color:var(--muted)}.calendar-list article>div{display:flex;flex-direction:column}.calendar-list strong{font-size:.84rem}.calendar-list article>div span{font-size:.73rem;color:var(--muted)}.modal-backdrop{position:fixed;z-index:100;inset:0;background:#07233678;display:grid;place-items:center;padding:1rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .14s}.modal{width:min(100%,520px);max-height:min(90vh,850px);background:#fff;border-radius:20px;box-shadow:0 25px 80px #0625394d;display:flex;flex-direction:column;animation:modal-in .18s ease-out}.modal--wide{width:min(100%,760px)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}.modal__header h2{margin:0;font-size:1.15rem}.modal__body{padding:1.1rem;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.2rem}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.day-details__summary{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem;color:var(--muted);font-size:.85rem}.day-handover{display:flex;flex-direction:column;gap:.28rem;margin-bottom:.85rem;padding:.8rem;border:1px solid #cde6f1;border-radius:12px;background:linear-gradient(135deg,#f0faff,#f0fcf8)}.day-handover>strong{color:var(--navy)}.day-handover p,.day-handover small{margin:0;color:var(--muted);line-height:1.45}.day-handover p{font-size:.78rem}.day-handover small{color:#855109;font-size:.72rem}.people-shifts{border:1px solid var(--line);border-radius:13px;overflow:hidden}.people-shifts article{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(120px,.8fr);align-items:center;gap:.6rem;padding:.6rem .7rem}.people-shifts article+article{border-top:1px solid #e9f0f3}.people-shifts article>div{display:flex;flex-direction:column}.people-shifts strong{font-size:.8rem}.people-shifts article>div span{font-size:.68rem;color:var(--muted)}.event-note{font-size:.72rem;color:#48697d}.event-card{display:flex;align-items:center;justify-content:space-between;padding:.65rem .1rem;border-bottom:1px solid #e8f0f4}.event-card>div{display:flex;flex-direction:column}.event-card strong{font-size:.83rem}.event-card div span{font-size:.72rem;color:var(--muted)}.private-event-description{max-width:560px;margin-top:.25rem;color:#516b7c;font-size:.7rem;line-height:1.4}.request-tabs{width:max-content;margin-bottom:1rem}.request-tabs button span{min-width:20px;height:20px;border-radius:10px;background:#dcebf2;display:grid;place-items:center;font-size:.65rem}.request-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.request-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.9rem;box-shadow:0 7px 20px #1d4d670d}.request-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem}.request-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#e8f6fc;color:#1875a0}.request-icon svg{width:20px}.request-card header>div:nth-child(2){display:flex;flex-direction:column}.request-card header strong{font-size:.9rem}.request-card header span{font-size:.72rem;color:var(--muted)}.request-card dl{display:flex;flex-wrap:wrap;gap:1rem;border-top:1px solid #e8f0f4;border-bottom:1px solid #e8f0f4;margin:.75rem 0;padding:.65rem 0}.request-card dl>div{display:flex;flex-direction:column}.request-card dt{font-size:.65rem;color:var(--muted)}.request-card dd{margin:0;font-size:.78rem;font-weight:750}.private-description{font-size:.79rem;color:#455f71;background:#f5f9fb;border-radius:9px;padding:.55rem .65rem;line-height:1.45}.private-description span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#738b9a;font-weight:800;margin-bottom:.15rem}.request-card footer{display:flex;justify-content:flex-end;gap:.45rem}.request-card footer .button{min-height:36px;padding:.45rem .65rem;font-size:.76rem}.preview-box{border:1px solid #cde6f1;background:#f3fbfe;border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.55rem}.preview-box>div:not(.alert){display:flex;justify-content:space-between;gap:.8rem;font-size:.8rem}.preview-box>div span{color:var(--muted)}.current-shift{border:1px solid var(--line);background:#f6fafc;border-radius:12px;padding:.75rem;display:flex;flex-direction:column}.current-shift span{font-size:.72rem;color:var(--muted)}.current-shift strong{font-size:1.1rem}.current-shift small{color:#855109;margin-top:.35rem}.inline-filters,.directory-filters{display:flex;gap:.7rem;align-items:flex-end;margin:1rem 0}.inline-filters .field,.directory-filters .field{min-width:180px}.approval-groups>section>h2{font-size:.9rem;display:flex;align-items:center;gap:.4rem;margin:1.1rem 0 .55rem;color:#46677b}.approval-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:.85rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:start;margin-bottom:.6rem}.approval-card__identity{display:flex;align-items:center;gap:.6rem}.approval-card__identity>div{display:flex;flex-direction:column}.approval-card__identity strong{font-size:.88rem}.approval-card__identity span{color:var(--muted);font-size:.73rem}.approval-card .private-description{grid-column:1/-1;margin:0}.approval-card footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.5rem;border-top:1px solid #e7eff3;padding-top:.65rem}.approval-card footer .button{min-height:37px;padding:.45rem .75rem}.notification-filter{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}.notification-filter label{display:flex;align-items:center;gap:.45rem;color:#536f81;font-size:.82rem}.notification-filter input{width:18px;height:18px;accent-color:var(--blue)}.notification-list{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.notification-item{position:relative;width:100%;border:0;background:#f5fbfe;padding:.8rem .9rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;text-align:left}.notification-item+.notification-item{border-top:1px solid #e2edf2}.notification-item:hover{background:#edf8fd}.notification-item--read{background:#fff}.notification-item__icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dff2fb;color:#1676aa}.notification-item--read .notification-item__icon{background:#eef2f4;color:#71838d}.notification-item__icon svg{width:18px}.notification-item__content{display:flex;flex-direction:column;gap:.15rem}.notification-item__content strong{font-size:.84rem}.notification-item__content>span{font-size:.76rem;color:#4e697b;line-height:1.4}.notification-item__content time{font-size:.66rem;color:#8496a1}.notification-item>i{position:absolute;width:8px;height:8px;border-radius:50%;background:#d0444d;right:.45rem;top:.45rem}.search-field{height:44px;min-width:250px;display:flex;align-items:center;gap:.5rem;border:1px solid #cbdde8;border-radius:11px;background:#fff;padding:0 .75rem}.search-field:focus-within{border-color:#2d91bf;box-shadow:0 0 0 3px #2d91bf1f}.search-field svg{width:18px;color:#708897}.search-field input{min-width:0;flex:1;border:0;outline:0;color:#173b53;background:transparent}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.person-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.85rem;display:flex;flex-direction:column;box-shadow:0 7px 20px #1d4d670a}.person-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;border-bottom:1px solid #e7eff3;padding-bottom:.7rem}.person-card header>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.person-card header strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-card header span{font-size:.7rem;color:var(--muted)}.person-card dl{margin:.65rem 0;display:flex;flex-direction:column;gap:.38rem}.person-card dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.5rem}.person-card dt{display:flex;align-items:center;gap:.28rem;color:var(--muted);font-size:.69rem}.person-card dd{margin:0;font-size:.74rem;font-weight:650}.phone-link,.phone-empty{margin-top:auto;border-radius:9px;padding:.5rem .6rem;display:flex;align-items:center;gap:.4rem;font-size:.76rem}.phone-link{background:#e8f7f2;color:#126c52;text-decoration:none;font-weight:750}.phone-empty{background:#f2f5f7;color:#74858e}.profile-hero{background:linear-gradient(130deg,#e0f4ff,#e5faf6);border:1px solid #cce6ef;border-radius:19px;padding:1.1rem;display:flex;align-items:center;gap:.9rem;margin-bottom:.9rem}.profile-hero h2{margin:0 0 .18rem}.profile-hero>div:nth-child(2)>span{color:var(--muted);font-size:.8rem}.profile-badges{display:flex;gap:.35rem;margin-top:.45rem}.profile-badges b{padding:.2rem .42rem;border-radius:6px;background:#ffffffbf;font-size:.65rem;color:#266078}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.profile-grid .card h2{font-size:1rem;display:flex;align-items:center;gap:.45rem}.profile-grid .card h2 svg{width:20px;color:#277ea9}.balance-current{display:flex;margin-bottom:1rem;border-radius:12px;background:#f3f9fc;padding:.7rem}.balance-current>div{width:50%;display:flex;flex-direction:column}.balance-current>div+div{padding-left:.75rem;border-left:1px solid var(--line)}.balance-current span{font-size:.7rem;color:var(--muted)}.balance-current strong{font-size:1.2rem}.profile-info-card dl{margin:0}.profile-info-card dl>div{display:flex;justify-content:space-between;gap:.7rem;padding:.6rem 0;border-bottom:1px solid #e8f0f4}.profile-info-card dt{color:var(--muted);font-size:.78rem}.profile-info-card dd{margin:0;font-size:.8rem;font-weight:750;text-align:right}.management-tabs{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.35rem;border-bottom:1px solid var(--line)}.management-tabs button{border:0;background:transparent;padding:.6rem .75rem;border-radius:10px;display:flex;align-items:center;gap:.4rem;color:#5c7484;font-weight:750;white-space:nowrap}.management-tabs button svg{width:18px}.management-tabs button.active{color:#116b97;background:#e5f5fd}.management-panel{margin-top:1rem;background:#fff;border:1px solid var(--line);border-radius:17px;padding:1rem;min-height:300px;box-shadow:var(--shadow)}.management-filter{max-width:220px;margin-bottom:.8rem}.management-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem}.management-actions>span{color:var(--muted);font-size:.8rem}.management-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.management-table{width:100%;border-collapse:collapse;min-width:850px}.management-table th{text-align:left;color:#617989;background:#f5f9fb;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:.65rem}.management-table td{padding:.65rem;font-size:.76rem;border-top:1px solid #e7eff3;vertical-align:middle}.table-person{display:flex;align-items:center;gap:.5rem}.table-person>div{display:flex;flex-direction:column}.table-person strong{font-size:.78rem}.table-person span{font-size:.66rem;color:var(--muted)}.table-actions{display:flex;justify-content:flex-end;gap:.25rem}.table-actions .button{min-height:33px;padding:.35rem .5rem;font-size:.68rem}.temporary-pin{text-align:center;display:flex;flex-direction:column;gap:1rem}.temporary-pin>strong{font-size:2.4rem;letter-spacing:.28em;color:var(--navy);padding-left:.28em}.delegation-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.delegation-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.75rem}.delegation-list article+article{border-top:1px solid #e7eff3}.delegation-list article>div{display:flex;flex-direction:column}.delegation-list strong{font-size:.82rem}.delegation-list article>div span{color:var(--muted);font-size:.72rem}.delegation-list .button{min-height:34px;padding:.35rem .6rem;font-size:.7rem}.export-form{display:flex;flex-direction:column;gap:1rem}.export-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.export-types label{padding:.55rem;background:#f6fafc;border-radius:9px}.export-types svg{width:18px;color:#347b9c}.export-form>.button,.settings-form>.button{align-self:flex-start}.settings-form{max-width:600px}.audit-list{border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-top:.8rem}.audit-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;padding:.7rem}.audit-list article+article{border-top:1px solid #e7eff3}.audit-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e9f6fc;color:#267ea8}.audit-icon svg{width:17px}.audit-list article>div{display:flex;flex-direction:column}.audit-list strong{font-size:.8rem}.audit-list article>div span{color:#536f80;font-size:.7rem}.audit-list article>div small{color:var(--muted);font-size:.65rem;word-break:break-word;margin-top:.2rem}.audit-list time{color:var(--muted);font-size:.67rem;white-space:nowrap}.mobile-menu-backdrop,.mobile-menu{display:none}@media(max-width:1180px){.summary-grid,.cards-grid,.directory-grid,.export-types{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){input,select,textarea,.input{font-size:16px}.app-shell,.app-content,.page,.auth-page,.onboarding-page,.modal,.bottom-sheet{max-width:100%;min-width:0}.sidebar{display:none}.mobile-header{position:sticky;z-index:25;top:0;height:58px;padding:0 .9rem;display:flex;align-items:center;justify-content:space-between;background:#fafdfff0;border-bottom:1px solid #dceaf1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-brand{min-width:0;border:0;background:transparent;display:flex;align-items:center;gap:.45rem}.mobile-brand svg{color:#1676aa}.mobile-brand strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65vw}.notification-button{position:relative;width:39px;height:39px;display:grid;place-items:center;border:0;border-radius:50%;background:#edf7fc;color:#1b6f98}.notification-button svg{width:20px}.notification-button b{position:absolute;right:-2px;top:-2px;min-width:18px;height:18px;padding:0 .25rem;border-radius:9px;display:grid;place-items:center;background:#c43e48;color:#fff;font-size:.58rem}.app-content{margin-left:0;padding-bottom:68px}.page{padding-top:1.15rem}.bottom-nav{position:fixed;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;height:64px;padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:#fffffff5;border-top:1px solid #d6e7ef;box-shadow:0 -8px 22px #14435c14;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.bottom-nav button{position:relative;border:0;background:transparent;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#718592;font-size:.59rem;font-weight:750}.bottom-nav button>span{position:relative;display:grid;place-items:center}.bottom-nav button svg{width:20px;height:20px}.bottom-nav button.active{color:#0d6d9c;background:#edf8fd}.bottom-nav button b{position:absolute;left:13px;top:-6px;min-width:17px;height:17px;padding:0 .2rem;display:grid;place-items:center;border-radius:9px;color:#fff;background:#c43e48;font-size:.53rem}.mobile-menu-backdrop{position:fixed;z-index:80;inset:0;display:flex;align-items:flex-end;background:#07233673}.mobile-menu{width:100%;display:flex;flex-direction:column;gap:.75rem;background:#fff;border-radius:22px 22px 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #06253940;animation:sheet-in .2s ease-out}.mobile-menu header{display:flex;align-items:center;justify-content:space-between}.mobile-menu nav{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.mobile-menu nav button{border:1px solid var(--line);background:#f8fbfd;border-radius:12px;padding:.72rem;display:flex;align-items:center;gap:.55rem;font-weight:700}.mobile-menu nav button svg{width:19px;color:#1a779f}@keyframes sheet-in{0%{transform:translateY(100%)}}.toast{bottom:75px}.dashboard-columns{grid-template-columns:1fr}.calendar-toolbar{align-items:flex-start}.filters__body{grid-template-columns:repeat(2,1fr)}.handover__route strong{max-width:130px}.directory-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.page{padding-left:.75rem;padding-right:.75rem}.page-header{align-items:flex-start;flex-direction:column}.page-header__actions{width:100%}.page-header__actions>.button,.page-header__actions>.button-row{flex:1}.page-header__actions .button-row .button{flex:1}.page-header h1{font-size:1.65rem}.form-grid{grid-template-columns:1fr}.summary-grid,.cards-grid{grid-template-columns:1fr 1fr;gap:.6rem}.summary-grid .card{min-height:155px;padding:.85rem}.summary-grid .quick-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.quick-card>span{grid-column:1/-1}.handover-grid{grid-template-columns:1fr}.handover__route{grid-template-columns:auto minmax(0,1fr) auto auto minmax(0,1fr)}.handover__route strong{max-width:100px}.team-status{grid-template-columns:auto minmax(0,1fr)}.team-status__numbers{grid-column:2;align-items:flex-start}.team-tabs{gap:.3rem}.team-tabs button{font-size:0;padding:.5rem}.team-tabs button>span{font-size:.75rem;width:31px;height:31px}.calendar-toolbar{flex-direction:column;gap:.6rem}.segmented{width:100%}.segmented button{flex:1;padding:.4rem;font-size:.7rem}.calendar-nav{width:100%;justify-content:space-between}.calendar-nav strong{min-width:auto}.filters__body{grid-template-columns:1fr}.weekday-row span{padding:.4rem .15rem;font-size:.65rem}.calendar-cell{min-height:82px;padding:.25rem}.calendar-cell__day{width:21px;height:21px;font-size:.68rem}.mini-shift,.mini-event,.more-events{font-size:.55rem;padding:.12rem .23rem}.mini-event{width:100%;height:7px;padding:0;font-size:0;border-radius:4px}.more-events{font-size:.52rem}.week-view{grid-template-columns:1fr}.week-counts{grid-template-columns:repeat(4,1fr)}.calendar-list article{grid-template-columns:60px auto minmax(0,1fr) auto;padding:.6rem;gap:.45rem}.calendar-list article>.text-link{display:none}.request-list{grid-template-columns:1fr}.request-tabs{width:100%}.request-tabs button{flex:1}.inline-filters,.directory-filters{align-items:stretch;flex-direction:column}.search-field{min-width:0;width:100%}.inline-filters .field,.directory-filters .field{min-width:0}.directory-grid,.profile-grid{grid-template-columns:1fr}.profile-hero{align-items:flex-start}.profile-hero .avatar--large{width:58px;height:58px}.management-panel{padding:.7rem}.export-types{grid-template-columns:1fr}.delegation-list article{grid-template-columns:auto minmax(0,1fr) auto}.delegation-list .button{grid-column:2/-1;justify-self:start}.audit-list article{grid-template-columns:auto minmax(0,1fr)}.audit-list time{grid-column:2}.people-shifts article{grid-template-columns:minmax(0,1fr) auto}.people-shifts .event-note{grid-column:1/-1}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:93vh;border-radius:21px 21px 0 0}.modal__body{padding:.9rem}.modal-actions .button{flex:1}.toast{left:1rem;right:1rem}.notification-item{padding:.7rem}.notification-item__content>span{font-size:.72rem}}@media(max-width:420px){.summary-grid{grid-template-columns:1fr}.summary-grid .quick-card{grid-column:auto}.handover__route{gap:.32rem}.handover__route strong{max-width:72px;font-size:.7rem}.handover__route small{font-size:.58rem}.handover__route>svg{width:14px}.team-dot{width:25px;height:25px;font-size:.65rem}.week-counts{grid-template-columns:repeat(3,1fr)}.calendar-nav .button{padding:.5rem}.profile-hero{flex-direction:column}.notification-filter{align-items:flex-start;gap:.4rem;flex-direction:column}.notification-filter .button{align-self:flex-end}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:more){:root{--line: #9db4c2}.button--primary{background:#075d88}.muted,.field__hint{color:#425b6b}}::selection{color:#fff;background:var(--blue)}body{font-size:15px;line-height:1.55}h1,h2,h3{color:var(--text);line-height:1.15}h1{font-weight:720}h2{font-weight:700}h3{font-weight:680}:focus-visible{outline:3px solid rgba(20,124,229,.3);outline-offset:3px}.skip-link{position:fixed;z-index:120;top:.75rem;left:.75rem;padding:.7rem 1rem;color:#fff;background:var(--blue);border-radius:12px;transform:translateY(-160%);transition:transform var(--transition)}.skip-link:focus{transform:translateY(0)}.button{min-height:50px;padding:.78rem 1.15rem;border-radius:16px;font-size:.94rem;font-weight:700;transition:transform var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition)}.button:active:not(:disabled){transform:scale(.98)}.button--primary{color:#fff;background:var(--blue);box-shadow:0 10px 22px #147ce538}.button--primary:hover:not(:disabled){background:var(--blue-hover);box-shadow:0 13px 28px #147ce540}.button--secondary{color:#075fae;background:#eaf5ff;border-color:#c5e2fb;box-shadow:none}.button--secondary:hover:not(:disabled){background:#dceeff}.button--ghost{color:#344054;background:#fff;border-color:var(--line)}.button--ghost:hover:not(:disabled){color:var(--blue);background:#f5faff}.button--danger{color:#b42318;background:#fff4f3;border-color:#fecdca}.icon-button{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:background var(--transition),transform var(--transition)}.icon-button:active{transform:scale(.96)}.field{gap:.48rem}.field__label,.duration-field legend{color:#344054;font-size:.84rem;font-weight:680}.input{min-height:52px;padding:.82rem .95rem;color:var(--text);background:#f8fafc;border:1px solid #d9e2ec;border-radius:var(--radius-input);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.input:hover:not(:disabled){border-color:#bdcbd9}.input:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px #147ce51a}.textarea{min-height:112px;resize:vertical}.field__hint{color:var(--muted);font-size:.76rem}.field__error{color:var(--danger);font-size:.78rem;font-weight:600}.form-stack{gap:1.15rem}.form-grid{gap:1rem}.check-row{min-height:54px;padding:.65rem .75rem;border-radius:14px;background:#f8fafc}.check-row input{accent-color:var(--blue);width:19px;height:19px}.card,.section-block,.request-card,.notification-item,.directory-card,.management-panel,.profile-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow)}.card{padding:1.25rem}.alert{padding:.85rem .95rem;border-radius:16px;font-size:.86rem;border-width:1px}.alert--info{color:#075985;background:#eef8ff;border-color:#c5e8ff}.alert--success{color:#067647;background:#ecfdf3;border-color:#abefc6}.alert--warning{color:#7a4d00;background:#fff8e5;border-color:#f8d98b}.alert--danger{color:#b42318;background:#fff1f0;border-color:#fecdca}.status,.shift{min-height:25px;padding:.25rem .58rem;gap:.25rem;border-radius:999px;font-size:.69rem;font-weight:720;letter-spacing:.01em}.status--pending{color:#8a5400;background:#fff4d6;border-color:#f5cd68}.status--approved{color:#067647;background:#e9fbf2;border-color:#a6eccb}.status--rejected{color:#b42318;background:#fff0ef;border-color:#f8c7c4}.shift--sabah{color:#735800;background:#fff4bf;border-color:#efd36b}.shift--ogle{color:#08657a;background:#dff8ff;border-color:#9fdfee}.shift--gece{color:#fff;background:#344a91;border-color:#344a91}.shift--off{color:#46515c;background:#edf1f4;border-color:#d4dbe1}.empty{min-height:220px;padding:2rem 1.25rem;border:1px dashed #cbd7e3;border-radius:var(--radius-card);background:#ffffffad}.empty>svg{color:#86b9dd;width:42px;height:42px}.loading{min-height:180px;color:var(--blue)}.skeleton-card{overflow:hidden;background:#fff}.skeleton-card span{background:linear-gradient(90deg,#edf2f7,#f8fafc,#edf2f7);background-size:200% 100%}.brand-logo{display:inline-flex;align-items:center;gap:.72rem;min-width:0;text-align:left}.brand-logo__icon{width:46px;height:46px;flex:0 0 auto;border-radius:13px}.brand-logo__copy{display:flex;min-width:0;flex-direction:column;line-height:1.18}.brand-logo__copy strong{max-width:175px;font-size:.94rem;font-weight:720}.brand-logo__copy small{margin-top:.22rem;font-size:.65rem;font-weight:500;opacity:.7}.brand-logo--light{color:#fff}.brand-logo--dark{color:var(--navy)}.brand-logo--compact .brand-logo__icon{width:38px;height:38px;border-radius:11px}.brand-logo--compact .brand-logo__copy strong{max-width:150px;font-size:.78rem}.auth-page{min-height:100svh;padding:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:stretch;overflow-x:hidden;background:var(--page)}.auth-hero{position:relative;isolation:isolate;min-height:100svh;padding:clamp(2rem,5vw,5.5rem);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff;background:radial-gradient(circle at 16% 22%,rgba(37,167,240,.34) 0 2px,transparent 3px) 0 0 / 28px 28px,radial-gradient(circle at 78% 72%,rgba(255,255,255,.09),transparent 34%),linear-gradient(145deg,#07162b,#0b1f3a 56%,#103d68)}.auth-hero:after{content:"";position:absolute;z-index:-1;right:-14%;bottom:-12%;width:min(56vw,620px);aspect-ratio:1;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 54px #ffffff06,0 0 0 108px #ffffff05}.auth-brand{display:flex;align-items:center;gap:1rem}.auth-brand img{width:68px;height:68px;filter:drop-shadow(0 16px 30px rgba(0,0,0,.2))}.auth-brand>div{display:flex;flex-direction:column}.auth-brand strong{color:#fff;font-size:1.04rem;font-weight:720}.auth-brand span{margin-top:0;color:#dceeff;font-size:.92rem;font-weight:620}.auth-hero__copy{position:relative;z-index:1;max-width:640px;margin:auto 0;padding:3rem 0}.auth-kicker{display:block;margin-bottom:1rem;color:#7dd3fc;font-size:.72rem;font-weight:750;letter-spacing:.16em}.auth-hero__copy h1{max-width:620px;margin-bottom:1.15rem;color:#fff;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.055em}.auth-hero__copy p{max-width:570px;margin:0;color:#c6d9ea;font-size:clamp(1rem,1.5vw,1.16rem)}.auth-hero__orbit{display:flex;gap:.55rem}.auth-hero__orbit span{width:34px;height:34px;display:grid;place-items:center;color:#dceeff;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#ffffff0f;font-size:.72rem;font-weight:720}.auth-hero--compact .auth-hero__copy h1{font-size:clamp(2.3rem,4vw,4rem)}.auth-form-shell{padding:clamp(1.5rem,5vw,5rem);display:grid;place-items:center}.auth-card,.onboarding-card{width:min(100%,540px);padding:clamp(1.4rem,4vw,2.4rem);border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow-raised)}.auth-card__heading{margin-bottom:1.4rem}.auth-card__heading h1{max-width:100%;margin:.45rem 0 .8rem;color:var(--navy-deep);font-size:clamp(1.875rem,4.5vw,2.625rem);font-weight:780;line-height:1.08;letter-spacing:-.04em;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.auth-card__heading h2{margin:.35rem 0 .45rem;font-size:clamp(1.65rem,3vw,2.1rem)}.auth-card__heading p{margin-bottom:0}.auth-card__heading--icon{display:flex;align-items:center;gap:.9rem}.auth-step-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;color:var(--blue);border-radius:16px;background:#eaf5ff}.auth-step-icon svg{width:24px}.auth-lead{color:var(--muted);font-size:clamp(1rem,1.35vw,1.1rem);font-weight:450;line-height:1.55}.auth-card .button[type=submit]{width:100%;min-height:54px}.password-toggle{width:44px;height:44px;right:5px;bottom:4px;color:#667085;border-radius:12px}.auth-note{margin-top:1.2rem;padding:.9rem;color:#526273;background:#f7f9fb;border:1px solid var(--line);border-radius:16px}.onboarding-page{min-height:100svh;padding:clamp(1rem,5vw,4rem);background:radial-gradient(circle at 10% 0,#dceeff,transparent 36%),var(--page)}.onboarding-card{width:min(100%,760px)}.app-shell{min-height:100svh;background:var(--page)}.sidebar{width:var(--sidebar-width);padding:1.25rem 1rem;color:#e8f2fb;background:linear-gradient(180deg,var(--navy-deep),var(--navy));border-right:0;box-shadow:14px 0 40px #07162b14}.sidebar-brand{width:100%;min-height:68px;padding:.45rem;border:0;background:transparent;border-radius:16px}.sidebar-brand:hover{background:#ffffff0f}.sidebar .sidebar-brand>.brand-logo{width:auto;height:auto;display:inline-flex;place-items:initial;color:#fff;background:transparent;border-radius:0;box-shadow:none}.sidebar .sidebar-brand>.brand-logo .brand-logo__copy{display:flex}.sidebar .sidebar-brand>.brand-logo strong{color:#fff}.sidebar-nav{display:flex;min-height:0;flex:1;flex-direction:column;overflow-y:auto;padding:.35rem .1rem 1rem}.sidebar-nav__label{margin:1.15rem .75rem .42rem;color:#7595ae;font-size:.64rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.sidebar-nav__item{width:100%;min-height:45px;padding:.62rem .75rem;display:flex;align-items:center;gap:.7rem;color:#bcd0df;border:0;border-radius:13px;background:transparent;font-size:.84rem;font-weight:620;text-align:left;transition:color var(--transition),background var(--transition),transform var(--transition)}.sidebar-nav__item svg{width:19px;height:19px;stroke-width:1.9}.sidebar-nav__item:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.sidebar-nav__item.active{color:#fff;background:linear-gradient(90deg,#25a7f047,#147ce529);box-shadow:inset 3px 0 #25a7f0}.sidebar-nav__item .unread-badge{margin-left:auto;color:#fff;background:#d64545}.sidebar .sidebar-nav .sidebar-nav__item{color:#bcd0df;background:transparent;border-radius:13px}.sidebar .sidebar-nav .sidebar-nav__item:hover{color:#fff;background:#ffffff12}.sidebar .sidebar-nav .sidebar-nav__item.active{color:#fff;background:linear-gradient(90deg,#25a7f047,#147ce529);box-shadow:inset 3px 0 #25a7f0}.sidebar-footer{padding-top:.8rem;border-top:1px solid rgba(255,255,255,.09)}.sidebar-footer>.button{width:100%;margin-bottom:.7rem;color:#dceeff;background:#ffffff12;border-color:#ffffff1f}.signed-user--sidebar{min-width:0;padding:.5rem;gap:.35rem;border-radius:16px;background:#ffffff0e}.signed-user__profile{min-width:0;flex:1;padding:0;display:flex;align-items:center;gap:.58rem;color:inherit;border:0;background:transparent;text-align:left}.signed-user__copy{min-width:0;display:flex;flex-direction:column}.signed-user__copy strong{overflow:hidden;color:#fff;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.signed-user__copy small{color:#91abc0;font-size:.65rem}.signed-user__logout{width:38px;height:38px;display:grid;place-items:center;color:#9fb6c8;border:0;border-radius:12px;background:transparent}.signed-user__logout:hover{color:#fff;background:#ffffff14}.signed-user__logout svg{width:18px}.signed-user--sidebar>.signed-user__profile{width:auto;height:auto;display:flex;place-items:initial;color:inherit;background:transparent}.signed-user--sidebar>.signed-user__logout{width:38px;height:38px;display:grid;color:#9fb6c8;background:transparent}.signed-user--sidebar .signed-user__copy strong{color:#fff}.signed-user--sidebar .signed-user__copy small{color:#91abc0}.signed-user--sidebar .avatar{color:#075fae}.avatar{color:#075fae;background:#dceeff;border:2px solid rgba(255,255,255,.75);font-weight:750}.app-content{min-height:100svh;margin-left:var(--sidebar-width);background:var(--page)}.app-topbar,.bottom-nav{display:none}.page{width:min(100%,1260px);margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem) var(--space-page) 3rem}.page-header{margin-bottom:1.5rem;gap:1rem}.page-header h1{margin-bottom:.45rem;font-size:clamp(1.85rem,3vw,2.55rem)}.page-header p{max-width:720px;color:var(--muted);font-size:.95rem}.eyebrow{color:#0877bf;font-size:.68rem;font-weight:780;letter-spacing:.13em}.section-block{padding:clamp(1rem,2vw,1.45rem)}.section-heading{margin-bottom:1rem}.section-heading h2{margin:.24rem 0 0;font-size:clamp(1.25rem,2vw,1.6rem)}.text-link{color:#0869bb;font-weight:680}.dashboard-page{max-width:1360px}.dashboard-hero{position:relative;min-height:350px;margin-bottom:1.4rem;padding:clamp(1.35rem,3.2vw,2.5rem);overflow:hidden;color:#fff;border-radius:32px;background:linear-gradient(142deg,#07162b,#0b1f3a 62%,#124d7d);box-shadow:0 22px 52px #07162b2e}.dashboard-hero__pattern{position:absolute;inset:0;opacity:.6;background-image:radial-gradient(circle,rgba(255,255,255,.15) 1.2px,transparent 1.4px);background-size:24px 24px;-webkit-mask-image:linear-gradient(115deg,#000,transparent 70%);mask-image:linear-gradient(115deg,#000,transparent 70%)}.dashboard-hero__heading{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-hero__date{color:#8ed6ff;font-size:.72rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.dashboard-hero h1{margin:.32rem 0 .35rem;color:#fff;font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.045em}.dashboard-hero__heading p{margin:0;color:#bdd0e1}.dashboard-refresh{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-shift-card{position:absolute;z-index:1;right:clamp(1.35rem,3.2vw,2.5rem);bottom:clamp(1.35rem,3.2vw,2.5rem);left:clamp(1.35rem,3.2vw,2.5rem);min-height:145px;padding:1.25rem 1.4rem;display:grid;grid-template-columns:auto minmax(0,1.4fr) minmax(150px,.7fr) auto;align-items:center;gap:1rem;color:var(--text);border:1px solid rgba(255,255,255,.65);border-radius:24px;background:#fff;box-shadow:0 20px 38px #00000029}.dashboard-shift-card__icon{width:58px;height:58px;display:grid;place-items:center;color:#fff;border-radius:18px;background:#344a91}.dashboard-shift-card--sabah .dashboard-shift-card__icon{color:#755600;background:#ffe88e}.dashboard-shift-card--ogle .dashboard-shift-card__icon{color:#08657a;background:#bceefa}.dashboard-shift-card--off .dashboard-shift-card__icon{color:#4b5563;background:#e7ebef}.dashboard-shift-card__icon svg{width:28px;height:28px}.dashboard-shift-card__content,.dashboard-shift-card__next{min-width:0;display:flex;flex-direction:column}.dashboard-shift-card__content>span,.dashboard-shift-card__next>span{color:var(--muted);font-size:.75rem;font-weight:620}.dashboard-shift-card__content>strong{margin:.16rem 0;font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.05}.dashboard-shift-card__next{padding-left:1rem;border-left:1px solid var(--line)}.dashboard-shift-card__next strong{margin:.15rem 0;font-size:1.05rem}.dashboard-shift-card small{color:#7a8795}.dashboard-shift-card__mark{width:76px;height:76px;opacity:.11}.dashboard-page>.section-block{margin-top:1.25rem}.dashboard-quick-actions{border:0;box-shadow:none;background:transparent;padding:.15rem 0}.quick-action-card{padding:1rem;display:grid;grid-template-columns:1.2fr 1fr;gap:.75rem;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.quick-action-card .button{min-height:58px}.handover-section{overflow:hidden}.handover-grid{grid-template-columns:1fr}.handover{padding:1.15rem;border-color:var(--line);border-radius:20px;background:#f8fbfe}.handover__date{color:#0877bf}.handover__route{grid-template-columns:auto minmax(0,1fr) auto auto minmax(0,1fr);gap:.65rem}.handover__route strong{max-width:none;color:var(--text);font-size:.91rem;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;line-height:1.25}.handover__route>svg{color:var(--blue)}.handover__warning{color:#7a4d00;background:#fff4d6;border:1px solid #f8d98b;border-radius:14px}.forecast-strip{padding-bottom:.3rem;scrollbar-width:thin}.handover--compact{min-width:220px}.handover--compact .handover__route{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"from-team arrow to-team" "from-name arrow to-name";align-items:start;column-gap:.45rem;row-gap:.3rem}.handover--compact .handover__route>:nth-child(1){grid-area:from-team}.handover--compact .handover__route>:nth-child(2){grid-area:from-name}.handover--compact .handover__route>:nth-child(3){grid-area:arrow;align-self:center}.handover--compact .handover__route>:nth-child(4){grid-area:to-team}.handover--compact .handover__route>:nth-child(5){grid-area:to-name}.handover--compact .handover__route strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word;line-height:1.25}.balance-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.balance-card{position:relative;min-height:150px;padding:1.2rem;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;box-shadow:none}.balance-card__icon{width:48px;height:48px;display:grid;place-items:center;color:var(--blue);border-radius:15px;background:#eaf5ff}.balance-card__icon svg{width:23px}.balance-card>div{display:flex;flex-direction:column}.balance-card>div strong{font-size:clamp(1.25rem,2.5vw,1.8rem)}.balance-card>div span{color:var(--muted)}.balance-card__bar{position:absolute;right:1.2rem;bottom:1.1rem;left:1.2rem;height:5px;overflow:hidden;border-radius:5px;background:#e8edf3}.balance-card__bar i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.balance-card--excuse .balance-card__icon{color:#087b68;background:#e8f9f5}.balance-card--excuse .balance-card__bar i{background:#19a78e}.compact-list article{min-height:66px;padding:.75rem .1rem}.team-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.team-status-grid .team-status{min-width:0;padding:1rem;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;text-align:left;border:1px solid var(--line);border-radius:20px;background:#fff;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.team-status-grid .team-status:hover{transform:translateY(-2px);border-color:#bddcf5;box-shadow:var(--shadow)}.team-status-grid .team-status>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.team-status-grid .team-status__numbers{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding-top:.7rem;border-top:1px solid var(--line)}.pending-card{padding:1rem 1.1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.pending-card__icon{width:54px;height:54px;display:grid;place-items:center;color:var(--blue);border-radius:17px;background:#eaf5ff}.pending-card>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.65rem}.pending-card>div .eyebrow{grid-column:1/-1}.pending-card>div strong{font-size:2rem}.pending-card>div p{margin:0;color:var(--muted)}.team-tabs{padding:.28rem;gap:.2rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.team-tabs button{min-height:52px;border:0;border-radius:14px;color:#667085;background:transparent}.team-tabs button>span{width:32px;height:32px}.team-tabs button.active{color:var(--blue);background:#eaf5ff;box-shadow:none}.calendar-toolbar{padding:.7rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.segmented{padding:.25rem;border:0;border-radius:14px;background:#edf2f7}.segmented button{min-height:40px;border-radius:11px;color:#667085}.segmented button.active{color:#075fae;background:#fff;box-shadow:0 3px 10px #0b1f3a14}.calendar-nav>button:not(.button){width:42px;height:42px;border-radius:13px;background:#f5f8fb}.filters{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:none}.filters summary{min-height:52px;padding:.75rem 1rem}.month-calendar{overflow:hidden;border-color:var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.weekday-row{background:#f7f9fc}.weekday-row span{color:#667085;font-weight:700}.calendar-cell{min-height:118px;padding:.48rem;background:#fff;border-color:var(--line)}.calendar-cell:hover:not(:disabled){z-index:1;background:#f6fbff;box-shadow:inset 0 0 0 2px #b9dcf7}.calendar-cell--today{background:#f0f8ff;box-shadow:inset 0 0 0 2px var(--blue)}.calendar-cell--today .calendar-cell__day{color:#fff;background:var(--blue)}.mini-shift{border-radius:8px;font-weight:700}.mini-event{border-radius:8px}.week-day,.calendar-list article{border-color:var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.day-handover{padding:1rem;border-radius:18px;background:#edf7ff}.people-shifts article,.event-card{border-color:var(--line);border-radius:16px}.request-tabs{margin-bottom:1.1rem}.request-list{gap:1rem}.request-card{padding:1.15rem}.request-card header{gap:.75rem}.request-icon{color:var(--blue);background:#eaf5ff;border-radius:15px}.request-card dl{padding:.8rem;border-radius:16px;background:#f7f9fc}.request-card footer{padding-top:.9rem;border-top:1px solid var(--line)}.duration-field{min-width:0;margin:0;padding:0;border:0}.duration-field legend{margin-bottom:.48rem}.duration-segmented{min-height:52px;padding:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border:1px solid #d9e2ec;border-radius:var(--radius-input);background:#f2f5f8}.duration-segmented button{min-width:0;padding:.45rem .4rem;color:#667085;border:0;border-radius:11px;background:transparent;font-size:.78rem;font-weight:680}.duration-segmented button.active{color:#075fae;background:#fff;box-shadow:0 3px 12px #0b1f3a17}.duration-segmented button:disabled{opacity:.4}.current-shift,.preview-box{padding:1rem;border:1px solid #cfe5f7;border-radius:18px;background:#f1f9ff}.preview-box>div{padding:.7rem .8rem;border-radius:13px;background:#fff}.preview-box strong{color:var(--navy)}.modal-backdrop{z-index:var(--z-modal);background:#07162ba8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.7);box-shadow:0 28px 70px #07162b47}.modal__header{min-height:74px;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.modal__header h2{font-size:1.25rem}.modal__body{padding:1.2rem}.modal-actions{position:sticky;bottom:-1.2rem;z-index:2;margin:.4rem -1.2rem -1.2rem;padding:1rem 1.2rem calc(1rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.bottom-sheet-backdrop{position:fixed;z-index:var(--z-modal);inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#07162ba8;animation:brand-fade-in .18s ease-out}.bottom-sheet{width:min(100%,520px);max-height:min(86svh,720px);overflow:auto;padding:.6rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom));border-radius:28px;background:#fff;box-shadow:0 -22px 65px #07162b47;animation:brand-sheet-in .2s ease-out}.bottom-sheet__handle{width:44px;height:5px;display:block;margin:0 auto .8rem;border-radius:9px;background:#d2d9e1}.bottom-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.25rem 0 1rem}.bottom-sheet__header h2{margin-bottom:.3rem;font-size:1.35rem}.bottom-sheet__header p{margin:0;color:var(--muted);font-size:.84rem}.request-action-list{display:grid;gap:.7rem}.request-action{min-height:78px;padding:.8rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;text-align:left;border:1px solid var(--line);border-radius:19px;background:#fff}.request-action--primary{border-color:#9fd4fa;background:#edf8ff}.request-action__icon{width:48px;height:48px;display:grid;place-items:center;color:var(--blue);border-radius:15px;background:#dceeff}.request-action__copy{display:flex;min-width:0;flex-direction:column}.request-action__copy strong{font-size:.95rem}.request-action__copy small{color:var(--muted)}.request-action>svg{width:18px;color:#98a2b3}.mobile-account-card{padding:.9rem;display:flex;align-items:center;gap:.8rem;border-radius:18px;background:#f4f8fb}.mobile-account-card>span:last-child{display:flex;flex-direction:column}.mobile-account-card small{color:var(--muted)}.mobile-more-nav{display:grid;gap:.35rem;margin:.8rem 0}.mobile-more-nav button{min-height:52px;padding:.65rem .75rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;text-align:left;border:0;border-radius:14px;background:transparent}.mobile-more-nav button:hover,.mobile-more-nav button.active{color:var(--blue);background:#edf7ff}.mobile-more-nav button svg{width:19px}.mobile-more-nav button svg:last-child{width:16px;color:#98a2b3}.mobile-account-actions{display:grid;gap:.55rem}@keyframes brand-fade-in{0%{opacity:0}}@keyframes brand-sheet-in{0%{transform:translateY(30px);opacity:.75}}.directory-filters,.inline-filters{padding:.75rem;border:1px solid var(--line);border-radius:18px;background:#fff}.directory-card{padding:1rem}.profile-hero{padding:1.25rem}.profile-grid{gap:1rem}.management-tabs{padding:.3rem;overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);scrollbar-width:none}.management-tabs button{flex:0 0 auto;min-height:46px;border-radius:13px;color:#667085}.management-tabs button.active{color:#075fae;background:#eaf5ff}.management-panel{margin-top:1rem;padding:clamp(1rem,2vw,1.45rem)}.notification-item{padding:1rem;transition:transform var(--transition),border-color var(--transition)}.notification-item:hover{transform:translateY(-1px);border-color:#bcdcf4}.notification-item__icon{color:var(--blue);background:#eaf5ff;border-radius:14px}.toast{z-index:110;border-radius:16px;box-shadow:var(--shadow-raised)}.offline-banner{z-index:115;color:#fff;background:#9b6500}.boot-screen,.fatal-error{background:radial-gradient(circle at 50% 25%,#dceeff,transparent 36%),var(--page)}.fatal-error__logo{width:76px;height:76px;margin-bottom:1rem}@media(min-width:861px){.auth-page{grid-template-columns:minmax(0,1fr) minmax(500px,44vw)}.auth-page>.auth-form-shell{width:100%;min-width:0;min-height:100svh;padding:clamp(1.5rem,2.5vw,3rem);display:flex;align-items:center;justify-content:center;overflow-x:hidden;overflow-y:auto}.auth-page>.auth-form-shell>.auth-card{width:100%;max-width:540px;min-width:0;margin:auto}.auth-card__heading,.auth-card .form-stack,.auth-card .field,.auth-card .input,.auth-card .button[type=submit]{width:100%;min-width:0;max-width:100%}}@media(max-width:1180px){:root{--sidebar-width: 236px}.team-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){:root{--mobile-nav-height: 78px}.auth-page{display:block;padding-bottom:2rem;background:var(--page)}.auth-hero{min-height:270px;padding:calc(1.25rem + env(safe-area-inset-top)) max(1.2rem,env(safe-area-inset-right)) 4.2rem max(1.2rem,env(safe-area-inset-left))}.auth-brand img{width:54px;height:54px}.auth-hero__copy{margin-top:2.8rem;padding:0}.auth-hero__copy h1{max-width:520px;font-size:clamp(2.15rem,9vw,3.25rem)}.auth-hero__orbit{display:none}.auth-form-shell{position:relative;z-index:2;margin-top:-3.6rem;padding:0 max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left))}.auth-card{width:min(100%,620px)}.auth-hero--compact{min-height:320px}.sidebar{display:none}.app-content{min-height:100svh;margin-left:0;padding-top:calc(66px + env(safe-area-inset-top));padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 14px)}.app-topbar{position:fixed;z-index:var(--z-nav);top:0;right:0;left:0;height:calc(66px + env(safe-area-inset-top));padding:calc(.55rem + env(safe-area-inset-top)) max(.9rem,env(safe-area-inset-right)) .55rem max(.9rem,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;color:#fff;background:#07162bf7;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #07162b24;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-brand{min-width:0;padding:0;border:0;background:transparent}.app-topbar__actions{display:flex;align-items:center;gap:.45rem}.notification-button,.topbar-avatar{position:relative;width:42px;height:42px;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#ffffff12}.notification-button svg{width:20px}.notification-button b{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;color:#fff;border:2px solid var(--navy-deep);border-radius:10px;background:var(--danger);font-size:.55rem}.topbar-avatar{padding:2px}.topbar-avatar .avatar{width:34px;height:34px;border:0}.bottom-nav{position:fixed;z-index:var(--z-nav);right:0;bottom:0;left:0;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:7px max(5px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;background:#fffffffa;border-top:1px solid var(--line);box-shadow:0 -12px 32px #07162b1c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav__item{min-width:0;height:58px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;color:#5f6b78;border:0;border-radius:12px;background:transparent;font-size:.75rem;font-weight:680}.bottom-nav__item>svg,.bottom-nav__icon-wrap>svg{width:21px;height:21px;stroke-width:2}.bottom-nav .bottom-nav__item.active{color:var(--blue);background:transparent}.bottom-nav__create{overflow:visible}.bottom-nav__create-icon{width:52px;height:52px;margin-top:-26px;display:grid;place-items:center;color:#fff;border:5px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 10px 23px #147ce557}.bottom-nav__create-icon svg{width:24px}.bottom-nav__icon-wrap{position:relative;display:grid;place-items:center}.bottom-nav__icon-wrap b{position:absolute;top:-8px;right:-12px;min-width:17px;height:17px;padding:0 3px;display:grid;place-items:center;color:#fff;border-radius:9px;background:var(--danger);font-size:.5rem}.page{padding:1.15rem 1rem 2rem}.dashboard-page{padding-top:0}.dashboard-hero{margin:0 -1rem 1.25rem;padding:1.3rem 1rem;min-height:346px;border-radius:0 0 30px 30px}.dashboard-shift-card{right:1rem;bottom:1.25rem;left:1rem;grid-template-columns:auto minmax(0,1fr) minmax(110px,.62fr)}.dashboard-shift-card__mark{display:none}.dashboard-shift-card__content>strong{font-size:1.85rem}.team-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-calendar{border-radius:18px}.calendar-cell{min-height:96px}.bottom-sheet-backdrop{padding:0}.bottom-sheet{width:100%;border-radius:28px 28px 0 0}}@media(max-width:640px){body{font-size:14px}.brand-logo--compact .brand-logo__copy{display:flex}.brand-logo--compact .brand-logo__copy strong{max-width:132px;overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.page-header{margin-bottom:1.1rem}.page-header h1{font-size:1.85rem}.page-header__actions .button-row{display:grid;grid-template-columns:1fr 1fr}.page-header__actions .button{min-height:50px}.dashboard-hero{min-height:358px}.dashboard-hero__heading p{font-size:.82rem}.dashboard-shift-card{min-height:166px;grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding:1rem}.dashboard-shift-card__icon{width:50px;height:50px;border-radius:16px}.dashboard-shift-card__next{grid-column:1/-1;padding:.65rem 0 0;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.4rem;border-top:1px solid var(--line);border-left:0}.dashboard-shift-card__next strong{font-size:.9rem}.dashboard-shift-card__next small{font-size:.68rem}.quick-action-card,.balance-card-grid{grid-template-columns:1fr}.balance-card{min-height:135px}.team-status-grid{grid-template-columns:1fr 1fr;gap:.6rem}.team-status-grid .team-status{padding:.8rem;gap:.55rem}.team-status-grid .team-status>div:nth-child(2) strong{font-size:.78rem}.team-status-grid .team-status__numbers{flex-direction:column;align-items:flex-start;gap:.2rem;font-size:.68rem}.pending-card{grid-template-columns:auto 1fr}.pending-card .button{grid-column:1/-1;width:100%}.forecast-strip{margin-right:-.9rem}.handover--compact{min-width:220px}.handover--compact .handover__route strong{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25}.team-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.team-tabs button{padding:.35rem;font-size:0}.team-tabs button>span{margin:0;font-size:.75rem}.calendar-toolbar{padding:.55rem}.calendar-cell{min-height:104px;padding:.3rem}.mini-event{height:7px;padding:0;font-size:0}.calendar-leave-name,.more-events{font-size:.52rem}.weekday-row span{font-size:.62rem}.request-card footer{display:grid;grid-template-columns:1fr}.request-card footer .button{width:100%}.duration-segmented button{font-size:.7rem}.modal{max-height:94svh;border-radius:26px 26px 0 0}.modal__body{padding:1rem}.modal-actions{margin:.35rem -1rem -1rem;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom))}.modal-actions .button{min-width:0}.management-tabs{border-radius:15px}.management-panel{border-radius:22px}}@media(max-width:430px){.auth-hero{min-height:250px}.auth-brand img{width:48px;height:48px}.auth-brand strong{font-size:.9rem}.auth-hero__copy h1{font-size:2.15rem}.auth-card{padding:1.25rem;border-radius:24px}.auth-card__heading h1{font-size:clamp(1.875rem,8.2vw,2.125rem)}.dashboard-hero h1{font-size:2rem}.dashboard-refresh{width:42px;height:42px}.handover__route{gap:.35rem}.handover__route strong{max-width:78px;font-size:.69rem}.handover--compact .handover__route strong{max-width:none;font-size:.72rem}.team-dot{width:28px;height:28px}.bottom-nav__item{font-size:.75rem}.bottom-nav__create-icon{width:50px;height:50px}.calendar-nav strong{font-size:.8rem}}.leave-request-form{min-width:0;padding-bottom:.35rem}.request-date-calendar{width:100%;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff}.request-date-calendar>header{min-height:50px;padding:.5rem .7rem;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;border-bottom:1px solid var(--line)}.request-date-calendar>header strong{text-align:center;text-transform:capitalize}.request-date-calendar>header button{width:40px;height:40px;display:grid;place-items:center;color:var(--blue);border:0;border-radius:12px;background:#eef7ff}.request-date-calendar__weekdays,.request-date-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.request-date-calendar__weekdays span{padding:.45rem .05rem;color:var(--muted);font-size:.65rem;font-weight:750;text-align:center}.request-date-calendar__grid>span{min-width:0}.request-date-calendar__grid>button{position:relative;min-width:0;min-height:58px;padding:.24rem .08rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.14rem;color:var(--text);border:0;border-top:1px solid #eef2f6;background:#fff}.request-date-calendar__grid b{font-size:.76rem}.request-date-calendar__shift{max-width:100%;padding:.1rem .18rem;overflow:hidden;color:#38536c;border-radius:6px;background:#edf5fb;font-size:.5rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.request-date-calendar__shift--off{color:#5e6873;background:#e8edf1}.request-date-calendar__grid button.is-off{background:#f5f7f9}.request-date-calendar__grid button.is-range{background:#dceeff}.request-date-calendar__grid button.is-edge{color:#fff;background:var(--blue)}.request-date-calendar__grid button.is-edge .request-date-calendar__shift{color:#0b4f86;background:#fff}.request-date-calendar__grid button.has-conflict{box-shadow:inset 0 0 0 2px var(--warning)}.request-date-calendar__grid button i{position:absolute;top:3px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--danger)}.request-date-calendar__selection{padding:.75rem;color:var(--navy);border-top:1px solid var(--line);background:#f7fbff;font-size:.86rem;font-weight:750;text-align:center}.request-date-calendar>.alert{margin:.65rem}@media(max-width:430px){.request-date-calendar{border-radius:17px}.request-date-calendar__grid>button{min-height:54px}.request-date-calendar__shift{font-size:.46rem}}@media(prefers-reduced-motion:reduce){.bottom-sheet,.bottom-sheet-backdrop{animation:none}}.handover-forecast-list{display:grid;gap:.55rem;margin-top:.7rem}.handover__content{min-width:0}.handover__route{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(.45rem,1.5vw,.8rem)}.handover__side{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem}.handover__person{min-width:0;display:flex;flex-direction:column}.handover__person strong{max-width:none;color:var(--text);font-size:.84rem;line-height:1.25;white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip}.handover__person small{color:var(--muted);font-size:.67rem;font-weight:700}.handover--forecast{padding:0;overflow:hidden;background:#fff;box-shadow:none}.handover--forecast summary{min-height:54px;padding:.75rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;list-style:none}.handover--forecast summary::-webkit-details-marker{display:none}.handover--forecast summary:after{content:"⌄";color:var(--blue);font-size:1.2rem;line-height:1;transition:transform var(--transition)}.handover--forecast[open] summary:after{transform:rotate(180deg)}.handover--forecast summary .handover__date{flex:1;margin:0}.handover__summary-hint{margin-left:auto;color:var(--muted);font-size:.75rem;font-weight:700;white-space:nowrap}.handover--forecast .handover__content{padding:.2rem .9rem .9rem;border-top:1px solid var(--line)}.handover--forecast .handover__route:first-child{padding-top:.75rem}@media(max-width:430px){.handover{padding:.9rem}.handover--forecast{padding:0}.handover__route{gap:.35rem}.handover__side{grid-template-columns:26px minmax(0,1fr);gap:.35rem}.handover__side .team-dot{width:26px;height:26px}.handover__person strong{max-width:none;font-size:.72rem}.handover__person small{font-size:.6rem}.handover__route>svg{width:14px}}
