/* Hub account panels (profile, peer practice, inbox, notifications, menus). Owned by the account area of the design-fidelity pass. Loaded last so it can override hub defaults. */

/* viewport-fit=cover (index.html) makes the safe-area insets real so the
   phone tab bar clears the iPhone home indicator; in landscape the page then
   runs under the notch, so the body is inset by the side areas (0 elsewhere). */
body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }

/* ---------- Shared: account panels sit in the 960 main container ---------- */
#dashboard :is(#panel-profile, #panel-notifications) > .dashboard-body {
    max-width: 1040px;
    padding: 32px 40px 56px;
}
#dashboard :is(#panel-profile, #panel-notifications) .secondary-panel-header { margin-bottom: 0; }
#dashboard :is(#panel-profile, #panel-notifications) .secondary-panel-header .section-heading {
    font-family: var(--cbd-serif, "Source Serif 4", Georgia, serif);
    font-size: 28px; font-weight: 600; line-height: 1.15; color: #0E2535; margin: 0 0 6px;
}
#dashboard :is(#panel-profile, #panel-notifications) .secondary-panel-header .section-sub {
    font-size: 15px; color: #5A6B7B; margin: 0;
}

/* ---------- Profile: one column, hairline sections, no cards ---------- */
#dashboard #panel-profile .profile-grid {
    display: block; margin: 0;
}
/* Identity card becomes the meta line under the title: Name · @user · email · Role */
#dashboard #panel-profile .profile-info-card {
    display: flex; flex-wrap: wrap; align-items: center; gap: 0;
    border: 0; border-radius: 0; padding: 0; margin: 6px 0 0; background: none;
    font-size: 15px; line-height: 1.5; color: #5A6B7B;
}
#dashboard #panel-profile .profile-avatar { display: none; }
#dashboard #panel-profile :is(.profile-name, .profile-uname, .profile-email-row, .profile-role-badge) {
    font-family: inherit; font-size: 15px; font-weight: 400; color: #5A6B7B;
    margin: 0; padding: 0; background: none; border: 0; border-radius: 0;
    text-transform: none; letter-spacing: 0; word-break: normal;
}
#dashboard #panel-profile .profile-email-row { gap: 0; }
#dashboard #panel-profile .profile-email-row svg { display: none; }
#dashboard #panel-profile :is(.profile-uname, .profile-email-row, .profile-role-badge):not(:empty)::before {
    content: "\00b7"; margin: 0 6px; color: #5A6B7B;
}
#dashboard #panel-profile .profile-email-row { display: none !important; }
#dashboard #panel-profile .secondary-panel-header .section-sub { display: none; }
#dashboard #panel-profile .profile-role-badge { text-transform: none; }

/* Sections */
#dashboard #panel-profile :is(.profile-edit-card, .profile-sub-card) {
    border: 0; border-top: 1px solid #D4DAE3; border-radius: 0; box-shadow: none;
    background: none; padding: 24px 0 0; margin: 24px 0 0;
}
#dashboard #panel-profile .profile-edit-card { margin-top: 24px; }
#dashboard #panel-profile :is(.profile-edit-label, .profile-sub-title, .my-sessions-heading) {
    font-family: var(--cbd-sans, "Public Sans", sans-serif);
    font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: 0;
    text-transform: none; color: #0E2535; margin: 0 0 12px;
}
#dashboard #panel-profile .profile-fields {
    grid-template-columns: 1fr; gap: 14px; margin-bottom: 16px;
}
#dashboard #panel-profile .profile-field label {
    display: block; font-size: 13px; font-weight: 600; line-height: normal; color: #0E2535; margin-bottom: 6px;
}
#dashboard #panel-profile .profile-field :is(input, select, textarea) {
    min-height: 44px; border: 1px solid #D4DAE3; border-radius: 6px;
    display: block; width: 100%; font-size: 15px; padding: 10px 12px; color: #0E2535;
}
#dashboard #panel-profile .profile-field textarea { min-height: 96px; line-height: 1.5; }
#dashboard #panel-profile .btn-save-profile {
    min-height: 44px; padding: 0 18px; border-radius: 6px;
    font-size: 15px; font-weight: 600; background: #0E2535; color: #FFFFFF;
}
#dashboard #panel-profile .btn-cancel-sub {
    min-height: 44px; padding: 0 18px; border-radius: 6px; background: #FFFFFF;
    color: #C41E24; border: 1px solid #C41E24; font-size: 15px; font-weight: 600;
    transform: none; box-shadow: none;
}
#dashboard #panel-profile .btn-cancel-sub:hover:not(:disabled) { background: #FFF5F5; color: #C41E24; }

/* Sign-in details: stacked fields, no inner divider */
#dashboard #panel-profile .profile-account-section + .profile-account-section {
    border-top: 0; margin-top: 16px; padding-top: 0;
}
#dashboard #panel-profile .profile-account-note { font-size: 13px; color: #5A6B7B; }
#dashboard #panel-profile #profile-password-section > .profile-sub-desc { font-size: 13px; font-weight: 600; color: #0E2535; }
#dashboard #panel-profile .profile-account-note { margin: 6px 0 0; }
#dashboard #panel-profile .pf-pw-wrap { position: relative; }
#dashboard #panel-profile .pf-pw-wrap input { padding-right: 64px; }
#dashboard #panel-profile .pf-pw-show {
    position: absolute; top: 0; right: 0; height: 44px; padding: 0 12px;
    background: none; border: 0; font-size: 13px; font-weight: 600; color: #0E2535; cursor: pointer;
}
#dashboard #panel-profile .profile-field input[readonly] { background: #FFFFFF; }
#dashboard #panel-profile .profile-edit-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
#dashboard #panel-profile .profile-edit-name-btn {
    background: none; border: 0; padding: 0; font-size: 13px; font-weight: 600; color: #0E2535; cursor: pointer;
}
#dashboard #panel-profile .profile-edit-name-btn:hover { text-decoration: underline; }
#dashboard #panel-profile .profile-sub-note { display: block; font-size: 13px; font-weight: 400; color: #5A6B7B; }

