.pep-mobile-utilities{display:none}#sidebar button.nav-item{text-align:left;cursor:pointer}
@media(max-width:760px){
 #app>.topbar{padding:calc(env(safe-area-inset-top) + 10px) 12px 10px!important;gap:12px;min-height:72px;align-items:center}
 #app>.topbar>#hamburger{display:flex!important;align-items:center;justify-content:center;order:2;width:44px;height:44px;flex:0 0 44px;border:1px solid #d0d0ce;border-radius:5px;color:#252525;background:#fff;font-size:25px}
 #app>.topbar>.topbar-title{gap:10px;min-width:0;margin:0}
 #app>.topbar .brand-logo{width:90px;height:28px}
 #app>.topbar .brand-label{font-size:17px;line-height:1.15;max-width:230px;overflow-wrap:normal}
 #app>.topbar>#chrono-header-link,#app>.topbar>#tb-user,#app>.topbar>#tb-role,#app>.topbar>.tbtn{display:none!important}
 #app #sidebar.app-nav{display:none!important;position:fixed!important;inset:0 0 0 auto!important;width:min(340px,90vw)!important;height:100dvh;z-index:1001;overflow-y:auto!important;max-height:100dvh!important;padding:calc(env(safe-area-inset-top) + 14px) 12px calc(env(safe-area-inset-bottom) + 24px)!important;flex-direction:column!important;flex-wrap:nowrap!important;box-shadow:-8px 0 24px #0003!important}
 #app #sidebar.app-nav.open{display:flex!important}
 #app #sidebar .nav-item{width:100%;white-space:normal;min-height:46px;font-size:15px;padding:13px 14px!important;flex-shrink:0}
 #app #sidebar .nav-item.active{border-left:3px solid #d52826!important;border-bottom:0!important}
 #app #sidebar .pep-mobile-utilities{display:flex;flex-direction:column;border-top:1px solid #555;margin-top:14px;padding-top:10px}
 #app #sidebar .pep-mobile-identity{color:#ccc;font-size:13px;padding:12px 14px;overflow-wrap:anywhere}
 #app #menu-overlay.open{display:block!important;position:fixed;inset:0;background:#0007;z-index:1000;backdrop-filter:blur(3px)}
 body.pep-menu-open{overflow:hidden}
}
@media print{#app #sidebar.app-nav,#app #menu-overlay{display:none!important}}

.ma-plan-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.ma-posten-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.ma-posten-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:12px}.ma-posten-toolbar input,.ma-posten-toolbar select{padding:8px;border:1px solid #ccc;border-radius:4px;min-height:36px}.ma-posten-toolbar input{width:90px}.ma-posten-hint{font-size:12px;color:#626262;margin:14px 0 8px}#ma-posten-status{font-size:12px;font-weight:600;margin-bottom:12px}.ma-posten-scroll{overflow:auto;max-height:70vh;border:1px solid #ddd;border-radius:5px;overscroll-behavior-x:contain}.ma-posten-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px;table-layout:fixed}.ma-posten-table caption{text-align:left;padding:10px;font-weight:700;background:#fff}.ma-posten-table th,.ma-posten-table td{border-right:1px solid #ddd;border-bottom:1px solid #ddd;min-width:34px;height:36px;text-align:center;padding:5px;white-space:nowrap;cursor:default}.ma-posten-table thead th{position:sticky;top:0;z-index:2;background:#fff;font-size:10px}.ma-posten-table tr>th:first-child{position:sticky;left:0;z-index:1;text-align:left;background:#fff;min-width:165px;max-width:210px;white-space:normal}.ma-posten-table thead th:first-child{z-index:3}.ma-posten-table th small{display:block;font-size:9px;color:#666;font-weight:400;margin-top:2px}.ma-posten-table .ma-posten-weekend{background:#e9e9e7}.ma-posten-table .ma-posten-self>th:first-child{border-left:4px solid #d52826;background:#fff4f3}.ma-posten-table .ma-posten-today{box-shadow:inset 1px 0 #d52826,inset -1px 0 #d52826}.ma-posten-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:11px}.ma-posten-legend span{display:inline-flex;align-items:center;gap:6px}.ma-posten-legend i{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:23px;padding:2px;border:1px solid #ccc;border-radius:3px;font-style:normal}@media(max-width:760px){.ma-posten-table tr>th:first-child{min-width:130px;max-width:145px}.ma-posten-toolbar{gap:8px}.ma-posten-toolbar .btn{min-height:38px}}

.pep-today{padding:10px 18px;background:#fff;border-bottom:1px solid #ddd;flex-shrink:0}.pep-today-heading{display:flex;align-items:center;gap:12px;font-size:12px;margin-bottom:8px}.pep-today-heading>span{color:#666}.pep-today-heading .pep-today-status{margin-left:auto;font-size:10px}.pep-today-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pep-today-person{display:flex;align-items:center;gap:9px;min-width:0;font-size:12px}.pep-today-role{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:28px;padding:4px 6px;font-size:11px;font-weight:700;border:1px solid #ddd;border-radius:4px;flex-shrink:0}.pep-today-person strong{overflow-wrap:anywhere;line-height:1.35}.pep-today-empty{font-weight:400;color:#888}@media(max-width:760px){.pep-today{padding:10px 12px}.pep-today-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.pep-today-person{font-size:11px;align-items:flex-start}.pep-today-heading{font-size:11px;gap:8px}}@media print{.pep-today{display:none}}

/* Desktop-only fixed frame. Phones and touch devices retain natural page scrolling. */
@media(min-width:761px) and (hover:hover) and (pointer:fine){
 #app.visible{height:100vh;height:100dvh;min-height:0;overflow:hidden}
 html:has(#app.visible),body:has(#app.visible){height:100%;min-height:0;overflow:hidden}
 #app>.topbar,#app>.pep-today{flex-shrink:0}
 #app>.main{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}
 #app #content{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
 #app #sidebar.app-nav{position:static!important;flex:0 0 auto;align-self:stretch}
}
@media print{
 html:has(#app.visible),body:has(#app.visible),#app.visible,#app>.main,#app #content{height:auto!important;min-height:0;overflow:visible!important}
 #app.visible,#app>.main{display:block!important}
}

/* Compact calendar aids: dates remain the main content. */
.calendar-support{padding:8px 0;margin-bottom:6px;border-bottom:1px solid #e7e7e4;font-size:12px;color:#626262}
.calendar-support-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;line-height:1.6}
.calendar-support-row>strong{font-size:13px;color:#444}
.calendar-support-row b{font-weight:600;color:#444}
.calendar-support-row label{margin:0;font-size:12px;color:inherit}
.calendar-support-details{margin-top:3px;font-size:11px;color:#757575}
.calendar-support-details summary{cursor:pointer;width:fit-content}
.calendar-support-details p{max-width:900px;margin:6px 0;line-height:1.5}
@media(max-width:760px){.calendar-support-row{gap:4px 12px}.calendar-support-row>strong{flex-basis:100%}}
