/* /Components/BrandingPanel.razor.rz.scp.css */
.branding-panel[b-obzsllezx0] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-top: 32px;
    max-width: 720px;
    padding: 24px;
    box-sizing: border-box;
    background: var(--surface-card);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

h2[b-obzsllezx0] {
    margin: 0;
    font-size: var(--heading-2-size);
}

.branding-intro[b-obzsllezx0],
.branding-hint[b-obzsllezx0],
.branding-saved[b-obzsllezx0],
.branding-error[b-obzsllezx0] {
    margin: 0;
    font-size: 14px;
    color: var(--text-body);
}

.branding-hint[b-obzsllezx0] {
    font-size: 13px;
    color: var(--text-muted);
}

.branding-error[b-obzsllezx0] {
    color: var(--color-danger);
}

.branding-grid[b-obzsllezx0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    align-self: stretch;
}

label[b-obzsllezx0],
.color-field[b-obzsllezx0],
.logo-field[b-obzsllezx0] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    label > span[b-obzsllezx0],
    .color-field > span[b-obzsllezx0],
    .logo-field > span[b-obzsllezx0] {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
    }

input[type=text][b-obzsllezx0] {
    min-height: var(--tap-min);
    padding: 0 12px;
    box-sizing: border-box;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
    background: var(--color-white);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
}

.color-row[b-obzsllezx0] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .color-row input[type=text][b-obzsllezx0] {
        width: 110px;
    }

    .color-row .btn-secondary[b-obzsllezx0] {
        min-height: var(--tap-min);
        padding: 0 14px;
    }

input[type=color][b-obzsllezx0] {
    width: var(--tap-min);
    height: var(--tap-min);
    padding: 2px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--color-white);
    cursor: pointer;
}

.logo-field[b-obzsllezx0] {
    align-items: flex-start;
}

.logo-preview[b-obzsllezx0] {
    max-width: 220px;
    max-height: 80px;
    object-fit: contain;
    padding: 8px;
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-input);
}

.upload-button[b-obzsllezx0] {
    position: relative;
    flex-direction: row;
    overflow: hidden;
}

    .upload-button:focus-within[b-obzsllezx0] {
        outline: 2px solid var(--accent-primary);
        outline-offset: 2px;
    }

    .upload-button[b-obzsllezx0]  input[type=file] {
        position: absolute;
        inset: 0;
        opacity: 0;
        cursor: pointer;
    }
/* /Components/CalendarFeedPanel.razor.rz.scp.css */
.calendar-feed[b-02xui6nnyy] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.calendar-label[b-02xui6nnyy] {
    font-family: var(--font-sans);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.calendar-hint[b-02xui6nnyy],
.calendar-done[b-02xui6nnyy],
.calendar-error[b-02xui6nnyy] {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
}

.calendar-url[b-02xui6nnyy] {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
}

.calendar-actions[b-02xui6nnyy] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.calendar-button[b-02xui6nnyy] {
    display: inline-flex;
    align-items: center;
    background: none;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    padding: 8px 16px;
    min-height: 40px;
    box-sizing: border-box;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    text-decoration: none;
    cursor: pointer;
}

.calendar-button-primary[b-02xui6nnyy] {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--surface-card);
}

    .calendar-button:disabled[b-02xui6nnyy] {
        opacity: 0.6;
        cursor: default;
    }
/* /Components/ClientAccessPanel.razor.rz.scp.css */
.access-panel[b-mi4bymm40x] {
    margin-top: 32px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 20px 22px;
    max-width: 720px;
}

h2[b-mi4bymm40x] {
    font-family: var(--font-display);
    font-size: var(--heading-2-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0 0 8px;
}

.access-intro[b-mi4bymm40x],
.placeholder[b-mi4bymm40x] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
    margin: 0 0 16px;
}

.placeholder[b-mi4bymm40x] {
    color: var(--text-muted);
}

.error[b-mi4bymm40x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: 0 0 16px;
}

.dismiss-error[b-mi4bymm40x] {
    background: none;
    border: none;
    color: inherit;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.access-list[b-mi4bymm40x] {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    border-top: 1px solid var(--border-subtle);
}

    .access-list li[b-mi4bymm40x] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
    }

.who[b-mi4bymm40x] {
    flex: 1;
    min-width: 0;
}

.email[b-mi4bymm40x] {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
    overflow-wrap: anywhere;
}

.role[b-mi4bymm40x] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.new-link[b-mi4bymm40x] {
    margin-bottom: 16px;
}

    .new-link label[b-mi4bymm40x] {
        display: block;
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
        margin-bottom: 6px;
    }

.new-link-row[b-mi4bymm40x] {
    display: flex;
    gap: 8px;
}

    .new-link-row input[b-mi4bymm40x] {
        flex: 1;
        min-width: 0;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-sand-light);
        border-radius: var(--radius-input);
    }

.role-help[b-mi4bymm40x] {
    margin: 0 0 16px;
    padding-left: 18px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

.create-row[b-mi4bymm40x] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

    .create-row label[b-mi4bymm40x] {
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
    }

    .create-row select[b-mi4bymm40x] {
        padding: 9px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }
/* /Components/EmailChangePanel.razor.rz.scp.css */
.email-change[b-fm3gnjqgbz] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.email-label[b-fm3gnjqgbz],
.email-form label span[b-fm3gnjqgbz] {
    font-family: var(--font-sans);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.email-current[b-fm3gnjqgbz] {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
    overflow-wrap: anywhere;
}

.email-pending[b-fm3gnjqgbz],
.email-form[b-fm3gnjqgbz] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border-subtle);
    background: var(--surface-page);
}

    .email-pending p[b-fm3gnjqgbz] {
        margin: 0;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-body);
        overflow-wrap: anywhere;
    }

.email-form label[b-fm3gnjqgbz] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.email-form input[b-fm3gnjqgbz] {
    box-sizing: border-box;
    padding: 10px 12px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    border-radius: var(--radius-input);
}

.email-muted[b-fm3gnjqgbz] {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
}

.email-actions[b-fm3gnjqgbz] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.email-button[b-fm3gnjqgbz] {
    align-self: flex-start;
    background: none;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    padding: 8px 16px;
    min-height: 40px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    cursor: pointer;
}

.email-button-primary[b-fm3gnjqgbz] {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--surface-card);
}

    .email-button:disabled[b-fm3gnjqgbz] {
        opacity: 0.6;
        cursor: default;
    }

.email-error[b-fm3gnjqgbz] {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
}
/* /Components/EmailVerificationNotice.razor.rz.scp.css */
.verify-notice[b-qahnt6kqqx] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 20px;
    padding: 12px 16px;
    background: var(--color-blush-light);
    border: 1px solid var(--color-blush);
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
}

    .verify-notice p[b-qahnt6kqqx] {
        margin: 0;
        flex: 1 1 260px;
        overflow-wrap: anywhere;
    }

.verify-actions[b-qahnt6kqqx] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.verify-button[b-qahnt6kqqx] {
    background: none;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    padding: 6px 14px;
    min-height: 36px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    cursor: pointer;
}

    .verify-button:disabled[b-qahnt6kqqx] {
        opacity: 0.6;
        cursor: default;
    }

.verify-close[b-qahnt6kqqx] {
    background: none;
    border: none;
    min-width: 36px;
    min-height: 36px;
    font-size: 20px;
    line-height: 1;
    color: var(--text-label);
    cursor: pointer;
}

.verify-notice .verify-error[b-qahnt6kqqx] {
    flex-basis: 100%;
    font-size: 13px;
}
/* /Components/EmergencyCardView.razor.rz.scp.css */
.emergency-toolbar[b-foz8fmry3b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    font-family: var(--font-sans);
    font-size: 14px;
}

    .emergency-toolbar a[b-foz8fmry3b] {
        color: var(--text-label);
    }

.emergency-card[b-foz8fmry3b] {
    max-width: 820px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 28px 32px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

    .emergency-card h1[b-foz8fmry3b] {
        margin: 0;
        font-family: var(--font-display);
        font-size: 30px;
        font-weight: 400;
        color: var(--text-heading);
    }

    .emergency-card h2[b-foz8fmry3b] {
        margin: 24px 0 10px;
        font-family: var(--font-display);
        font-size: 19px;
        font-weight: 400;
        color: var(--text-heading);
    }

    .emergency-card a[b-foz8fmry3b] {
        color: var(--text-heading);
    }

.eyebrow[b-foz8fmry3b] {
    margin: 0 0 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.when[b-foz8fmry3b] {
    margin: 4px 0 0;
}

    .when[b-foz8fmry3b]::first-letter {
        text-transform: uppercase;
    }

.contact-list[b-foz8fmry3b] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .contact-list li[b-foz8fmry3b] {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 14px;
        align-items: baseline;
    }

.role[b-foz8fmry3b] {
    min-width: 170px;
    font-size: 12px;
    color: var(--text-label);
}

.card-suppliers[b-foz8fmry3b] {
    width: 100%;
    border-collapse: collapse;
}

    .card-suppliers th[b-foz8fmry3b] {
        text-align: left;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
        padding: 6px 8px 6px 0;
        border-bottom: 1px solid var(--border-strong);
    }

    .card-suppliers td[b-foz8fmry3b] {
        padding: 6px 8px 6px 0;
        border-bottom: 1px solid var(--border-subtle);
        vertical-align: top;
    }

.card-runsheet[b-foz8fmry3b] {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .card-runsheet li[b-foz8fmry3b] {
        display: flex;
        gap: 14px;
        padding: 5px 0;
        border-bottom: 1px solid var(--border-subtle);
    }

    .card-runsheet .when[b-foz8fmry3b] {
        flex: 0 0 110px;
        margin: 0;
        font-variant-numeric: tabular-nums;
        color: var(--text-heading);
    }

.placeholder[b-foz8fmry3b] {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-muted);
}

@media print {
    .emergency-card[b-foz8fmry3b] {
        border: none;
        padding: 0;
        max-width: none;
        font-size: 12px;
    }
}
/* /Components/GuestAllergyEditor.razor.rz.scp.css */
.allergy-editor[b-2rcgud04dp] {
    position: relative;
    font-family: var(--font-sans);
}

.summary[b-2rcgud04dp] {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    text-align: left;
    text-decoration: underline dotted;
    cursor: pointer;
    max-width: 220px;
}

.panel[b-2rcgud04dp] {
    position: absolute;
    z-index: 5;
    top: 100%;
    left: 0;
    margin-top: 6px;
    width: 300px;
    background: var(--color-white);
    border: 1px solid var(--border-subtle);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
    padding: 14px;
}

fieldset[b-2rcgud04dp] {
    border: none;
    margin: 0 0 12px;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    font-size: 13px;
}

    fieldset legend[b-2rcgud04dp],
    .dietary span[b-2rcgud04dp] {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
        margin-bottom: 6px;
    }

    fieldset label[b-2rcgud04dp] {
        display: flex;
        align-items: center;
        gap: 6px;
    }

.dietary[b-2rcgud04dp] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
}

    .dietary input[b-2rcgud04dp] {
        padding: 7px 9px;
        font-family: var(--font-sans);
        font-size: 13px;
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-input);
    }