/* Sub cards: title on its own line, then a row (text left, status or action right), then actions */
#dashboard #panel-profile .profile-sub-card {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 0; align-items: center;
}
#dashboard #panel-profile .profile-sub-card > .profile-sub-head,
#dashboard #panel-profile .profile-sub-card > .profile-sub-head > div:first-child { display: contents; }
#dashboard #panel-profile .profile-sub-card .profile-sub-title { grid-column: 1 / -1; }
#dashboard #panel-profile .profile-sub-card > :is(.profile-sub-actions, .profile-account-section),
#dashboard #panel-profile #profile-signin-card > * { grid-column: 1 / -1; }
#dashboard #panel-profile .profile-sub-desc {
    grid-column: 1; font-size: 15px; font-weight: 600; color: #0E2535; line-height: 1.45;
}
#dashboard #panel-profile #profile-signin-card .profile-sub-desc { font-weight: 400; color: #5A6B7B; }
#dashboard #panel-profile #profile-delete-card .profile-sub-desc {
    font-size: 13px; font-weight: 400; color: #5A6B7B; max-width: 600px;
}
#dashboard #panel-profile .profile-sub-status {
    grid-column: 2; background: none; padding: 0; border-radius: 0;
    font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #0E2535;
}
#dashboard #panel-profile .profile-sub-status.cancelled { color: #C41E24; }
#dashboard #panel-profile .profile-sub-status.past-due { color: #A8882E; }
#dashboard #panel-profile #profile-sub-card .profile-sub-desc,
#dashboard #panel-profile #profile-sub-card .profile-sub-status {
    padding: 8px 0 14px; border-bottom: 1px solid #D4DAE3; align-self: stretch; display: flex; align-items: center;
}
#dashboard #panel-profile #profile-sub-card .profile-sub-status { justify-content: flex-end; border-width: 0 0 1px; border-color: #D4DAE3; padding-left: 12px; }
/* No Cancel button (comp or payment-link plan) and no message: drop the empty actions row */
#dashboard #panel-profile #profile-sub-card .profile-sub-actions:has(#btn-cancel-sub[style*="none"]):has(.profile-sub-msg:empty) { display: none; }
#dashboard #panel-profile .profile-sub-actions { margin-top: 16px; }

/* Billing and Your data: the action sits at the right of the row. The row is
   the card's last line, so no rule under it: the next card's top border is
   the divider (a second line 25px above it read as a double rule). */
#dashboard #panel-profile :is(#profile-billing-card, #profile-export-card) .profile-sub-desc {
    padding: 8px 0 14px; align-self: stretch;
}
#dashboard #panel-profile :is(#profile-billing-card, #profile-export-card) > .profile-sub-actions {
    grid-column: 2; grid-row: 2; margin: 0; align-self: stretch; justify-content: flex-end;
    padding: 0 0 6px 16px;
}
#dashboard #panel-profile #profile-products .btn-cancel-sub {
    min-height: 40px; padding: 0; background: none; border: 0; color: #0E2535;
    font-size: 13px; font-weight: 600; box-shadow: none; transform: none;
}
#dashboard #panel-profile #profile-products .btn-cancel-sub:hover:not(:disabled) {
    background: none; color: #1E4A68; text-decoration: underline;
}
/* Manage Billing and Export my data open something, so they read as buttons
   (outlined, so the navy Update sign-in details stays the one primary action) */
#dashboard #panel-profile :is(#btn-manage-billing, #btn-export-data) {
    min-height: 40px; padding: 0 16px; background: #FFFFFF; border: 1px solid #0E2535; border-radius: 6px;
    color: #0E2535; font-size: 13px; font-weight: 600; white-space: nowrap; box-shadow: none; transform: none;
}
#dashboard #panel-profile :is(#btn-manage-billing, #btn-export-data):hover:not(:disabled) {
    background: #EEF1F5; color: #0E2535;
}
#dashboard #panel-profile :is(#profile-billing-card, #profile-export-card) .profile-sub-msg { order: -1; }
/* Your data: the description is a sentence, so body weight; on a phone the
   action and its status drop under it, each on its own line (auth-019). */
#dashboard #panel-profile #profile-export-card .profile-sub-desc { font-weight: 400; color: #5A6B7B; }
@media (max-width: 767px) {
    #dashboard #panel-profile #profile-export-card .profile-sub-desc { grid-column: 1 / -1; }
    #dashboard #panel-profile #profile-export-card > .profile-sub-actions {
        grid-column: 1 / -1; grid-row: auto; flex-direction: column; align-items: flex-start;
        gap: 4px; padding: 8px 0 6px; border-bottom: 0;
    }
    #dashboard #panel-profile #profile-export-card .profile-sub-msg { order: 0; }
}

/* Your products (rendered by JS): label row with Cancel at the right */
#dashboard #panel-profile #profile-products .profile-sub-head {
    display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between;
    margin: 8px 0 0 !important; padding: 0 0 14px; border-bottom: 1px solid #D4DAE3;
}
#dashboard #panel-profile #profile-products .profile-sub-head > div { display: block; }
#dashboard #panel-profile #profile-products .profile-sub-desc + .profile-sub-desc {
    font-size: 13px; font-weight: 400; color: #5A6B7B;
}
#dashboard #panel-profile #profile-products .profile-sub-msg { grid-column: 1 / -1; margin-left: 0; }

/* Tasks and coaching sessions */
#dashboard #panel-profile .my-sessions-heading {
    border-top: 1px solid #D4DAE3; padding-top: 24px; margin-top: 24px; margin-bottom: 4px;
}
#dashboard #panel-profile :is(.section-sub.my-sessions-sub) { font-size: 13px; color: #5A6B7B; }
#dashboard #panel-profile .my-sessions-list {
    border: 0; border-radius: 0; padding: 0; margin-top: 16px; background: none;
}
#dashboard #panel-profile .my-sessions-empty { padding: 0; font-size: 15px; color: #5A6B7B; }
#dashboard #panel-profile #profile-export-card,
#dashboard #panel-profile #profile-delete-card { margin-top: 24px !important; }

