.community-hero {
    padding-bottom: 38px;
}

.community-hero p {
    max-width: 620px;
    margin: 12px auto 22px;
}

.featured-event {
    position: relative;
    overflow: hidden;
    margin: -8px 0 28px;
    padding: 20px;
    background: var(--p);
    border: 1px solid #dcc9b0;
    border-radius: 20px;
    box-shadow: 0 12px 35px #4c25300d;
}

.featured-event::after {
    content: "";
    position: absolute;
    top: -82px;
    right: -72px;
    width: 150px;
    height: 150px;
    border: 28px solid #f3e7d5;
    border-radius: 50%;
    pointer-events: none;
}

@media (max-width: 699px) {
    .featured-event::after {
        display: none;
    }
}

.event-card-head {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.event-badge {
    padding: 6px 10px;
    color: var(--w);
    background: #f1e4d0;
    border-radius: 30px;
    font-size: 9px;
    font-weight: 700;
}

.event-status {
    color: #47765c;
    font-size: 9px;
    font-weight: 700;
}

.featured-event > small {
    color: var(--g);
    font: 600 9px 'Chakra Petch';
    letter-spacing: 1.7px;
}

.featured-event h2 {
    margin: 5px 0 7px;
    color: var(--w);
    font: 700 24px 'Chakra Petch';
}

.featured-event > p {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 11px;
}

.event-meta {
    display: grid;
    gap: 9px;
    margin-bottom: 18px;
}

.event-meta span {
    padding: 10px 12px;
    color: var(--muted);
    background: #faf6ef;
    border: 1px solid var(--line);
    border-radius: 11px;
    font-size: 10px;
}

.event-meta b {
    display: block;
    margin-bottom: 2px;
    color: var(--ink);
    font-size: 9px;
}

.featured-event .gold {
    position: relative;
    z-index: 1;
    display: inline-block;
    text-decoration: none;
}

.event-closed {
    opacity: .72;
}

.checklist a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px;
    color: var(--ink);
    text-align: left;
    text-decoration: none;
    background: var(--p);
    border: 1px solid var(--line);
    border-radius: 14px;
}

.checklist a i {
    display: grid;
    flex: none;
    width: 38px;
    height: 38px;
    place-items: center;
    color: var(--w);
    background: #f1e5e8;
    border-radius: 11px;
    font-style: normal;
}

.checklist a span {
    flex: 1;
}

.checklist a b,
.checklist a small {
    display: block;
}

.checklist a small {
    color: var(--muted);
    font-size: 9px;
}

.checklist a em {
    color: var(--w);
    font-size: 11px;
    font-style: normal;
}

.reunion-details {
    margin: 22px 0;
    padding: 20px;
    scroll-margin-top: 82px;
    background: linear-gradient(135deg, #fffdf9, #f7eddf);
    border: 1px solid #dcc9b0;
    border-radius: 17px;
}

.reunion-details > small {
    color: var(--g);
    font: 600 9px 'Chakra Petch';
    letter-spacing: 1.5px;
}

.reunion-details h2 {
    margin: 5px 0;
    color: var(--w);
    font: 700 21px 'Chakra Petch';
}

.reunion-details > p {
    margin: 0 0 15px;
    color: var(--muted);
    font-size: 11px;
}

.reunion-details > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.reunion-details span {
    padding: 11px;
    background: rgba(255, 255, 255, .55);
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--muted);
    font-size: 10px;
}

.reunion-details span b {
    display: block;
    margin-bottom: 2px;
    color: var(--ink);
}