/* /Components/GuestBulkBar.razor.rz.scp.css */
.bulk-bar[b-hekkxopov2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

    .bulk-bar select[b-hekkxopov2] {
        padding: 7px 10px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.bulk-count[b-hekkxopov2] {
    font-weight: 600;
    color: var(--text-heading);
}

.bulk-links[b-hekkxopov2] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 12px 16px;
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

    .bulk-links p[b-hekkxopov2] {
        margin: 0;
    }

    .bulk-links textarea[b-hekkxopov2] {
        box-sizing: border-box;
        width: 100%;
        padding: 8px 10px;
        font-family: var(--font-mono, monospace);
        font-size: 12px;
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.bulk-link-actions[b-hekkxopov2] {
    display: flex;
    gap: 8px;
}

.link-button[b-hekkxopov2] {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    text-decoration: underline;
    cursor: pointer;
}
/* /Components/GuestContactEditor.razor.rz.scp.css */
.contact-editor[b-qhbbovqfyk] {
    position: relative;
    font-family: var(--font-sans);
}

.summary[b-qhbbovqfyk] {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    text-align: left;
    text-decoration: underline dotted;
    cursor: pointer;
    max-width: 220px;
    overflow-wrap: anywhere;
}

.panel[b-qhbbovqfyk] {
    position: absolute;
    z-index: 5;
    top: 100%;
    left: 0;
    margin-top: 6px;
    width: 280px;
    background: var(--color-white);
    border: 1px solid var(--border-subtle);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

    .panel label[b-qhbbovqfyk] {
        display: flex;
        flex-direction: column;
        gap: 4px;
        font-size: 13px;
    }

        .panel label.check[b-qhbbovqfyk] {
            flex-direction: row;
            align-items: center;
            gap: 6px;
        }

        .panel label span[b-qhbbovqfyk] {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: var(--tracking-mid);
            color: var(--text-label);
        }

    .panel button[b-qhbbovqfyk] {
        align-self: flex-start;
    }
/* /Components/GuestFilterBar.razor.rz.scp.css */
/* Search and filters above the guest table (issue #147). */
.guest-filters[b-ls8l2wb8qy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

    .guest-filters input[type="search"][b-ls8l2wb8qy],
    .guest-filters select[b-ls8l2wb8qy] {
        padding: 7px 10px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

    .guest-filters input[type="search"][b-ls8l2wb8qy] {
        flex: 1 1 220px;
        min-width: 0;
    }

    .guest-filters label[b-ls8l2wb8qy] {
        display: flex;
        align-items: center;
        gap: 6px;
        white-space: nowrap;
    }

    .guest-filters .filter-count[b-ls8l2wb8qy] {
        color: var(--text-label);
    }
/* /Components/GuestImport.razor.rz.scp.css */
.guest-import[b-0kuq3kjf7u] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 14px 18px;
    margin-bottom: 20px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

    .guest-import summary[b-0kuq3kjf7u] {
        cursor: pointer;
        color: var(--text-heading);
    }

.hint[b-0kuq3kjf7u] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 12px 0;
}

.sources[b-0kuq3kjf7u] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-start;
}

.file[b-0kuq3kjf7u] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--text-heading);
}

.paste[b-0kuq3kjf7u] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 280px;
}

    .paste textarea[b-0kuq3kjf7u] {
        box-sizing: border-box;
        width: 100%;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        resize: vertical;
        border-radius: var(--radius-input);
    }

    .paste button[b-0kuq3kjf7u] {
        align-self: flex-start;
    }

.header-toggle[b-0kuq3kjf7u] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0 8px;
}

.preview-wrap[b-0kuq3kjf7u] {
    overflow-x: auto;
    max-height: 420px;
    overflow-y: auto;
    border: 1px solid var(--border-subtle);
}

.preview[b-0kuq3kjf7u] {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    font-size: 13px;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .preview th[b-0kuq3kjf7u] {
        background: var(--color-sand);
        padding: 8px;
        text-align: left;
        vertical-align: top;
        position: sticky;
        top: 0;
    }

    .preview th select[b-0kuq3kjf7u] {
        font-size: 13px;
        padding: 4px;
    }

    .preview .column-title[b-0kuq3kjf7u] {
        display: block;
        font-weight: normal;
        color: var(--text-label);
        margin-top: 4px;
    }

    .preview td[b-0kuq3kjf7u] {
        padding: 6px 8px;
        border-top: 1px solid var(--border-subtle);
        white-space: nowrap;
    }

    .preview tr.invalid td.result[b-0kuq3kjf7u] {
        color: var(--text-heading);
    font-weight: 600;
    }

    .preview tr.double td[b-0kuq3kjf7u] {
        color: var(--text-muted);
    }

.summary[b-0kuq3kjf7u] {
    margin: 12px 0 8px;
    color: var(--text-heading);
}

.actions[b-0kuq3kjf7u] {
    display: flex;
    gap: 12px;
}

.import-error[b-0kuq3kjf7u] {
    color: var(--text-heading);
    font-weight: 600;
    margin: 8px 0;
}

.saved[b-0kuq3kjf7u] {
    margin: 12px 0 0;
    color: var(--text-heading);
}

.link-button[b-0kuq3kjf7u] {
    background: none;
    border: none;
    padding: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    text-decoration: underline;
    cursor: pointer;
}

/* Nieuwe opmaak (#182): de tabel als ronde kaart. Geen overflow: hidden, want sommige
   cellen openen een klein venster (allergieën, contact) dat erbuiten valt. */
.preview th[b-0kuq3kjf7u] {
    border-bottom: 1px solid var(--border-subtle);
}

.preview tr:first-child th:first-child[b-0kuq3kjf7u] {
    border-top-left-radius: var(--radius-card);
}

.preview tr:first-child th:last-child[b-0kuq3kjf7u] {
    border-top-right-radius: var(--radius-card);
}

@media (max-width: 768px) {
    /* Op de telefoon scrolt een brede tabel binnen zijn eigen vak; de pagina zelf schuift nooit opzij. */
    .preview[b-0kuq3kjf7u] {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}
/* /Components/GuestLinkControl.razor.rz.scp.css */
.guest-link[b-v5cmxmw3o4] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .guest-link input[b-v5cmxmw3o4] {
        flex: 1;
        min-width: 140px;
        padding: 6px 8px;
        font-family: var(--font-sans);
        font-size: 12px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-sand-light);
        border-radius: var(--radius-input);
    }

.link-action[b-v5cmxmw3o4] {
    background: none;
    border: none;
    padding: 4px 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-heading);
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

    .link-action.muted[b-v5cmxmw3o4] {
        color: var(--text-muted);
    }

    .link-action:disabled[b-v5cmxmw3o4] {
        opacity: 0.5;
        cursor: not-allowed;
    }
/* /Components/GuestPageContentEditor.razor.rz.scp.css */
.guest-page-editor[b-zbinfnw2jh] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 14px 18px;
    margin-bottom: 20px;
    font-family: var(--font-sans);
}

    .guest-page-editor summary[b-zbinfnw2jh] {
        cursor: pointer;
        font-size: 14px;
        color: var(--text-heading);
    }

.hint[b-zbinfnw2jh],
.placeholder[b-zbinfnw2jh] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 12px 0;
}

label[b-zbinfnw2jh] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}

    label span[b-zbinfnw2jh] {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
    }

textarea[b-zbinfnw2jh] {
    box-sizing: border-box;
    width: 100%;
    padding: 9px 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    resize: vertical;
    border-radius: var(--radius-input);
}

.actions[b-zbinfnw2jh] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.saved[b-zbinfnw2jh] {
    font-size: 13px;
    color: var(--text-label);
}
/* /Components/GuestRsvpDetails.razor.rz.scp.css */
.rsvp-details[b-nfg4jrz684] {
    margin-top: 4px;
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--text-muted);
    overflow-wrap: anywhere;
}
/* /Components/GuestSongRequests.razor.rz.scp.css */
h2[b-1zp7bwwse4] {
    font-family: var(--font-display);
    font-size: var(--heading-2-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 28px 0 12px;
}

.songs-intro[b-1zp7bwwse4] {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-body);
    margin: 0 0 12px;
}

.own-songs[b-1zp7bwwse4] {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
}

    .own-songs li[b-1zp7bwwse4] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 10px 14px;
        background: var(--surface-card-alt);
        border: 1px solid var(--border-subtle);
    }

.withdraw[b-1zp7bwwse4] {
    border: none;
    background: none;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    text-decoration: underline;
    cursor: pointer;
}
/* /Components/GuestSpeechSignup.razor.rz.scp.css */
h2[b-beplr4d529] {
    font-family: var(--font-display);
    font-size: var(--heading-2-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 28px 0 12px;
}

.speech-intro[b-beplr4d529] {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-body);
    margin: 0 0 12px;
}

.own-speeches[b-beplr4d529] {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
}

    .own-speeches li[b-beplr4d529] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 10px 14px;
        background: var(--surface-card-alt);
        border: 1px solid var(--border-subtle);
    }

.planned[b-beplr4d529] {
    font-size: 13px;
    color: var(--text-label);
}

.withdraw[b-beplr4d529] {
    background: transparent;
    border: 1px solid var(--text-label);
    color: var(--text-heading);
    padding: 6px 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    cursor: pointer;
}

select[b-beplr4d529] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
    background: var(--color-white);
    border: 1px solid var(--text-label);
    border-radius: var(--radius-input);
}

.speech-saved[b-beplr4d529] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    background: var(--surface-card-alt);
    border: 1px solid var(--border-subtle);
    padding: 12px 16px;
    margin: 12px 0 0;
}
/* /Components/GuestWishlist.razor.rz.scp.css */
h2[b-whqsysa768] {
    font-family: var(--font-display);
    font-size: var(--heading-2-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 28px 0 12px;
}

.wishlist-intro[b-whqsysa768] {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-body);
    margin: 0 0 12px;
}

.wishes[b-whqsysa768] {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
}

    .wishes li[b-whqsysa768] {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 12px 14px;
        background: var(--surface-card-alt);
        border: 1px solid var(--border-subtle);
    }

        .wishes li.taken[b-whqsysa768] {
            opacity: 0.65;
        }

.wish-head[b-whqsysa768] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
}

    .wish-head .price[b-whqsysa768] {
        font-size: 13px;
        color: var(--text-label);
    }

    .wish-head a[b-whqsysa768] {
        font-size: 13px;
        color: var(--accent-primary);
    }

.description[b-whqsysa768],
.status[b-whqsysa768] {
    margin: 0;
    font-size: 14px;
    color: var(--text-body);
}

    .status.mine[b-whqsysa768] {
        font-weight: 600;
        color: var(--text-heading);
    }

.contribute[b-whqsysa768] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

    .contribute input[b-whqsysa768] {
        box-sizing: border-box;
        min-width: 0;
        flex: 0 1 140px;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.reserve[b-whqsysa768] {
    align-self: flex-start;
    padding: 8px 14px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--color-white);
    background: var(--accent-primary);
    border: none;
    cursor: pointer;
}

    .reserve:disabled[b-whqsysa768] {
        opacity: 0.6;
        cursor: default;
    }

.withdraw[b-whqsysa768] {
    border: none;
    background: none;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    text-decoration: underline;
    cursor: pointer;
}
/* /Components/IntakePanel.razor.rz.scp.css */
.intake-panel[b-jspxa2ff40] {
    margin-top: 32px;
    font-family: var(--font-sans);
}

    .intake-panel h2[b-jspxa2ff40] {
        font-family: var(--font-display);
        font-size: var(--heading-2-size);
        font-weight: 400;
        color: var(--text-heading);
        margin: 0 0 8px;
    }

.hint[b-jspxa2ff40] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 0 0 12px;
}

.intake-answers[b-jspxa2ff40] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 16px;
    margin: 16px 0 0;
    font-size: 14px;
    color: var(--text-body);
}

    .intake-answers dt[b-jspxa2ff40] {
        color: var(--text-label);
    }

    .intake-answers dd[b-jspxa2ff40] {
        margin: 0;
        white-space: pre-line;
    }

@media (max-width: 768px) {
    .intake-answers[b-jspxa2ff40] {
        grid-template-columns: 1fr;
    }

        .intake-answers dd[b-jspxa2ff40] {
            margin-bottom: 8px;
        }
}
/* /Components/MenuEditor.razor.rz.scp.css */
.menu-editor[b-xco176vr58] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 14px 18px;
    margin-bottom: 20px;
    font-family: var(--font-sans);
}

    .menu-editor summary[b-xco176vr58] {
        cursor: pointer;
        font-size: 14px;
        color: var(--text-heading);
    }

.hint[b-xco176vr58] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 12px 0;
}

.dishes[b-xco176vr58] {
    list-style: none;
    padding: 0;
    margin: 0 0 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .dishes li[b-xco176vr58] {
        display: flex;
        align-items: center;
        gap: 12px;
    }

input[type="text"][b-xco176vr58] {
    box-sizing: border-box;
    padding: 8px 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    min-width: 0;
    flex: 0 1 280px;
    border-radius: var(--radius-input);
}

.count[b-xco176vr58] {
    font-size: 13px;
    color: var(--text-label);
}

.add-row[b-xco176vr58] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.kids[b-xco176vr58] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--text-body);
    white-space: nowrap;
}
/* /Components/NewClientForm.razor.rz.scp.css */
.new-client-trigger[b-9rpoy2mz48] {
    position: relative;
}