/* ---------- Notifications page: hairline rows, gold unread dot, chevron ---------- */
#dashboard #panel-notifications .secondary-panel-header--actions { align-items: flex-start; margin-bottom: 24px; }
#dashboard #panel-notifications .notif-page-toolbar { padding: 0; border: 0; background: none; }
#dashboard #panel-notifications .notif-mark-all {
    min-height: 40px; padding: 0 18px; border-radius: 6px; border: 0;
    background: #0E2535; color: #FFFFFF; font-size: 15px; font-weight: 600; text-decoration: none;
}
#dashboard #panel-notifications .notif-mark-all:hover { background: #1E4A68; }
#dashboard #panel-notifications .notif-page-list {
    border: 0; border-radius: 0; box-shadow: none; background: none; padding: 0;
    border-top: 1px solid #D4DAE3;
}
#dashboard #panel-notifications .notif-page-list .notif-item {
    position: relative; display: block; min-height: 56px;
    padding: 14px 32px 14px 0; margin: 0;
    background: none; box-shadow: none; border: 0; border-bottom: 1px solid #D4DAE3; border-radius: 0;
    font-size: 15px; color: #0E2535;
}
#dashboard #panel-notifications .notif-page-list .notif-item:hover { background: #F7F8FA; }
#dashboard #panel-notifications .notif-page-list .notif-item.unread {
    background: none; box-shadow: none; padding-left: 22px;
}
#dashboard #panel-notifications .notif-page-list .notif-item.unread::before {
    content: ""; position: absolute; left: 0; top: 21px;
    width: 8px; height: 8px; border-radius: 50%; background: #C9A84C;
}
#dashboard #panel-notifications .notif-page-list .notif-item::after {
    content: "\203A"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
    font-size: 15px; line-height: 1; color: #5A6B7B;
}
#dashboard #panel-notifications .notif-item-text { font-size: 15px; font-weight: 600; line-height: normal; color: #0E2535; margin: 0 0 3px; }
#dashboard #panel-notifications .notif-item-text strong { font-weight: 600; }
#dashboard #panel-notifications :is(.notif-item-time, .notif-item-recipient) {
    display: inline; font-size: 13px; line-height: 1.45; color: #5A6B7B; margin: 0; letter-spacing: 0;
}
#dashboard #panel-notifications .notif-item-recipient + .notif-item-time::before { content: "\00b7"; margin: 0 4px 0 0; }
#dashboard #panel-notifications .notif-empty { padding: 24px 0; font-size: 15px; color: #5A6B7B; }

/* ---------- Notifications dropdown (header bell): board cbd-menu ---------- */
#dashboard .notif-panel {
    width: min(340px, calc(100vw - 24px)); top: calc(100% + 13px);
    border: 1px solid #D4DAE3; border-radius: 8px; box-shadow: 0 12px 32px rgba(9, 26, 40, 0.16);
}
#dashboard .notif-panel-header {
    min-height: 56px; padding: 8px 16px; border-bottom: 1px solid #D4DAE3;
    font-size: 15px; font-weight: 600; color: #0E2535;
}
#dashboard .notif-panel .notif-mark-all {
    min-height: 40px; padding: 0; background: none; color: #0E2535;
    font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px;
}
#dashboard .notif-panel .notif-mark-all:hover { background: none; color: #1E4A68; }
#dashboard .notif-panel .notif-item {
    min-height: 48px; padding: 12px 16px; background: #FFFFFF; box-shadow: none;
    border-bottom: 1px solid #EEF1F5;
}
#dashboard .notif-panel .notif-item:hover { background: #F7F8FA; }
#dashboard .notif-panel .notif-item.unread { background: #FFFFFF; box-shadow: none; padding-left: 34px; }
#dashboard .notif-panel .notif-item.unread:hover { background: #F7F8FA; }
#dashboard .notif-panel .notif-item-text { font-size: 15px; font-weight: 500; line-height: 1.4; }
#dashboard .notif-panel .notif-item-text strong { font-weight: inherit; }
#dashboard .notif-panel :is(.notif-item-recipient, .notif-item-time) {
    display: inline; font-size: 13px; line-height: 1.45; color: #5A6B7B; margin: 0; letter-spacing: 0;
}
#dashboard .notif-panel .notif-item-text { margin-bottom: 2px; }
#dashboard .notif-panel .notif-item { line-height: 1.45; }
#dashboard .notif-panel .notif-item-recipient + .notif-item-time::before { content: "\00b7"; margin: 0 4px 0 0; }
#dashboard .notif-panel .notif-view-all {
    min-height: 40px; color: #0E2535; font-size: 13px; font-weight: 600;
    border-top: 1px solid #EEF1F5; background: #FFFFFF;
    position: sticky; bottom: 0; width: 100%;
}
#dashboard .notif-panel .notif-view-all:hover { background: #F7F8FA; }

/* ---------- Account menu: board cbd-menu is 340 wide ---------- */
#dashboard .hub-usermenu-panel { width: 340px; max-width: calc(100vw - 24px); }
#dashboard .hub-usermenu-panel .hub-um-item svg { display: none; }
#dashboard .hub-usermenu-panel .hub-um-item { font-weight: 400; }
#dashboard .hub-usermenu-panel .hub-um-head { padding: 12px 16px; }
#dashboard .hub-usermenu-panel .hub-um-email { margin-top: 0; line-height: 1.3; }