.reunion-story,
.collaboration {
    scroll-margin-top: 82px;
}
.reunion-story { margin: 22px 0; padding: 22px; background: linear-gradient(145deg,#fffdf9,#f7eddf); border: 1px solid #dcc9b0; border-radius: 18px; }
.reunion-story>small,.section-heading>small { color: var(--g); font: 700 9px 'Chakra Petch'; letter-spacing: 1.7px; }
.reunion-story h2,.section-heading h2 { margin: 5px 0 10px; color: var(--w); font: 700 23px 'Chakra Petch'; }
.reunion-story>p,.section-heading p { color: var(--muted); font-size: 11px; line-height: 1.8; }
.story-values { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.story-values span { padding: 6px 10px; color: var(--w); background: #f1e4d0; border-radius: 20px; font-size: 9px; font-weight: 700; }
.initial-plan { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.initial-plan span { padding: 11px; color: var(--muted); background: rgba(255,255,255,.65); border: 1px solid var(--line); border-radius: 10px; font-size: 10px; }
.initial-plan b { display: block; margin-bottom: 2px; color: var(--ink); }
.open-note { margin-bottom: 0!important; padding: 11px 13px; color: #5e4b2c!important; background: #f4e6c9; border-radius: 10px; }
.reunion-story h3 { margin: 20px 0 9px; color: var(--w); font: 700 17px 'Chakra Petch'; }
.initial-activities,.initial-attendees { margin-top: 10px; padding: 14px; background: rgba(255,255,255,.65); border: 1px solid var(--line); border-radius: 12px; }
.initial-activities>b,.initial-attendees>b { color: var(--w); font: 700 14px 'Chakra Petch'; }
.initial-activities ol { display: grid; gap: 9px; margin: 11px 0 0; padding: 0; list-style: none; }
.initial-activities li { display: flex; align-items: flex-start; gap: 10px; }
.initial-activities li>span { display: grid; flex: none; width: 27px; height: 27px; place-items: center; color: var(--w); background: #f1e4d0; border-radius: 8px; font-weight: 700; }
.initial-activities strong,.initial-activities small { display: block; }
.initial-activities strong { font-size: 11px; }
.initial-activities small { margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.initial-attendees p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.section-heading { margin: 32px 0 14px; }
.collab-card { margin-bottom: 13px; padding: 17px; background: var(--p); border: 1px solid var(--line); border-radius: 16px; }
.collab-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.collab-head b,.collab-head small { display: block; }
.collab-head b { color: var(--w); font: 700 16px 'Chakra Petch'; }
.collab-head small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.collab-head>span { height: max-content; padding: 5px 8px; color: #47765c; background: #e8f2e9; border-radius: 20px; white-space: nowrap; font-size: 8px; font-weight: 700; }
.proposal-list { display: grid; gap: 8px; }
.proposal-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; background: #faf7f2; border: 1px solid var(--line); border-radius: 11px; }
.proposal-item>div { min-width: 0; }
.proposal-item strong,.proposal-item small { display: block; }
.proposal-item strong { color: var(--ink); font-size: 11px; }
.proposal-item small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.proposal-item form { margin: 0; }
.vote-button { padding: 7px 9px; color: var(--w); background: #fff; border: 1px solid #d8bdc5; border-radius: 8px; font-size: 9px; font-weight: 700; }
.vote-button.selected { color: #fff; background: var(--w); border-color: var(--w); }
.proposal-item details,.voter-list { margin-top: 5px; color: var(--muted); font-size: 8px; }
.proposal-item details p,.voter-list p { margin: 5px 0; line-height: 1.6; }
.add-proposal { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--line); }
.add-proposal>summary { color: var(--w); font-size: 10px; font-weight: 700; cursor: pointer; }
.add-proposal label,.stay-card label { display: block; margin: 9px 0; font-size: 9px; font-weight: 600; }
.add-proposal input,.add-proposal textarea,.stay-card input,.stay-card textarea { display: block; width: 100%; margin-top: 4px; padding: 9px 10px; background: #faf7f2; border: 1px solid var(--line); border-radius: 9px; font: inherit; }
.budget-options { display: grid; gap: 7px; }
.budget-options>label { display: block; margin: 0; }
.budget-options>label input,.stay-options input { position: absolute; opacity: 0; pointer-events: none; }
.budget-options>label input,
.stay-options input {
    width: 1px;
    height: 1px;
    margin: 0;
}
.budget-options>label span { display: flex; justify-content: space-between; padding: 11px; background: #faf7f2; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.budget-options>label input:checked+span { color: var(--w); background: #f5e8eb; border-color: var(--w); box-shadow: 0 0 0 2px #651d3212; }
.budget-options b { font-size: 10px; }
.budget-options small { color: var(--muted); font-size: 8px; }
.budget-options>.gold,.stay-card .gold,.add-proposal .gold { width: 100%; margin-top: 4px; }
.stay-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.stay-options label { margin: 0; }
.stay-options span { display: grid; min-height: 42px; place-items: center; padding: 8px; background: #faf7f2; border: 1px solid var(--line); border-radius: 9px; text-align: center; cursor: pointer; }
.stay-options input:checked+span { color: var(--w); background: #f5e8eb; border-color: var(--w); font-weight: 700; }
.stay-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.empty-state { color: var(--muted); font-size: 10px; }
.admin-placeholder { display: flex; align-items: center; gap: 14px; padding: 20px; background: var(--p); border: 1px solid var(--line); border-radius: 16px; }
.admin-placeholder>span { display: grid; flex: none; width: 48px; height: 48px; place-items: center; color: #fff; background: var(--w); border-radius: 13px; font-size: 22px; }
.admin-placeholder b { color: var(--w); font: 700 17px 'Chakra Petch'; }
.admin-placeholder p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.pending-member-list { display: grid; gap: 10px; }
.pending-member-list>article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; background: var(--p); border: 1px solid var(--line); border-radius: 14px; }
.pending-member-list b,.pending-member-list small,.pending-member-list time { display: block; }
.pending-member-list b { color: var(--w); font-size: 14px; }
.pending-member-list small,.pending-member-list time { margin-top: 3px; color: var(--muted); font-size: 11px; }
.pending-member-list form { margin: 0; }
.pending-member-list form button { min-height: 42px; padding: 8px 13px; border: 0; border-radius: 9px; background: var(--w); color: #fff; font-weight: 700; }
.admin-menu { display: grid; gap: 10px; }
.admin-menu>a { display: flex; align-items: center; gap: 13px; padding: 16px; color: var(--ink); background: var(--p); border: 1px solid var(--line); border-radius: 15px; text-decoration: none; }
.admin-menu>a>span { display: grid; flex: none; width: 44px; height: 44px; place-items: center; color: #fff; background: var(--w); border-radius: 12px; font-size: 21px; }
.admin-menu>a>div { min-width: 0; flex: 1; }
.admin-menu b,.admin-menu small { display: block; }
.admin-menu b { color: var(--w); font: 700 16px 'Chakra Petch'; }
.admin-menu small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.admin-menu em { color: #8a5d12; font-size: 11px; font-style: normal; font-weight: 700; }
.admin-section { scroll-margin-top: 82px; }
.community-links>a { display: block; padding: 18px; color: var(--g); background: var(--p); border: 1px solid var(--line); border-radius: 14px; font-size: 22px; text-align: left; text-decoration: none; }
.community-links>a b,.community-links>a small { display: block; }
.community-links>a b { margin-top: 8px; color: var(--ink); font: 600 13px 'Chakra Petch'; }
.community-links>a small { color: var(--muted); font-size: 9px; }
.admin-member-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 13px; }
.admin-member-summary span { display: grid; gap: 2px; padding: 12px 8px; background: var(--p); border: 1px solid var(--line); border-radius: 12px; text-align: center; }
.admin-member-summary b { color: var(--w); font: 700 20px 'Chakra Petch'; }
.admin-member-summary small { color: var(--muted); font-size: 11px; }
.admin-member-search { display: grid; gap: 6px; margin-bottom: 12px; color: var(--w); font-size: 12px; font-weight: 700; }
.admin-member-search input { width: 100%; min-height: 46px; padding: 10px 13px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 11px; font: inherit; }
.admin-member-list { display: grid; gap: 11px; }
.admin-member-item { min-width: 0; padding: 15px; background: var(--p); border: 1px solid var(--line); border-radius: 14px; }
.admin-member-item[hidden] { display: none; }
.admin-member-profile { display: flex; justify-content: space-between; gap: 12px; }
.admin-member-profile>div:first-child { min-width: 0; }
.admin-member-profile b,.admin-member-profile small,.admin-member-profile time { display: block; overflow-wrap: anywhere; }
.admin-member-profile b { color: var(--w); font-size: 15px; }
.admin-member-profile small,.admin-member-profile time { margin-top: 3px; color: var(--muted); font-size: 11px; }
.member-badges { display: flex; flex: none; align-items: flex-start; gap: 5px; }
.member-badges span { padding: 5px 8px; border-radius: 20px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.member-role { color: var(--w); background: #f2e5e8; }
.member-status.is-active { color: #287054; background: #e7f4ed; }
.member-status.is-pending { color: #8a5d12; background: #f7e8c7; }
.member-status.is-suspended { color: #9b3030; background: #f7e2e2; }
.member-admin-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 8px; margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line); }
.member-admin-form label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.member-admin-form select { width: 100%; min-width: 0; height: 42px; padding: 7px 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 9px; font: inherit; }
.member-admin-form button { min-height: 42px; padding: 8px 15px; color: #fff; background: var(--w); border: 0; border-radius: 9px; font-weight: 700; }
.admin-account-note,.admin-member-no-result { margin: 12px 0 0; padding-top: 11px; color: var(--muted); border-top: 1px solid var(--line); font-size: 11px; }
.admin-member-no-result { padding: 20px; background: var(--p); border: 1px solid var(--line); border-radius: 12px; text-align: center; }

@media (max-width: 520px) {
    .initial-plan,.stay-fields { grid-template-columns: 1fr; }
    .reunion-story { padding: 18px; }
    .collab-card { padding: 14px; }

    #prepare .title > small,
    .reunion-story > small,
    .section-heading > small { font-size: 11px; }
    #prepare .title > p,
    .section-heading p { font-size: 14px; line-height: 1.6; }
    #prepare .checklist b { font-size: 15px; }
    #prepare .checklist small { font-size: 13px; line-height: 1.5; }
    #prepare .checklist em { font-size: 12px; }
    .reunion-story h2,
    .section-heading h2 { font-size: 25px; line-height: 1.3; }
    .reunion-story > p { font-size: 14px; line-height: 1.85; }
    .story-values span { padding: 7px 11px; font-size: 12px; }
    .initial-plan span { padding: 13px; font-size: 13px; line-height: 1.55; }
    .initial-plan b { font-size: 13px; }
    .reunion-story h3 { font-size: 19px; }
    .initial-activities>b,.initial-attendees>b { font-size: 15px; }
    .initial-activities strong { font-size: 14px; }
    .initial-activities small,.initial-attendees p { font-size: 13px; }
    .open-note { padding: 13px 14px; }
    .collab-head b { font-size: 18px; }
    .collab-head small { font-size: 12px; line-height: 1.5; }
    .collab-head > span { padding: 6px 9px; font-size: 11px; }
    .community-links>a b { font-size: 15px; }
    .community-links>a small { font-size: 12px; line-height: 1.45; }
    .admin-member-summary { grid-template-columns: repeat(2,1fr); }
    .admin-member-profile { display: grid; }
    .member-badges { flex-wrap: wrap; }
    .member-admin-form { grid-template-columns: 1fr 1fr; }
    .member-admin-form button { grid-column: 1 / -1; width: 100%; }
    .proposal-item { padding: 13px; }
    .proposal-item strong { font-size: 14px; line-height: 1.45; }
    .proposal-item small { font-size: 12px; line-height: 1.5; }
    .proposal-item details,
    .voter-list { font-size: 12px; }
    .vote-button { min-height: 40px; padding: 8px 11px; font-size: 13px; }
    .add-proposal > summary { padding: 5px 0; font-size: 14px; }
    .add-proposal label,
    .stay-card label { font-size: 13px; }
    .add-proposal input,
    .add-proposal textarea,
    .stay-card input,
    .stay-card textarea { min-height: 44px; font-size: 16px; }
    .budget-options > label span { min-height: 50px; align-items: center; padding: 13px; }
    .budget-options b { font-size: 14px; }
    .budget-options small { font-size: 12px; }
    .budget-options > .gold,
    .stay-card .gold,
    .add-proposal .gold { min-height: 48px; font-size: 15px; }
    .stay-options span { min-height: 48px; font-size: 14px; }
    #prepare .timeline time { font-size: 14px; }
    #prepare .timeline b { font-size: 15px; }
    #prepare .timeline p { font-size: 13px; line-height: 1.5; }
}

@media (max-width: 520px) {
    .reunion-details > div {
        grid-template-columns: 1fr;
    }
}

.attendance-choice {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.attendance-choice legend {
    grid-column: 1 / -1;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 700;
}

.attendance-choice label {
    margin: 0;
}

.attendance-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.attendance-choice span {
    display: grid;
    min-height: 44px;
    place-items: center;
    padding: 8px;
    color: var(--muted);
    background: #faf7f2;
    border: 1px solid var(--line);
    border-radius: 11px;
    font-size: 12px;
    cursor: pointer;
}

.attendance-choice input:checked + span {
    color: #fff;
    background: var(--w);
    border-color: var(--w);
    font-weight: 700;
}

.companion-section {
    margin-top: 18px;
    padding: 15px;
    background: #faf7f2;
    border: 1px solid var(--line);
    border-radius: 13px;
}

.companion-section[hidden] {
    display: none;
}

.companion-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.companion-head b,
.companion-head small {
    display: block;
}

.companion-head b {
    font-size: 13px;
}

.companion-head small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 9px;
}

.companion-head strong {
    color: var(--w);
    font: 700 15px 'Chakra Petch';
}

.companion-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.companion-grid label {
    margin-bottom: 0;
}

@media (max-width: 420px) {
    .attendance-choice span {
        padding-inline: 4px;
        font-size: 11px;
    }
}

.member-group-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.member-group-cards details {
    min-width: 0;
}

.member-group-cards summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 128px;
    padding: 18px;
    background: var(--p);
    border: 1px solid var(--line);
    border-radius: 16px;
    cursor: pointer;
    list-style: none;
}

.member-group-cards summary::-webkit-details-marker {
    display: none;
}

.member-group-cards summary.network-card {
    color: #fff;
    background: var(--w);
    border-color: var(--w);
}

.member-group-cards summary span,
.member-group-cards summary strong,
.member-group-cards summary small {
    display: block;
}

.member-group-cards summary span > b {
    font: 700 32px 'Chakra Petch';
}

.member-group-cards summary strong {
    margin-top: 5px;
    font: 700 14px 'Chakra Petch';
}

.member-group-cards summary small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
}

.member-group-cards .network-card small {
    color: #decbd1;
}

.member-group-cards summary em {
    flex: none;
    color: var(--w);
    font-size: 9px;
    font-style: normal;
}

.member-group-cards .network-card em {
    color: #f0d29c;
}

.member-breakdown {
    margin-top: 7px;
    padding: 8px 12px;
    background: var(--p);
    border: 1px solid var(--line);
    border-radius: 13px;
}

.member-breakdown div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
    font-size: 10px;
}

.member-breakdown div:last-child {
    border-bottom: 0;
}

.member-breakdown .empty-group {
    color: var(--muted);
}

@media (min-width: 700px) {
    .featured-event {
        padding: 28px 30px;
    }

    .event-meta {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 380px) {
    .event-card-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .member-group-cards {
        grid-template-columns: 1fr;
    }
}

.member-group-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 110px;
    width: 100%;
    padding: 16px 18px;
    color: var(--ink);
    text-align: left;
    background: var(--p);
    border: 1px solid var(--line);
    border-radius: 16px;
}

a.member-group-card {
    text-decoration: none;
}

button.member-group-card {
    cursor: pointer;
}

.member-group-card span,
.member-group-card strong,
.member-group-card small {
    display: block;
}

.member-group-card span > b {
    font: 700 32px 'Chakra Petch';
}

.member-group-card strong {
    margin-top: 5px;
    font: 700 14px 'Chakra Petch';
}

.member-group-card small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
}

.member-group-card em {
    flex: none;
    min-width: 66px;
    color: var(--w);
    font-size: 9px;
    font-style: normal;
    text-align: right;
}

.dashboard-card-grid .member-group-card {
    min-height: 126px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(72, 38, 28, .055);
    transition: transform .18s ease, box-shadow .18s ease;
}

.dashboard-card-grid .member-group-card::after {
    position: absolute;
    right: -42px;
    bottom: -64px;
    width: 132px;
    height: 132px;
    border: 18px solid rgba(101, 29, 50, .045);
    border-radius: 50%;
    content: '';
    pointer-events: none;
}

.dashboard-card-grid .member-group-card > span,
.dashboard-card-grid .member-group-card > em {
    position: relative;
    z-index: 1;
}

.dashboard-card-grid .member-group-card > span {
    align-self: stretch;
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
}

.dashboard-card-grid .member-group-card > em {
    min-width: auto;
    padding: 6px 9px;
    background: rgba(255, 255, 255, .58);
    border: 1px solid rgba(101, 29, 50, .1);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}

.dashboard-card-grid button.member-group-card:hover,
.dashboard-card-grid a.member-group-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(72, 38, 28, .1);
}

.dashboard-card-grid .cohort-card {
    background: linear-gradient(135deg, #fffdf9 0%, #faf2e7 100%);
    border-color: #dfcbae;
}

.dashboard-card-grid .cohort-card::after {
    border-color: rgba(181, 139, 67, .08);
}

.dashboard-card-grid .family-card {
    background: linear-gradient(135deg, #fffafb 0%, #f6e9ed 100%);
    border-color: #dfc4cc;
}

.dashboard-card-grid .family-card > span > b,
.dashboard-card-grid .family-card strong {
    color: var(--w);
}

.dashboard-card-grid .dashboard-report-card {
    background: linear-gradient(135deg, #fffaf0 0%, #f4e4c8 100%);
    border-color: #d8b978;
}

.dashboard-card-grid .dashboard-report-card::after {
    border-color: rgba(181, 139, 67, .11);
}

.dashboard-card-grid .dashboard-report-card > span > b {
    color: var(--w);
}

.dashboard-card-grid .profile-card {
    background: linear-gradient(135deg, #fffdfb 0%, #f4edf0 100%);
    border-color: #ddcbd1;
}

.dashboard-card-grid .profile-card::after {
    border-color: rgba(101, 29, 50, .065);
}

.dashboard-card-grid .profile-card > span > b {
    color: var(--w);
}

.dashboard-card-grid .dashboard-action-card.is-disabled {
    opacity: .52;
    cursor: not-allowed;
}

.dashboard-card-grid .card-symbol {
    font-family: 'Noto Sans Thai', sans-serif;
}

.dashboard-card-grid em.is-complete {
    color: #39765f;
    background: #edf6f1;
    border-color: #cfe3d8;
}

@media (max-width: 600px) {
    .dashboard-card-grid .member-group-card {
        min-height: 116px;
    }

    .dashboard-card-grid .member-group-card > em {
        font-size: 9px;
    }
}

.member-types-dialog {
    width: min(92vw, 480px);
    padding: 22px;
    color: var(--ink);
    background: var(--p);
}

.member-types-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.member-types-head small {
    color: var(--g);
    font: 600 9px 'Chakra Petch';
    letter-spacing: 1.5px;
}

.member-types-head h2 {
    margin: 4px 0;
    color: var(--w);
    font: 700 23px 'Chakra Petch';
}

.member-types-head p {
    margin: 0;
    color: var(--muted);
    font-size: 10px;
}

.close-member-types {
    flex: none;
    width: 34px;
    height: 34px;
    color: var(--ink);
    background: #eee6dd;
    border: 0;
    border-radius: 50%;
    font-size: 20px;
}

.member-types-list {
    margin-top: 18px;
    border-block: 1px solid var(--line);
}

.member-types-list div,
.member-types-total {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 2px;
    border-bottom: 1px solid var(--line);
    font-size: 11px;
}

.report-entry-card {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 12px;
    padding: 15px;
    color: var(--ink);
    text-decoration: none;
    background: linear-gradient(110deg, #fffdf9, #f7eddf);
    border: 1px solid #dcc9b0;
    border-radius: 16px;
}

.member-types-dialog + .report-entry-card {
    margin-top: 20px;
}

.report-entry-card > i {
    display: grid;
    flex: none;
    place-items: center;
    width: 44px;
    height: 44px;
    color: #fff;
    background: var(--w);
    border: 3px solid #d5b579;
    border-radius: 50%;
    font: 700 14px 'Chakra Petch';
    font-style: normal;
}

.report-entry-card > span {
    flex: 1;
    min-width: 0;
}

.report-entry-card small,
.report-entry-card strong,
.report-entry-card em {
    display: block;
}

.report-entry-card small {
    color: var(--g);
    font: 600 8px 'Chakra Petch';
    letter-spacing: 1px;
}

.report-entry-card strong {
    color: var(--w);
    font: 700 18px 'Chakra Petch';
}

.report-entry-card em {
    color: var(--muted);
    font-size: 9px;
    font-style: normal;
}

.report-entry-card > b {
    flex: none;
    min-width: 100px;
    color: var(--w);
    font-size: 9px;
    text-align: right;
}

.report-entry-card > b.is-complete {
    color: #39765f;
}

.report-entry-card.is-disabled {
    opacity: .52;
    cursor: not-allowed;
    filter: grayscale(.5);
}

.report-entry-card.personal-entry-card {
    background: var(--p);
    border-color: var(--line);
}

.report-entry-card.personal-entry-card > i {
    color: var(--w);
    background: #f1e5e8;
    border-color: #ead5db;
    font-size: 18px;
}

@media (max-width: 520px) {
    .report-entry-card > b {
        max-width: 76px;
        text-align: right;
    }
}

.member-types-list div:last-child {
    border-bottom: 0;
}

.member-types-total {
    color: var(--w);
    border-bottom: 0;
    font-weight: 700;
}

/* Attendance summary, shown only inside the reunion page. */
#prepare .reunion-rsvp-card{margin:0 0 24px;padding:24px;border:1px solid #dcc9b0;border-radius:20px;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 12px 35px #4c25300d}
.reunion-rsvp-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.reunion-rsvp-heading small{color:#886739}.reunion-rsvp-heading h2{margin:4px 0 0;color:#651d32;font-size:24px}
.reunion-rsvp-badge{border-radius:30px;padding:6px 12px;background:#651d32;color:#fff;font-size:12px;white-space:nowrap}
.reunion-rsvp-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.reunion-rsvp-counts>div{display:flex;flex-direction:column;padding:16px 8px;text-align:center;border-radius:14px;background:#f5eee5}
.reunion-rsvp-counts strong{font-size:32px;line-height:1.3;color:#651d32}.reunion-rsvp-counts span{font-size:13px;color:#695957}
.reunion-rsvp-preview{display:flex;flex-wrap:wrap;gap:8px}.reunion-rsvp-preview>span{padding:7px 12px;border:1px solid #e6d7c6;border-radius:24px;font-size:14px;overflow-wrap:anywhere}
.reunion-rsvp-details{margin-top:16px}.reunion-rsvp-details summary{cursor:pointer;color:#651d32;font-weight:600;padding:8px 0}
.reunion-rsvp-details ul{list-style:none;padding:0;margin:8px 0;max-height:360px;overflow:auto}
.reunion-rsvp-details li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #eee3d8;font-size:14px}
.reunion-rsvp-details li>span:first-child{min-width:0;overflow-wrap:anywhere}.reunion-rsvp-details li>span:last-child{flex-shrink:0;color:#766460}
.reunion-rsvp-details small{display:block;color:#766460}.reunion-rsvp-empty{color:#766460}
.reunion-rsvp-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e6d7c6}
.reunion-rsvp-footer p{margin:0;font-size:14px}.reunion-rsvp-footer .gold{cursor:pointer}
@media(max-width:480px){#prepare .reunion-rsvp-card{padding:18px}.reunion-rsvp-heading h2{font-size:20px}.reunion-rsvp-badge{display:none}.reunion-rsvp-counts{gap:6px}.reunion-rsvp-counts span{font-size:12px}.reunion-rsvp-footer .gold{width:100%}}
.stay-summary{margin:0 0 22px;padding:18px;border:1px solid #e6d7c6;border-radius:14px;background:#fffaf3}
.stay-summary h3{margin:0 0 12px;font-size:18px;color:#651d32}
.stay-summary-totals{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:15px}.stay-summary-totals b{color:#651d32}
.stay-summary-note{margin:10px 0 16px;font-size:13px;color:#766460;line-height:1.7}
.stay-summary-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.stay-summary-group{border:1px solid #e6d7c6;border-radius:10px;background:#fff;overflow:hidden}
.stay-summary-group summary{padding:12px;cursor:pointer;font-size:14px;color:#651d32}
.stay-summary-group summary b{float:right}.stay-summary-group summary small{display:block;margin-top:4px;color:#766460;font-size:12px}
.stay-summary-group ul{margin:0;padding:0 12px 12px;list-style:none;max-height:280px;overflow:auto}
.stay-summary-group li{padding:9px 0;border-top:1px solid #eee3d8;font-size:14px;overflow-wrap:anywhere}
.stay-summary-group li small{display:block;color:#766460}.stay-summary-empty{padding:0 12px 12px;margin:0;font-size:13px;color:#766460}
@media(max-width:480px){.stay-summary{padding:14px}.stay-summary-groups{grid-template-columns:1fr}}