.new-client-form[b-9rpoy2mz48] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    width: 520px;
    max-width: calc(100vw - 32px);
    box-sizing: border-box;
    background: var(--surface-card);
    border-radius: var(--radius-card);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    padding: 20px;
}

.new-client-form label[b-9rpoy2mz48] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.new-client-form label span[b-9rpoy2mz48] {
    font-family: var(--font-sans);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.new-client-form label input[b-9rpoy2mz48] {
    min-height: var(--tap-min);
    box-sizing: border-box;
    padding: 0 12px;
    border-radius: var(--radius-field);
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
}

.new-client-form-actions[b-9rpoy2mz48] {
    display: flex;
    gap: 10px;
}

.error[b-9rpoy2mz48] {
    width: 100%;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: 0;
}

/* Telefoon (#182): het formulier over de volle breedte, onder de menubalk. */
@media (max-width: 768px) {
    .new-client-form[b-9rpoy2mz48] {
        position: fixed;
        top: 72px;
        left: 16px;
        right: 16px;
        width: auto;
        max-height: calc(100vh - 96px);
        overflow-y: auto;
    }

    .new-client-form label[b-9rpoy2mz48] {
        flex: 1 1 100%;
    }
}
/* /Components/PaletteEditor.razor.rz.scp.css */
.palette[b-33w8s1onf9] {
    margin-bottom: 30px;
    max-width: 760px;
}

.palette-empty[b-33w8s1onf9],
.palette-hint[b-33w8s1onf9] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
    margin: 0 0 12px;
}

.palette-list[b-33w8s1onf9] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}

.palette-chip[b-33w8s1onf9] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 6px 6px 6px;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
}

.chip-swatch[b-33w8s1onf9] {
    width: 36px;
    height: 36px;
    border: 1px solid var(--border-subtle);
    flex-shrink: 0;
}

.chip-label[b-33w8s1onf9] {
    display: flex;
    flex-direction: column;
    font-family: var(--font-sans);
    line-height: 1.25;
}

.chip-name[b-33w8s1onf9] {
    font-size: 13px;
    color: var(--text-heading);
}

.chip-hex[b-33w8s1onf9] {
    font-size: 11px;
    color: var(--text-muted);
    text-transform: uppercase;
}

.chip-remove[b-33w8s1onf9] {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1;
    padding: 2px 6px;
    cursor: pointer;
}

    .chip-remove:hover[b-33w8s1onf9] {
        color: var(--text-heading);
    }

.palette-add[b-33w8s1onf9] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 8px;
}

    .palette-add input[type=color][b-33w8s1onf9] {
        width: 44px;
        height: 40px;
        padding: 2px;
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        cursor: pointer;
    }

    .palette-add input[type=text][b-33w8s1onf9] {
        flex: 0 1 280px;
        min-width: 0;
        padding: 10px 12px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.palette-extracted[b-33w8s1onf9] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 14px;
}

.extracted-label[b-33w8s1onf9] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

.extracted-swatch[b-33w8s1onf9] {
    width: 40px;
    height: 40px;
    border: 1px solid var(--border-subtle);
    color: var(--color-white);
    font-size: 16px;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
    cursor: pointer;
}

    .extracted-swatch:disabled[b-33w8s1onf9] {
        cursor: default;
    }

    .extracted-swatch.in-palette[b-33w8s1onf9] {
        outline: 2px solid var(--text-heading);
        outline-offset: 1px;
    }
/* /Components/PasswordChangePanel.razor.rz.scp.css */
.password-change[b-i9d6dvpj3c] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.password-label[b-i9d6dvpj3c],
.password-form label span[b-i9d6dvpj3c] {
    font-family: var(--font-sans);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.password-form[b-i9d6dvpj3c] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border-subtle);
    background: var(--surface-page);
}

    .password-form label[b-i9d6dvpj3c] {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .password-form input[b-i9d6dvpj3c] {
        box-sizing: border-box;
        padding: 10px 12px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.password-done[b-i9d6dvpj3c],
.password-error[b-i9d6dvpj3c] {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
}

.password-actions[b-i9d6dvpj3c] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.password-button[b-i9d6dvpj3c] {
    align-self: flex-start;
    background: none;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    padding: 8px 16px;
    min-height: 40px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    cursor: pointer;
}

.password-button-primary[b-i9d6dvpj3c] {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--surface-card);
}

    .password-button:disabled[b-i9d6dvpj3c] {
        opacity: 0.6;
        cursor: default;
    }
/* /Components/PhotoListEditor.razor.rz.scp.css */
.photo-list[b-9pknegr7ru] {
    font-family: var(--font-sans);
}

.hint[b-9pknegr7ru],
.placeholder[b-9pknegr7ru] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 0 0 16px;
}

.shots[b-9pknegr7ru] {
    list-style: decimal;
    margin: 0 0 16px;
    padding-left: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .shots li[b-9pknegr7ru] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
        font-size: 15px;
        color: var(--text-heading);
    }

        .shots li.done .description[b-9pknegr7ru] {
            text-decoration: line-through;
            color: var(--text-muted);
        }

input[type="text"][b-9pknegr7ru] {
    box-sizing: border-box;
    padding: 8px 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    border-radius: var(--radius-input);
}

input.description[b-9pknegr7ru] {
    flex: 2 1 260px;
}

input.people[b-9pknegr7ru] {
    flex: 1 1 180px;
}

span.people[b-9pknegr7ru] {
    font-size: 13px;
    color: var(--text-label);
}

    span.people[b-9pknegr7ru]::before {
        content: "· ";
    }

.add-row[b-9pknegr7ru] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

    .add-row input:first-of-type[b-9pknegr7ru] {
        flex: 2 1 260px;
    }

    .add-row input:nth-of-type(2)[b-9pknegr7ru] {
        flex: 1 1 160px;
    }
/* /Components/PlaylistEditor.razor.rz.scp.css */
.playlist[b-10rrbuk1hv] {
    font-family: var(--font-sans);
}

.playlist-toolbar[b-10rrbuk1hv] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.hint[b-10rrbuk1hv],
.placeholder[b-10rrbuk1hv] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 0 0 16px;
}

h3[b-10rrbuk1hv] {
    font-family: var(--font-display);
    font-size: 18px;
    color: var(--text-heading);
    margin: 20px 0 8px;
}

    h3 .count[b-10rrbuk1hv] {
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-label);
    }

.songs[b-10rrbuk1hv] {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.song-row[b-10rrbuk1hv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

input[type="text"][b-10rrbuk1hv],
select[b-10rrbuk1hv] {
    box-sizing: border-box;
    padding: 8px 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    border-radius: var(--radius-input);
}

input.title[b-10rrbuk1hv] {
    flex: 2 1 220px;
}

input.artist[b-10rrbuk1hv],
input.requested-by[b-10rrbuk1hv] {
    flex: 1 1 160px;
}

span.requested-by[b-10rrbuk1hv] {
    font-size: 13px;
    color: var(--text-label);
}

.add-row[b-10rrbuk1hv] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

    .add-row input:first-child[b-10rrbuk1hv] {
        flex: 2 1 220px;
    }

.songs-view[b-10rrbuk1hv] {
    margin: 0 0 12px;
    padding-left: 24px;
    font-size: 15px;
    color: var(--text-heading);
}

    .songs-view .artist[b-10rrbuk1hv],
    .songs-view .requested-by[b-10rrbuk1hv] {
        color: var(--text-label);
    }
/* /Components/PortalRolesPanel.razor.rz.scp.css */
.roles-panel[b-jpj3ggvr9d] {
    margin-top: 32px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 20px 22px;
    max-width: 720px;
}

h2[b-jpj3ggvr9d] {
    font-family: var(--font-display);
    font-size: var(--heading-2-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0 0 8px;
}

.roles-intro[b-jpj3ggvr9d],
.placeholder[b-jpj3ggvr9d] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
    margin: 0 0 16px;
}

.placeholder[b-jpj3ggvr9d] {
    color: var(--text-muted);
}

.error[b-jpj3ggvr9d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: 0 0 16px;
}

.dismiss-error[b-jpj3ggvr9d] {
    background: none;
    border: none;
    color: inherit;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.roles-list[b-jpj3ggvr9d] {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    border-top: 1px solid var(--border-subtle);
}

    .roles-list li[b-jpj3ggvr9d] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
    }

.name[b-jpj3ggvr9d] {
    flex: 1;
    min-width: 0;
}

.rights[b-jpj3ggvr9d] {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
}

.usage[b-jpj3ggvr9d] {
    font-size: 12px;
    color: var(--text-label);
    white-space: nowrap;
}

.link-button[b-jpj3ggvr9d] {
    background: none;
    border: none;
    padding: 4px 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-heading);
    text-decoration: underline;
    cursor: pointer;
}

.role-form[b-jpj3ggvr9d] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.name-field[b-jpj3ggvr9d] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 320px;
}

    .name-field span[b-jpj3ggvr9d],
    legend[b-jpj3ggvr9d] {
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
    }

    .name-field input[b-jpj3ggvr9d] {
        padding: 9px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

fieldset[b-jpj3ggvr9d] {
    border: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

legend[b-jpj3ggvr9d] {
    width: 100%;
    margin-bottom: 6px;
}

.check[b-jpj3ggvr9d] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.form-actions[b-jpj3ggvr9d] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.hint[b-jpj3ggvr9d] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
    margin: 10px 0 0;
}
/* /Components/RunsheetDayView.razor.rz.scp.css */
.day-view[b-4nt5d46kmm] {
    position: relative;
    margin-bottom: 16px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    font-family: var(--font-sans);
    user-select: none;
}

.hour-line[b-4nt5d46kmm] {
    position: absolute;
    left: 0;
    right: 0;
    border-top: 1px solid var(--border-subtle);
}

.hour-label[b-4nt5d46kmm] {
    position: absolute;
    top: -9px;
    left: 8px;
    padding: 0 4px;
    background: var(--surface-card);
    font-size: 12px;
    color: var(--text-body);
}

.lanes[b-4nt5d46kmm] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 60px;
    right: 8px;
}

.day-block[b-4nt5d46kmm] {
    position: absolute;
    box-sizing: border-box;
    min-height: 18px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 0 8px;
    padding: 2px 8px 6px;
    font-size: 13px;
    line-height: 1.3;
    color: var(--text-heading);
    border-left: 4px solid var(--block-edge);
    background: var(--block-fill);
    margin-left: 2px;
}

    .day-block.editable[b-4nt5d46kmm] {
        cursor: grab;
        touch-action: pan-y;
    }

    .day-block.dragging[b-4nt5d46kmm] {
        cursor: grabbing;
        z-index: 2;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    }

    .day-block:focus-visible[b-4nt5d46kmm] {
        outline: 2px solid var(--text-heading);
        outline-offset: 1px;
        z-index: 2;
    }

.block-time[b-4nt5d46kmm] {
    font-weight: 600;
}

.block-title[b-4nt5d46kmm] {
    font-weight: 600;
}

.block-supplier[b-4nt5d46kmm],
.block-secret[b-4nt5d46kmm] {
    color: var(--text-body);
}

.block-secret[b-4nt5d46kmm] {
    font-style: italic;
}

.move-handle[b-4nt5d46kmm] {
    position: absolute;
    top: 0;
    right: 0;
    padding: 2px 6px;
    font-size: 14px;
    line-height: 1;
    color: var(--block-edge);
    cursor: grab;
    touch-action: none;
}

.resize-handle[b-4nt5d46kmm] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 12px;
    cursor: ns-resize;
    touch-action: none;
}

    .resize-handle[b-4nt5d46kmm]::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 2px;
        width: 24px;
        height: 2px;
        margin-left: -12px;
        background: var(--block-edge);
        opacity: 0.6;
    }