/* ---------- Inbox (header envelope): board right drawer, 400 wide ---------- */
#inbox-modal.inbox-modal { padding: 0; justify-content: flex-end; align-items: stretch; }
.inbox-modal .inbox-modal-backdrop { background: rgba(9, 26, 40, 0.4); }
.inbox-modal .inbox-modal-sheet {
    width: 400px; max-width: 100%; height: 100dvh; max-height: 100dvh; animation: none;
}
.inbox-modal .inbox-modal-sheet .inbox-card {
    height: 100%; max-height: 100dvh; border: 0; border-left: 1px solid #D4DAE3;
    border-radius: 0; box-shadow: 0 12px 32px rgba(9, 26, 40, 0.16);
}
.inbox-modal .inbox-card-header { min-height: 60px; height: 60px; padding: 0 12px 0 20px; border-bottom: 1px solid #D4DAE3; }
.inbox-modal .inbox-card-header > div { gap: 8px !important; }
.inbox-modal :is(.inbox-modal-close, .inbox-back-btn) {
    width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 0; border: 0; border-radius: 6px;
    display: inline-flex; align-items: center; justify-content: center; color: #0E2535; box-shadow: none;
}
.inbox-modal .inbox-modal-close { background: #EEF1F5; }
.inbox-modal .inbox-modal-close:hover { background: #D4DAE3; }
.inbox-modal .inbox-back-btn { background: transparent; padding: 0 !important; color: #0E2535 !important; font-size: 0 !important; }
.inbox-modal .inbox-back-btn svg { width: 20px; height: 20px; flex: none; }
.inbox-modal .inbox-card-title { font-family: var(--cbd-sans, "Public Sans", sans-serif); font-size: 18px; font-weight: 600; color: #0E2535; }
.inbox-modal .community-conv-row {
    align-items: flex-start; gap: 12px; min-height: 56px; padding: 14px 20px;
    background: #FFFFFF; box-shadow: none; border-bottom: 1px solid #EEF1F5;
}
.inbox-modal .community-conv-row--unread { background: #FFFFFF; box-shadow: none; }
.inbox-modal .community-conv-row:hover { background: #F7F8FA; }
.inbox-modal .community-conv-row .community-partner-avatar--sm {
    width: 40px; height: 40px; min-width: 40px; border-radius: 50%;
    background: #EEF1F5; color: #0E2535; font-size: 15px; font-weight: 600; box-shadow: none;
}
.inbox-modal .community-conv-name { font-size: 15px; font-weight: 600; color: #0E2535; }
.inbox-modal .community-conv-time { font-size: 12px; color: #5A6B7B; }
.inbox-modal .community-conv-preview {
    font-size: 13px; line-height: 1.45; color: #5A6B7B; margin-top: 2px;
    white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.inbox-modal .community-msg-unread {
    width: 8px; height: 8px; min-width: 8px; padding: 0; border-radius: 50%;
    background: #C9A84C; color: transparent; font-size: 0; overflow: hidden; order: 3; margin-left: 4px;
}

/* Board thread: name and Propose a slot in the header, no separate name row, no compose in a thread */
.inbox-modal .community-thread-header { display: none; }
.inbox-modal .inbox-thread-name { font-size: 15px; font-weight: 600; color: #0E2535; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 160px; }
.inbox-modal .inbox-propose-btn {
    width: 40px; height: 40px; min-width: 40px; padding: 0; border: 1px solid #D4DAE3; border-radius: 6px;
    display: inline-flex; align-items: center; justify-content: center; background: #FFFFFF; color: #0E2535; cursor: pointer;
}
.inbox-modal .inbox-propose-btn:hover { background: #F7F8FA; }
.inbox-modal .inbox-card--thread #community-inbox-admin-compose { display: none !important; }
.inbox-modal .inbox-modal-sheet .community-thread-messages {
    flex: 1; max-height: none; min-height: 0; gap: 10px; padding: 20px; background: #FFFFFF;
}
.inbox-modal .community-msg-bubble { max-width: 80%; }
.inbox-modal .community-msg-body { padding: 10px 14px; border-radius: 12px; font-size: 15px; line-height: 1.45; }
.inbox-modal .community-msg-mine .community-msg-body { background: #0E2535; color: #FFFFFF; border-bottom-right-radius: 12px; }
.inbox-modal .community-msg-theirs .community-msg-body { background: #EEF1F5; color: #0E2535; border: 0; border-bottom-left-radius: 12px; }
.inbox-modal .community-msg-time { font-size: 12px; color: #5A6B7B; margin-top: 4px; }
.inbox-modal .community-thread-compose { align-items: center; gap: 8px; padding: 12px 16px; border-top: 1px solid #D4DAE3; border-bottom: 0; }
.inbox-modal .community-thread-compose textarea { height: 44px; min-height: 44px; resize: none; border-color: #D4DAE3; border-radius: 6px; }
.inbox-modal .community-thread-compose .btn-community-book {
    min-height: 44px; padding: 0 16px; border-radius: 6px; background: #0E2535; border-color: #0E2535; color: #FFFFFF; font-size: 13px; font-weight: 600;
}

/* ---------- Peer Case Practice: board column, underline tabs, partner rows ---------- */
#dashboard #panel-community > .dashboard-body { max-width: 1040px; padding: 32px 40px 56px; }
#dashboard #panel-community .community-tabs { gap: 20px; margin-bottom: 20px; border-bottom: 1px solid #D4DAE3; }
#dashboard #panel-community .community-tab {
    min-height: 44px; padding: 10px 0; font-size: 15px; font-weight: 600; color: #5A6B7B;
    border-bottom: 2px solid transparent;
}
#dashboard #panel-community .community-tab.active { color: #0E2535; border-bottom-color: #C9A84C; }
#dashboard #panel-community .community-tab-eyebrow,
#dashboard #panel-community .community-tab.active .community-tab-eyebrow { display: none; }
#dashboard #panel-community .community-filter-bar { margin-bottom: 20px; }
#dashboard #panel-community :is(.community-filter-btn, .community-level-select, .community-date-input) {
    min-height: 32px; height: 32px; padding: 0 12px; border-radius: 4px; font-size: 13px; font-weight: 600;
}
#dashboard #panel-community .community-level-select { padding-right: 28px; }
/* Board peer-find: chips only (All / Mock case / Mock fit); no How it works, level or date filter, no Filter toggle */
#dashboard #panel-community #community-view-find .community-howto,
#dashboard #panel-community .community-filters-toggle,
#dashboard #panel-community #community-view-find :is(.community-level-select, .community-date-input) { display: none; }
#dashboard #panel-community #community-view-find .community-filter-bar,
#dashboard #panel-community #community-view-find .community-filter-bar:not(.is-expanded) { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
#dashboard #panel-community #community-view-find .community-filter-btn { min-height: 32px; height: 32px; padding: 0 12px; border-radius: 6px; flex: 0 0 auto; }
/* Board head: subtitle, unlock notice, chip counts, list heading */
#dashboard #panel-community .community-page-title { margin-bottom: 0; }
#dashboard #panel-community .community-page-sub { margin: 8px 0 20px; max-width: 680px; font-size: 15px; line-height: 1.5; color: #5A6B7B; }
#dashboard #panel-community .community-unlock-notice {
    display: block; width: 100%; margin: 0 0 20px; padding: 12px 14px; border: 0; border-radius: 6px;
    background: #EEF1F5; color: #0E2535; font: inherit; font-size: 13px; line-height: 1.5; text-align: left; cursor: pointer;
}
#dashboard #panel-community .community-filter-count { margin-left: 6px; font-weight: 500; color: #5A6B7B; }
#dashboard #panel-community .community-filter-btn.active .community-filter-count { color: rgba(255, 255, 255, 0.75); }
#dashboard #panel-community #community-view-find .community-filter-bar { margin-bottom: 12px; }
#dashboard #panel-community .community-list-title { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: 1.3; color: #0E2535; }

#dashboard #panel-community #community-slots-grid.card-grid {
    display: block; border-top: 1px solid #D4DAE3;
}
#dashboard #panel-community #community-slots-grid .skeleton-card {
    border: 0; border-bottom: 1px solid #D4DAE3; border-radius: 0; margin: 0;
}
#dashboard #panel-community #community-slots-grid .cp-card {
    display: grid; grid-template-columns: 36px auto 1fr auto auto; column-gap: 0; row-gap: 2px;
    align-items: center; padding: 14px 0; margin: 0; cursor: pointer;
    border: 0; border-bottom: 1px solid #D4DAE3; border-radius: 0; background: #FFFFFF; box-shadow: none;
}
#dashboard #panel-community #community-slots-grid .cp-card:hover { background: #F7F8FA; border-color: #D4DAE3; }
#dashboard #panel-community #community-slots-grid .cp-card--own { cursor: default; }
#dashboard #panel-community .cp-card :is(.cp-card-top, .cp-body, .cp-footer) { display: contents; }
#dashboard #panel-community .cp-card :is(.cp-divider, .cp-footer-spacer) { display: none; }
#dashboard #panel-community .cp-card .cp-avatar {
    grid-column: 1; grid-row: 1 / span 3; align-self: start; margin-top: 2px;
    width: 36px; height: 36px; border-radius: 50%; background: #EEF1F5; color: #0E2535;
    font-size: 13px; font-weight: 600; box-shadow: none; border: 0;
}
#dashboard #panel-community .cp-card .cp-name-row { grid-column: 2 / 4; grid-row: 1; padding-left: 14px; gap: 8px; }
#dashboard #panel-community .cp-card .cp-name { font-size: 15px; font-weight: 600; color: #0E2535; }
#dashboard #panel-community .cp-card .cp-uni { grid-column: 2; grid-row: 2; margin: 0; padding-left: 14px; font-size: 13px; color: #5A6B7B; white-space: nowrap; }
#dashboard #panel-community .cp-card .cp-badges { grid-column: 3; grid-row: 2; display: block; padding: 0; gap: 0; font-size: 13px; color: #5A6B7B; }
#dashboard #panel-community .cp-card:not(:has(.cp-uni)) .cp-badges { padding-left: 14px; }
#dashboard #panel-community .cp-card:has(.cp-uni) .cp-badges::before { content: "\00b7"; margin: 0 5px; }
#dashboard #panel-community .cp-card .cp-type-badge {
    display: inline; padding: 0; background: none; border: 0; border-radius: 0;
    font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #5A6B7B;
}
#dashboard #panel-community .cp-card .cp-type-badge + .cp-type-badge::before { content: ", "; }
#dashboard #panel-community .cp-card .cp-notes {
    grid-column: 2 / 4; grid-row: 3; padding: 0 0 0 14px; margin: 0;
    font-size: 13px; line-height: 1.45; color: #5A6B7B;
}
#dashboard #panel-community .cp-card .cp-slot-line {
    grid-column: 4; grid-row: 1 / span 2; padding-left: 16px; font-size: 13px; color: #5A6B7B; white-space: nowrap;
}
#dashboard #panel-community .cp-card .cp-slot-line svg { display: none; }
#dashboard #panel-community .cp-card .cp-btn {
    grid-column: 5; grid-row: 1 / span 2; min-height: 44px; padding: 0 0 0 16px; gap: 6px;
    background: none; border: 0; color: #0E2535; font-size: 13px; font-weight: 600; box-shadow: none;
}
#dashboard #panel-community .cp-card .cp-btn::after { content: "\203A"; font-size: 15px; color: #5A6B7B; }
#dashboard #panel-community .cp-card .cp-btn:hover { background: none; text-decoration: underline; text-underline-offset: 3px; }
/* Board rows end in a chevron only; the whole row opens the partner, which carries Message. */
#dashboard #panel-community .cp-card:not(.cp-card--own) .cp-btn { font-size: 0; pointer-events: none; }
/* Open-availability rows: board d line is "University · notes", no type list. */
#dashboard #panel-community .cp-card:has(.cp-notes) .cp-badges { display: none; }
#dashboard #panel-community .cp-card:has(.cp-notes) .cp-notes { grid-column: 3; grid-row: 2; padding-left: 0; }
#dashboard #panel-community .cp-card:has(.cp-notes):not(:has(.cp-uni)) .cp-notes { grid-column: 2 / 4; padding-left: 14px; }
#dashboard #panel-community .cp-card:has(.cp-uni) .cp-notes::before { content: "\00b7"; margin: 0 5px; }

/* My sessions: board empty box, session rows instead of a card grid */
#dashboard #panel-community #community-view-mine .community-empty-state {
    display: block; padding: 24px; margin: 0; border: 1px dashed #D4DAE3; border-radius: 8px;
    background: #FFFFFF; text-align: left; font-size: 15px; color: #5A6B7B;
}
#dashboard #panel-community #community-view-mine .community-empty-state p { margin: 0; }
#dashboard #panel-community #community-view-mine .community-empty-title { margin: 0 0 4px; font-size: 18px; font-weight: 600; color: #0E2535; }
#dashboard #panel-community #community-view-mine .community-empty-btn {
    margin-top: 16px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 6px;
    background: #0E2535; color: #FFFFFF; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
}
/* Board: the subtitle sits on Find a partner only */
#dashboard #panel-community:has(#community-view-find.hidden) .community-page-sub { display: none; }
/* Board: without the subtitle the tabs still sit 20px under the title. */
#dashboard #panel-community:has(#community-view-find.hidden) .community-tabs { margin-top: 20px; }
#dashboard #panel-community #community-view-mine .mine-section-divider {
    margin: 32px 0 0; padding-bottom: 8px; border-bottom: 1px solid #D4DAE3;
    font-size: 18px; font-weight: 700; letter-spacing: 0; text-transform: none; color: #0E2535;
}
#dashboard #panel-community #community-view-mine .mine-section-divider::before,
#dashboard #panel-community #community-view-mine .mine-section-divider::after { display: none; }
#dashboard #panel-community #community-view-mine .card-grid { display: block; }
#dashboard #panel-community .community-my-card {
    display: block; margin: 0; padding: 16px 0; background: #FFFFFF;
    border: 0; border-bottom: 1px solid #D4DAE3; border-radius: 0; box-shadow: none; transform: none;
}
#dashboard #panel-community .community-my-card:hover { background: #F7F8FA; border-color: #D4DAE3; box-shadow: none; transform: none; }
#dashboard #panel-community .community-my-card::before,
#dashboard #panel-community .community-my-card::after { display: none; }
#dashboard #panel-community .community-my-card .my-card-top { display: flex; gap: 14px; align-items: flex-start; }
#dashboard #panel-community .community-my-card .my-card-icon-wrap {
    flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #EEF1F5; color: #0E2535; box-shadow: none;
}
#dashboard #panel-community .community-my-card .my-card-icon-wrap svg { width: 16px; height: 16px; stroke: #0E2535; }
#dashboard #panel-community .community-my-card .my-card-info { flex: 1; min-width: 0; }
#dashboard #panel-community .community-my-card .my-card-name { margin: 0; font-size: 15px; font-weight: 600; color: #0E2535; }
#dashboard #panel-community .community-my-card .my-card-meta { margin: 2px 0 0; font-size: 13px; color: #5A6B7B; }
#dashboard #panel-community .community-my-card .my-card-tags { margin-top: 6px; gap: 6px; }
#dashboard #panel-community .community-my-card :is(.card-badge, .community-role-tag) {
    padding: 0; background: none; border: 0; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #5A6B7B;
}
#dashboard #panel-community .community-my-card .community-role-tag::before { content: "\00b7"; margin-right: 6px; }
#dashboard #panel-community .community-my-card :is(.community-slot-notes, .my-card-actions, .peer-feedback-cta, .peer-feedback-done) {
    margin: 8px 0 0 50px; padding: 0; border: 0; background: none;
}
#dashboard #panel-community .community-my-card .community-slot-notes { font-size: 13px; color: #5A6B7B; }
#dashboard #panel-community .community-my-card :is(.peer-feedback-cta-btn, .btn-community-meet, .btn-community-noshow, .btn-community-cancel) {
    min-height: 36px; padding: 0 12px; border: 1px solid #D4DAE3; border-radius: 6px; background: #FFFFFF;
    color: #0E2535; font-size: 13px; font-weight: 600; box-shadow: none;
}
#dashboard #panel-community .community-my-card .btn-community-cancel { color: #C41E24; }

