/* Componenti comuni, isolati dai calcoli e dalle funzioni del portale. */
.portal-header{position:relative;z-index:30;background:var(--design-surface,#fffef9);color:var(--design-text,#10124d);border-bottom:1px solid #bcc1d0;font:16px/1.45 'IBM Plex Sans',system-ui,sans-serif}
.portal-header-top{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px}
.portal-brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;min-width:0;flex:0 1 510px}
.portal-brand .portal-crest{width:64px;height:88px;object-fit:contain;flex:none}
.portal-brand>span{display:flex;align-items:center;flex-direction:column;gap:5px;flex:1;min-width:0;text-align:center}
.portal-brand .portal-wordmark{width:100%;max-width:420px;height:68px;object-fit:contain}
.portal-brand small{display:block;font-size:13px;letter-spacing:.03em}
.portal-brand .club-mark-gold{display:none}
[data-theme=night] .portal-brand .club-mark-blue{display:none}
[data-theme=night] .portal-brand .club-mark-gold{display:block}
.portal-account{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;font-size:14px}
.portal-identity{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-account a,.portal-account button{font:inherit;color:inherit;padding:8px 10px;border:1px solid #a5acc0;border-radius:8px;background:transparent;text-decoration:none;min-height:40px}
.portal-account label{display:flex;align-items:center;gap:6px}
.portal-header select{font:inherit;color:inherit;background:transparent;border:1px solid #a5acc0;border-radius:7px;padding:7px;min-height:40px}
.portal-nav{position:relative;max-width:1440px;margin:auto;display:flex;gap:6px;align-items:center;padding:8px 24px;flex-wrap:wrap;border-top:1px solid #a5acc044}
.portal-nav>a,.portal-nav>details>summary{display:flex;align-items:center;gap:8px;padding:10px 18px;min-height:44px;font:600 16px/1.3 'IBM Plex Sans',system-ui,sans-serif;color:inherit;border:0;border-radius:8px;background:transparent;text-decoration:none;cursor:pointer}
.portal-nav>a[aria-current=page],.portal-nav>details[open]>summary{background:#edc34c;color:#10124d}
.portal-nav>details{position:relative;flex:none;padding:0;border:0;margin:0;background:transparent}
.portal-nav summary:after{content:'⌄';margin-left:8px}
.portal-nav details>summary::-webkit-details-marker{display:none}
.portal-subnav{position:absolute;z-index:80;top:calc(100% + 6px);left:0;min-width:290px;max-width:calc(100vw - 32px);padding:8px;border:1px solid #a5acc0;border-radius:12px;background:#fffef9;color:#10124d;box-shadow:0 12px 35px #10124d25}
.portal-subnav>a{display:flex;align-items:center;gap:10px;padding:11px 12px;text-decoration:none;color:inherit;border-radius:6px;font-size:15px;line-height:1.4;min-height:44px}
.portal-subnav>a:hover,.portal-subnav>a:focus-visible{background:#edc34c33}
.portal-subnav>a>span{width:22px;text-align:center;flex:none}
.portal-preview{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px}
.portal-preview-message{padding:8px 24px;margin:0;background:#edc34c22;font-size:13px;text-align:center}
.portal-header [data-simple-log]{display:none!important}
.portal-header :focus-visible{outline:3px solid #296ab5;outline-offset:3px}
.portal-eligibility{display:block;max-width:260px;font-size:14px;font-weight:600;color:inherit;text-align:right}
.portal-eligibility small{display:block;font-weight:400;font-size:12px;margin-top:3px}
.design-workspace{align-items:start}
.design-sidebar>details>summary,.design-admin-calendar>summary,.portal-aircraft-details>summary{cursor:pointer;font-weight:600;padding:10px 0;min-height:44px}
.design-sidebar>details>section{border:0;box-shadow:none;padding:12px 0;margin:0}
.design-sidebar .design-panel{min-width:0}
.design-admin-calendar:not([open])>*:not(summary){display:none}
#booking-modal #booking-highlight-card{position:static!important;top:auto!important;grid-template-columns:1fr 1fr!important;padding:12px!important;gap:8px!important;font-size:14px}
#booking-modal #booking-highlight-card strong{font-size:17px!important}
#booking-modal #booking-highlight-card .booking-aircraft-summary{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;margin:0;padding-top:8px}
#booking-modal label[for=booking-note-input]{font-size:13px}
#booking-modal .portal-optional-note{margin-top:12px}
#booking-modal #simple-slot-alerts{position:static!important;grid-column:1/-1;font-size:13px;line-height:1.4}
.portal-aircraft-details{margin-top:12px;border-top:1px solid #a5acc055}
.portal-aircraft-details p{font-size:14px;line-height:1.6}
[data-theme=night] .portal-header{background:#111535;color:#f4f2e9}
[data-theme=night] .portal-subnav{background:#171c41;color:#f4f2e9}
.portal-nav [hidden],.portal-header [hidden]{display:none!important}
@media(min-width:1000px){.design-workspace{grid-template-columns:minmax(0,1fr) 290px!important}.design-sidebar{position:static!important}.design-filter-row{gap:10px!important}}
@media(max-width:800px){.portal-header-top{padding:12px 16px;flex-wrap:wrap;gap:12px}.portal-brand{flex-basis:100%;max-width:500px;margin:auto}.portal-account{width:100%;justify-content:center;font-size:13px;gap:8px}.portal-account .portal-identity{max-width:200px}.portal-nav{padding:6px 10px;gap:2px}.portal-nav>a,.portal-nav>details>summary{padding:10px;font-size:14px}.portal-preview{width:100%;justify-content:flex-end;padding:4px 6px}.portal-subnav{position:absolute;min-width:250px;left:auto;right:0}.portal-brand .portal-crest{width:53px;height:73px}.portal-brand .portal-wordmark{height:60px}.portal-eligibility{max-width:180px}.design-workspace{display:flex!important;flex-direction:column}.design-workspace>div,.design-sidebar{width:100%}.design-sidebar{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;position:static!important}.design-sidebar>.design-panel{margin:0!important}.design-sidebar .portal-notes-shortcut{grid-column:1/-1}}
@media(max-width:480px){.portal-account .portal-identity{flex-basis:100%;text-align:center;max-width:100%}.portal-brand{gap:9px}.portal-brand small{font-size:11px}.portal-brand .portal-wordmark{height:52px}.portal-brand .portal-crest{width:47px;height:65px}.portal-nav>a,.portal-nav>details>summary{padding:10px 7px;font-size:13px;gap:5px}.portal-nav>details:nth-of-type(1) .portal-subnav{right:-70px}.design-sidebar{grid-template-columns:1fr}.portal-eligibility{max-width:150px;font-size:13px}}
@media print{.portal-header,.portal-aircraft-details{display:none!important}}

#app-header.portal-header~#portal-quick-nav,body:has(#app-header.portal-header) #portal-quick-nav{display:none!important}


/* Neutralizza le regole generiche header delle pagine storiche. */
html[data-theme] body>header.portal-header,html[data-theme] #app-header.portal-header{display:block!important;padding:0!important;background:#fffef9!important;color:#10124d!important;border-bottom:1px solid #bcc1d0!important}
html[data-theme=night] body>header.portal-header,html[data-theme=night] #app-header.portal-header{background:#111535!important;color:#f4f2e9!important}
.portal-header .portal-header-top{width:100%;max-width:1440px;box-sizing:border-box}
.portal-header .portal-nav{width:100%;box-sizing:border-box}
html[data-theme] .portal-header a{color:inherit!important}
.portal-header span{margin-left:0}
.portal-header .portal-account label,.portal-header .portal-preview{flex-direction:row;font-weight:400}
.portal-header select{width:auto!important}
.portal-header .portal-subnav{color:#10124d!important}
[data-theme=night] .portal-header .portal-subnav{color:#f4f2e9!important}
