/* Canonical header based on the week planner; independent of each page's body layout. */
.kp-platform-header,.app-shell:not(.screen)>.sidebar.kp-platform-header{--kp-header-bg:#0a1927;--kp-header-text:#edf4f8;--kp-header-muted:#98afbf;box-sizing:border-box;position:sticky;top:0;left:auto;bottom:auto;width:100%;height:auto;min-height:69px;margin:0;padding:12px 24px;display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:24px;border:0;border-bottom:1px solid var(--line,#233b4d);background:var(--kp-header-bg);color:var(--kp-header-text);z-index:40;backdrop-filter:blur(10px);font:14px/1.5 'Segoe UI',Arial,sans-serif}
html[data-theme=light] .kp-platform-header,html[data-theme=light] .app-shell:not(.screen)>.sidebar.kp-platform-header{--kp-header-bg:#fff;--kp-header-text:#162c3e;--kp-header-muted:#4f6679}
.kp-platform-header>.kp-header-logo{display:block;box-sizing:border-box;width:190px;padding:7px 10px;background:#fff;border:0;border-radius:6px;margin:0;text-decoration:none;flex-shrink:0}
.kp-platform-header>.kp-header-logo img{display:block;box-sizing:border-box;width:100%;height:31px;object-fit:contain;padding:0;margin:0;background:none;border:0;border-radius:0}
.kp-platform-header>.kp-header-nav{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin:0;padding:0;border:0;overflow:visible;min-width:0}
.kp-platform-header>.kp-header-account{display:flex;align-items:center;gap:0;margin:0;padding:0;border:0;grid-column:3;grid-row:1;white-space:nowrap}
.kp-platform-header .kp-header-user{display:flex!important;align-items:center;gap:10px;max-width:220px;margin:0;padding:5px 7px!important;min-height:40px;border:1px solid transparent;border-radius:8px;color:var(--kp-header-text);background:transparent;text-align:left;font:11px/1.4 'Segoe UI',Arial,sans-serif;cursor:pointer}
.kp-platform-header .kp-header-user:hover,.kp-platform-header .kp-header-user:focus-visible{border-color:var(--line,#39536a);background:#ffffff0a}
.kp-platform-header .identity-name{display:block;min-width:0;max-width:155px;white-space:normal}.kp-platform-header .identity-name strong{display:block;margin:0;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;color:inherit}.kp-platform-header .identity-name small{display:block;font-size:11px;color:var(--kp-header-muted)}
.kp-platform-header .avatar{display:grid;place-items:center;flex:none;width:29px;height:29px;margin:0;border-radius:50%;background:#25546a;color:#e0f5ff;font-size:11px;font-weight:700}
.kp-platform-header>.kp-header-toggle{display:none;min-width:42px;min-height:40px;padding:1px 9px;border:1px solid var(--line,#39536a);border-radius:8px;background:transparent;color:var(--kp-header-text);font:22px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer}
.kp-platform-header .common-nav-group{font-size:13px}.kp-platform-header .common-nav-group>summary{padding:9px 13px;color:var(--kp-header-muted)}.kp-platform-header .common-nav-group.current>summary,.kp-platform-header .common-nav-group[open]>summary{background:#1b3446;color:#f0f6fb}.kp-platform-header .common-nav-panel{z-index:65}.kp-platform-header .common-nav-panel a,.kp-platform-header .common-nav-panel button{font:13px/1.5 'Segoe UI',Arial,sans-serif;min-height:38px}
html[data-theme=light] .kp-platform-header .common-nav-group.current>summary,html[data-theme=light] .kp-platform-header .common-nav-group[open]>summary{background:#d7e9f4;color:#203d52}
@media(max-width:1150px){.kp-platform-header,.app-shell:not(.screen)>.sidebar.kp-platform-header{grid-template-columns:190px minmax(0,1fr) auto;gap:16px;padding:10px 16px;min-height:65px}.kp-platform-header>.kp-header-toggle{display:block;grid-column:2;grid-row:1;justify-self:end}.kp-platform-header>.kp-header-nav{display:none;grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap;padding:9px 0 0;border-top:1px solid var(--line,#39536a)}.kp-platform-header.menu-open>.kp-header-nav{display:flex}}
@media(max-width:700px){.kp-platform-header,.app-shell:not(.screen)>.sidebar.kp-platform-header{grid-template-columns:135px minmax(30px,1fr) auto;gap:8px;padding:8px 12px;min-height:61px}.kp-platform-header>.kp-header-logo{width:135px;padding:5px 8px}.kp-platform-header>.kp-header-logo img{height:29px}.kp-platform-header .kp-header-user{max-width:140px;gap:5px;padding:4px!important}.kp-platform-header .identity-name,.kp-platform-header .identity-name strong{max-width:110px}.kp-platform-header .avatar{display:none}.kp-platform-header .common-nav-group>summary{padding:8px 9px;font-size:12px}}
/* Portal tools remain available below the common header. */
.portal-platform-tools{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-bottom:18px;flex-wrap:wrap}.portal-platform-tools .search{background:var(--surface);border-color:var(--line)}.portal-platform-tools .search input{color:var(--ink)}.portal-platform-tools .search input::placeholder{color:var(--muted)}.portal-platform-tools .icon-button{color:var(--ink)}
.header.kp-platform-header{position:fixed;inset:0 0 auto}.header.kp-platform-header~.sidebar{top:69px}.header.kp-platform-header~.main{padding-top:93px}
@media(max-width:1150px){.header.kp-platform-header~.sidebar{top:65px}.header.kp-platform-header~.main{padding-top:89px}}
@media(max-width:700px){.header.kp-platform-header~.sidebar{top:61px}.header.kp-platform-header~.main{padding-top:79px}.portal-platform-tools .search{flex:1;min-width:160px}.portal-platform-tools .mobile-menu{display:inline-flex}}

.portal-platform-tools .search{display:flex}.kp-platform-header[hidden]{display:none!important}

.kp-platform-header .common-nav-panel{background:var(--kp-header-bg);border-color:var(--line,#355064)}.kp-platform-header .common-nav-panel>a,.kp-platform-header .common-nav-panel>button{color:var(--kp-header-text)}.kp-platform-header .common-nav-panel>.active,.kp-platform-header .common-nav-panel>a:hover,.kp-platform-header .common-nav-panel>button:hover{background:#25455e;color:#fff}
.kp-platform-header .kp-header-user,.kp-platform-header>.kp-header-toggle{background:transparent!important;color:var(--kp-header-text)!important}.kp-platform-header .kp-header-user:hover{background:#ffffff0a!important}
html[data-theme=light] .kp-platform-header .common-nav-panel>.active,html[data-theme=light] .kp-platform-header .common-nav-panel>a:hover,html[data-theme=light] .kp-platform-header .common-nav-panel>button:hover{background:#d7e9f4!important;color:#203d52!important}

/* Employees have a direct, visible weekly-plan link on desktop and phones. */
.sidebar.kp-platform-header>.nav.kp-header-nav[data-header-role=employee]{display:flex;grid-column:2;grid-row:1;justify-content:center;justify-self:center;padding:0;margin:0;border:0;min-width:0}
.kp-header-nav .common-nav-direct{display:block;padding:9px 13px;border-radius:7px;background:#1b3446;color:#f0f6fb;text-decoration:none;font-size:13px;white-space:nowrap}
html[data-theme=light] .kp-header-nav .common-nav-direct{background:#d7e9f4;color:#203d52}
@media(max-width:400px){.app-shell.employee-view>.sidebar.kp-platform-header{grid-template-columns:110px minmax(55px,1fr) auto;gap:6px}.employee-view .kp-platform-header>.kp-header-logo{width:110px}.employee-view .kp-header-nav .common-nav-direct{padding:8px 6px;font-size:12px}.employee-view .kp-platform-header .identity-name,.employee-view .kp-platform-header .identity-name strong{max-width:90px}}
/* Collapsed navigation remains inside the viewport, including nested Administration items. */
@media(max-width:1150px){
 .kp-platform-header>.kp-header-nav{position:absolute;top:100%;left:8px;right:8px;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;display:none;flex-direction:column;align-items:stretch;background:var(--kp-header-bg);padding:8px;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px #0005}
 .kp-platform-header.menu-open>.kp-header-nav{display:flex}
 .kp-platform-header .common-nav-group{width:100%;min-width:0}
 .kp-platform-header .common-nav-panel{position:static;min-width:0;max-width:100%;width:100%;box-shadow:none;margin:4px 0}
 .kp-platform-header .common-nav-panel>a,.kp-platform-header .common-nav-panel>button{white-space:normal;overflow-wrap:anywhere}
 .sidebar.kp-platform-header>.nav.kp-header-nav[data-header-role=employee]{position:static;max-height:none;width:auto;box-shadow:none;background:none;border:0;overflow:visible}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1150px){
 .app-shell:not(.screen)>.sidebar.kp-platform-header{position:relative;min-height:48px;padding:4px 10px}
 .kp-platform-header>.kp-header-logo img{height:25px}
 .weekplan-workspace>.topbar{margin-bottom:8px}.weekplan-workspace>.topbar h1{font-size:20px}
 .weekplan-workspace #content>.stats{position:static!important;top:auto!important}
 .weekplan-workspace #content>.calendar-workspace-controls{position:static!important;box-shadow:none;padding:8px;gap:6px}
 .calendar-workspace-controls.calendar-operations-layout{grid-template-columns:minmax(0,1fr) auto}
 .calendar-operations-layout>.filters{width:auto;flex-wrap:wrap}.calendar-operations-layout>.week-nav{width:auto}
 .calendar-operations-layout>.week-nav .week-title{min-width:130px}.calendar-operations-layout>.filters select{min-width:90px;max-width:120px}
 .calendar-secondary-controls{padding-top:6px;gap:6px}
 .admin-calendar>.cal-head,.admin-calendar>.cal-head:first-child{position:sticky;top:0!important;z-index:5}
 .admin-calendar{gap:3px}.admin-calendar .admin-cell{min-height:55px;padding:2px;gap:3px}
 .admin-calendar .person{padding:4px}.admin-calendar .person strong{font-size:10px}
 .admin-calendar .slot .time{font-size:9px;height:20px;min-height:20px;flex-basis:20px;padding:2px 3px}
 .admin-calendar .slot .details{padding:3px;gap:1px}.admin-calendar .slot strong{font-size:10px;line-height:12px}
 .admin-calendar .card-customer,.admin-calendar .card-contact,.admin-calendar .card-description,.admin-calendar .card-comment{display:none}
 .admin-calendar .cell-add-actions button{font-size:8px;padding:3px 1px}.admin-calendar .cal-head,.admin-calendar .cal-head strong{font-size:9px}
}
.staff-searchbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.staff-searchbar label{min-width:180px;max-width:100%}