/* Partner modal (peer-profile): white sheet, serif name, plain meta, navy and outline actions */
#community-partner-modal .cpm2-sheet { max-width: 520px; border-radius: 8px; box-shadow: 0 12px 32px rgba(9, 26, 40, 0.16); }
#community-partner-modal .cpm2-header {
    align-items: flex-start; gap: 12px; padding: 24px 24px 16px; background: #FFFFFF; border-bottom: 0;
}
#community-partner-modal .cpm2-avatar { display: none; }
#community-partner-modal .cpm2-hname {
    margin-bottom: 8px; font-family: var(--cbd-serif, "Source Serif 4", Georgia, serif);
    font-size: 28px; font-weight: 600; line-height: 1.2; color: #0E2535; white-space: normal;
}
#community-partner-modal .cpm2-hmeta { gap: 0; font-size: 15px; color: #5A6B7B; }
#community-partner-modal .cpm2-hmeta :is(.cp-type-badge, .cpm2-level-badge) {
    padding: 0; background: none; border: 0; border-radius: 0;
    font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #5A6B7B;
}
#community-partner-modal .cpm2-hmeta :is(.cp-type-badge, .cpm2-level-badge) + :is(.cp-type-badge, .cpm2-level-badge)::before { content: "\00b7"; margin: 0 6px; }
#community-partner-modal .cpm-close-btn {
    width: 40px; height: 40px; border-radius: 6px; background: #EEF1F5; color: #0E2535; border: 0;
}
#community-partner-modal .cpm-close-btn:hover { background: #D4DAE3; color: #0E2535; }
#community-partner-modal :is(.cpm2-dm-btn, .cpm2-dm-large) {
    min-height: 44px; padding: 0 18px; border: 1px solid #D4DAE3; border-radius: 6px;
    background: #FFFFFF; color: #0E2535; font-size: 15px; font-weight: 600; box-shadow: none;
}
#community-partner-modal :is(.cpm2-dm-btn, .cpm2-dm-large):hover { background: #F7F8FA; box-shadow: none; }
#community-partner-modal .cpm2-signal-cta { align-items: flex-start; text-align: left; padding: 24px; gap: 16px; }
#community-partner-modal .cpm2-signal-cta > svg { display: none; }
#community-partner-modal .cpm2-signal-cta p { max-width: none; font-size: 15px; color: #0E2535; }
/* Slot partner: one calendar card (days, then times) and a Book + Message footer */
#community-partner-modal .cpm2-hname { margin-bottom: 0; }
#community-partner-modal .cpm2-hmeta { display: block; margin-top: 16px; font-size: 14px; line-height: 1.6; }
#community-partner-modal .cpm2-header { flex-wrap: wrap; }
#community-partner-modal .cpm2-cal-layout {
    display: block; min-height: 0; margin: 0 24px; padding: 12px; border: 1px solid #D4DAE3; border-radius: 8px;
}
#community-partner-modal .cpm2-cal-panel { padding: 0; border: 0; }
#community-partner-modal .cpm2-cal-nav { margin-bottom: 4px; }
#community-partner-modal .cpm2-cal-month-label { font-size: 15px; font-weight: 600; color: #0E2535; }
#community-partner-modal .cpm2-cal-arrow { min-width: 32px; min-height: 32px; justify-content: center; color: #0E2535; }
#community-partner-modal .cpm2-cal-grid { gap: 2px 4px; }
#community-partner-modal .cpm2-cal-day-name { padding: 0 0 6px; font-size: 12px; font-weight: 500; letter-spacing: 0; color: #5A6B7B; }
#community-partner-modal .cpm2-cal-cell {
    aspect-ratio: auto; height: 36px; border: 1px solid transparent; border-radius: 4px;
    font-size: 13px; font-weight: 400; color: #5A6B7B; opacity: 1;
}
#community-partner-modal .cpm2-has { border-color: #0E2535; color: #0E2535; font-weight: 500; }
#community-partner-modal .cpm2-sel { border-color: #0E2535; background: #0E2535 !important; color: #FFFFFF !important; }
#community-partner-modal .cpm2-dot { display: none; }
#community-partner-modal .cpm2-times-panel { max-height: none; padding: 0; overflow: visible; }
#community-partner-modal .cpm2-times-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
#community-partner-modal .cpm2-times-list:empty { display: none; }
#community-partner-modal .cpm2-time-btn {
    min-height: 40px; padding: 0 12px; border: 1px solid #0E2535; border-radius: 4px; background: #FFFFFF;
    color: #0E2535; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
