[hidden]{display:none!important}
:root{--pink:#df0071;--pink-light:#fcebf5;--ink:#283343;--muted:#74808f;--line:#e8eaf0;--bg:#f6f7fa;--green:#237b62;--red:#ae3449;--amber:#9c6818;--radius:17px;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #f1a1d0;outline-offset:3px}button,.btn{border:1px solid var(--line);border-radius:10px;background:white;padding:10px 15px;color:var(--ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}button:hover,.btn:hover{border-color:#cdd1db;background:#fafafd}.primary{background:var(--pink);color:white;border-color:var(--pink)}.primary:hover{background:#a80061;border-color:#a80061}.soft{background:var(--pink-light);color:var(--pink);border-color:transparent}.danger{color:var(--red)}.tiny{font-size:12px;padding:6px 9px}.link{border:none;background:transparent;color:var(--pink);padding:4px}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.2}h2{font-size:17px;letter-spacing:-.3px}h3{font-size:15px}small,.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:var(--muted)}.layout{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:white;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;gap:32px}.brand{display:flex;align-items:center;gap:11px;padding:0 12px}.brand-mark{background:var(--pink);color:white;font-size:20px;font-weight:900;letter-spacing:-1px;border-radius:12px;width:45px;height:45px;display:grid;place-items:center}.brand-text strong{font-size:17px}.brand-text span{display:block;color:var(--muted);font-size:11px}.sidebar nav{display:grid;gap:6px}.nav-button{justify-content:flex-start;border:0;background:transparent;color:#707987;font-size:13px;padding:12px 14px}.nav-button.active{background:var(--pink-light);color:var(--pink)}.nav-button .count{margin-left:auto}.side-footer{margin-top:auto;padding:16px 12px;border-top:1px solid var(--line)}.side-footer p{font-size:12px;color:var(--muted);margin-top:5px}.main{min-width:0;padding:0 42px 36px}.topbar{height:85px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:31px;gap:10px}.topbar .actions{gap:13px}.date-label{color:var(--muted);font-size:12px}.user-chip{display:flex;align-items:center;gap:9px}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#edeef4;color:#596172;font-size:11px;border-radius:50%;font-weight:700;flex-shrink:0}.avatar.pink{background:var(--pink-light);color:var(--pink)}.user-chip strong{font-size:12px;display:block}.user-chip small{font-size:10px;display:block}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head p{margin-top:9px;color:var(--muted);font-size:13px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px}.stat.hero{background:var(--ink);color:white;border:none;position:relative;overflow:hidden}.stat.hero:after{content:'';position:absolute;right:-25px;top:-45px;border:35px solid #ffffff08;border-radius:50%;width:155px;height:155px;pointer-events:none}.stat-label{font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:5px;color:var(--muted)}.hero .stat-label,.hero .stat-foot{color:#b9bfcb}.stat-value{font-size:29px;letter-spacing:-1px;font-weight:650;margin:15px 0 8px;white-space:nowrap}.stat-foot{font-size:11px;color:var(--muted)}.stat .icon{width:17px;height:17px}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:22px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:22px}.card-head{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.card-head p{font-size:12px;color:var(--muted);margin-top:4px}.card-body{padding:23px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-weight:600;background:#fcfcfe}td,th{padding:16px 22px;border-bottom:1px solid #f0f1f5;vertical-align:middle}tr:last-child td{border-bottom:0}td .sub{display:block;color:var(--muted);font-size:11px;margin-top:3px;max-width:330px;white-space:normal;overflow-wrap:anywhere}.employee{display:flex;align-items:center;gap:11px}.employee strong{font-size:12px}.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.positive{color:var(--green)}.negative{color:var(--red)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:6px;font-size:10px;font-weight:650;white-space:nowrap;background:#f0f1f5;color:#6e7685}.badge.pending{color:var(--amber);background:#fff5df}.badge.approved,.badge.paid{color:var(--green);background:#edf8f1}.badge.rejected,.badge.cancelled{color:#9d5360;background:#f9ecee}.badge.work{color:var(--pink);background:var(--pink-light)}.count{font-size:10px;padding:2px 6px;border-radius:5px;background:var(--pink);color:white}.request-mini{padding:18px 23px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:12px}.request-mini:last-child{border:0}.request-mini .details{flex:1;min-width:0}.request-mini strong{font-size:12px}.request-mini p{font-size:11px;color:var(--muted);margin-top:4px}.request-mini .badge{margin-top:7px}.empty{padding:44px 24px;text-align:center;color:var(--muted);font-size:13px}.empty .icon{width:31px;height:31px;margin-bottom:12px;color:#b8bdc8}.empty strong{display:block;color:var(--ink);font-size:14px;margin-bottom:5px}.notice{border-radius:12px;background:#f1f2f7;padding:15px 18px;color:#646d7b;font-size:12px;margin:0 0 20px}.notice.pink{background:var(--pink-light);color:#925072}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 20px}.filters label{margin:0;min-width:145px;font-size:11px}.filters input,.filters select{padding:9px 12px}.filter-search{flex:1}.tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:19px}.tab{background:transparent;border-color:transparent;font-size:12px;padding:8px 13px}.tab.active{background:white;border-color:var(--line);box-shadow:0 2px 3px #27304305}.content-footer{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;margin-top:26px;gap:15px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.day-name{font-size:11px;color:var(--muted);text-align:center;padding:12px}.day{min-height:115px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:9px;font-size:11px}.day.other{background:#fafbfc;color:#b5bcc8}.day-number{width:23px;height:23px;display:grid;place-items:center;margin-bottom:5px}.today .day-number{background:var(--pink);color:white;border-radius:50%}.cal-event{padding:4px 6px;background:#f3edf9;color:#76568e;border-radius:4px;margin-top:4px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event.recup{background:#edf7f1;color:var(--green)}label{display:block;font-size:12px;font-weight:600;margin-bottom:17px}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #dce0e7;border-radius:9px;padding:11px 12px;background:white;color:var(--ink);outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px #df00710a}textarea{resize:vertical;min-height:85px}label small{display:block;font-size:11px;font-weight:400;margin-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.duration-input{display:grid;grid-template-columns:1fr 1fr;gap:10px}.duration-input label{margin-bottom:0;font-size:11px;color:var(--muted)}.form-section{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.form-error{color:var(--red);background:#fff0f2;border-radius:8px;padding:10px 13px;font-size:12px;margin-bottom:15px}.form-error:empty{display:none}dialog{border:0;border-radius:20px;padding:0;width:min(590px,calc(100% - 24px));max-height:90vh;color:var(--ink);box-shadow:0 25px 90px #18203230}dialog::backdrop{background:#1e253a50;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:23px 26px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:20px}.modal-body{padding:24px 26px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.close{border:0;padding:5px;background:transparent}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-intro{background:var(--ink);color:white;padding:60px 12%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.auth-intro .brand{padding:0}.auth-intro .brand-text span{color:#bdc0cc}.auth-intro h1{font-size:48px;line-height:1.12;letter-spacing:-2px;max-width:500px}.auth-intro h1 span{color:#f28ac4}.auth-intro p{color:#b9bfcc;max-width:340px;margin-top:20px}.auth-lines{margin-top:35px;display:grid;gap:15px;color:#e5e7ed;font-size:13px}.auth-lines div{display:flex;align-items:center;gap:12px}.auth-foot{font-size:11px;color:#8d97aa;margin-top:40px}.auth-form{max-width:400px;width:100%;margin:auto;padding:40px 15px}.auth-form h2{font-size:26px;letter-spacing:-.7px;margin-bottom:8px}.auth-form>p{color:var(--muted);font-size:13px;margin-bottom:28px}.auth-form .primary{width:100%;margin-top:6px}.auth-form .brand{display:none}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.loading{height:100vh;display:grid;place-items:center;color:var(--muted)}#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(100px);background:var(--ink);color:white;border-radius:10px;padding:13px 23px;font-size:13px;box-shadow:0 6px 25px #0002;z-index:100;transition:transform .2s;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}.void{opacity:.5}.void .num{text-decoration:line-through}.checkline{display:flex;align-items:flex-start;gap:9px;font-size:11px}.checkline input{width:16px;margin:3px 0 0}.progress-line{height:4px;background:#f1f2f6;border-radius:10px;margin-top:7px;max-width:95px}.progress-line span{display:block;background:var(--pink);height:4px;border-radius:10px}.detail-list{display:grid;grid-template-columns:130px 1fr;gap:12px;font-size:13px;margin-bottom:20px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.summary-note{margin-bottom:20px;padding:15px;border-left:3px solid var(--pink);background:var(--pink-light);font-size:13px}.settings-grid .card{margin-bottom:0}.mb{margin-bottom:20px}.install-tip{margin-top:25px;font-size:11px;color:var(--muted);line-height:1.7}
@media(min-width:1500px){.main{padding-left:60px;padding-right:60px}.stat-value{font-size:34px}}
@media(max-width:1150px){.layout{grid-template-columns:210px 1fr}.sidebar{padding:25px 12px}.main{padding:0 24px 30px}.stats{gap:10px}.stat{padding:18px}.stat-value{font-size:24px}.split{grid-template-columns:1fr}.date-label{display:none}.stat-label{font-size:11px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.layout{display:block}.sidebar{height:auto;position:static;padding:17px 18px 0;border-right:0;gap:17px}.sidebar .brand{padding:0}.sidebar .brand-mark{width:35px;height:35px;font-size:17px;border-radius:9px}.sidebar .brand-text strong{font-size:15px}.sidebar nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:10px}.nav-button{padding:10px 12px;font-size:11px;white-space:nowrap}.nav-button .icon{width:16px;height:16px}.side-footer,.sidebar .eyebrow{display:none}.main{padding:0 17px 25px}.topbar{height:63px;margin-bottom:23px}.topbar .eyebrow{font-size:9px;letter-spacing:1px}.user-chip strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .actions{gap:6px}.topbar .logout-label{display:none}.page-head{align-items:flex-start;flex-direction:column;gap:17px}.page-head h1{font-size:26px}.page-head p{font-size:12px}.page-head .actions{width:100%}.page-head .actions .primary{flex:1}.stats{grid-template-columns:1fr 1fr;gap:11px}.stat{padding:17px 15px;border-radius:13px}.stat-value{font-size:25px;margin:11px 0 6px}.stat-label{font-size:10px}.stat-foot{font-size:10px}.stat .icon{display:none}.card-head{padding:18px}.card-head h2{font-size:15px}.card-body{padding:18px}td,th{padding:13px 17px}.filters label{min-width:130px;flex:1}.calendar-grid{min-width:620px}.form-row{gap:12px}.modal-head{padding:20px}.modal-body{padding:20px}.auth-page{display:block}.auth-intro{display:none}.auth-form{padding:38px 25px;max-width:440px}.auth-form .brand{display:flex;margin-bottom:55px;padding:0}.auth-form h2{font-size:26px}.content-footer{flex-direction:column;gap:4px}.request-mini{padding:17px}.employee{gap:8px}.employee .avatar{width:29px;height:29px}.tabs{gap:2px}.tab{padding:8px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.spaced-card{margin-top:22px}

.brand-logo{width:105px;height:auto;object-fit:contain}.brand{gap:12px}.primary:hover{background:#c50064;border-color:#c50064}.hr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.hr-grid .card{padding:20px}.hr-list{display:grid;gap:12px;margin-top:16px}.hr-item{padding:16px;border-bottom:1px solid var(--line)}.hr-item p{white-space:pre-wrap}.hr-item .actions{margin-top:12px;flex-wrap:wrap}

.day.work-rest{background:#eef0f3;color:#657080}.work-slots{display:block;font-size:11px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}

/* Form controls align labels and checkbox text. */
label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:10px;line-height:1.5}input[type=checkbox]{display:inline-block;flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;padding:0}details.card summary{cursor:pointer;font-weight:600}details.card[open] summary{margin-bottom:16px}#leave-breakdown{background:#f6f7fa;border-radius:10px;padding:14px;margin:14px 0}#leave-breakdown:empty{display:none}#leave-breakdown ul{padding-left:20px;line-height:1.8}.actions{flex-wrap:wrap}

/* Identity and personal display preference */
.sidebar{overflow-y:auto}.sidebar .brand{flex-direction:column;align-items:flex-start;gap:8px;padding:0}.sidebar .brand-logo{width:195px;max-width:100%;height:auto;max-height:110px;object-fit:contain}.brand-text strong{font-size:14px}.brand-text{white-space:normal}
:root[data-theme=dark]{--ink:#edf0f6;--muted:#aeb9c9;--line:#3a4658;--bg:#161d28;--pink:#ff70b9;--pink-light:#45253d;--green:#7fe0b8;--red:#ff9dad;--amber:#f7cb83}
[data-theme=dark] .sidebar,[data-theme=dark] .card,[data-theme=dark] .topbar,[data-theme=dark] dialog,[data-theme=dark] .auth-card,[data-theme=dark] .calendar-cell{background:#212b3a;color:var(--ink)}
[data-theme=dark] button,[data-theme=dark] .btn,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#293548;color:var(--ink);border-color:var(--line)}
[data-theme=dark] .primary{background:#b90067;color:#fff;border-color:#b90067}[data-theme=dark] button:hover,[data-theme=dark] .btn:hover{background:#39465a}[data-theme=dark] .primary:hover{background:#d00074}
[data-theme=dark] .nav-button{background:transparent;color:#c0cada}[data-theme=dark] .nav-button.active,[data-theme=dark] .soft,[data-theme=dark] .pink{background:var(--pink-light);color:var(--pink)}
[data-theme=dark] th,[data-theme=dark] .modal-head,[data-theme=dark] .modal-foot,[data-theme=dark] .detail-list,[data-theme=dark] .notice,[data-theme=dark] .work-rest,[data-theme=dark] #leave-breakdown{background:#273346;color:var(--ink)}
[data-theme=dark] td,[data-theme=dark] .card-head,[data-theme=dark] .hr-item{border-color:var(--line)}[data-theme=dark] .badge{background:#354357;color:var(--ink)}[data-theme=dark] .calendar-cell:hover{background:#303d50}

.nav-group-title{font-size:10px;font-weight:750;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding:20px 14px 5px}.nav-group-title:first-child{padding-top:0}

/* Readable dashboard and distinct navigation groups, light and dark. */
.stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
[data-theme=dark] .stat{background:#212b3a;color:#edf0f6;border:1px solid #3a4658}
[data-theme=dark] .stat.hero{background:#34243a;color:#fff;border:1px solid #704163}
[data-theme=dark] .stat-label,[data-theme=dark] .stat-foot{color:#bdc8d9}
[data-theme=dark] .stat-value{color:#fff}
.sidebar{gap:22px}.sidebar .brand-logo{width:180px;max-height:102px}
.identity-summary{display:grid;gap:3px;border-bottom:1px solid var(--line);padding:7px 0 18px;width:100%;overflow-wrap:anywhere}
.identity-summary strong{font-size:15px;line-height:1.4}.identity-summary span{font-size:12px;color:var(--muted)}
.nav-group-title{font-size:11px;letter-spacing:1px;color:#283343;background:#e9edf3;border-left:3px solid #bf006e;padding:10px 11px!important;border-radius:0 8px 8px 0;margin:18px 0 4px}
.nav-group-title:first-child{margin-top:0}.nav-button{padding:10px 12px}.nav-button.active{box-shadow:inset 3px 0 var(--pink);font-weight:750}
.workspace-indicator{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:10px;background:#e9edf3;color:#283343;white-space:nowrap;font-size:13px}
.workspace-indicator.personal{background:#fcebf5;color:#8b1756}.workspace-dot{width:8px;height:8px;background:currentColor;border-radius:50%;flex:none}
[data-theme=dark] .nav-group-title{background:#344154;color:#f2f5fa;border-left-color:#ff70b9}
[data-theme=dark] .workspace-indicator{background:#344154;color:#f2f5fa}[data-theme=dark] .workspace-indicator.personal{background:#45253d;color:#ffb4da}
@media(max-width:900px){.topbar{height:auto;min-height:85px;flex-wrap:wrap;padding:14px 0}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-group-title{grid-column:1/-1}.sidebar .identity-summary{padding-bottom:10px}.sidebar .brand-logo{width:170px}}

@media(max-width:760px){
.layout>.topbar{position:sticky;top:0;z-index:30;background:#fff;margin:0;padding:10px 16px;border-bottom:1px solid var(--line);min-height:64px;height:auto;gap:8px}
.layout>.topbar .actions{margin-left:auto;gap:8px;justify-content:flex-end;flex:1;flex-wrap:wrap}
.layout>.topbar .user-chip{display:none}
.layout>.topbar button.link{min-width:44px;min-height:44px;border-radius:9px}
.layout>.topbar [data-hr=switch]{font-size:11px;padding:8px;white-space:normal}
.layout>.topbar .workspace-indicator{font-size:11px;padding:8px}
[data-theme=dark] .layout>.topbar{background:#212b3a}
}

@media(max-width:760px){.sidebar .brand{flex-direction:row;align-items:center;gap:16px;width:100%}.sidebar .brand-logo{width:38%;max-width:150px;flex:0 0 38%;height:auto}.sidebar .identity-summary{flex:1;min-width:0;width:auto;padding:0;border:0;text-align:right}.sidebar .identity-summary strong{font-size:14px}.sidebar .identity-summary span{font-size:12px;overflow-wrap:anywhere}}

.auth-intro .brand-logo{width:220px;max-width:100%;height:auto;max-height:130px;object-fit:contain}.auth-intro{background:#283343}.auth-intro .eyebrow{color:#b9bfcc}.auth-intro h1{font-size:clamp(32px,3.4vw,48px)}
@media(max-width:760px){.auth-form .brand-logo{width:210px;max-width:100%;height:auto;max-height:120px;object-fit:contain}.auth-form .brand{margin-bottom:35px}}

button.logo-home,button.logo-home:hover,[data-theme=dark] button.logo-home,[data-theme=dark] button.logo-home:hover{display:block;padding:0;border:0;background:transparent;border-radius:5px;line-height:0}button.logo-home img{display:block;width:100%;height:auto;max-height:inherit;object-fit:contain}

.home-overview{display:grid;grid-template-columns:1fr 1fr;gap:22px}.home-news{padding:18px 0;border-bottom:1px solid var(--line)}.home-news:last-child{border-bottom:0}.home-news p{margin:7px 0}.home-message{white-space:pre-wrap;overflow-wrap:anywhere}.home-deadline{color:var(--pink);font-weight:650}.home-empty{padding:18px 0}.home-shortcuts{margin-top:15px}@media(max-width:760px){.home-overview{grid-template-columns:1fr;gap:0}}

/* Profile completion and readable professional details. */
.employment-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.employment-heading h2{margin-top:7px}.employment-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.employment-details div{border-left:3px solid var(--line);padding-left:14px;min-width:0}.employment-details dt{font-size:12px;color:var(--muted);margin-bottom:6px}.employment-details dd{margin:0;font-size:15px;font-weight:650;overflow-wrap:anywhere}.employment-help{font-size:12px;border-top:1px solid var(--line);padding-top:15px}.finish-profile{margin-bottom:22px}.finish-profile form{max-width:700px}.finish-profile h2{margin:24px 0 12px}.finish-profile .notice{margin-bottom:18px}.nav-button:disabled{opacity:.4;cursor:not-allowed;background:transparent;box-shadow:none}.account-lock-label{font-size:13px;font-weight:700;color:var(--pink);padding:12px}.mobile-menu-toggle{display:none}
@media(max-width:760px){.sidebar{gap:12px;padding-bottom:14px;margin-bottom:18px}.mobile-menu-toggle{display:flex;align-self:stretch;justify-content:flex-start;min-height:44px;order:1}.mobile-menu-toggle span:first-child{font-size:22px;line-height:1}.mobile-navigation-panel{display:none;order:2}.mobile-menu-open .mobile-navigation-panel{display:block;max-height:55dvh;overflow-y:auto;overscroll-behavior:contain}.sidebar nav{display:grid;grid-template-columns:1fr;overflow:visible;padding:0}.sidebar .nav-button{font-size:14px;min-height:44px;white-space:normal;text-align:left}.nav-group-title{margin-top:16px}.employment-details{grid-template-columns:1fr 1fr;gap:18px}.employment-heading{align-items:flex-start}.employment-heading h2{font-size:17px}.finish-profile .form-row{flex-wrap:wrap}.finish-profile .form-row label{min-width:120px;flex:1}.finish-profile .primary{width:100%}}

/* Editable schedules: compact daily cards also fit a phone. */
dialog:has(#schedule-editor){width:min(900px,calc(100% - 24px))}
.schedule-tabs{display:flex;gap:8px;margin:22px 0 16px}.schedule-tabs button{flex:1;white-space:normal}.schedule-tabs [aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:#fff}
.schedule-week-heading,.schedule-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.schedule-day{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}.schedule-day h4{margin:0;font-size:15px}.schedule-day-heading label{display:flex;align-items:center;gap:8px;margin:0}.schedule-day-heading select{width:auto;margin:0;padding:7px}.schedule-slot{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:10px;align-items:end}.schedule-slot label{margin-bottom:12px}.schedule-slot button{margin-bottom:12px;min-height:42px}.schedule-day>p{margin-bottom:12px}.schedule-totals{font-weight:600;margin:18px 0}.schedule-history,.schedule-source{border:1px solid var(--line);border-radius:10px;padding:14px;margin:18px 0}.schedule-history summary,.schedule-source summary{cursor:pointer;font-weight:600}.schedule-history details,.schedule-source label{margin-top:16px}.schedule-source p{margin-top:10px}.schedule-history table{margin:10px 0 18px}
@media(max-width:560px){.schedule-week-heading{align-items:flex-start;flex-direction:column}.schedule-day{padding:12px}.schedule-day-heading label{font-size:0}.schedule-day-heading select{font-size:12px}.schedule-slot{grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--line);margin-bottom:12px}.schedule-slot input,.schedule-slot select{padding:9px 6px}.schedule-slot button{width:100%}.schedule-tabs button{font-size:12px;padding:10px 8px}.schedule-history{padding:10px}.schedule-totals{font-size:13px;line-height:1.8}}

/* Collective calendar: weekly comparison on desktop, daily cards on phones. */
.team-calendar-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;margin-bottom:20px}.team-calendar-filters label{margin:0}.team-calendar-filters button{margin-bottom:1px}.team-calendar-toolbar{display:flex;flex-wrap:wrap;gap:18px}.team-calendar-toolbar h2{line-height:1.6}.team-calendar-toolbar [aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:#fff}.calendar-date-jump{margin:0;display:flex;align-items:center;gap:8px}.calendar-date-jump input{margin:0;width:150px;padding:8px}.calendar-loading,.calendar-help{padding:16px;font-size:12px;color:var(--muted);line-height:1.7}.team-week-table{width:100%;min-width:1030px;table-layout:fixed}.team-week-table th,.team-week-table td{padding:13px 10px;white-space:normal;vertical-align:top;border-right:1px solid var(--line);font-size:12px}.team-week-table th:first-child{width:165px;position:sticky;left:0;background:var(--bg);z-index:1}.team-week-table small,.calendar-day-detail small,.calendar-person-day small{display:block;margin-top:5px;line-height:1.5}.team-week-table th strong{display:block}.calendar-status{display:block;font-size:11px;line-height:1.5}.calendar-status.present{color:var(--green)}.calendar-status.absent{color:var(--pink)}.calendar-status.partial,.calendar-status.unknown{color:var(--amber)}.calendar-status.rest{color:var(--muted)}.calendar-state-rest{background:#f5f6f8}.calendar-today{box-shadow:inset 0 3px var(--pink)}.team-week-table .cal-event,.calendar-day-detail .cal-event{white-space:normal;text-align:left;line-height:1.5;margin-top:6px;max-width:100%}.team-week-mobile{display:none}.calendar-person-day{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.calendar-person-day strong{line-height:1.5}.calendar-person-day>div{min-width:0;overflow-wrap:anywhere}.team-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line)}.team-month-day{border:0;border-radius:0;min-height:130px;background:white;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;padding:14px;white-space:normal}.team-month-day.other{opacity:.5}.team-month-day small{font-size:11px}.calendar-holiday,.calendar-absence-count{color:var(--pink);font-size:11px}.team-month-grid .day-name{background:var(--bg);text-align:center;padding:10px 0}.calendar-mobile-day{padding:14px;border-bottom:1px solid var(--line)}.calendar-mobile-day summary{cursor:pointer;line-height:1.7}.calendar-mobile-day summary small{display:block}.calendar-mobile-day[open] summary{font-weight:700;color:var(--pink)}
[data-theme=dark] .calendar-state-rest{background:#1c2533}[data-theme=dark] .team-month-day{background:#212b3a}[data-theme=dark] .team-month-day:hover{background:#303d50}[data-theme=dark] .team-week-table th:first-child{background:#273346}
@media(max-width:1100px){.team-calendar-filters{grid-template-columns:1fr 1fr}.team-calendar-filters button{justify-self:start}}
@media(max-width:760px){.team-week-desktop{display:none}.team-week-mobile{display:block}.team-calendar-toolbar{padding:16px}.team-calendar-toolbar>.actions{width:100%}.team-calendar-toolbar .calendar-date-jump{width:100%;margin-top:6px}.calendar-date-jump input{flex:1}.team-month-day{padding:8px 3px;min-height:102px;gap:4px;font-size:12px}.team-month-day small,.calendar-holiday{font-size:9px}.team-calendar-filters{gap:10px}.team-calendar-filters label{font-size:11px}.team-calendar-filters select{padding:10px 7px;font-size:12px}.team-calendar-toolbar [data-cal-view]{flex:1}.calendar-person-day{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.team-month-grid .day-name{font-size:10px}}
/* Keep tablet navigation readable in the narrow sidebar. */
@media(min-width:761px) and (max-width:900px){.sidebar nav{grid-template-columns:minmax(0,1fr)}.sidebar .nav-button{white-space:normal;min-width:0;text-align:left;overflow-wrap:anywhere}}

.calendar-status.school,.calendar-school-count{color:#213e67}.calendar-state-school{background:#eaf1fa}.calendar-state-school small{color:#365477}[data-theme="dark"] .calendar-state-school{background:#253b55}[data-theme="dark"] .calendar-status.school,[data-theme="dark"] .calendar-school-count,[data-theme="dark"] .calendar-state-school small{color:#c3d8f5}.calendar-training-edit{margin-top:8px}.calendar-person-day:has(.calendar-status.school){background:#eaf1fa;padding:15px 10px;border-radius:8px}[data-theme="dark"] .calendar-person-day:has(.calendar-status.school){background:#253b55}

@media(max-width:480px){#training-editor .modal-foot{flex-direction:column-reverse;align-items:stretch}#training-editor .modal-foot button{width:100%;min-width:0;white-space:normal}}

.training-school-period{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:10px}.training-school-period label{margin:0;min-width:0}.training-school-period input{width:100%;min-width:0}.training-school-period button{margin-bottom:2px}#training-calendar-create [hidden]{display:none!important}#training-calendar-create [data-training-review] li{margin-bottom:8px}#training-calendar-create .modal-foot{flex-wrap:wrap}
@media(max-width:480px){.training-school-period{grid-template-columns:minmax(0,1fr)}.training-school-period button{justify-self:start}#training-calendar-create .modal-foot{flex-direction:column-reverse;align-items:stretch}#training-calendar-create .modal-foot button{width:100%;min-width:0;white-space:normal}}

@media(max-width:480px){#training-calendar-create .form-row{display:flex;flex-direction:column;gap:0}#training-calendar-create .form-row label,#training-calendar-create .form-row input{width:100%;min-width:0}#training-calendar-create [data-school-add]{width:100%;min-width:0;white-space:normal}}