.tone-none[b-4nt5d46kmm] { --block-edge: #8a8a8a; --block-fill: #f0f0f0; }
.tone-0[b-4nt5d46kmm] { --block-edge: #b5577a; --block-fill: #f8e6ed; }
.tone-1[b-4nt5d46kmm] { --block-edge: #4f7cac; --block-fill: #e3ecf6; }
.tone-2[b-4nt5d46kmm] { --block-edge: #5b8c5a; --block-fill: #e4f0e3; }
.tone-3[b-4nt5d46kmm] { --block-edge: #c08a2e; --block-fill: #f8eedb; }
.tone-4[b-4nt5d46kmm] { --block-edge: #7a5ca8; --block-fill: #ece6f5; }
.tone-5[b-4nt5d46kmm] { --block-edge: #2f8f8a; --block-fill: #ddf1f0; }
/* /Components/RunsheetEditor.razor.rz.scp.css */
.runsheet-toolbar[b-9da0sm0f0n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.runsheet-intro[b-9da0sm0f0n] {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.runsheet-edit[b-9da0sm0f0n] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.runsheet-row[b-9da0sm0f0n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    padding: 10px 16px;
}

    .runsheet-row input[b-9da0sm0f0n],
    .runsheet-row select[b-9da0sm0f0n],
    .add-row input[b-9da0sm0f0n] {
        box-sizing: border-box;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        min-width: 0;
        border-radius: var(--radius-input);
    }

    .runsheet-row .description[b-9da0sm0f0n] {
        flex: 2 1 220px;
    }

    .runsheet-row .location[b-9da0sm0f0n] {
        flex: 1 1 140px;
    }

    .runsheet-row select[b-9da0sm0f0n] {
        flex: 1 1 160px;
    }

.times[b-9da0sm0f0n] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
}

.supplier-name[b-9da0sm0f0n] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.contact[b-9da0sm0f0n] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

.runsheet-row .contact[b-9da0sm0f0n] {
    flex-basis: 100%;
}

.contact a[b-9da0sm0f0n] {
    color: var(--text-heading);
}

.add-row[b-9da0sm0f0n] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

    .add-row input[type=text][b-9da0sm0f0n] {
        flex: 0 1 320px;
    }

.placeholder[b-9da0sm0f0n] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-muted);
}

.runsheet-view[b-9da0sm0f0n] {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .runsheet-view li[b-9da0sm0f0n] {
        display: flex;
        gap: 16px;
        padding: 12px 16px;
        border-bottom: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-body);
    }

        .runsheet-view li:last-child[b-9da0sm0f0n] {
            border-bottom: none;
        }

    .runsheet-view .when[b-9da0sm0f0n] {
        flex: 0 0 110px;
        font-weight: 500;
        color: var(--text-heading);
        font-variant-numeric: tabular-nums;
    }

    .runsheet-view .what[b-9da0sm0f0n] {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .runsheet-view strong[b-9da0sm0f0n] {
        font-weight: 500;
        color: var(--text-heading);
    }

    .runsheet-view .where[b-9da0sm0f0n] {
        color: var(--text-muted);
    }

@media (max-width: 600px) {
    .runsheet-view li[b-9da0sm0f0n] {
        flex-direction: column;
        gap: 4px;
    }

    .runsheet-view .when[b-9da0sm0f0n] {
        flex-basis: auto;
    }
}

.secret-toggle[b-9da0sm0f0n] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    cursor: pointer;
}

    .runsheet-row .secret-toggle input[b-9da0sm0f0n] {
        padding: 0;
    }

.secret-tag[b-9da0sm0f0n] {
    font-size: 12px;
    color: var(--text-muted);
    font-style: italic;
}

.toolbar-buttons[b-9da0sm0f0n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.view-switch[b-9da0sm0f0n] {
    display: inline-flex;
    border: 1px solid var(--text-heading);
}

    .view-switch button[b-9da0sm0f0n] {
        padding: 8px 14px;
        font-family: var(--font-sans);
        font-size: 14px;
        background: transparent;
        color: var(--text-heading);
        border: none;
        cursor: pointer;
    }

        .view-switch button.active[b-9da0sm0f0n] {
            background: var(--text-heading);
            color: var(--color-white);
        }

.day-hint[b-9da0sm0f0n],
.presets-hint[b-9da0sm0f0n] {
    margin: 0 0 10px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

.presets[b-9da0sm0f0n] {
    margin-top: 12px;
    padding: 10px 16px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    font-family: var(--font-sans);
    font-size: 14px;
}

    .presets summary[b-9da0sm0f0n] {
        cursor: pointer;
        font-weight: 600;
        color: var(--text-heading);
    }

    .presets[open] summary[b-9da0sm0f0n] {
        margin-bottom: 8px;
    }

.preset-groups[b-9da0sm0f0n] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    margin-bottom: 12px;
}

    .preset-groups fieldset[b-9da0sm0f0n] {
        margin: 0;
        padding: 8px 12px;
        border: 1px solid var(--border-subtle);
    }

    .preset-groups legend[b-9da0sm0f0n] {
        padding: 0 4px;
        font-weight: 600;
        color: var(--text-heading);
    }

.preset[b-9da0sm0f0n] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    padding: 3px 0;
}

    .preset label[b-9da0sm0f0n] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        flex: 1 1 160px;
    }

    .preset input[type=time][b-9da0sm0f0n] {
        padding: 4px 6px;
        font-family: var(--font-sans);
        font-size: 13px;
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-input);
    }

.preset-note[b-9da0sm0f0n] {
    font-size: 12px;
    color: var(--text-muted);
}
/* /Components/SpeechSignupsPanel.razor.rz.scp.css */
.speeches[b-e4x7j5du9j] {
    margin-top: 32px;
}

    .speeches h3[b-e4x7j5du9j] {
        margin: 0 0 4px;
        font-family: var(--font-display);
        font-size: 20px;
        font-weight: 400;
        color: var(--text-heading);
    }

.speeches-intro[b-e4x7j5du9j],
.placeholder[b-e4x7j5du9j] {
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.speech-list[b-e4x7j5du9j] {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.speech-row[b-e4x7j5du9j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    padding: 10px 16px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.speech-what[b-e4x7j5du9j] {
    flex: 1 1 260px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
}

.speech-kind[b-e4x7j5du9j] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.speech-duration[b-e4x7j5du9j],
.speech-planned[b-e4x7j5du9j] {
    font-size: 13px;
    color: var(--text-muted);
}

.speech-description[b-e4x7j5du9j] {
    flex-basis: 100%;
}

.speech-schedule[b-e4x7j5du9j],
.speech-add[b-e4x7j5du9j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

    .speech-schedule input[b-e4x7j5du9j],
    .speech-add input[b-e4x7j5du9j],
    .speech-add select[b-e4x7j5du9j] {
        box-sizing: border-box;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        min-width: 0;
        border-radius: var(--radius-input);
    }

    .speech-add input[type=text][b-e4x7j5du9j] {
        flex: 1 1 180px;
    }

    .speech-add input[type=number][b-e4x7j5du9j] {
        width: 80px;
    }
/* /Components/SupplierBookingDetails.razor.rz.scp.css */
.booking-details[b-j5c4bc6o75] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.fields[b-j5c4bc6o75] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: flex-end;
}

    .fields label[b-j5c4bc6o75],
    .notes[b-j5c4bc6o75] {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

        .fields label > span[b-j5c4bc6o75],
        .notes > span[b-j5c4bc6o75],
        .label[b-j5c4bc6o75] {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: var(--tracking-mid);
            color: var(--text-label);
        }

    .fields .check[b-j5c4bc6o75] {
        flex-direction: row;
        align-items: center;
        gap: 8px;
        padding-bottom: 10px;
    }

        .fields .check > span[b-j5c4bc6o75] {
            font-size: 14px;
            text-transform: none;
            letter-spacing: normal;
            color: var(--text-body);
        }

input.amount-input[b-j5c4bc6o75],
textarea[b-j5c4bc6o75],
select[b-j5c4bc6o75] {
    box-sizing: border-box;
    padding: 8px 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    border-radius: var(--radius-input);
}

input.amount-input[b-j5c4bc6o75] {
    width: 160px;
}

textarea[b-j5c4bc6o75] {
    width: 100%;
    min-height: 70px;
    resize: vertical;
}

.documents ul[b-j5c4bc6o75] {
    list-style: none;
    margin: 6px 0 10px;
    padding: 0;
}

.documents li[b-j5c4bc6o75] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    padding: 6px 0;
    border-bottom: 1px solid var(--border-subtle);
}

.documents a[b-j5c4bc6o75] {
    color: var(--text-heading);
    word-break: break-all;
}

.kind[b-j5c4bc6o75] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    background: var(--surface-badge);
    padding: 2px 8px;
}

.meta[b-j5c4bc6o75],
.hint[b-j5c4bc6o75],
.placeholder[b-j5c4bc6o75] {
    font-size: 13px;
    color: var(--text-muted);
}

.placeholder[b-j5c4bc6o75] {
    margin: 6px 0 10px;
}

.upload[b-j5c4bc6o75] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.file-button[b-j5c4bc6o75] {
    position: relative;
    display: inline-block;
    background: transparent;
    color: var(--text-heading);
    border: 1px solid var(--text-heading);
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    cursor: pointer;
}

    .file-button.busy[b-j5c4bc6o75] {
        opacity: 0.5;
        cursor: progress;
    }

    .file-button[b-j5c4bc6o75]  input[type=file] {
        position: absolute;
        inset: 0;
        opacity: 0;
        cursor: pointer;
    }
/* /Components/TimelinePresetPicker.razor.rz.scp.css */
.presets-hint[b-okapi57z0a] {
    margin: 0 0 10px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

.presets[b-okapi57z0a] {
    margin-top: 12px;
    padding: 10px 16px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    font-family: var(--font-sans);
    font-size: 14px;
}

    .presets summary[b-okapi57z0a] {
        cursor: pointer;
        font-weight: 600;
        color: var(--text-heading);
    }

    .presets[open] summary[b-okapi57z0a] {
        margin-bottom: 8px;
    }

.preset-groups[b-okapi57z0a] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    margin-bottom: 12px;
}

    .preset-groups fieldset[b-okapi57z0a] {
        margin: 0;
        padding: 8px 12px;
        border: 1px solid var(--border-subtle);
    }

    .preset-groups legend[b-okapi57z0a] {
        padding: 0 4px;
        font-weight: 600;
        color: var(--text-heading);
    }

.preset[b-okapi57z0a] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    padding: 3px 0;
}

    .preset label[b-okapi57z0a] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        flex: 1 1 160px;
    }

    .preset input[type=time][b-okapi57z0a] {
        padding: 4px 6px;
        font-family: var(--font-sans);
        font-size: 13px;
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-input);
    }

.preset-note[b-okapi57z0a] {
    font-size: 12px;
    color: var(--text-muted);
}

.preset-actions[b-okapi57z0a] {
    display: flex;
    gap: 16px;
    margin-bottom: 10px;
}

.link-button[b-okapi57z0a] {
    padding: 0;
    border: none;
    background: none;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    text-decoration: underline;
    cursor: pointer;
}

.presets > .btn-primary[b-okapi57z0a] {
    margin-top: 4px;
}

/* /Components/VowsEditor.razor.rz.scp.css */
.vows[b-18u0gif2ab] {
    font-family: var(--font-sans);
}

.hint[b-18u0gif2ab],
.placeholder[b-18u0gif2ab] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 0 0 16px;
}

.vows-print[b-18u0gif2ab] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

h3[b-18u0gif2ab] {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 500;
    color: var(--text-heading);
    margin: 0 0 10px;
}

textarea[b-18u0gif2ab] {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 12px;
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    resize: vertical;
    border-radius: var(--radius-input);
}

.vow-text[b-18u0gif2ab] {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-body);
    white-space: pre-line;
    margin: 0;
}

.print-only[b-18u0gif2ab] {
    display: none;
}

.actions[b-18u0gif2ab] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 18px;
}

.saved[b-18u0gif2ab] {
    font-size: 13px;
    color: var(--text-label);
}

/* Printen: alleen de geloftes, elke gelofte op een eigen pagina, groot genoeg om
   voor te lezen. De rest van de pagina verbergt app.css. */
@media print {
    .vows-print[b-18u0gif2ab] {
        display: block;
    }

    .vow + .vow[b-18u0gif2ab] {
        break-before: page;
    }

    h3[b-18u0gif2ab] {
        font-size: 24px;
        margin-bottom: 18px;
    }

    textarea[b-18u0gif2ab],
    .actions[b-18u0gif2ab],
    .hint[b-18u0gif2ab] {
        display: none;
    }

    .print-only[b-18u0gif2ab] {
        display: block;
    }

    .vow-text[b-18u0gif2ab] {
        font-size: 18px;
        line-height: 1.7;
        color: #000;
    }
}
/* /Components/WishlistEditor.razor.rz.scp.css */
.wishlist[b-3kjso7lgnt] {
    font-family: var(--font-sans);
}

