/* V114 — one visual language for navigation, planning and Tier. */
body[data-pf-department]{--pf-shell:#20262c;--pf-shell-deep:#171c21;--pf-panel:#fff;--pf-canvas:#f1f4f6;--pf-ink:#17252d;--pf-muted:#5d6b73;--pf-border:#d7e0e4;--pf-elevation:0 4px 18px #182a3510}
body[data-pf-department] .app-shell,body[data-pf-department] .workspace{background:var(--pf-canvas)}
body[data-pf-department] .sidebar{background:linear-gradient(180deg,var(--pf-shell),var(--pf-shell-deep))!important;border-left:5px solid var(--pf-dept-primary);color:#f4f7f8!important}
body[data-pf-department] .sidebar .brand{margin-bottom:6px;color:#fff}
body[data-pf-department] .sidebar .brand small{color:#9ba9b2}
body[data-pf-department] .sidebar nav{gap:19px}
body[data-pf-department] .sidebar .nav-group{gap:3px}
body[data-pf-department] .sidebar .nav-group>small{color:#aebbc3!important;font-size:12px;font-weight:750;letter-spacing:.06em}
body[data-pf-department] .sidebar .nav-item{min-height:46px;width:100%;padding:10px 12px;border-radius:10px;color:#d7e1e6;font-size:14px;font-weight:650;transition:background .15s,color .15s}
body[data-pf-department] .sidebar .nav-item:hover{background:#303a43;color:#fff}
body[data-pf-department] .sidebar .nav-item.active{background:var(--pf-dept-primary)!important;color:#fff!important;box-shadow:none!important}
body[data-pf-department] .sidebar .nav-item.active>span{color:#fff!important}
body[data-pf-department] .sidebar .nav-item>span{min-width:26px;color:#c2d1d8}
body[data-pf-department] .sidebar .nav-item svg{width:20px;height:20px}
body[data-pf-department] .sidebar .pf-department-select{min-height:48px;border-color:#65727a!important;background:#303941;color:#fff;font-size:15px}
body[data-pf-department] .sidebar .pf-tier-menu-button,body[data-pf-department] .sidebar .pf-radio-menu-button{min-height:46px;color:#f5f8f9;font-size:14px}
body[data-pf-department] .sidebar .pf-tier-menu-button.active{background:var(--pf-dept-primary)!important;color:#fff!important}
body[data-pf-department] .topbar{min-height:70px;border-bottom:1px solid var(--pf-border);box-shadow:none}
body[data-pf-department] .page-heading{min-width:0}
body[data-pf-department] .page-heading h1{font-size:clamp(19px,2vw,25px);letter-spacing:-.02em}
body[data-pf-department] .page-content{padding:22px clamp(14px,2.4vw,34px) 36px}
body[data-pf-department] .pf-view-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:112px;margin:0 0 20px;padding:20px clamp(17px,2.4vw,28px);border-radius:16px;background:var(--pf-shell);color:#fff;box-shadow:var(--pf-elevation)}
body[data-pf-department] .pf-view-header::before{content:"";align-self:stretch;width:5px;flex:none;border-radius:5px;background:var(--pf-dept-primary);order:-1}
body[data-pf-department] .pf-view-header>div:first-of-type{min-width:0;flex:1}
body[data-pf-department] .pf-view-header small{color:#c2d0d8;font-size:12px;font-weight:750;letter-spacing:.045em}
body[data-pf-department] .pf-view-header h1,body[data-pf-department] .pf-view-header h2{margin:3px 0 4px;color:#fff;font-size:clamp(21px,2.2vw,28px);font-weight:800;line-height:1.2;letter-spacing:-.025em}
body[data-pf-department] .pf-view-header p{margin:4px 0 0;color:#d3dce1;font-size:14px;line-height:1.4}
body[data-pf-department] .pf-view-header .restricted-badge{color:#fff;background:#394750}
body[data-pf-department] .pf-view-header .outline{background:#fff!important;color:var(--pf-dept-primary)!important;border-color:#fff!important}
body[data-pf-department] .pf-view-header .header-actions{flex-wrap:wrap;justify-content:flex-end}
body[data-pf-department] .pf-view-generated{display:block;min-height:0}
body[data-pf-department] .pf-view-generated::before{float:left;height:62px;margin-right:15px}
body[data-pf-department] .pf-view-generated h2{margin-top:2px}
body[data-pf-department] :is(.planning-toolbar,.dle-toolbar,.dashboard-controls,.calendar-controls,.team-filters,.management-actions,.team-actions){gap:10px}
body[data-pf-department] :is(.planning-toolbar,.dle-toolbar){padding:14px 17px;border:1px solid var(--pf-border);border-radius:13px;background:#fff;box-shadow:var(--pf-elevation)}
body[data-pf-department] :is(.cockpit-card,.service-plan-card,.feature-card,.period-plan,.planner-card,.team-block,.management-table,.absence-calendar-card,.access-account-form,.pf-tsd-production-page .pf-production-card){border:1px solid var(--pf-border);border-radius:14px;background:#fff;box-shadow:var(--pf-elevation)}
body[data-pf-department] :is(.cockpit-pulse article,.feature-kpis>div,.management-kpis>div,.dle-kpis>div){border:1px solid var(--pf-border);border-radius:13px;background:#fff;box-shadow:var(--pf-elevation)}
body[data-pf-department] :is(.cockpit-card,.feature-card,.service-plan-card,.period-plan,.management-table) h3{color:var(--pf-ink);font-size:clamp(17px,1.4vw,20px);line-height:1.3}
body[data-pf-department] :is(.cockpit-card,.feature-card,.absence-page,.access-page) p{line-height:1.45}
body[data-pf-department] :is(.team-tabs,.view-toggle,.management-view-toggle,.pf-action-tabs,.pf-tier-level-tabs,.pf-tier-meeting-tabs,.pf-tier-tabs) button{min-height:44px;font-size:14px;font-weight:750}
body[data-pf-department] :is(.week-nav,.period-nav,.pf-team-arrows,.pf-tier-choice-nav) button{min-width:42px;min-height:42px}
body[data-pf-department] :is(.header-actions,.toolbar-right,.modal-actions,.dashboard-controls,.calendar-controls,.team-actions) button{min-height:43px;font-size:14px;font-weight:700}
body[data-pf-department] :is(.planning-toolbar,.dle-toolbar,.dashboard-controls,.calendar-controls,.team-filters,.modal,.pf-tier-wrap) :is(input,select,textarea){font-size:14px}
body[data-pf-department] :is(.planning-toolbar,.dle-toolbar,.dashboard-controls,.calendar-controls,.team-filters,.modal) :is(input,select){min-height:42px}
body[data-pf-department] :is(.service-plan-card,.period-plan,.dle-line-table,.management-table,.access-table,.pf-actions-wrap){max-width:100%;overflow-x:auto}
body[data-pf-department] :is(.service-plan-card,.period-plan,.management-table,.access-table,.pf-actions) th{font-size:12px;font-weight:750}
body[data-pf-department] :is(.team-tabs,.management-view-toggle,.view-toggle) button.active{border-color:var(--pf-dept-primary)!important;background:var(--pf-dept-soft)!important;color:var(--pf-dept-primary)!important}
body[data-pf-department] .toast,body[data-pf-department] .pf-toast{border-radius:11px;background:var(--pf-shell);color:#fff;font-size:14px}
body[data-pf-department] .modal{width:min(560px,calc(100vw - 24px));border-radius:16px;box-shadow:0 22px 75px #101b23aa}
body[data-pf-department] .modal-head{border-radius:14px 14px 0 0}
body[data-pf-department] .modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}
body[data-pf-department] .pf-tier-shell{background:var(--pf-canvas);color:var(--pf-ink)}
body[data-pf-department] .pf-tier-top{background:var(--pf-shell)!important;color:#fff!important;border-bottom:4px solid var(--pf-dept-primary)!important}
body[data-pf-department] .pf-tier-top h1{color:#fff!important}
body[data-pf-department] .pf-tier-top small{color:#c6d2d8!important;font-size:12px!important}
body[data-pf-department] .pf-tier-top>#tier-close{min-height:44px;font-size:14px!important}
body[data-pf-department] .pf-tier-card{border:1px solid var(--pf-border);border-radius:14px;box-shadow:var(--pf-elevation)}
body[data-pf-department] .pf-tier-card h3{font-size:18px}
body[data-pf-department] .pf-action-tabs button,body[data-pf-department] .pf-tier-card button:not(.pf-status-picker button){font-size:14px}
body[data-pf-department] .pf-status-picker button{min-width:42px;min-height:42px}
body[data-pf-department] .pf-status-picker button.selected{outline-color:var(--pf-dept-primary)}
/* Cockpit and personal overview */
body[data-pf-department] .cockpit-pulse article b{font-size:clamp(23px,2vw,30px);line-height:1.1}
body[data-pf-department] .cockpit-pulse article small{font-size:12px;font-weight:750}
body[data-pf-department] .cockpit-actions button{min-height:46px;font-size:14px}
body[data-pf-department] .pf-my-stack-title h2{font-size:20px}
body[data-pf-department] .pf-my-profile-card dt,body[data-pf-department] .pf-my-status-card small{font-size:12px}
/* Dagindeling and calendar */
body[data-pf-department] .dashboard-controls{flex-wrap:wrap}
body[data-pf-department] .dashboard-status{border-radius:12px}
body[data-pf-department] .calendar-key{flex-wrap:wrap;gap:8px}
body[data-pf-department] .calendar-intro .calendar-controls{flex-wrap:wrap}
/* Dienstenplan, occupancy and DLE */
body[data-pf-department] .service-plan-card>header{border-bottom:1px solid var(--pf-border)}
body[data-pf-department] .period-plan-title,body[data-pf-department] .dle-period-title{font-size:17px;font-weight:750}
body[data-pf-department] .planning-toolbar .toolbar-right,body[data-pf-department] .dle-toolbar .toolbar-right{flex-wrap:wrap;justify-content:flex-end}
body[data-pf-department] .employee-row{min-height:52px;border-top-color:var(--pf-border)}
body[data-pf-department] .dle-line-row{min-height:48px}
body[data-pf-department] .dle-line-kpis{gap:8px}
/* Team, training and absence */
body[data-pf-department] .team-tabs button{border-radius:10px}
body[data-pf-department] .training-workflow article{border:1px solid var(--pf-border);border-radius:12px;background:#fff;box-shadow:var(--pf-elevation)}
body[data-pf-department] .training-workflow button{min-height:42px;font-size:14px}
body[data-pf-department] .absence-calendar-head{font-size:15px;font-weight:750}
body[data-pf-department] .absence-period-form button{min-height:44px;font-size:14px}
/* Reports, access and TSD production */
body[data-pf-department] .management-kpis article{border:1px solid var(--pf-border);border-radius:12px;background:#fff}
body[data-pf-department] .management-view-toggle{gap:6px}
body[data-pf-department] .access-account-form{padding:18px}
body[data-pf-department] .access-account-form button{min-height:44px;font-size:14px}
body[data-pf-department] .pf-production-scroll{max-width:100%;overflow-x:auto}
/* Tier: readable state and action feedback without changing status meanings. */
body[data-pf-department] .pf-tier-card input,body[data-pf-department] .pf-tier-card select,body[data-pf-department] .pf-tier-card textarea{font-size:14px}
body[data-pf-department] .pf-action-form button,body[data-pf-department] .pf-save{min-height:44px;font-size:14px}
.pf-operator-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pf-operator-dock-button .pf-operator-icon svg{width:24px;height:24px}
.pf-menu-toggle,.pf-menu-backdrop{display:none}
@media(max-width:1100px){body[data-pf-department] .pf-view-header{align-items:flex-start;flex-wrap:wrap}body[data-pf-department] .pf-view-header .header-actions{width:100%;justify-content:flex-start}}
@media(max-width:760px){
 body[data-pf-department] .sidebar{position:fixed!important;z-index:402;top:0;bottom:0;left:0;width:min(350px,87vw);height:100dvh;min-height:0;overflow-y:auto;visibility:hidden;pointer-events:none;transform:translateX(-105%);transition:transform .2s,visibility .2s}
 body[data-pf-department].pf-mobile-nav-open{overflow:hidden}
 body[data-pf-department].pf-mobile-nav-open .sidebar{visibility:visible;pointer-events:auto;transform:none}
 body[data-pf-department] .sidebar nav{display:flex!important;flex-direction:column!important;overflow:visible!important;gap:15px!important}
 body[data-pf-department] .sidebar .nav-group{display:flex!important;flex-direction:column!important}
 body[data-pf-department] .sidebar .nav-group>small{display:block!important}
 body[data-pf-department] .sidebar .nav-item{width:100%!important}
 body[data-pf-department] .topbar{min-height:66px;padding:10px 14px;gap:9px}
 body[data-pf-department] .topbar .pf-menu-toggle{display:inline-flex;order:0!important;align-items:center;gap:7px;flex:none;min-height:44px;padding:8px 11px;border:1px solid var(--pf-border);border-radius:10px;background:#fff;color:var(--pf-ink);font-size:14px;font-weight:750}
 body[data-pf-department] .pf-menu-toggle>span{font-size:20px;line-height:1}
 body[data-pf-department] .pf-menu-backdrop{display:block;position:fixed;z-index:401;inset:0;width:100%;height:100%;border:0;background:#0e1923aa}
 body[data-pf-department] .page-content{padding:14px 12px 25px}
 body[data-pf-department] .pf-view-header{min-height:0;margin-bottom:14px;padding:16px;border-radius:14px}
 body[data-pf-department] .pf-view-header::before{width:4px}
 body[data-pf-department] .pf-view-header p{font-size:13px}
 body[data-pf-department] :is(.planning-toolbar,.dle-toolbar){padding:12px}
 body[data-pf-department] .pf-tier-top{padding:13px!important}
}
@media(prefers-reduced-motion:reduce){body[data-pf-department] .sidebar,body[data-pf-department] .sidebar .nav-item{transition:none}}
@media print{body[data-pf-department] .pf-view-header,body[data-pf-department] .pf-tier-top{background:#fff!important;color:#111!important;box-shadow:none!important}body[data-pf-department] .pf-view-header :is(h1,h2,p,small),body[data-pf-department] .pf-tier-top :is(h1,small){color:#111!important}.pf-menu-toggle,.pf-menu-backdrop,.pf-operator-dock{display:none!important}}