#community-partner-modal .cpm2-time-btn.active { background: #0E2535; color: #FFFFFF; }
#community-partner-modal .cpm2-foot { display: flex; gap: 8px; padding: 20px 24px 24px; }
#community-partner-modal .cpm2-book-main {
    flex: 1 1 auto; min-height: 44px; padding: 0 20px; border: 0; border-radius: 6px;
    background: #0E2535; color: #FFFFFF; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
#community-partner-modal .cpm2-book-main:disabled { opacity: 0.5; cursor: default; }
#community-partner-modal .cpm2-foot .cpm2-dm-btn { flex: 0 1 132px; justify-content: center; }
@media (max-width: 600px) {
    #community-partner-modal .cpm2-cal-cell { height: 44px; }
}

/* Offer your time: board choice cards (no icon, hairline, ink when chosen) */
#dashboard #panel-community .offer-mode-picker { gap: 10px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #D4DAE3; }
#dashboard #panel-community .offer-mode-btn { padding: 14px 16px; border: 1px solid #D4DAE3; border-radius: 8px; box-shadow: none; }
#dashboard #panel-community .offer-mode-btn.active { border: 2px solid #0E2535; padding: 13px 15px; box-shadow: none; }
#dashboard #panel-community .offer-mode-btn > svg { display: none; }
#dashboard #panel-community .offer-mode-btn strong { font-size: 15px; font-weight: 600; color: #0E2535; }
#dashboard #panel-community .offer-mode-btn div > span { font-size: 13px; color: #5A6B7B; }