.hint[b-3kjso7lgnt],
.placeholder[b-3kjso7lgnt] {
    font-size: 13px;
    color: var(--text-muted);
    margin: 0 0 16px;
}

.wishes[b-3kjso7lgnt] {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wish[b-3kjso7lgnt] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    background: var(--surface-card-alt);
    border: 1px solid var(--border-subtle);
}

.wish-row[b-3kjso7lgnt] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

input[type="text"][b-3kjso7lgnt],
input[type="url"][b-3kjso7lgnt],
select[b-3kjso7lgnt] {
    box-sizing: border-box;
    min-width: 0;
    padding: 8px 10px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    border-radius: var(--radius-input);
}

input.title[b-3kjso7lgnt] {
    flex: 2 1 220px;
}

input.amount-input[b-3kjso7lgnt] {
    flex: 0 1 140px;
}

input.link[b-3kjso7lgnt],
input.description[b-3kjso7lgnt] {
    flex: 1 1 220px;
}

.wish-view[b-3kjso7lgnt] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    font-size: 15px;
    color: var(--text-heading);
}

    .wish-view .kind[b-3kjso7lgnt],
    .wish-view .price[b-3kjso7lgnt] {
        font-size: 13px;
        color: var(--text-label);
    }

    .wish-view .description[b-3kjso7lgnt] {
        flex-basis: 100%;
        margin: 0;
        font-size: 14px;
        color: var(--text-body);
    }

.wish-view a[b-3kjso7lgnt] {
    font-size: 13px;
    color: var(--accent-primary);
}

.reservations[b-3kjso7lgnt] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    font-size: 13px;
    color: var(--text-label);
}

    .reservations .status[b-3kjso7lgnt] {
        font-weight: 600;
        color: var(--text-heading);
    }

        .reservations .status.free[b-3kjso7lgnt] {
            font-weight: 400;
            color: var(--text-muted);
        }

.remove-reservation[b-3kjso7lgnt] {
    border: none;
    background: none;
    cursor: pointer;
    color: var(--text-muted);
}

.remove-reservation[b-3kjso7lgnt] {
    font-family: var(--font-sans);
    font-size: 12px;
    text-decoration: underline;
}

.add-row[b-3kjso7lgnt] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

    .add-row input:first-child[b-3kjso7lgnt] {
        flex: 2 1 220px;
    }
/* /Components/WritingHelp.razor.rz.scp.css */
.writing-help[b-n9urdehzaf] {
    margin: 10px 0 0;
    padding: 10px 14px;
    border: 1px dashed var(--border-subtle);
    border-radius: var(--radius-field);
    background: var(--surface-card-alt);
    font-family: var(--font-sans);
}

.writing-help summary[b-n9urdehzaf] {
    cursor: pointer;
    font-weight: 600;
    color: var(--text-heading);
    min-height: var(--tap-min);
    display: flex;
    align-items: center;
}

label[b-n9urdehzaf] {
    display: block;
    margin: 8px 0;
}

label span[b-n9urdehzaf] {
    display: block;
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 4px;
}

textarea[b-n9urdehzaf] {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 12px;
    font-family: var(--font-sans);
    font-size: 15px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
    background: var(--color-white);
    resize: vertical;
}

.hint[b-n9urdehzaf],
.remaining[b-n9urdehzaf] {
    font-size: 13px;
    color: var(--text-muted);
}

.actions[b-n9urdehzaf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 8px 0;
}

.error[b-n9urdehzaf] {
    color: var(--color-danger);
    font-size: 14px;
}

.suggestion[b-n9urdehzaf] {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: var(--radius-field);
    background: var(--color-white);
    border: 1px solid var(--border-subtle);
}

.suggestion-text[b-n9urdehzaf] {
    white-space: pre-wrap;
    line-height: 1.6;
    margin: 0 0 8px;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-4zfcuarfw5] {
    display: flex;
    height: 100vh;
}

.sidebar[b-4zfcuarfw5] {
    width: 240px;
    flex-shrink: 0;
    background: var(--surface-nav);
    overflow-y: auto;
}

main[b-4zfcuarfw5] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    background: var(--surface-page);
}

.content[b-4zfcuarfw5] {
    max-width: 1280px;
    padding: 48px 56px 80px;
}

/* Telefoon (#182): het menu wordt een balk bovenin en de pagina scrolt als geheel. */
@media (max-width: 768px) {
    .page[b-4zfcuarfw5] {
        flex-direction: column;
        height: auto;
        min-height: 100vh;
    }

    .sidebar[b-4zfcuarfw5] {
        width: auto;
        position: sticky;
        top: 0;
        z-index: 10;
        overflow-y: visible;
    }

    main[b-4zfcuarfw5] {
        overflow-y: visible;
    }

    .content[b-4zfcuarfw5] {
        padding: 24px 16px 64px;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.nav-menu[b-68q51olele] {
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    padding: 36px 20px 24px;
}

.nav-top[b-68q51olele] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand[b-68q51olele] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 0 8px;
    margin-bottom: 32px;
    text-align: center;
    text-decoration: none;
}

/* The global outline uses currentColor, which here matches the sidebar background. */
.brand:focus-visible[b-68q51olele],
.menu-toggle:focus-visible[b-68q51olele] {
    outline-color: var(--text-on-nav);
}

.heart[b-68q51olele] {
    width: 40px;
    height: auto;
}

.wordmark[b-68q51olele] {
    font-family: var(--font-display);
    font-size: 21px;
    font-style: italic;
    color: var(--text-on-nav);
}

.rule[b-68q51olele] {
    width: 60px;
    height: 1px;
    background: var(--text-on-nav-soft);
    opacity: 0.6;
}

.subtitle[b-68q51olele] {
    font-family: var(--font-sans);
    font-size: 8.5px;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    white-space: nowrap;
    color: var(--text-on-nav-soft);
}

.menu-toggle[b-68q51olele] {
    display: none;
}

.nav-list[b-68q51olele] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

    .nav-list[b-68q51olele]  a {
        display: flex;
        align-items: center;
        min-height: var(--tap-min);
        padding: 0 18px;
        border-radius: var(--radius-pill);
        font-family: var(--font-sans);
        font-size: 15px;
        color: var(--text-on-nav);
        text-decoration: none;
        background: transparent;
    }

    .nav-list[b-68q51olele]  a.active {
        background: var(--surface-page);
        color: var(--text-heading);
        font-weight: 500;
    }

    .nav-list[b-68q51olele]  a:hover:not(.active) {
        background: rgba(255, 255, 255, 0.15);
    }

.footer[b-68q51olele] {
    margin-top: auto;
    padding: 16px 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.planner-name[b-68q51olele] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-on-nav);
}

.business-name[b-68q51olele] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-on-nav-soft);
}

.logout-link[b-68q51olele] {
    display: flex;
    align-items: center;
    min-height: var(--tap-min);
    margin-top: 4px;
    padding: 0;
    background: none;
    border: none;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-on-nav-soft);
    cursor: pointer;
}

    .logout-link:hover[b-68q51olele] {
        color: var(--text-on-nav);
    }

/* Telefoon (#182): een balk bovenin met het merk en een menuknop; de lijst klapt open. */
@media (max-width: 768px) {
    .nav-menu[b-68q51olele] {
        height: auto;
        padding: 10px 16px;
    }

    .nav-top[b-68q51olele] {
        justify-content: space-between;
    }

    .brand[b-68q51olele] {
        flex-direction: row;
        gap: 10px;
        margin: 0;
        padding: 0;
    }

    .heart[b-68q51olele] {
        width: 28px;
    }

    .wordmark[b-68q51olele] {
        font-size: 18px;
    }

    .rule[b-68q51olele],
    .subtitle[b-68q51olele] {
        display: none;
    }

    .menu-toggle[b-68q51olele] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--tap-min);
        height: var(--tap-min);
        padding: 0;
        border: none;
        border-radius: var(--radius-pill);
        background: rgba(255, 255, 255, 0.15);
        color: var(--text-on-nav);
        cursor: pointer;
    }

        .menu-toggle svg[b-68q51olele] {
            width: 18px;
            height: 18px;
        }

    .nav-list[b-68q51olele],
    .footer[b-68q51olele] {
        display: none;
    }

    .nav-menu.open .nav-list[b-68q51olele] {
        display: flex;
        margin-top: 12px;
    }

    .nav-menu.open .footer[b-68q51olele] {
        display: block;
        margin-top: 12px;
        padding-bottom: 8px;
    }
}
/* /Layout/PortalLayout.razor.rz.scp.css */
.portal[b-bg3o6lufp8] {
    min-height: 100vh;
    background: var(--surface-page);
}

.portal-header[b-bg3o6lufp8] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--border-subtle);
    background: var(--surface-card);
}

.portal-brand[b-bg3o6lufp8] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-right: auto;
    text-decoration: none;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent-sage);
}

    .portal-brand img[b-bg3o6lufp8] {
        width: 28px;
        height: auto;
    }

.portal-user[b-bg3o6lufp8] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.portal-account[b-bg3o6lufp8] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--accent-primary);
}

.portal-logout[b-bg3o6lufp8] {
    background: none;
    border: 1.5px solid var(--accent-primary);
    border-radius: var(--radius-pill);
    padding: 0 18px;
    min-height: var(--tap-min);
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    cursor: pointer;
}

.portal-main[b-bg3o6lufp8] {
    max-width: 960px;
    margin: 0 auto;
    padding: 32px 16px 64px;
}

.portal-brand img.planner-logo[b-bg3o6lufp8] {
    width: auto;
    max-width: 180px;
    max-height: 48px;
    object-fit: contain;
}

.planner-brand span[b-bg3o6lufp8] {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--text-heading);
}

.made-with[b-bg3o6lufp8] {
    padding: 0 16px 32px;
    text-align: center;
    font-size: 12px;
    color: var(--text-muted);
}

@media (max-width: 768px) {
    .portal-header[b-bg3o6lufp8] {
        flex-wrap: wrap;
        gap: 8px 12px;
        padding: 12px 16px;
    }

    .portal-user[b-bg3o6lufp8] {
        display: none;
    }
}
/* /Pages/Beheer.razor.rz.scp.css */
.header-row[b-inlnw0v4nz] {
    margin-bottom: 32px;
}

h1[b-inlnw0v4nz] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0;
}

.subtitle[b-inlnw0v4nz],
.placeholder[b-inlnw0v4nz],
.error[b-inlnw0v4nz] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
    margin: 6px 0 0;
}

.error[b-inlnw0v4nz] {
    color: var(--text-label);
}

.stat-grid[b-inlnw0v4nz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 20px;
    margin-bottom: 36px;
}

.stat-card[b-inlnw0v4nz] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 22px 20px;
}

