:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#16324a;background:#f4faff;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #123b5d;--navy-deep: #092c49;--blue: #1676aa;--blue-hover: #0e6594;--sky: #dff3ff;--aqua: #e3faf8;--line: #d9e8f1;--muted: #62798b;--white: #fff;--success: #14775a;--warning: #a86108;--danger: #a4383f;--shadow: 0 13px 35px rgba(27, 76, 105, .09);--radius: 18px}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(145deg,#fafdff,#f1f9ff 52%,#effcfb)}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-cloud{position:absolute;width:250px;height:70px;background:#ffffff94;border-radius:100px;filter:blur(.2px)}.auth-cloud:before,.auth-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.auth-cloud:before{width:90px;height:90px;left:45px;bottom:0}.auth-cloud:after{width:120px;height:120px;right:35px;bottom:-2px}.auth-cloud--one{left:-80px;top:10%}.auth-cloud--two{right:-100px;bottom:12%;transform:scale(.8)}.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)}.brand-mark{display:flex;align-items:center;gap:.65rem;color:var(--blue);margin-bottom:1.3rem;font-size:.72rem;font-weight:850;letter-spacing:.12em}.brand-mark svg{width:34px;height:34px}.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>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-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}.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){.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}}
