/* Shared PTMS public navigation */
.public-nav-skip {
    background: #0b1f3a;
    border-radius: 0 0 8px 0;
    color: #fff;
    left: -9999px;
    padding: 9px 13px;
    position: fixed;
    top: 0;
    z-index: 1000;
}
.public-nav-skip:focus { left: 0; }
.public-nav-container { margin-inline: auto; max-width: 1180px; padding-inline: 20px; width: 100%; }
.public-nav { background: rgb(255 255 255 / 97%); border-bottom: 1px solid #e5e9f0; position: sticky; top: 0; z-index: 100; }
.public-nav-row { align-items: center; display: flex; gap: 18px; min-height: 68px; }
.public-brand { align-items: center; color: #0b1f3a; display: inline-flex; flex: 0 1 auto; gap: 10px; min-width: 220px; text-decoration: none; }
.public-brand-logo { background: #0b1f3a; border-radius: 9px; box-sizing: border-box; flex: 0 0 auto; height: 46px !important; max-width: 180px; object-fit: contain; padding: 6px 10px; width: auto !important; }
.public-brand-copy { border-left: 1px solid #e5e9f0; display: flex; flex-direction: column; line-height: 1.2; padding-left: 10px; }
.public-brand-copy strong { color: #0b1f3a; font-size: 12px; font-weight: 650; white-space: nowrap; }
.public-brand-copy small { color: #0d9488; font-size: 8px; font-weight: 650; letter-spacing: .08em; margin-top: 2px; text-transform: uppercase; }
.public-nav-links { align-items: center; display: flex; gap: 2px; margin-left: auto; }
.public-nav-links a { border-radius: 7px; color: #64748b; font-size: 11px; font-weight: 600; padding: 7px 8px; text-decoration: none; white-space: nowrap; }
.public-nav-links a:hover,
.public-nav-links a:focus-visible,
.public-nav-links a.is-active { background: #f0fdfa; color: #0b7a6e; }
.public-bed-bar { background: #f8fafc; border-top: 1px solid #eef2f7; }
.public-bed-bar-inner { align-items: center; display: flex; gap: 16px; min-height: 44px; }
.public-bed-bar-label { color: #475569; font-size: 11px; font-weight: 700; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }
.public-bed-totals { align-items: center; display: flex; gap: 8px; }
.public-bed-totals span { align-items: center; border-radius: 999px; color: #fff; display: inline-flex; font-size: 10px; font-weight: 650; gap: 4px; line-height: 1; min-height: 24px; padding: 5px 10px; white-space: nowrap; }
.public-bed-totals .is-available { background: #059669; }
.public-bed-totals .is-long { background: #475569; }
.public-bed-totals .is-short { background: #d97706; }
.public-nav-actions { align-items: center; display: flex; gap: 8px; }
.public-login,
.public-dashboard { color: #0b1f3a; font-size: 11px; font-weight: 650; padding: 7px 8px; text-decoration: none; white-space: nowrap; }
.public-account { position: relative; }
.public-account summary { border: 1px solid #d7dee8; border-radius: 8px; color: #0b1f3a; cursor: pointer; font-size: 11px; font-weight: 600; list-style: none; max-width: 150px; overflow: hidden; padding: 8px 10px; text-overflow: ellipsis; white-space: nowrap; }
.public-account summary::-webkit-details-marker { display: none; }
.public-account-menu { background: #fff; border: 1px solid #e5e9f0; border-radius: 9px; box-shadow: 0 12px 30px rgb(11 31 58 / 12%); min-width: 140px; padding: 5px; position: absolute; right: 0; top: calc(100% + 7px); }
.public-account-menu a,
.public-account-menu button { background: transparent; border: 0; border-radius: 6px; color: #334155; display: block; font: inherit; font-size: 11px; padding: 8px 9px; text-align: left; text-decoration: none; width: 100%; }
.public-account-menu a:hover,
.public-account-menu button:hover { background: #f0fdfa; color: #0b7a6e; }
.public-mobile-menu { display: none; margin-left: auto; position: relative; }
.public-mobile-menu > summary { align-items: center; border: 1px solid #d7dee8; border-radius: 8px; cursor: pointer; display: flex; flex-direction: column; gap: 3px; height: 36px; justify-content: center; list-style: none; width: 38px; }
.public-mobile-menu > summary::-webkit-details-marker { display: none; }
.public-mobile-menu > summary span { background: #475569; border-radius: 999px; display: block; height: 2px; width: 16px; }
.public-mobile-panel { background: #fff; border: 1px solid #e5e9f0; border-radius: 10px; box-shadow: 0 14px 34px rgb(11 31 58 / 14%); min-width: 210px; padding: 6px; position: absolute; right: 0; top: calc(100% + 8px); }
.public-mobile-panel a,
.public-mobile-panel button { background: transparent; border: 0; border-radius: 7px; color: #334155; display: block; font: inherit; font-size: 12px; padding: 9px 10px; text-align: left; text-decoration: none; width: 100%; }
.public-mobile-panel a:hover,
.public-mobile-panel button:hover { background: #f0fdfa; color: #0b7a6e; }
@media (max-width: 1050px) {
    .public-nav-links { display: none; }
    .public-mobile-menu { display: block; }
    .public-nav-actions { display: none; }
}
@media (max-width: 700px) {
    .public-nav-row { gap: 10px; min-height: 62px; }
    .public-brand { min-width: 0; }
    .public-brand-copy strong { font-size: 10px; white-space: normal; }
    .public-brand-copy small { display: none; }
    .public-bed-bar-inner { justify-content: space-between; overflow-x: auto; }
    .public-bed-bar-label { flex: 0 0 auto; }
}
@media (max-width: 430px) {
    .public-brand-copy { display: none; }
    .public-brand-logo { max-width: 170px; }
}
