/* Shared portal header (js/portal-header.js) — one look on every signed-in page. */
.pm-header{background:#fff;position:relative;border:0;box-shadow:none;font-family:"Parkinsans",system-ui,sans-serif;z-index:20}
.pm-header::after{content:'';display:block;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 10' preserveAspectRatio='none'%3E%3Cpath d='M0 2 Q720 9 1440 2 L1440 10 L0 10Z' fill='%230f3d63'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.pm-header-inner{max-width:var(--pm-container,1440px);margin:0 auto;padding:14px 32px 10px;display:flex;align-items:center;gap:28px}
.pm-header .logo-img{height:30px;width:auto;display:block}
.pm-header .pm-nav{display:flex;align-items:center;gap:22px;font-size:15px}
.pm-header .pm-nav a,.pm-header .pm-right a,.pm-header .pm-right button{color:#2c5e84;background:none;border:0;padding:4px 0;font-weight:500;cursor:pointer;position:relative;text-decoration:none;display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.pm-header .pm-nav a.active{color:#104a75;border-bottom:2px solid #104a75}
.pm-header .pm-right{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px}
.pm-header .pm-right a,.pm-header .pm-right button{color:#5f7a8c;font-weight:400;font-size:14px}
.pm-header .pm-right a.active{color:#104a75;font-weight:600}
.pm-header .pm-right a:hover,.pm-header .pm-right button:hover,.pm-header .pm-nav a:hover{color:#104a75}
.pm-header .pm-user{color:#104a75;font-weight:600}
.pm-header .pm-plus{font-size:16px;font-weight:600;line-height:1}
.pm-header .request-badge{position:static;margin-left:2px}
.pm-header .hidden{display:none!important}
.nav-burger{display:none;margin-left:auto;background:none;border:1.5px solid #c9d7cc;border-radius:10px;width:40px;height:36px;font-size:18px;color:#104a75;cursor:pointer}
@media (max-width:640px){
 .pm-header-inner{flex-wrap:wrap;gap:10px 14px;padding:10px 14px}
 .pm-header .logo-img{height:26px}
 .nav-burger{display:inline-flex;align-items:center;justify-content:center}
 .pm-header .pm-nav,.pm-header .pm-right{display:none!important}
 .pm-header.nav-open .pm-nav,.pm-header.nav-open .pm-right{display:flex!important;flex-direction:column;align-items:flex-start;gap:12px;width:100%;margin:0;padding:6px 0 4px;font-size:15px}
 .pm-header.nav-open .pm-right{border-top:1px solid #dde6df;padding-top:12px}
}

/* ONE shell for public + app pages (UI/UX 16 Oct): same container, edges aligned */
:root{--pm-container:1440px;--pm-gutter:32px} /* ONE container width for every page (Piotr 16 Oct) */
@media (max-width:599px){:root{--pm-gutter:16px}}
body.pm-shell{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}
body.pm-shell>main,body.pm-shell>#main-content,body.pm-shell>.pm-main{flex:1 0 auto}
body.pm-shell .pm-header-inner,
body.pm-shell main>.wrap,body.pm-shell .pm-main,body.pm-shell #loading-state,body.pm-shell #error-state,
body.pm-shell footer.app>.wrap,body.pm-shell .pm-footer-inner{max-width:var(--pm-container)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--pm-gutter)!important;padding-right:var(--pm-gutter)!important;box-sizing:border-box;width:100%}
.pm-header-inner{height:64px;padding-top:0!important;padding-bottom:0!important;align-items:center}
.pm-header .logo-img{height:26px!important}
.pm-header .pm-nav a,.pm-header .pm-right a,.pm-header .pm-right button{line-height:26px}
.pm-header .pm-cta{background:#104a75;color:#fff!important;border-radius:999px;padding:4px 14px!important;font-weight:600!important}
body.pm-shell main .pm-kpis,body.pm-shell main .pm-table,body.pm-shell #controllers-table-wrap{width:100%}
/* public pages: centred between header and footer, narrower inner width */
body.pm-centered>main{display:flex;align-items:center}
body.pm-centered>main>.wrap{width:100%}
body.pm-centered .auth-main{padding:32px 0}
body.pm-centered .auth-card{max-width:440px;margin:0 auto}
.pm-landing-group{max-width:1080px;margin:0 auto;padding:24px 0}
@media (max-width:640px){.pm-header-inner{height:auto;min-height:56px;padding-top:8px!important;padding-bottom:8px!important}body.pm-centered>main{align-items:flex-start}}

/* Landing v2 + header scale (UI/UX 16 Oct): fluid 1280 -> 1920, mobile (<=640px) unchanged */
@media (min-width:641px){
 .pm-header-inner{height:clamp(68px,4.2vw,80px)}
 .pm-header .logo-img{height:clamp(32px,2vw,38px)!important}
 .pm-header .pm-nav{font-size:16px}
 .pm-header .pm-nav a,.pm-header .pm-right a,.pm-header .pm-right button{font-size:15px;line-height:1.3}
 .pm-landing .pm-landing-group{max-width:none;padding:clamp(24px,3vw,56px) 0}
 .pm-landing .hero{grid-template-columns:1fr 1.1fr;gap:64px;padding:0}
 .pm-landing .hero .kicker{font-size:14px}
 .pm-landing .hero h1{font-size:clamp(40px,4vw,64px);line-height:1.05}
 .pm-landing .hero p{font-size:clamp(18px,1.05vw,20px);max-width:34ch;margin:18px 0 28px}
 .pm-landing .cta .btn{height:48px;padding:0 26px;font-size:16px}
 .pm-landing .hero-art{max-width:720px;width:100%;justify-self:end}
 .pm-landing .mini{grid-template-columns:repeat(3,1fr);gap:clamp(24px,2.5vw,48px);margin-top:clamp(32px,3.5vw,64px)}
 .pm-landing .mini h3{font-size:18px}.pm-landing .mini p{font-size:clamp(15px,.85vw,16px)}
 .pm-landing .ib{width:48px;height:48px}.pm-landing .ib svg{width:24px;height:24px}
}
.pm-header .pm-right a.pm-cta{background:#104a75!important;color:#fff!important;border-radius:999px;padding:6px 16px!important;font-weight:600}
.pm-header-public .pm-right{margin-left:auto;justify-content:flex-end}

/* Technical lines: admins/super admins only (Piotr 17 Oct). Hidden until the role is known. */
body:not(.is-admin) .admin-only{display:none!important}
body.is-admin .enduser-only,body:not(.role-known) .enduser-only{display:none!important}

/* DD-MM-YYYY date filters (date-input-dmy.js) */
.dmy-wrap{position:relative;display:inline-flex;align-items:center;width:100%;max-width:100%}
.dmy-wrap .dmy-text{flex:1 1 auto;min-width:0;padding-right:34px!important}
.dmy-wrap .dmy-cal{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;padding:4px;color:#5f7a8c;cursor:pointer;line-height:0}
.dmy-wrap .dmy-cal:hover{color:#104a75}
.dmy-wrap .dmy-native{position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none;border:0!important;padding:0!important}
.dmy-wrap .dmy-text[aria-invalid="true"]{border-color:#b42318!important;outline-color:#b42318}
label .dmy-wrap{display:flex;margin-top:4px}
.m9-custom .dmy-wrap{width:auto}
.m9-custom .dmy-wrap .dmy-text{width:150px}