.stat-label[b-inlnw0v4nz] {
    font-family: var(--font-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.stat-value[b-inlnw0v4nz] {
    font-family: var(--font-display);
    font-size: 32px;
    color: var(--text-heading);
    margin-top: 8px;
}

.accounts[b-inlnw0v4nz] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface-card);
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .accounts th[b-inlnw0v4nz] {
        text-align: left;
        font-size: 11px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
        padding: 12px 16px;
        border-bottom: 1px solid var(--border-subtle);
    }

    .accounts td[b-inlnw0v4nz] {
        padding: 12px 16px;
        border-bottom: 1px solid var(--border-subtle);
        vertical-align: top;
    }

.account-toggle[b-inlnw0v4nz] {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: var(--text-heading);
    text-decoration: underline;
    cursor: pointer;
    text-align: left;
}

.muted[b-inlnw0v4nz] {
    color: var(--text-muted);
    font-size: 12px;
}

.detail-row td[b-inlnw0v4nz] {
    background: var(--surface-card-alt);
}

.client-list[b-inlnw0v4nz] {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .client-list li[b-inlnw0v4nz] {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 6px 0;
    }

/* Nieuwe opmaak (#182): de tabel als ronde kaart. Geen overflow: hidden, want sommige
   cellen openen een klein venster (allergieën, contact) dat erbuiten valt. */
.accounts th[b-inlnw0v4nz] {
    border-bottom: 1px solid var(--border-subtle);
}

.accounts tr:first-child th:first-child[b-inlnw0v4nz] {
    border-top-left-radius: var(--radius-card);
}

.accounts tr:first-child th:last-child[b-inlnw0v4nz] {
    border-top-right-radius: var(--radius-card);
}

@media (max-width: 768px) {
    /* Op de telefoon scrolt een brede tabel binnen zijn eigen vak; de pagina zelf schuift nooit opzij. */
    .accounts[b-inlnw0v4nz] {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}
/* /Pages/ClientDetail.razor.rz.scp.css */
.back-link[b-wm6dsk82un] {
    display: inline-block;
    margin-bottom: 20px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    text-decoration: none;
}

    .back-link:hover[b-wm6dsk82un] {
        color: var(--accent-primary);
    }

.header-row[b-wm6dsk82un] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.error[b-wm6dsk82un] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: 0 0 16px;
}

.dismiss-error[b-wm6dsk82un] {
    background: none;
    border: none;
    color: inherit;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

h1[b-wm6dsk82un] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0;
}

.badge[b-wm6dsk82un] {
    display: inline-block;
    padding: 4px 10px;
    font-family: var(--font-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    border-radius: 999px;
    border: none;
}

button.badge[b-wm6dsk82un] {
    cursor: pointer;
}

.badge-sage[b-wm6dsk82un] {
    background: var(--color-sage);
    color: var(--color-white);
}

.badge-sand[b-wm6dsk82un] {
    background: var(--color-sand);
    color: var(--text-heading);
}

.badge-gold[b-wm6dsk82un] {
    background: var(--surface-badge);
    color: var(--text-heading);
}

.badge-mauve[b-wm6dsk82un] {
    background: var(--color-blush);
    color: var(--text-heading);
}

.info-bar[b-wm6dsk82un] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 20px;
    margin-bottom: 32px;
}

    .info-bar label[b-wm6dsk82un] {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

        .info-bar label span[b-wm6dsk82un] {
            font-family: var(--font-sans);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: var(--tracking-mid);
            color: var(--text-label);
        }

        .info-bar label input[b-wm6dsk82un],
        .info-bar label select[b-wm6dsk82un] {
            width: 100%;
            min-width: 0;
            box-sizing: border-box;
            padding: 8px 10px;
            font-family: var(--font-sans);
            font-size: 14px;
            color: var(--text-heading);
            border: 1px solid var(--border-subtle);
            background: var(--color-white);
            border-radius: var(--radius-input);
        }

.tab-bar[b-wm6dsk82un] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}

.tab[b-wm6dsk82un] {
    display: inline-flex;
    align-items: center;
    min-height: var(--tap-min);
    padding: 0 18px;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-pill);
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-body);
    cursor: pointer;
}

    .tab:hover:not(.active)[b-wm6dsk82un] {
        background: var(--surface-card-alt);
    }

    .tab.active[b-wm6dsk82un] {
        color: var(--text-on-accent);
        background: var(--accent-primary);
        border-color: var(--accent-primary);
        font-weight: 500;
    }

/* Telefoon (#182): de tabs op één regel die opzij scrolt, binnen hun eigen vak. */
@media (max-width: 768px) {
    .tab-bar[b-wm6dsk82un] {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .tab[b-wm6dsk82un] {
        flex-shrink: 0;
    }
}

.stat-grid[b-wm6dsk82un] {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.stat-card[b-wm6dsk82un] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 20px 22px;
    min-width: 200px;
}

.stat-label[b-wm6dsk82un] {
    font-family: var(--font-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.stat-value[b-wm6dsk82un] {
    font-family: var(--font-display);
    font-size: 32px;
    color: var(--text-heading);
    margin-top: 4px;
}

.progress-track[b-wm6dsk82un] {
    margin-top: 12px;
    height: 6px;
    background: var(--color-sand);
}

.progress-fill[b-wm6dsk82un] {
    height: 100%;
    background: var(--accent-sage);
}

    .progress-fill.over[b-wm6dsk82un] {
        background: var(--accent-primary);
    }

.placeholder[b-wm6dsk82un] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-muted);
}

.budget-summary[b-wm6dsk82un] {
    align-items: stretch;
    margin-bottom: 24px;
}

    .budget-summary .placeholder[b-wm6dsk82un] {
        align-self: center;
    }

.total-budget-input[b-wm6dsk82un] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
    padding: 8px 10px;
    font-family: var(--font-display);
    font-size: 24px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    border-radius: var(--radius-input);
}

.budget-table[b-wm6dsk82un] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface-card);
    margin-bottom: 16px;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .budget-table th[b-wm6dsk82un] {
        background: var(--color-sand);
        text-align: left;
        padding: 12px 16px;
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-heading);
    }

    .budget-table td[b-wm6dsk82un] {
        padding: 8px 16px;
        border-top: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-body);
    }

    .budget-table input[b-wm6dsk82un] {
        width: 100%;
        box-sizing: border-box;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.over-budget[b-wm6dsk82un] {
    color: var(--text-label);
}

.totals-row[b-wm6dsk82un] {
    background: var(--surface-badge);
    font-weight: 600;
}

.rsvp-summary[b-wm6dsk82un] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    margin: 0 0 16px;
}

.guest-table[b-wm6dsk82un] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface-card);
    margin-bottom: 16px;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .guest-table th[b-wm6dsk82un] {
        background: var(--color-sand);
        text-align: left;
        padding: 12px 16px;
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-heading);
    }

    .guest-table td[b-wm6dsk82un] {
        padding: 8px 16px;
        border-top: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-body);
    }

    .guest-table td.center[b-wm6dsk82un] {
        text-align: center;
    }

    .guest-table input[type="text"][b-wm6dsk82un],
    .guest-table select[b-wm6dsk82un] {
        width: 100%;
        min-width: 110px;
        box-sizing: border-box;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.supplier-table[b-wm6dsk82un] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface-card);
    margin-bottom: 16px;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .supplier-table th[b-wm6dsk82un] {
        background: var(--color-sand);
        text-align: left;
        padding: 12px 16px;
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-heading);
    }

    .supplier-table td[b-wm6dsk82un] {
        padding: 12px 16px;
        border-top: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-body);
    }

    /* A booking whose supplier was deleted from the address book (#89). */
    .supplier-table tr.supplier-deleted td[b-wm6dsk82un] {
        background: #fdf0ef;
    }

.deleted-mark[b-wm6dsk82un] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    border-radius: 50%;
    background: #b3261e;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.deleted-note[b-wm6dsk82un] {
    display: block;
    margin: 4px 0 6px;
    font-size: 12px;
    color: #b3261e;
}

.replace-supplier[b-wm6dsk82un] {
    padding: 6px 8px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
}

.add-row[b-wm6dsk82un] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

    .add-row input[b-wm6dsk82un] {
        min-width: 0;
        padding: 10px 12px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

    .add-row input[type=text][b-wm6dsk82un] {
        flex: 0 1 320px;
    }

.add-supplier-row[b-wm6dsk82un] {
    display: flex;
    gap: 10px;
    align-items: center;
}

    .add-supplier-row select[b-wm6dsk82un] {
        padding: 10px 12px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        min-width: 240px;
        border-radius: var(--radius-input);
    }

.theme-label[b-wm6dsk82un] {
    font-family: var(--font-sans);
    font-size: 13px;
    letter-spacing: var(--tracking-mid);
    text-transform: uppercase;
    color: var(--text-label);
    margin: 0 0 14px;
}

.pinterest-row[b-wm6dsk82un] {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 30px;
}

    .pinterest-row input[b-wm6dsk82un] {
        flex: 1;
        max-width: 400px;
        box-sizing: border-box;
        padding: 10px 12px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.pinterest-link[b-wm6dsk82un] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
    white-space: nowrap;
}

.theme-notes[b-wm6dsk82un] {
    display: block;
    width: 100%;
    max-width: 600px;
    min-height: 90px;
    box-sizing: border-box;
    padding: 12px 14px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    margin-bottom: 30px;
}

.inspiration-grid[b-wm6dsk82un] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px;
    max-width: 760px;
    margin-bottom: 20px;
}

.inspiration-tile[b-wm6dsk82un] {
    position: relative;
    aspect-ratio: 1;
    border: 1px solid var(--border-subtle);
    overflow: hidden;
}

    .inspiration-tile img[b-wm6dsk82un] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.remove-image[b-wm6dsk82un] {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(255, 255, 255, 0.85);
    border: none;
    color: var(--text-muted);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 2px 6px;
}

    .remove-image:hover[b-wm6dsk82un] {
        color: var(--text-label);
    }

.add-tile[b-wm6dsk82un] {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed var(--border-strong);
    color: var(--text-muted);
    font-family: var(--font-sans);
    font-size: 11px;
    text-align: center;
    cursor: pointer;
}

    .add-tile input[type="file"][b-wm6dsk82un] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }

.timeline-list[b-wm6dsk82un] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.timeline-row[b-wm6dsk82un] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    padding: 10px 16px;
}

    .timeline-row input[type="text"][b-wm6dsk82un] {
        flex: 1 1 200px;
        box-sizing: border-box;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

    .timeline-row input[type="text"].done[b-wm6dsk82un] {
        color: var(--text-muted);
        text-decoration: line-through;
    }

    .timeline-row input[type="date"][b-wm6dsk82un] {
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.supplier-totals[b-wm6dsk82un] {
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

    .supplier-totals strong[b-wm6dsk82un] {
        font-weight: 500;
        color: var(--text-heading);
    }

.details-toggle[b-wm6dsk82un] {
    background: none;
    border: none;
    padding: 4px 0;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-heading);
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

.booking-details-row td[b-wm6dsk82un] {
    background: var(--surface-card-alt);
}

.day-parts-config[b-wm6dsk82un] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    align-items: center;
    border: none;
    padding: 0;
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

    .day-parts-config legend[b-wm6dsk82un] {
        float: left;
        margin-right: 6px;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
    }

    .day-parts-config label[b-wm6dsk82un] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

.day-part-counts[b-wm6dsk82un] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
}

    .day-part-counts strong[b-wm6dsk82un] {
        font-weight: 500;
        color: var(--text-heading);
    }

.guest-table td.guest-day-parts[b-wm6dsk82un] {
    white-space: nowrap;
}

    .guest-table td.guest-day-parts label[b-wm6dsk82un] {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        margin-right: 8px;
        font-size: 12px;
        color: var(--text-muted);
    }

.menu-counts[b-wm6dsk82un] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: -8px 0 16px;
}

    .menu-counts strong[b-wm6dsk82un] {
        font-weight: 500;
        color: var(--text-heading);
    }

.guest-table .muted[b-wm6dsk82un] {
    color: var(--text-muted);
}

.secret-toggle[b-wm6dsk82un] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    cursor: pointer;
}

/* Household header row (issue #153). */
.guest-table tr.household-row td[b-wm6dsk82un] {
    background: var(--surface-card-alt);
    display: table-cell;
}

    .guest-table tr.household-row input[type="text"][b-wm6dsk82un] {
        width: auto;
        min-width: 220px;
        font-weight: 600;
        margin-right: 16px;
    }

    .guest-table tr.household-row label[b-wm6dsk82un] {
        font-size: 13px;
        white-space: nowrap;
    }

.empty-state[b-wm6dsk82un] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-muted);
    margin: 0 0 12px;
}

.guest-table th.select[b-wm6dsk82un],
.guest-table td.select[b-wm6dsk82un] {
    width: 1%;
    padding-right: 0;
}

/* Nieuwe opmaak (#182): de tabel als ronde kaart. Geen overflow: hidden, want sommige
   cellen openen een klein venster (allergieën, contact) dat erbuiten valt. */
.budget-table th[b-wm6dsk82un],
.guest-table th[b-wm6dsk82un],
.supplier-table th[b-wm6dsk82un] {
    border-bottom: 1px solid var(--border-subtle);
}

.budget-table tr:first-child th:first-child[b-wm6dsk82un],
.guest-table tr:first-child th:first-child[b-wm6dsk82un],
.supplier-table tr:first-child th:first-child[b-wm6dsk82un] {
    border-top-left-radius: var(--radius-card);
}