/* Offer your time (peer-offer): flat single-column form, compact calendar, How it works aside */
#dashboard #panel-community #community-view-offer .community-form-card {
    max-width: 600px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
#dashboard #panel-community #community-view-offer .offer-help-btn,
#dashboard #panel-community #community-view-offer .offer-add-hint { display: none; }
#dashboard #panel-community #community-offer-form .community-form-grid { grid-template-columns: 1fr; gap: 16px; }
#dashboard #panel-community #community-offer-form .community-field--full { grid-column: 1; }
#dashboard #panel-community #community-offer-form .community-field > label,
#dashboard #panel-community #community-offer-form .offer-time-label {
    display: block; margin: 0 0 8px; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #0E2535;
}
#dashboard #panel-community #community-offer-form :is(select, textarea),
#dashboard #panel-community #community-offer-form .offer-time-select {
    min-height: 44px; padding: 0 12px; border: 1px solid #D4DAE3; border-radius: 6px; background-color: #FFFFFF;
    font-size: 15px; color: #0E2535;
}
#dashboard #panel-community #community-offer-form textarea { min-height: 96px; padding: 10px 12px; line-height: 1.5; }
#dashboard #panel-community #community-offer-form .offer-cal-wrap {
    max-width: 360px; margin: 0 0 16px; padding: 12px; border: 1px solid #D4DAE3; border-radius: 8px;
}
#dashboard #panel-community #community-offer-form .offer-cal-month-label { font-size: 15px; font-weight: 600; color: #0E2535; }
#dashboard #panel-community #community-offer-form .offer-cal-nav { color: #0E2535; font-size: 18px; }
#dashboard #panel-community #community-offer-form .offer-cal-dow-row { font-size: 12px; font-weight: 500; letter-spacing: 0; color: #5A6B7B; margin-bottom: 6px; }
#dashboard #panel-community #community-offer-form .offer-cal-grid { min-height: 0; gap: 2px; }
#dashboard #panel-community #community-offer-form .offer-cal-cell { padding: 0; height: 36px; line-height: 36px; font-size: 13px; font-weight: 400; color: #0E2535; }
#dashboard #panel-community #community-offer-form .offer-cal-cell.past { color: #5A6B7B; }
#dashboard #panel-community #community-offer-form .offer-cal-cell:is(.cal-start, .cal-end) { background: #0E2535; color: #FFFFFF; }
#dashboard #panel-community #community-offer-form .offer-avail-add-row {
    flex-wrap: nowrap; gap: 8px; margin: 0; padding: 0; border: 0; background: transparent;
}
#dashboard #panel-community #community-offer-form .offer-cal-range-label { flex-basis: auto; height: auto; margin: 0; text-transform: none; letter-spacing: 0; font-size: 13px; }
#dashboard #panel-community #community-offer-form .offer-cal-range-label:empty { display: none; }
#dashboard #panel-community #community-offer-form .offer-avail-add-row:has(.offer-cal-range-label:not(:empty)) { flex-wrap: wrap; }
#dashboard #panel-community #community-offer-form .offer-avail-add-row:has(.offer-cal-range-label:not(:empty)) .offer-cal-range-label { flex-basis: 100%; }
#dashboard #panel-community #community-offer-form .offer-time-select { flex: 1 1 0; min-width: 0; }
#dashboard #panel-community #community-offer-form .offer-time-sep { font-size: 15px; color: #0E2535; }
#dashboard #panel-community #community-offer-form .offer-time-add-btn {
    min-height: 44px; padding: 0 14px; border: 1px solid #D4DAE3; border-radius: 6px; background: #FFFFFF;
    font-size: 13px; font-weight: 600; color: #0E2535;
}
#dashboard #panel-community #community-offer-form .offer-time-msg:empty { display: none; }
#dashboard #panel-community #community-offer-form .community-form-actions { margin-top: 8px; }
#dashboard #panel-community #community-offer-form #offer-submit-btn {
    width: auto; min-height: 44px; padding: 0 20px; border-radius: 6px; font-size: 15px; font-weight: 600;
}
#dashboard #panel-community #community-view-offer .offer-help-panel {
    display: block; flex: 0 0 auto; width: 100%; max-width: 600px; padding: 16px 18px;
    border: 0; border-radius: 8px; background: #EEF1F5;
}
#dashboard #panel-community #community-view-offer .offer-help-title {
    margin: 0 0 8px; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #0E2535;
}
#dashboard #panel-community #community-view-offer .offer-help-steps { margin: 0; padding-left: 18px; list-style: decimal; gap: 0; }
#dashboard #panel-community #community-view-offer .offer-help-steps li { padding-left: 2px; font-size: 13px; line-height: 1.6; color: #0E2535; }
#dashboard #panel-community #community-view-offer .offer-help-steps li::before { content: none; }
@media (min-width: 1001px) {
    /* Board: 600px form column, How it works in a 320px column beside the page title */
    #dashboard #panel-community:has(#community-view-offer:not(.hidden)) > .dashboard-body { position: relative; }
    #dashboard #panel-community:has(#community-view-offer:not(.hidden)) > .dashboard-body > :is(h1, .community-tabs),
    #dashboard #panel-community #community-view-offer > :is(.offer-mode-picker, #offer-mode-slots, #offer-mode-signal) { max-width: 600px; }
    /* The view's slide-in animation keeps a transform, which would anchor the aside to the view instead of the page body */
    #dashboard #panel-community #community-view-offer { animation: none; }
    #dashboard #panel-community #community-view-offer .offer-help-panel {
        position: absolute; top: 32px; right: 40px; width: 320px; max-width: none;
    }
}