.budget-table tr:first-child th:last-child[b-wm6dsk82un],
.guest-table tr:first-child th:last-child[b-wm6dsk82un],
.supplier-table tr:first-child th:last-child[b-wm6dsk82un] {
    border-top-right-radius: var(--radius-card);
}

@media (max-width: 768px) {
    /* Op de telefoon wordt elke rij een kaartje onder elkaar. */
    .budget-table[b-wm6dsk82un],
    .guest-table[b-wm6dsk82un],
    .supplier-table[b-wm6dsk82un],
    .budget-table tbody[b-wm6dsk82un],
    .guest-table tbody[b-wm6dsk82un],
    .supplier-table tbody[b-wm6dsk82un],
    .budget-table tfoot[b-wm6dsk82un],
    .guest-table tfoot[b-wm6dsk82un],
    .supplier-table tfoot[b-wm6dsk82un],
    .budget-table tr[b-wm6dsk82un],
    .guest-table tr[b-wm6dsk82un],
    .supplier-table tr[b-wm6dsk82un],
    .budget-table td[b-wm6dsk82un],
    .guest-table td[b-wm6dsk82un],
    .supplier-table td[b-wm6dsk82un] {
        display: block;
        width: auto;
    }

    .budget-table[b-wm6dsk82un],
    .guest-table[b-wm6dsk82un],
    .supplier-table[b-wm6dsk82un] {
        background: transparent;
        box-shadow: none;
    }

    .budget-table thead[b-wm6dsk82un],
    .guest-table thead[b-wm6dsk82un],
    .supplier-table thead[b-wm6dsk82un] {
        display: block;
    }

    .budget-table thead tr[b-wm6dsk82un],
    .guest-table thead tr[b-wm6dsk82un],
    .supplier-table thead tr[b-wm6dsk82un] {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        background: transparent;
    }

    .budget-table thead th[b-wm6dsk82un],
    .guest-table thead th[b-wm6dsk82un],
    .supplier-table thead th[b-wm6dsk82un] {
        display: none;
    }

    .budget-table thead th.select[b-wm6dsk82un],
    .guest-table thead th.select[b-wm6dsk82un],
    .supplier-table thead th.select[b-wm6dsk82un] {
        display: block;
        padding: 0 16px 8px;
        background: transparent;
    }

    .budget-table tbody tr[b-wm6dsk82un],
    .guest-table tbody tr[b-wm6dsk82un],
    .supplier-table tbody tr[b-wm6dsk82un],
    .budget-table tfoot tr[b-wm6dsk82un],
    .guest-table tfoot tr[b-wm6dsk82un],
    .supplier-table tfoot tr[b-wm6dsk82un] {
        margin-bottom: 12px;
        padding: 12px 16px;
        background: var(--surface-card);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
    }

    .budget-table td[b-wm6dsk82un],
    .guest-table td[b-wm6dsk82un],
    .supplier-table td[b-wm6dsk82un] {
        padding: 4px 0;
        border: none;
    }
}
/* /Pages/Dashboard.razor.rz.scp.css */
.error[b-836t60pro4] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
}

.placeholder[b-836t60pro4] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-muted);
}

.stat-card[b-836t60pro4] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 22px 20px;
}

.badge[b-836t60pro4] {
    display: inline-block;
    padding: 4px 10px;
    font-family: var(--font-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    border-radius: 999px;
}

.badge-sage[b-836t60pro4] {
    background: var(--color-sage);
    color: var(--color-white);
}

.badge-sand[b-836t60pro4] {
    background: var(--color-sand);
    color: var(--text-heading);
}

.badge-gold[b-836t60pro4] {
    background: var(--surface-badge);
    color: var(--text-heading);
}

.task-text[b-836t60pro4] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
}

.task-client[b-836t60pro4] {
    color: var(--text-muted);
    font-size: 13px;
}

.task-due[b-836t60pro4] {
    font-family: var(--font-sans);
    font-size: 12px;
    color: var(--text-muted);
}

h2[b-836t60pro4] {
    margin: 0 0 18px;
    font-size: var(--heading-2-size);
}

.stat-grid[b-836t60pro4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
}

.stat-label[b-836t60pro4] {
    font-family: var(--font-sans);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.stat-value[b-836t60pro4] {
    font-family: var(--font-display);
    font-size: 40px;
    color: var(--text-heading);
    margin-top: 6px;
}

.wedding-list[b-836t60pro4] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}

.wedding-row[b-836t60pro4] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--surface-card);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    color: inherit;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

    .wedding-row:hover[b-836t60pro4] {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(58, 57, 54, 0.1);
    }

.palette-strip[b-836t60pro4] {
    display: flex;
    height: 10px;
}

    .palette-strip span[b-836t60pro4] {
        flex: 1;
    }

.wedding-body[b-836t60pro4] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px 22px;
}

.wedding-title[b-836t60pro4] {
    font-family: var(--font-display);
    font-size: 22px;
    color: var(--text-heading);
}

.wedding-meta[b-836t60pro4] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-body);
}

.wedding-right[b-836t60pro4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
}

.wedding-days[b-836t60pro4] {
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: var(--surface-page);
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--accent-primary);
}

.task-list[b-836t60pro4] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.task-row[b-836t60pro4] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    background: var(--surface-card);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 16px 20px;
}
/* /Pages/GastPagina.razor.rz.scp.css */
.guest-card[b-wcuzd7l7nj] {
    max-width: 560px;
}

.eyebrow[b-wcuzd7l7nj] {
    font-family: var(--font-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
    margin: 0 0 6px;
}

.when[b-wcuzd7l7nj] {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-body);
    margin: 6px 0 20px;
}

.when[b-wcuzd7l7nj]::first-letter {
    text-transform: uppercase;
}

h2[b-wcuzd7l7nj] {
    font-family: var(--font-display);
    font-size: var(--heading-2-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 28px 0 12px;
}

.text-block[b-wcuzd7l7nj] {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-body);
    white-space: pre-line;
    margin: 0 0 12px;
}

.choice[b-wcuzd7l7nj] {
    border: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
}

    .choice label[b-wcuzd7l7nj] {
        display: flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
    }

textarea[b-wcuzd7l7nj] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
    background: var(--color-white);
    border: 1px solid var(--text-label);
    resize: vertical;
    border-radius: var(--radius-input);
}

.saved[b-wcuzd7l7nj] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    background: var(--surface-card-alt);
    border: 1px solid var(--border-subtle);
    padding: 12px 16px;
    margin: 0;
}

.visually-hidden[b-wcuzd7l7nj] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.choice.day-parts legend[b-wcuzd7l7nj],
.choice.menu legend[b-wcuzd7l7nj],
.choice.allergies legend[b-wcuzd7l7nj] {
    width: 100%;
    margin-bottom: 4px;
    font-size: 13px;
    color: var(--text-label);
}

.choice.menu[b-wcuzd7l7nj],
.choice.allergies[b-wcuzd7l7nj] {
    margin-bottom: 16px;
}

.choice.allergies[b-wcuzd7l7nj] {
    gap: 8px 18px;
    font-size: 14px;
}

/* One block per household member (issue #153); with a single member there's no frame. */
fieldset.member[b-wcuzd7l7nj] {
    border: 1px solid var(--border-subtle);
    background: var(--surface-card-alt);
    margin: 0 0 16px;
    padding: 12px 16px 4px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    fieldset.member legend[b-wcuzd7l7nj] {
        font-family: var(--font-display);
        font-size: 18px;
        color: var(--text-heading);
        padding: 0 6px;
    }

    fieldset.member.single[b-wcuzd7l7nj] {
        border: none;
        background: none;
        padding: 0;
    }

.livestream-frame[b-wcuzd7l7nj] {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 12px;
    background: #000;
}

    .livestream-frame iframe[b-wcuzd7l7nj] {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }

.livestream-link[b-wcuzd7l7nj] {
    font-family: var(--font-sans);
    font-weight: 600;
    color: var(--accent-primary);
}

/* De huisstijl van de weddingplanner (issue #139). */
.planner-logo[b-wcuzd7l7nj] {
    max-width: 220px;
    max-height: 80px;
    object-fit: contain;
}

.planner-name[b-wcuzd7l7nj] {
    font-family: var(--font-display);
    font-size: 26px;
    color: var(--text-heading);
}

.made-with[b-wcuzd7l7nj] {
    margin: 0;
    font-size: 12px;
    color: var(--text-muted);
}
/* /Pages/Instellingen.razor.rz.scp.css */
h1[b-cles3iluaz] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0;
}

.settings-card[b-cles3iluaz] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 460px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 28px;
}

    .settings-card label[b-cles3iluaz] {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .settings-card label span[b-cles3iluaz] {
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
    }

    .settings-card input[type="text"][b-cles3iluaz],
    .settings-card input[type="email"][b-cles3iluaz] {
        box-sizing: border-box;
        padding: 10px 12px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.checkbox-row[b-cles3iluaz] {
    flex-direction: row !important;
    align-items: center;
    gap: 10px !important;
}

    .checkbox-row span[b-cles3iluaz] {
        text-transform: none;
        letter-spacing: normal;
        font-size: 14px;
        color: var(--text-body);
    }

.error[b-cles3iluaz] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: 0;
}
/* /Pages/Intake.razor.rz.scp.css */
.intake-card[b-8vunisdrmm] {
    max-width: 600px;
}

.eyebrow[b-8vunisdrmm] {
    font-family: var(--font-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
    margin: 0 0 6px;
}

.pair[b-8vunisdrmm] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.choice[b-8vunisdrmm] {
    border: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-heading);
}

    .choice legend[b-8vunisdrmm] {
        width: 100%;
        margin-bottom: 8px;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
    }

    .choice label[b-8vunisdrmm] {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: var(--tap-min);
        cursor: pointer;
    }

textarea[b-8vunisdrmm] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    font-family: var(--font-sans);
    font-size: 16px;
    color: var(--text-heading);
    background: var(--color-white);
    border: 1px solid var(--text-label);
    resize: vertical;
    border-radius: var(--radius-input);
}

.planner-logo[b-8vunisdrmm] {
    max-width: 220px;
    max-height: 80px;
    object-fit: contain;
}

.planner-name[b-8vunisdrmm] {
    font-family: var(--font-display);
    font-size: 26px;
    color: var(--text-heading);
}

.made-with[b-8vunisdrmm] {
    margin: 0;
    font-size: 12px;
    color: var(--text-muted);
}
/* /Pages/Klanten.razor.rz.scp.css */
.header-row[b-c2wsk9aq0t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}

h1[b-c2wsk9aq0t] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0;
}

.subtitle[b-c2wsk9aq0t] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
    margin: 4px 0 0;
}

.search[b-c2wsk9aq0t] {
    display: block;
    width: 100%;
    max-width: 340px;
    padding: 10px 12px;
    margin-bottom: 24px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-heading);
    background: var(--color-white);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
}

.clients-table[b-c2wsk9aq0t] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .clients-table th[b-c2wsk9aq0t] {
        background: var(--color-sand);
        text-align: left;
        padding: 12px 16px;
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-heading);
    }

    .clients-table td[b-c2wsk9aq0t] {
        padding: 14px 16px;
        border-top: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-body);
    }

.clickable-row[b-c2wsk9aq0t] {
    cursor: pointer;
}

    .clickable-row:hover td[b-c2wsk9aq0t] {
        background: var(--surface-card-alt);
    }

    .clickable-row:focus-visible[b-c2wsk9aq0t] {
        outline: 2px solid var(--accent-primary);
        outline-offset: -2px;
    }

.muted[b-c2wsk9aq0t] {
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 2px;
}

.empty-state[b-c2wsk9aq0t] {
    text-align: center;
    color: var(--text-muted);
    padding: 24px 16px;
}

.badge[b-c2wsk9aq0t] {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    border-radius: 999px;
}

.badge-sage[b-c2wsk9aq0t] {
    background: var(--color-sage);
    color: var(--color-white);
}

.badge-sand[b-c2wsk9aq0t] {
    background: var(--color-sand);
    color: var(--text-heading);
}

.badge-gold[b-c2wsk9aq0t] {
    background: var(--surface-badge);
    color: var(--text-heading);
}

/* Nieuwe opmaak (#182): de tabel als ronde kaart. Geen overflow: hidden, want sommige
   cellen openen een klein venster (allergieën, contact) dat erbuiten valt. */
.clients-table th[b-c2wsk9aq0t] {
    border-bottom: 1px solid var(--border-subtle);
}

.clients-table tr:first-child th:first-child[b-c2wsk9aq0t] {
    border-top-left-radius: var(--radius-card);
}

.clients-table tr:first-child th:last-child[b-c2wsk9aq0t] {
    border-top-right-radius: var(--radius-card);
}

@media (max-width: 768px) {
    /* Op de telefoon scrolt een brede tabel binnen zijn eigen vak; de pagina zelf schuift nooit opzij. */
    .clients-table[b-c2wsk9aq0t] {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}
/* /Pages/Landing.razor.rz.scp.css */
.landing a[b-i2c42npdz3] {
    color: #3F5A48;
}

    .landing a:hover[b-i2c42npdz3] {
        color: #56625E;
    }
/* /Pages/Leveranciers.razor.rz.scp.css */
.error[b-bs0skjkrk0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: 0 0 16px;
}

.dismiss-error[b-bs0skjkrk0] {
    background: none;
    border: none;
    color: inherit;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.header-row[b-bs0skjkrk0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}

h1[b-bs0skjkrk0] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0;
}

.subtitle[b-bs0skjkrk0] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
    margin: 6px 0 0;
}

.empty-state[b-bs0skjkrk0] {
    text-align: center;
    color: var(--text-muted);
    padding: 24px 16px;
}

.add-row[b-bs0skjkrk0] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

    .add-row input[b-bs0skjkrk0] {
        min-width: 0;
        width: 240px;
        padding: 10px 12px;
        font-family: var(--font-sans);
        font-size: 13px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

.search[b-bs0skjkrk0] {
    display: block;
    width: 100%;
    max-width: 340px;
    padding: 10px 12px;
    margin-bottom: 24px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-heading);
    background: var(--color-white);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-input);
}

.suppliers-table[b-bs0skjkrk0] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .suppliers-table th[b-bs0skjkrk0] {
        background: var(--color-sand);
        text-align: left;
        padding: 12px 16px;
        font-family: var(--font-sans);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-heading);
    }

    .suppliers-table td[b-bs0skjkrk0] {
        padding: 8px 16px;
        border-top: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-body);
    }

    .suppliers-table input[b-bs0skjkrk0],
    .suppliers-table select[b-bs0skjkrk0] {
        width: 100%;
        box-sizing: border-box;
        padding: 8px 10px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        border: 1px solid var(--border-subtle);
        background: var(--color-white);
        border-radius: var(--radius-input);
    }

/* Nieuwe opmaak (#182): de tabel als ronde kaart. Geen overflow: hidden, want sommige
   cellen openen een klein venster (allergieën, contact) dat erbuiten valt. */
.suppliers-table th[b-bs0skjkrk0] {
    border-bottom: 1px solid var(--border-subtle);
}

.suppliers-table tr:first-child th:first-child[b-bs0skjkrk0] {
    border-top-left-radius: var(--radius-card);
}

.suppliers-table tr:first-child th:last-child[b-bs0skjkrk0] {
    border-top-right-radius: var(--radius-card);
}

@media (max-width: 768px) {
    /* Op de telefoon scrolt een brede tabel binnen zijn eigen vak; de pagina zelf schuift nooit opzij. */
    .suppliers-table[b-bs0skjkrk0] {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}
/* /Pages/MijnAccount.razor.rz.scp.css */
.back-link[b-8l301635vq] {
    font-family: var(--font-sans);
    font-size: 14px;
}

h1[b-8l301635vq] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 16px 0 24px;
}

.account-card[b-8l301635vq] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 460px;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 28px;
}
/* /Pages/MijnBruiloft.razor.rz.scp.css */
.eyebrow[b-pk60lbvr1y] {
    margin: 0 0 8px;
    font-family: var(--font-sans);
    font-size: 12px;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--text-label);
}

h1[b-pk60lbvr1y] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0;
}

h2[b-pk60lbvr1y] {
    font-family: var(--font-display);
    font-size: var(--heading-2-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 40px 0 12px;
}

.when[b-pk60lbvr1y],
.placeholder[b-pk60lbvr1y] {
    font-family: var(--font-sans);
    font-size: 15px;
    color: var(--text-body);
    margin: 8px 0 0;
}

.placeholder[b-pk60lbvr1y] {
    color: var(--text-muted);
}

.wedding-picker[b-pk60lbvr1y] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

    .wedding-picker button[b-pk60lbvr1y] {
        background: transparent;
        border: 1px solid var(--border-strong);
        border-radius: 999px;
        padding: 8px 16px;
        min-height: 40px;
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
        cursor: pointer;
    }

        .wedding-picker button.active[b-pk60lbvr1y] {
            background: var(--accent-primary);
            border-color: var(--accent-primary);
            color: var(--color-white);
        }

.stat-grid[b-pk60lbvr1y] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.stat-card[b-pk60lbvr1y] {
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 20px 22px;
}

.stat-label[b-pk60lbvr1y] {
    font-family: var(--font-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-label);
}

.stat-value[b-pk60lbvr1y] {
    font-family: var(--font-display);
    font-size: 32px;
    color: var(--text-heading);
    margin-top: 4px;
}

.stat-sub[b-pk60lbvr1y] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
}

.timeline[b-pk60lbvr1y] {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .timeline li[b-pk60lbvr1y] {
        display: flex;
        gap: 16px;
        align-items: baseline;
        padding: 12px 16px;
        border-bottom: 1px solid var(--border-subtle);
        font-family: var(--font-sans);
        font-size: 14px;
        color: var(--text-heading);
    }

        .timeline li:last-child[b-pk60lbvr1y] {
            border-bottom: none;
        }

        .timeline li.done .task[b-pk60lbvr1y] {
            color: var(--text-muted);
            text-decoration: line-through;
        }

.due[b-pk60lbvr1y] {
    flex: 0 0 96px;
    color: var(--text-label);
}

.task[b-pk60lbvr1y] {
    flex: 1;
    min-width: 0;
}

.state[b-pk60lbvr1y] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: var(--tracking-mid);
    color: var(--text-muted);
}

.guests[b-pk60lbvr1y] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--surface-card);
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

    .guests th[b-pk60lbvr1y] {
        text-align: left;
        font-size: 11px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: var(--tracking-mid);
        color: var(--text-label);
        padding: 10px 16px;
        border-bottom: 1px solid var(--border-subtle);
    }

    .guests td[b-pk60lbvr1y] {
        padding: 10px 16px;
        border-bottom: 1px solid var(--border-subtle);
    }

.error[b-pk60lbvr1y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-label);
    margin: 16px 0 0;
}

.dismiss-error[b-pk60lbvr1y] {
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
}

.timeline.editable li[b-pk60lbvr1y] {
    align-items: center;
    flex-wrap: wrap;
}

.timeline.editable input[type=text][b-pk60lbvr1y],
.timeline.editable input[type=date][b-pk60lbvr1y],
.guests input[type=text][b-pk60lbvr1y],
.guests select[b-pk60lbvr1y],
.add-row input[b-pk60lbvr1y] {
    min-width: 0;
    padding: 6px 8px;
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-heading);
    border: 1px solid var(--border-subtle);
    background: var(--color-white);
    border-radius: var(--radius-input);
}

.task-input[b-pk60lbvr1y] {
    flex: 1 1 200px;
}

.guests input[type=text][b-pk60lbvr1y] {
    width: 100%;
    box-sizing: border-box;
}

.add-row[b-pk60lbvr1y] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

    .add-row input[type=text][b-pk60lbvr1y] {
        flex: 1 1 220px;
    }

.visually-hidden[b-pk60lbvr1y] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.secret-toggle[b-pk60lbvr1y] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    cursor: pointer;
}

/* Nieuwe opmaak (#182): de tabel als ronde kaart. Geen overflow: hidden, want sommige
   cellen openen een klein venster (allergieën, contact) dat erbuiten valt. */
.guests th[b-pk60lbvr1y] {
    border-bottom: 1px solid var(--border-subtle);
}

.guests tr:first-child th:first-child[b-pk60lbvr1y] {
    border-top-left-radius: var(--radius-card);
}

.guests tr:first-child th:last-child[b-pk60lbvr1y] {
    border-top-right-radius: var(--radius-card);
}

@media (max-width: 768px) {
    /* Op de telefoon wordt elke rij een kaartje onder elkaar. */
    .guests[b-pk60lbvr1y],
    .guests tbody[b-pk60lbvr1y],
    .guests tfoot[b-pk60lbvr1y],
    .guests tr[b-pk60lbvr1y],
    .guests td[b-pk60lbvr1y] {
        display: block;
        width: auto;
    }

    .guests[b-pk60lbvr1y] {
        background: transparent;
        box-shadow: none;
    }

    .guests thead[b-pk60lbvr1y] {
        display: block;
    }

    .guests thead tr[b-pk60lbvr1y] {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        background: transparent;
    }

    .guests thead th[b-pk60lbvr1y] {
        display: none;
    }

    .guests thead th.select[b-pk60lbvr1y] {
        display: block;
        border-radius: var(--radius-pill);
    }

    .guests tbody tr[b-pk60lbvr1y],
    .guests tfoot tr[b-pk60lbvr1y] {
        margin-bottom: 12px;
        padding: 12px 16px;
        background: var(--surface-card);
        border-radius: var(--radius-card);
        box-shadow: var(--shadow-card);
    }

    .guests td[b-pk60lbvr1y] {
        padding: 4px 0;
        border: none;
    }
}

/* Gasten op Mijn bruiloft, net als op de klantpagina: huishoudens, dagdelen, kiezen. */
.guests tr.household-row td[b-pk60lbvr1y] {
    background: var(--surface-card-alt);
    display: table-cell;
}

    .guests tr.household-row input[type="text"][b-pk60lbvr1y] {
        width: auto;
        min-width: 220px;
        font-weight: 600;
        margin-right: 16px;
    }

    .guests tr.household-row label[b-pk60lbvr1y] {
        font-size: 13px;
        white-space: nowrap;
    }

.guests td.guest-day-parts[b-pk60lbvr1y] {
    white-space: nowrap;
}

    .guests td.guest-day-parts label[b-pk60lbvr1y] {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        margin-right: 8px;
        font-size: 12px;
        color: var(--text-muted);
    }

.guests th.select[b-pk60lbvr1y],
.guests td.select[b-pk60lbvr1y] {
    width: 1%;
    padding-right: 0;
}

.guests .muted[b-pk60lbvr1y] {
    color: var(--text-muted);
}

.empty-state[b-pk60lbvr1y] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-muted);
    margin: 0 0 12px;
}

@media (max-width: 768px) {
    .guests tr.household-row td[b-pk60lbvr1y] {
        display: block;
    }

    .guests tr.household-row input[type="text"][b-pk60lbvr1y] {
        min-width: 0;
        width: 100%;
        margin: 0 0 8px;
    }
}
/* /Pages/Stijlborden.razor.rz.scp.css */
.header-row[b-rvz13876cp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}

h1[b-rvz13876cp] {
    font-family: var(--font-display);
    font-size: var(--heading-1-size);
    font-weight: 400;
    color: var(--text-heading);
    margin: 0;
}

.subtitle[b-rvz13876cp] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
    margin: 6px 0 0;
}

.placeholder[b-rvz13876cp] {
    font-family: var(--font-sans);
    font-size: 14px;
    color: var(--text-muted);
}

.board-grid[b-rvz13876cp] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.board-card[b-rvz13876cp] {
    display: block;
    background: var(--surface-card);
    border: none;
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 20px;
    cursor: pointer;
    color: inherit;
    text-decoration: none;
}

    .board-card:hover[b-rvz13876cp] {
        background: var(--surface-card-alt);
    }

.board-swatches[b-rvz13876cp] {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
}

.board-swatch[b-rvz13876cp] {
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-subtle);
}

.board-names[b-rvz13876cp] {
    font-family: var(--font-display);
    font-size: 20px;
    color: var(--text-heading);
}

.board-venue[b-rvz13876cp] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 4px;
}

.board-notes[b-rvz13876cp] {
    font-family: var(--font-sans);
    font-size: 13px;
    color: var(--text-body);
    margin: 12px 0 0;
}