/* Post slots rules dialog (peer-rules): full-width primary action */
#post-slots-rules-modal .cb-dialog-header { display: none; }
#post-slots-rules-modal .cb-dialog-body { padding: 24px 24px 0; }
#post-slots-rules-modal .post-slots-rules-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
#post-slots-rules-modal .post-slots-rules-close {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    margin: -4px -4px 0 0; border: 0; border-radius: 6px; background: #EEF1F5; color: #0E2535; cursor: pointer;
}
#post-slots-rules-modal .post-slots-rules-head > p {
    font-family: var(--cbd-serif, "Source Serif 4", Georgia, serif) !important;
    font-size: 24px !important; font-weight: 600 !important; line-height: 1.2; color: #0E2535; margin: 0 !important;
}
#post-slots-rules-modal .cb-dialog-body > ul {
    margin: 14px 0 0 !important; padding-left: 18px !important;
    font-size: 15px !important; line-height: 1.65 !important; color: #0E2535;
}
#post-slots-rules-modal .cb-dialog-body li { margin-bottom: 4px; }
#post-slots-rules-modal .cb-dialog-body strong { font-weight: 400; }
#post-slots-rules-modal .cb-dialog-footer { display: block; padding: 20px 24px 24px; border-top: 0; }
#post-slots-rules-modal .cb-dialog-btn--primary { width: 100%; min-height: 44px; }

@media (max-width: 640px) {
    #dashboard #panel-community .offer-mode-picker { flex-direction: column; }
    #dashboard #panel-community > .dashboard-body { padding: 20px 16px calc(32px + 76px + env(safe-area-inset-bottom)); }
    #dashboard #panel-community .community-tabs { gap: 20px; }
    #dashboard #panel-community #community-slots-grid .cp-card { grid-template-columns: 36px auto 1fr auto; }
    #dashboard #panel-community .cp-card .cp-uni { white-space: normal; }
    #dashboard #panel-community .cp-card .cp-notes { grid-row: 3; }
    #dashboard #panel-community .cp-card .cp-slot-line { grid-column: 2 / 4; grid-row: 4; padding-left: 14px; white-space: normal; }
    #dashboard #panel-community .cp-card .cp-avatar { grid-row: 1 / span 4; align-self: center; }
    #dashboard #panel-community .cp-card .cp-btn { grid-column: 4; grid-row: 1 / span 4; padding-left: 12px; }
    #dashboard #panel-community .cp-card:has(.cp-notes) .cp-notes { grid-row: 2; }
    #dashboard #panel-community .cp-card:has(.cp-notes) .cp-slot-line { grid-row: 3; }
    #dashboard #panel-community #community-view-find .community-filter-btn { min-height: 44px; height: 44px; }

    #dashboard :is(#panel-profile, #panel-notifications) > .dashboard-body {
        padding: 20px 16px calc(32px + 76px + env(safe-area-inset-bottom));
    }
    #dashboard :is(#panel-profile, #panel-notifications) .secondary-panel-header .section-heading { font-size: 24px; }
    #dashboard #panel-profile .profile-sub-actions { flex-direction: row; align-items: center; }
    #dashboard #panel-notifications .secondary-panel-header--actions { flex-direction: column; gap: 16px; }
    #dashboard .hub-usermenu-panel { width: auto; max-width: none; }
    #dashboard .notif-panel { width: auto; top: 60px; }
    #dashboard .notif-panel .notif-list { max-height: calc(100dvh - 230px - env(safe-area-inset-bottom)); }
    #community-partner-modal .cpm2-sheet {
        max-width: none; height: 100dvh; max-height: 100dvh; border-radius: 0; box-shadow: none;
    }
    #community-partner-modal .cpm2-hname { font-size: 24px; }
    #post-slots-rules-modal { padding: 0; align-items: stretch; }
    #post-slots-rules-modal .cb-dialog {
        max-width: none; height: 100dvh; max-height: 100dvh; border-radius: 0; box-shadow: none;
    }
    .inbox-modal .inbox-modal-sheet { width: 100%; }
    .inbox-modal .inbox-modal-sheet .inbox-card { border-left: 0; }
}
