/* /Components/Layout/Header.razor.rz.scp.css */
/* ===== Header shell ===== */
.hdr[b-tqr8kzqq7d] {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(245, 236, 226, 0.95);
    border-bottom: 1px solid #e8d8c8;
    backdrop-filter: blur(10px);
}

/* Container */
.hdr-inner[b-tqr8kzqq7d] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 16px;
    height: 52px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

/* ===== Kill the hamburger if ANY old markup still renders it ===== */
.menu-btn[b-tqr8kzqq7d],
.hamburger[b-tqr8kzqq7d],
.nav-toggle[b-tqr8kzqq7d] {
    display: none !important;
}

/* ===== Brand ===== */
.brand[b-tqr8kzqq7d] {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #1a1a1a;
    font-weight: 750;
    letter-spacing: -0.02em;
    flex: 0 0 auto;
}

.brand-badge[b-tqr8kzqq7d] {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #a07850;
    color: #ffffff;
    font-size: 12px;
}

.brand-text[b-tqr8kzqq7d] {
    font-size: 15px;
}

/* ===== Nav ===== */
.nav[b-tqr8kzqq7d] {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-wrap: nowrap;
    margin-left: auto;
    flex-shrink: 0;
}

/* Links */
.nav-link[b-tqr8kzqq7d] {
    text-decoration: none;
    color: #3a2a1a;
    padding: 7px 10px;
    border-radius: 10px;
    font-weight: 650;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid transparent;
}

.nav-link:hover[b-tqr8kzqq7d] {
    background: #eedfc8;
}

.nav-link.active[b-tqr8kzqq7d] {
    background: #fdf3e8;
    border-color: rgba(160, 120, 80, 0.35);
    color: #a07850;
}

/* Subtle user link */
.nav-link.subtle[b-tqr8kzqq7d] {
    color: #7a6050;
}

@media (max-width: 420px) {
    .nav-link[b-tqr8kzqq7d] {
        font-size: 13px;
        padding: 6px 8px;
    }
}

/* ===== Dropdown ===== */
.dropdown[b-tqr8kzqq7d] {
    position: relative;
}

.dropdown-btn[b-tqr8kzqq7d] {
    background: none;
    border: 1px solid transparent;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dropdown-chevron[b-tqr8kzqq7d] {
    font-size: 10px;
    opacity: 0.7;
    transition: transform 0.15s;
}

.dropdown.open .dropdown-chevron[b-tqr8kzqq7d] {
    transform: rotate(180deg);
}

.dropdown-menu[b-tqr8kzqq7d] {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 160px;
    background: #fff;
    border: 1px solid #e8d8c8;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    flex-direction: column;
    padding: 6px;
    z-index: 1100;
    gap: 2px;
}

.dropdown.open .dropdown-menu[b-tqr8kzqq7d] {
    display: flex;
}

.dropdown-item[b-tqr8kzqq7d] {
    border-radius: 8px !important;
    border-left: none !important;
    margin-left: 0 !important;
    padding-left: 12px !important;
    white-space: nowrap;
}

.dropdown-menu-right[b-tqr8kzqq7d] {
    left: auto;
    right: 0;
}

.dropdown-backdrop[b-tqr8kzqq7d] {
    position: fixed;
    inset: 0;
    z-index: 1050;
}

.logout[b-tqr8kzqq7d] {
    margin: 0;
    display: flex;
}

/* Buttons */
.btn[b-tqr8kzqq7d] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 14px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 750;
    border: 1px solid transparent;
    cursor: pointer;
    white-space: nowrap;
}

.btn-primary[b-tqr8kzqq7d] {
    background: #a07850;
    color: #ffffff;
    border-color: #a07850;
}

.btn-primary:hover[b-tqr8kzqq7d] {
    background: #7d5c35;
}

.btn-ghost[b-tqr8kzqq7d] {
    background: #ffffff;
    color: #3a2a1a;
    border-color: #e8d8c8;
}

.btn-ghost:hover[b-tqr8kzqq7d] {
    background: #f5ece2;
}

@media (max-width: 420px) {
    .btn[b-tqr8kzqq7d] {
        height: 34px;
        padding: 0 10px;
        font-size: 13px;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-gl009v51ky] {
    min-height: 100vh;
    background: #ffffff;
    overflow-x: hidden;
    width: 100%;
}

.app-main[b-gl009v51ky] {
    width: 100%;
    padding: 24px 16px;
}

/* Mobile spacing */
@media (max-width: 640px) {
    .app-main[b-gl009v51ky] {
        padding: 18px 14px;
    }
}

/* Keep the default error UI working */
#blazor-error-ui[b-gl009v51ky] {
    color-scheme: light only;
    background: #fff3cd;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 2000;
}

#blazor-error-ui .dismiss[b-gl009v51ky] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-qzg7m07lxz],
.components-reconnect-repeated-attempt-visible[b-qzg7m07lxz],
.components-reconnect-failed-visible[b-qzg7m07lxz],
.components-pause-visible[b-qzg7m07lxz],
.components-resume-failed-visible[b-qzg7m07lxz],
.components-rejoining-animation[b-qzg7m07lxz] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-retrying[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-failed[b-qzg7m07lxz],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-qzg7m07lxz] {
    display: block;
}


#components-reconnect-modal[b-qzg7m07lxz] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-qzg7m07lxz 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-qzg7m07lxz 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-qzg7m07lxz 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-qzg7m07lxz]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-qzg7m07lxz 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-qzg7m07lxz {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-qzg7m07lxz {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-qzg7m07lxz {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-qzg7m07lxz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-qzg7m07lxz] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-qzg7m07lxz] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-qzg7m07lxz] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-qzg7m07lxz] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-qzg7m07lxz] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-qzg7m07lxz] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-qzg7m07lxz 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-qzg7m07lxz] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-qzg7m07lxz {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/AdminPage.razor.rz.scp.css */
/* =========================
   ErinFit Admin - Light UI
   ========================= */

.admin-shell[b-sie4twqo8j] {
    --bg: #f6f7fb;
    --card: #ffffff;
    --card2: #fbfbfd;
    --border: rgba(20, 22, 26, 0.12);
    --border2: rgba(20, 22, 26, 0.18);
    --text: #101317;
    --muted: rgba(16, 19, 23, 0.62);
    --muted2: rgba(16, 19, 23, 0.45);
    --ring: rgba(34, 197, 94, 0.18);
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.admin-header[b-sie4twqo8j] {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(246, 247, 251, 0.88);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
}

.admin-header-inner[b-sie4twqo8j] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.title[b-sie4twqo8j] {
    margin: 0;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -0.02em;
}

.muted[b-sie4twqo8j] {
    color: var(--muted);
}

.tiny[b-sie4twqo8j] {
    font-size: 12px;
}

.mt4[b-sie4twqo8j] {
    margin-top: 4px;
}

.mt6[b-sie4twqo8j] {
    margin-top: 6px;
}

.mt8[b-sie4twqo8j] {
    margin-top: 8px;
}

.mt12[b-sie4twqo8j] {
    margin-top: 12px;
}

.mt16[b-sie4twqo8j] {
    margin-top: 16px;
}

/* ---------- Page width ---------- */
.admin-main[b-sie4twqo8j] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px;
}

/* ---------- Cards ---------- */
.card[b-sie4twqo8j] {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 1px 0 rgba(0,0,0,0.02), 0 10px 30px rgba(16,19,23,0.06);
}

.subcard[b-sie4twqo8j] {
    background: var(--card2);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
}

.card-title[b-sie4twqo8j] {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.section-title[b-sie4twqo8j] {
    margin: 0;
    font-size: 15px;
    font-weight: 750;
    letter-spacing: -0.01em;
}

/* ---------- Alert ---------- */
.alert[b-sie4twqo8j] {
    border: 1px solid rgba(220, 38, 38, 0.25);
    background: rgba(220, 38, 38, 0.07);
    border-radius: 14px;
    padding: 12px 14px;
    color: #8a1f1f;
}

/* ---------- Layout grids ---------- */
.grid[b-sie4twqo8j] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 16px;
}

@media (min-width: 980px) {
    .grid[b-sie4twqo8j] {
        grid-template-columns: 360px 1fr;
        align-items: start;
    }
}

.two-col[b-sie4twqo8j] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 14px;
}

@media (min-width: 980px) {
    .two-col[b-sie4twqo8j] {
        grid-template-columns: 1fr 1fr;
    }
}

/* ---------- Header buttons ---------- */
.header-actions[b-sie4twqo8j] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn[b-sie4twqo8j] {
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text);
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

    .btn:hover[b-sie4twqo8j] {
        border-color: var(--border2);
        box-shadow: 0 6px 18px rgba(16,19,23,0.08);
    }

    .btn:disabled[b-sie4twqo8j] {
        opacity: 0.55;
        cursor: not-allowed;
        box-shadow: none;
    }

.btn-ghost[b-sie4twqo8j] {
    background: transparent;
}

.btn-primary[b-sie4twqo8j] {
    background: #a07850;
    color: white;
    border-color: #a07850;
}

    .btn-primary:hover[b-sie4twqo8j] {
        box-shadow: 0 10px 24px rgba(160,120,80,0.22);
    }

.btn.small[b-sie4twqo8j] {
    padding: 8px 12px;
    font-size: 12px;
}

/* ---------- User selector ---------- */
.user-selector[b-sie4twqo8j] {
    display: grid;
    gap: 12px;
}

@media (min-width: 720px) {
    .user-selector[b-sie4twqo8j] {
        grid-template-columns: 1fr 320px;
        align-items: end;
    }
}

.select-wrap[b-sie4twqo8j] {
    min-width: 0;
}

/* ---------- Inputs ---------- */
.label[b-sie4twqo8j] {
    display: block;
    font-size: 12px;
    color: var(--muted2);
    margin-bottom: 6px;
}

.input[b-sie4twqo8j], .select[b-sie4twqo8j], .textarea[b-sie4twqo8j] {
    width: 100%;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: white;
    color: var(--text);
    padding: 10px 12px;
    outline: none;
}

.textarea[b-sie4twqo8j] {
    resize: vertical;
    min-height: 72px;
}

    .input[b-sie4twqo8j]::placeholder, .textarea[b-sie4twqo8j]::placeholder {
        color: rgba(16,19,23,0.35);
    }

    .input:focus[b-sie4twqo8j], .select:focus[b-sie4twqo8j], .textarea:focus[b-sie4twqo8j] {
        border-color: rgba(80,120,255,0.45);
        box-shadow: 0 0 0 4px var(--ring);
    }

/* ---------- Days list (your big win) ---------- */
.day-list[b-sie4twqo8j] {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.day-btn[b-sie4twqo8j] {
    width: 100%;
    text-align: left;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: #fff;
    padding: 12px 14px;
    cursor: pointer;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

    .day-btn:hover[b-sie4twqo8j] {
        border-color: var(--border2);
        box-shadow: 0 10px 24px rgba(16,19,23,0.08);
    }

    .day-btn:active[b-sie4twqo8j] {
        transform: scale(0.995);
    }

    .day-btn.active[b-sie4twqo8j] {
        border-color: rgba(80,120,255,0.55);
        box-shadow: 0 10px 28px rgba(80,120,255,0.12);
    }

.day-row[b-sie4twqo8j] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.day-label[b-sie4twqo8j] {
    margin: 0;
    font-size: 13px;
    font-weight: 750;
    letter-spacing: -0.01em;
}

/* ---------- Rows/Stacks ---------- */
.stack[b-sie4twqo8j] {
    display: grid;
    gap: 10px;
}

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

.row-between[b-sie4twqo8j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

/* Make X buttons compact + consistent */
.row .btn-ghost[b-sie4twqo8j] {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 12px;
    display: grid;
    place-items: center;
}

/* Meal cards */
.meal-card[b-sie4twqo8j] {
    border-radius: 16px;
    border: 1px solid var(--border);
    background: #fff;
    padding: 12px;
}

/* Small field labels */
.label-sm[b-sie4twqo8j] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--muted2);
    margin-bottom: 4px;
}
/* /Components/Pages/Contact.razor.rz.scp.css */
/* Contact.razor.css — Tan / Warm Theme */

.contact-page[b-486on5zpen] {
    background: #f5ece2;
    color: #1a1a1a;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    padding: 48px 16px 60px;
    max-width: 680px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}

/* ---- Hero ---- */
.contact-hero[b-486on5zpen] {
    text-align: center;
    padding: 32px 0 40px;
}

.contact-badge[b-486on5zpen] {
    display: inline-block;
    background: #a07850;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.contact-hero h1[b-486on5zpen] {
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 14px;
}

.accent[b-486on5zpen] {
    color: #a07850;
}

.contact-hero p[b-486on5zpen] {
    font-size: 16px;
    color: #6b5040;
    max-width: 460px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ---- Form Card ---- */
.form-card[b-486on5zpen] {
    background: #ffffff;
    border: 1px solid #e8d8c8;
    border-radius: 18px;
    padding: 40px 36px;
    box-shadow: 0 2px 12px rgba(120,80,40,0.07);
}

/* ---- Form Layout ---- */
.form-row.two-col[b-486on5zpen] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-group[b-486on5zpen] {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.form-group label[b-486on5zpen] {
    font-size: 13px;
    font-weight: 600;
    color: #3a2a1a;
    margin-bottom: 6px;
}

.required[b-486on5zpen] {
    color: #c0392b;
}

.optional[b-486on5zpen] {
    font-weight: 400;
    color: #9a8070;
}

.form-input[b-486on5zpen] {
    border: 1px solid #d8c8b8;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    font-family: inherit;
    color: #1a1a1a;
    background: #fdf8f3;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.form-input:focus[b-486on5zpen] {
    border-color: #a07850;
    box-shadow: 0 0 0 3px rgba(160,120,80,0.12);
    background: #fff;
}

.form-textarea[b-486on5zpen] {
    resize: vertical;
    min-height: 130px;
}

/* Blazor validation messages */
.validation-message[b-486on5zpen] {
    font-size: 12px;
    color: #c0392b;
    margin-top: 4px;
}

/* ---- Error banner ---- */
.error-banner[b-486on5zpen] {
    background: #fff0f0;
    border: 1px solid #f5c6cb;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 13px;
    color: #c0392b;
    margin-bottom: 18px;
}

/* ---- Submit Button ---- */
.btn-submit[b-486on5zpen] {
    width: 100%;
    background: #a07850;
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 14px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.1s ease;
    font-family: inherit;
}

.btn-submit:hover:not(:disabled)[b-486on5zpen] {
    background: #7d5c35;
}

.btn-submit:active:not(:disabled)[b-486on5zpen] {
    transform: scale(0.99);
}

.btn-submit:disabled[b-486on5zpen] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ---- Success State ---- */
.success-state[b-486on5zpen] {
    text-align: center;
    padding: 32px 16px;
}

.success-icon[b-486on5zpen] {
    width: 56px;
    height: 56px;
    background: #a07850;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    margin: 0 auto 20px;
}

.success-state h2[b-486on5zpen] {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 10px;
}

.success-state p[b-486on5zpen] {
    font-size: 15px;
    color: #6b5040;
    line-height: 1.6;
    margin-bottom: 24px;
}

.btn-reset[b-486on5zpen] {
    background: none;
    border: 1px solid #d8c8b8;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 14px;
    color: #7a6050;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.2s ease;
}

.btn-reset:hover[b-486on5zpen] {
    border-color: #a07850;
    color: #a07850;
}

/* ---- Mobile ---- */
@media (max-width: 560px) {
    .contact-page[b-486on5zpen] {
        padding: 32px 12px 60px;
    }

    .form-card[b-486on5zpen] {
        padding: 24px 16px;
    }

    .form-row.two-col[b-486on5zpen] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/GroceryListPage.razor.rz.scp.css */
.page[b-5tmga5f51w] {
    min-height: 100vh;
    background: #fafafa;
    padding: 24px 16px 48px;
}

.container[b-5tmga5f51w] {
    max-width: 600px;
    margin: 0 auto;
}

.page-header[b-5tmga5f51w] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.page-title[b-5tmga5f51w] {
    font-size: 26px;
    font-weight: 750;
    letter-spacing: -0.03em;
    color: #09090b;
    margin: 0 0 4px;
}

.page-sub[b-5tmga5f51w] {
    font-size: 14px;
    color: #71717a;
    margin: 0;
}

.btn-refresh[b-5tmga5f51w] {
    height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    border: 1px solid #e4e4e7;
    background: #fff;
    color: #09090b;
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}

.btn-refresh:hover:not(:disabled)[b-5tmga5f51w] {
    background: #f4f4f5;
}

.btn-refresh:disabled[b-5tmga5f51w] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* List header */
.list-header-row[b-5tmga5f51w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.list-count[b-5tmga5f51w] {
    font-size: 13px;
    color: #71717a;
    font-weight: 500;
}

.btn-clear[b-5tmga5f51w] {
    font-size: 12px;
    color: #71717a;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 6px;
    font-weight: 600;
}

.btn-clear:hover[b-5tmga5f51w] {
    background: #f4f4f5;
    color: #09090b;
}

/* Grocery list */
.grocery-list[b-5tmga5f51w] {
    background: #fff;
    border: 1px solid #e4e4e7;
    border-radius: 16px;
    overflow: hidden;
}

.grocery-item[b-5tmga5f51w] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #f4f4f5;
    cursor: pointer;
    transition: background 0.1s;
}

.grocery-item:last-child[b-5tmga5f51w] {
    border-bottom: none;
}

.grocery-item:hover[b-5tmga5f51w] {
    background: #fafafa;
}

.grocery-item.done .item-name[b-5tmga5f51w] {
    text-decoration: line-through;
    color: #a1a1aa;
}

.grocery-item.done .item-amount[b-5tmga5f51w] {
    color: #d4d4d8;
}

.item-check[b-5tmga5f51w] {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: #a07850;
    cursor: pointer;
}

.item-name[b-5tmga5f51w] {
    flex: 1;
    font-size: 15px;
    font-weight: 500;
    color: #09090b;
    text-transform: capitalize;
    transition: color 0.15s;
}

.item-amount[b-5tmga5f51w] {
    font-size: 13px;
    color: #71717a;
    font-weight: 500;
    white-space: nowrap;
}

/* Empty state */
.empty-card[b-5tmga5f51w] {
    background: #fff;
    border: 1px solid #e4e4e7;
    border-radius: 16px;
    padding: 40px 24px;
    text-align: center;
}

.empty-icon[b-5tmga5f51w] {
    font-size: 40px;
    margin: 0 0 12px;
}

.empty-text[b-5tmga5f51w] {
    font-size: 15px;
    font-weight: 600;
    color: #09090b;
    margin: 0 0 6px;
}

.empty-sub[b-5tmga5f51w] {
    font-size: 13px;
    color: #71717a;
    margin: 0;
}

.muted[b-5tmga5f51w] {
    color: #71717a;
    font-size: 14px;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Home.razor.css */

.home-page[b-pwf8rh66t1] {
    background: #f8f9fa;
    color: #1a1a1a;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    padding: 48px 24px 60px;
}

/* ---- Hero ---- */
.hero[b-pwf8rh66t1] {
    text-align: center;
    padding: 72px 24px 64px;
}

.badge[b-pwf8rh66t1] {
    display: inline-block;
    background: #1a1a1a;
    color: #f8f9fa;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.hero h1[b-pwf8rh66t1] {
    font-size: clamp(42px, 7vw, 80px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    text-transform: uppercase;
}

.accent[b-pwf8rh66t1] {
    color: #5a8a00;
}

.hero p[b-pwf8rh66t1] {
    font-size: 17px;
    color: #666;
    margin-bottom: 32px;
    line-height: 1.6;
}

.hero-actions[b-pwf8rh66t1] {
    display: flex;
    gap: 12px;
    justify-content: center;
}

/* ---- Buttons ---- */
.btn[b-pwf8rh66t1] {
    padding: 13px 28px;
    border-radius: 8px;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
}

.btn-primary[b-pwf8rh66t1] {
    background: #1a1a1a;
    color: #f8f9fa;
}

    .btn-primary:hover[b-pwf8rh66t1] {
        background: #333;
    }

.btn-outline[b-pwf8rh66t1] {
    background: transparent;
    color: #1a1a1a;
    border: 1.5px solid #d1d5db;
}

    .btn-outline:hover[b-pwf8rh66t1] {
        border-color: #5a8a00;
        color: #5a8a00;
    }

/* ---- Stats ---- */
.stats[b-pwf8rh66t1] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    border-top: 1px solid #e2e8f0;
    padding-top: 40px;
}

.stat[b-pwf8rh66t1] {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 28px 20px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.stat-number[b-pwf8rh66t1] {
    font-size: 36px;
    font-weight: 800;
    color: #5a8a00;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
}

.stat-label[b-pwf8rh66t1] {
    font-size: 13px;
    color: #999;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ---- Mobile: stats scroll row ---- */
@media (max-width: 640px) {
    .stats[b-pwf8rh66t1] {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 12px;
        padding-bottom: 16px;
        scrollbar-width: none;
    }

    .stats[b-pwf8rh66t1]::-webkit-scrollbar {
        display: none;
    }

    .stat[b-pwf8rh66t1] {
        min-width: 140px;
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
}
/* /Components/Pages/Offers.razor.rz.scp.css */
/* ============================================
   Offers.razor.css — Tan / Warm Theme
   ============================================ */

.offerings-page[b-61jfa9hh1s] {
    background: #f5ece2;
    color: #1a1a1a;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    padding: 40px 24px 60px;
}

/* ---- Hero ---- */
.hero[b-61jfa9hh1s] {
    text-align: center;
    padding: 48px 24px 40px;
    position: relative;
}

.hero-badge[b-61jfa9hh1s] {
    display: inline-block;
    background: #a07850;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.hero-title[b-61jfa9hh1s] {
    font-size: clamp(36px, 6vw, 64px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    text-transform: uppercase;
    color: #1a1a1a;
}

    .hero-title .accent[b-61jfa9hh1s] {
        color: #a07850;
    }

.hero-subtitle[b-61jfa9hh1s] {
    font-size: 16px;
    color: #6b5040;
    max-width: 460px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ---- Plans Section ---- */
.plans-section[b-61jfa9hh1s] {
    padding: 16px 0 48px;
}

.plans-grid[b-61jfa9hh1s] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    align-items: stretch;
}

/* ---- Plan Card ---- */
.plan-card[b-61jfa9hh1s] {
    background: #ffffff;
    border: 1px solid #e8d8c8;
    border-radius: 14px;
    padding: 28px 24px 24px;
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 1px 4px rgba(120,80,40,0.06);
    display: flex;
    flex-direction: column;
}

    .plan-card:hover[b-61jfa9hh1s] {
        transform: translateY(-3px);
        box-shadow: 0 12px 32px rgba(120,80,40,0.12);
    }

    .plan-card.featured[b-61jfa9hh1s] {
        background: #a07850;
        border-color: #a07850;
        box-shadow: 0 16px 48px rgba(120,80,40,0.22);
        color: #ffffff;
    }

        .plan-card.featured:hover[b-61jfa9hh1s] {
            transform: translateY(-3px);
        }

.featured-badge[b-61jfa9hh1s] {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: #7d5c35;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    padding: 5px 14px;
    border-radius: 100px;
    white-space: nowrap;
}

.plan-header[b-61jfa9hh1s] {
    margin-bottom: 16px;
}

.plan-icon[b-61jfa9hh1s] {
    font-size: 26px;
    margin-bottom: 8px;
}

.plan-name[b-61jfa9hh1s] {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 4px;
}

.plan-tagline[b-61jfa9hh1s] {
    font-size: 13px;
    color: #9a8070;
}

.plan-card.featured .plan-tagline[b-61jfa9hh1s] {
    color: #f0e0d0;
}

/* ---- Price ---- */
.plan-price[b-61jfa9hh1s] {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e8d8c8;
}

.plan-card.featured .plan-price[b-61jfa9hh1s] {
    border-bottom-color: rgba(255,255,255,0.3);
}

.price-amount[b-61jfa9hh1s] {
    font-size: 44px;
    font-weight: 800;
    color: #a07850;
    line-height: 1;
    letter-spacing: -0.03em;
}

.plan-card.featured .price-amount[b-61jfa9hh1s] {
    color: #ffffff;
}

.price-period[b-61jfa9hh1s] {
    font-size: 13px;
    color: #9a8070;
}

.plan-card.featured .price-period[b-61jfa9hh1s] {
    color: #f0e0d0;
}

/* ---- Features List ---- */
.plan-features[b-61jfa9hh1s] {
    list-style: none;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 0;
    flex: 1;
}

    .plan-features li[b-61jfa9hh1s] {
        font-size: 14px;
        display: flex;
        align-items: center;
        gap: 9px;
    }

        .plan-features li.muted[b-61jfa9hh1s] {
            color: #bbb;
        }

.plan-card.featured .plan-features li.muted[b-61jfa9hh1s] {
    color: rgba(255,255,255,0.4);
}

.check[b-61jfa9hh1s] {
    color: #a07850;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.plan-card.featured .check[b-61jfa9hh1s] {
    color: #ffffff;
}

.x[b-61jfa9hh1s] {
    color: #ccc;
    font-size: 13px;
    flex-shrink: 0;
}

/* ---- Buttons ---- */
.btn[b-61jfa9hh1s] {
    width: 100%;
    padding: 12px 20px;
    border-radius: 8px;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    cursor: pointer;
    border: none;
    transition: all 0.25s ease;
}

.btn-primary[b-61jfa9hh1s] {
    background: #ffffff;
    color: #a07850;
}

    .btn-primary:hover[b-61jfa9hh1s] {
        background: #f5ece2;
        transform: scale(1.02);
    }

.btn-outline[b-61jfa9hh1s] {
    background: transparent;
    color: #a07850;
    border: 1.5px solid #c4956a;
}

    .btn-outline:hover[b-61jfa9hh1s] {
        border-color: #a07850;
        color: #7d5c35;
        background: rgba(160,120,80,0.06);
    }

.btn-large[b-61jfa9hh1s] {
    width: auto;
    padding: 13px 32px;
    font-size: 15px;
    border-radius: 100px;
}

/* ---- Features Highlight Section ---- */
.features-section[b-61jfa9hh1s] {
    padding: 40px 0;
    border-top: 1px solid #e8d8c8;
}

.section-title[b-61jfa9hh1s] {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 32px;
    color: #9a8070;
}

.features-grid[b-61jfa9hh1s] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.feature-item[b-61jfa9hh1s] {
    background: #ffffff;
    border: 1px solid #e8d8c8;
    border-radius: 12px;
    padding: 24px 20px;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 1px 4px rgba(120,80,40,0.04);
}

    .feature-item:hover[b-61jfa9hh1s] {
        border-color: #a07850;
        box-shadow: 0 4px 16px rgba(160,120,80,0.10);
    }

.feature-icon[b-61jfa9hh1s] {
    font-size: 26px;
    margin-bottom: 12px;
}

.feature-item h3[b-61jfa9hh1s] {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #1a1a1a;
}

.feature-item p[b-61jfa9hh1s] {
    font-size: 13px;
    color: #7a6050;
    line-height: 1.6;
}

/* ---- CTA Banner ---- */
.cta-section[b-61jfa9hh1s] {
    text-align: center;
    padding: 52px 24px;
    background: #a07850;
    border-radius: 18px;
    margin-top: 16px;
    color: #ffffff;
}

    .cta-section h2[b-61jfa9hh1s] {
        font-size: 30px;
        font-weight: 800;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        margin-bottom: 10px;
        color: #ffffff;
    }

    .cta-section p[b-61jfa9hh1s] {
        color: #f0e0d0;
        font-size: 15px;
        margin-bottom: 24px;
    }

    .cta-section .btn-primary[b-61jfa9hh1s] {
        background: #ffffff;
        color: #a07850;
        border: none;
    }

    .cta-section .btn-primary:hover[b-61jfa9hh1s] {
        background: #f5ece2;
    }

/* ---- Mobile layouts ---- */
@media (max-width: 640px) {
    .plans-grid[b-61jfa9hh1s] {
        grid-template-columns: 1fr;
    }

    .plan-card.featured[b-61jfa9hh1s] {
        transform: none;
    }

    .plan-card.featured:hover[b-61jfa9hh1s] {
        transform: translateY(-3px);
    }

    .features-grid[b-61jfa9hh1s] {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 12px;
        padding-bottom: 16px;
        scrollbar-width: none;
    }

    .features-grid[b-61jfa9hh1s]::-webkit-scrollbar {
        display: none;
    }

    .feature-item[b-61jfa9hh1s] {
        min-width: 220px;
        flex: 0 0 auto;
        scroll-snap-align: start;
    }
}
/* /Components/Pages/ProgressPicsPage.razor.rz.scp.css */
.page[b-63oeos64u4] {
    min-height: 100vh;
    background: #fafafa;
    padding: 24px 16px 48px;
}

.container[b-63oeos64u4] {
    max-width: 800px;
    margin: 0 auto;
}

.page-header[b-63oeos64u4] {
    margin-bottom: 24px;
}

.page-title[b-63oeos64u4] {
    font-size: 26px;
    font-weight: 750;
    letter-spacing: -0.03em;
    color: #09090b;
    margin: 0 0 4px;
}

.page-sub[b-63oeos64u4] {
    font-size: 14px;
    color: #71717a;
    margin: 0;
}

/* Upload card */
.upload-card[b-63oeos64u4] {
    background: #fff;
    border: 1px solid #e8d8c8;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 28px;
}

/* Check-in top row: date + weight side by side */
.checkin-top-row[b-63oeos64u4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

/* 4-slot photo grid */
.photo-grid[b-63oeos64u4] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 4px;
}

.photo-slot[b-63oeos64u4] {
    position: relative;
    aspect-ratio: 3/4;
    border: 2px dashed #c4956a;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f5ece2;
    transition: border-color 0.2s;
}

.photo-slot:hover[b-63oeos64u4] { border-color: #a07850; }

.photo-add-icon[b-63oeos64u4] {
    font-size: 2rem;
    color: #c4956a;
    line-height: 1;
    margin-bottom: 4px;
}

.photo-preview-placeholder[b-63oeos64u4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px;
    text-align: center;
}

.photo-file-name[b-63oeos64u4] {
    font-size: 0.75rem;
    color: #a07850;
    word-break: break-word;
}

.photo-label[b-63oeos64u4] {
    position: absolute;
    bottom: 8px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 20px;
    pointer-events: none;
}

.section-title[b-63oeos64u4] {
    font-size: 15px;
    font-weight: 700;
    color: #09090b;
    margin: 0 0 16px;
}

.upload-fields[b-63oeos64u4] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.field-group[b-63oeos64u4] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label[b-63oeos64u4] {
    font-size: 12px;
    font-weight: 650;
    color: #6b5040;
}

.field-input[b-63oeos64u4] {
    border: 1px solid #d8c8b8;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 14px;
    color: #1a1a1a;
    background: #fdf8f3;
    resize: vertical;
    font-family: inherit;
    box-sizing: border-box;
    width: 100%;
    transition: border-color 0.15s;
}

.field-invalid[b-63oeos64u4] {
    border-color: #c0392b !important;
    background: #fff8f8 !important;
}

.field-input:focus[b-63oeos64u4] {
    outline: none;
    border-color: #a07850;
    background: #fff;
}

.file-input[b-63oeos64u4] {
    font-size: 14px;
    color: #09090b;
}

.file-name[b-63oeos64u4] {
    font-size: 12px;
    color: #71717a;
    margin: 4px 0 0;
}

.error-msg[b-63oeos64u4] {
    font-size: 13px;
    color: #dc2626;
    margin: 0 0 12px;
}

.btn-upload[b-63oeos64u4] {
    width: 100%;
    height: 42px;
    border-radius: 10px;
    border: none;
    background: #a07850;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}

.btn-upload:hover:not(:disabled)[b-63oeos64u4] {
    background: #7d5c35;
}

.btn-upload:disabled[b-63oeos64u4] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Gallery */
.gallery-header[b-63oeos64u4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.photo-count[b-63oeos64u4] {
    font-size: 13px;
    color: #71717a;
}

.btn-clear-filter[b-63oeos64u4] {
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid #d8c8b8;
    background: #fff;
    color: #7a6050;
    cursor: pointer;
}

.btn-clear-filter:hover[b-63oeos64u4] {
    border-color: #a07850;
    color: #a07850;
}

.gallery[b-63oeos64u4] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 480px) {
    .gallery[b-63oeos64u4] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 720px) {
    .gallery[b-63oeos64u4] {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* Carousel */
.photo-carousel[b-63oeos64u4] {
    position: relative;
    border-radius: 14px 14px 0 0;
    overflow: hidden;
    background: #000;
    aspect-ratio: 3 / 4;
}

.photo-carousel img[b-63oeos64u4] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.carousel-angle-badge[b-63oeos64u4] {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 20px;
    pointer-events: none;
    white-space: nowrap;
}

.carousel-arrow[b-63oeos64u4] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.45);
    border: none;
    color: #fff;
    font-size: 1.4rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    z-index: 2;
    transition: background 0.15s;
    -webkit-tap-highlight-color: transparent;
}

.carousel-arrow:hover[b-63oeos64u4] { background: rgba(0,0,0,0.7); }
.carousel-prev[b-63oeos64u4] { left: 6px; }
.carousel-next[b-63oeos64u4] { right: 6px; }

.carousel-dots[b-63oeos64u4] {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 4px;
    z-index: 2;
}

.carousel-dot[b-63oeos64u4] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.4);
    cursor: pointer;
    transition: background 0.15s;
}

.carousel-dot-active[b-63oeos64u4] { background: #fff; }

/* Gallery header */
.gallery-header-top[b-63oeos64u4] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.filter-row[b-63oeos64u4] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.filter-label[b-63oeos64u4] {
    font-size: 12px;
    color: #71717a;
    white-space: nowrap;
}

/* Photo card */
.photo-card[b-63oeos64u4] {
    background: #fff;
    border: 1px solid #e4e4e7;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.photo-wrap[b-63oeos64u4] {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #f4f4f5;
}

.photo-img[b-63oeos64u4] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.photo-info[b-63oeos64u4] {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.photo-date[b-63oeos64u4] {
    font-size: 12px;
    font-weight: 700;
    color: #09090b;
}

.photo-note[b-63oeos64u4] {
    font-size: 12px;
    color: #52525b;
    margin: 0;
    cursor: pointer;
    font-style: italic;
    line-height: 1.4;
}

.photo-note:hover[b-63oeos64u4] {
    color: #a07850;
}

.note-edit[b-63oeos64u4] {
    width: 100%;
    border: 1px solid #e4e4e7;
    border-radius: 8px;
    padding: 6px 8px;
    font-size: 12px;
    font-family: inherit;
    resize: none;
    box-sizing: border-box;
}

.note-edit:focus[b-63oeos64u4] {
    outline: none;
    border-color: #a07850;
}

.note-actions[b-63oeos64u4] {
    display: flex;
    gap: 6px;
}

.btn-note-save[b-63oeos64u4] {
    flex: 1;
    height: 28px;
    border-radius: 6px;
    border: none;
    background: #a07850;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.btn-note-cancel[b-63oeos64u4] {
    flex: 1;
    height: 28px;
    border-radius: 6px;
    border: 1px solid #e4e4e7;
    background: #fff;
    color: #09090b;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

.btn-delete[b-63oeos64u4] {
    font-size: 11px;
    color: #dc2626;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-align: left;
    font-weight: 600;
}

.btn-delete:hover[b-63oeos64u4] {
    text-decoration: underline;
}

/* Empty */
.empty-card[b-63oeos64u4] {
    background: #fff;
    border: 1px solid #e4e4e7;
    border-radius: 16px;
    padding: 40px 24px;
    text-align: center;
}

.empty-icon[b-63oeos64u4] {
    font-size: 40px;
    margin: 0 0 12px;
}

.empty-text[b-63oeos64u4] {
    font-size: 15px;
    font-weight: 600;
    color: #09090b;
    margin: 0 0 6px;
}

.empty-sub[b-63oeos64u4] {
    font-size: 13px;
    color: #71717a;
    margin: 0;
}

.muted[b-63oeos64u4] {
    color: #71717a;
    font-size: 14px;
}

@media (max-width: 479px) {
    .page[b-63oeos64u4] {
        padding: 16px 12px 40px;
    }

    .upload-card[b-63oeos64u4] {
        padding: 16px;
        border-radius: 12px;
    }

    .checkin-top-row[b-63oeos64u4] {
        grid-template-columns: 1fr;
    }

    .photo-grid[b-63oeos64u4] {
        gap: 8px;
    }

    .section-title[b-63oeos64u4] {
        font-size: 14px;
    }

    .gallery-header-top[b-63oeos64u4] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Pages/UserHome.razor.rz.scp.css */
/* Page */
.page[b-le8yymdz77] {
    min-height: 100vh;
    background: #ffffff; /* white */
    color: #09090b; /* zinc-950 */
}

/* Header */
.header[b-le8yymdz77] {
    position: sticky;
    top: 0;
    z-index: 10;
    border-bottom: 1px solid rgba(228, 228, 231, 0.9); /* zinc-200-ish */
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
}

.header-inner[b-le8yymdz77] {
    max-width: 72rem;
    margin: 0 auto;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.brand-kicker[b-le8yymdz77] {
    margin: 0;
    font-size: 12px;
    color: #71717a; /* zinc-500 */
}

.brand-title[b-le8yymdz77] {
    margin: 2px 0 0;
    font-size: 22px;
    font-weight: 650;
    letter-spacing: -0.01em;
}

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

/* Layout container */
.container[b-le8yymdz77] {
    max-width: 72rem;
    margin: 0 auto;
    padding: 24px 16px 80px;
    display: grid;
    gap: 16px;
}

/* Cards */
.card[b-le8yymdz77] {
    border: 1px solid #e4e4e7; /* zinc-200 */
    background: rgba(250, 250, 250, 0.9); /* zinc-50-ish */
    border-radius: 18px;
    padding: 16px;
}

.card-title[b-le8yymdz77] {
    margin: 6px 0 0;
    font-size: 18px;
    font-weight: 650;
}

.section-title[b-le8yymdz77] {
    margin: 0;
    font-size: 16px;
    font-weight: 650;
}

.kicker[b-le8yymdz77] {
    margin: 0;
    font-size: 12px;
    color: #71717a; /* zinc-500 */
}

.muted[b-le8yymdz77] {
    margin: 4px 0 0;
    color: #71717a;
    font-size: 14px;
}

.strong[b-le8yymdz77] {
    color: #09090b;
    font-weight: 600;
}

.mt-12[b-le8yymdz77] {
    margin-top: 12px;
}

/* Week strip */
.week-head[b-le8yymdz77] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.week-nav-btn[b-le8yymdz77] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #e4e4e7;
    background: #fff;
    color: #09090b;
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s, border-color 0.15s;
}

.week-nav-btn:hover[b-le8yymdz77] {
    background: #f4f4f5;
    border-color: #a1a1aa;
}

.week-grid[b-le8yymdz77] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

@media (min-width: 640px) {
    .week-grid[b-le8yymdz77] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .week-grid[b-le8yymdz77] {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

.day-btn[b-le8yymdz77] {
    text-align: left;
    border-radius: 14px;
    border: 1px solid #e4e4e7; /* zinc-200 */
    background: rgba(255, 255, 255, 0.7);
    padding: 12px;
    transition: background 140ms ease, border-color 140ms ease;
    color: inherit;
}

    .day-btn:hover[b-le8yymdz77] {
        background: rgba(244, 244, 245, 0.95); /* zinc-100-ish */
    }

.day-btn-active[b-le8yymdz77] {
    border-color: #09090b; /* zinc-950 */
    background: #ffffff;
}

.day-top[b-le8yymdz77] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.day-title[b-le8yymdz77] {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
}

.day-sub[b-le8yymdz77] {
    margin: 6px 0 0;
    font-size: 12px;
    color: #71717a; /* zinc-500 */
}

.day-workout[b-le8yymdz77] {
    margin: 8px 0 0;
    font-size: 12px;
    color: #3f3f46; /* zinc-700 */
}

/* Badge */
.badge[b-le8yymdz77] {
    font-size: 12px;
    border-radius: 999px;
    padding: 2px 8px;
    border: 1px solid #e4e4e7; /* zinc-200 */
    background: rgba(250, 250, 250, 0.9);
}

.badge-done[b-le8yymdz77] {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.35);
    color: #047857; /* emerald-700 */
}

.badge-spacer[b-le8yymdz77] {
    width: 36px;
    height: 18px;
}

/* Details grid */
.details-grid[b-le8yymdz77] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

@media (min-width: 1024px) {
    .details-grid[b-le8yymdz77] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .card-span-2[b-le8yymdz77] {
        grid-column: span 2 / span 2;
    }
}

.workout-head[b-le8yymdz77] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.divider[b-le8yymdz77] {
    height: 1px;
    background: rgba(228, 228, 231, 0.95); /* zinc-200 */
    margin: 16px 0;
}

.subhead[b-le8yymdz77] {
    margin: 0;
    font-size: 14px;
    font-weight: 650;
    color: #09090b;
}

/* List */
.list[b-le8yymdz77] {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    display: grid;
    gap: 8px;
}

.list-item[b-le8yymdz77] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-radius: 14px;
    border: 1px solid #e4e4e7; /* zinc-200 */
    background: rgba(250, 250, 250, 0.9); /* zinc-50-ish */
    padding: 10px 12px;
}

.step[b-le8yymdz77] {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid #e4e4e7;
    background: #ffffff;
    color: #3f3f46; /* zinc-700 */
    font-size: 12px;
    flex: 0 0 auto;
    margin-top: 1px;
}

.list-text[b-le8yymdz77] {
    color: #09090b;
    font-size: 14px;
}

/* Pills */
.pill-row[b-le8yymdz77] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.pill[b-le8yymdz77] {
    font-size: 12px;
    border-radius: 999px;
    border: 1px solid #e4e4e7;
    background: rgba(250, 250, 250, 0.9);
    padding: 6px 10px;
    color: #09090b;
}

/* Meals */
.meal-list[b-le8yymdz77] {
    margin-top: 12px;
    display: grid;
    gap: 8px;
}

.meal-item[b-le8yymdz77] {
    border-radius: 14px;
    border: 1px solid #e4e4e7;
    background: rgba(250, 250, 250, 0.9);
    padding: 10px 12px;
}

.meal-name[b-le8yymdz77] {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #09090b;
}


/* Buttons */
.btn[b-le8yymdz77] {
    border-radius: 14px;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 650;
    border: 1px solid transparent;
    cursor: pointer;
}

.btn-primary[b-le8yymdz77] {
    background: #09090b; /* zinc-950 */
    color: #ffffff;
}

    .btn-primary:hover[b-le8yymdz77] {
        background: #18181b; /* zinc-900 */
    }

.btn-outline[b-le8yymdz77] {
    border-color: #d4d4d8; /* zinc-300 */
    background: #ffffff;
    color: #09090b;
}

    .btn-outline:hover[b-le8yymdz77] {
        background: rgba(244, 244, 245, 0.95); /* zinc-100-ish */
    }

.btn-ghost[b-le8yymdz77] {
    border-color: #e4e4e7; /* zinc-200 */
    background: rgba(255, 255, 255, 0.7);
    color: #09090b;
}

    .btn-ghost:hover[b-le8yymdz77] {
        background: rgba(244, 244, 245, 0.95);
    }

.btn-done[b-le8yymdz77] {
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.12);
    color: #065f46; /* emerald-800 */
}

    .btn-done:hover[b-le8yymdz77] {
        background: rgba(16, 185, 129, 0.18);
    }

.actions[b-le8yymdz77] {
    margin-top: 14px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.w-full[b-le8yymdz77] {
    width: 100%;
}

/* Utility */
.clamp1[b-le8yymdz77] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Small field labels */
.label-sm[b-le8yymdz77] {
    margin: 0 0 2px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #71717a; /* zinc-500 */
}



/* Added for the button in each workout */

/* Narrow screens (stack layout) */
.exerciseRow[b-le8yymdz77]{
  width:100%;
  display:grid;
  grid-template-columns: auto 1fr auto; /* step | content | chevron */
  grid-template-rows: auto auto;        /* row1: name/meta, row2: button */
  column-gap:10px;
  row-gap:6px;
  padding:12px;
  cursor:pointer;
  align-items:center;
}

.step[b-le8yymdz77]{
  grid-column:1;
  grid-row:1 / span 2;   /* spans both rows */
  align-self:center;     /* stays vertically centered */
}

.stepDone[b-le8yymdz77]{
  background:#a07850;
  color:white;
  border-color:#a07850;
}

.line1[b-le8yymdz77]{
  grid-column:2;
  grid-row:1;
  min-width:0;

  display:flex;
  flex-wrap:wrap;        /* allows meta to wrap when tight */
  align-items:baseline;
  gap:4px 10px;
}

.exerciseName[b-le8yymdz77]{
  font-weight:500;
}

.meta[b-le8yymdz77]{
  display:flex;
  flex-wrap:wrap;
  gap:4px 10px;
  font-size:0.82em;
  white-space:normal;
}

.markDoneBtn[b-le8yymdz77]{
  grid-column:2;
  grid-row:2;
  justify-self:end;      /* bottom row, right aligned */
  white-space:nowrap;
  font-size:0.85em;
  padding:5px 8px;
}

.chevron[b-le8yymdz77]{
  grid-column:3;
  grid-row:1 / span 2;   /* always by itself, far right */
  justify-self:end;
  align-self:center;
  font-size:0.75em;
  white-space:nowrap;
}

/* Wide screens (single-line layout) */
@media (min-width: 520px){
  .exerciseRow[b-le8yymdz77]{
    grid-template-columns: auto 1fr auto auto; /* step | content | button | chevron */
    grid-template-rows: auto;
    row-gap:0;
  }

  .step[b-le8yymdz77]{ grid-row:1; }

  .line1[b-le8yymdz77]{ grid-row:1; }

  .markDoneBtn[b-le8yymdz77]{
    grid-column:3;
    grid-row:1;
    justify-self:end;
  }

  .chevron[b-le8yymdz77]{
    grid-column:4;
    grid-row:1;
  }
}
/* /Components/Pages/UsersPage.razor.rz.scp.css */
/* =========================
   ErinFit Users Page
   ========================= */

.admin-shell[b-umpq5j62x6] {
    --bg: #f6f7fb;
    --card: #ffffff;
    --border: rgba(20, 22, 26, 0.12);
    --border2: rgba(20, 22, 26, 0.18);
    --text: #101317;
    --muted: rgba(16, 19, 23, 0.62);
    --muted2: rgba(16, 19, 23, 0.45);
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.admin-header[b-umpq5j62x6] {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(246, 247, 251, 0.88);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
}

.admin-header-inner[b-umpq5j62x6] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.title[b-umpq5j62x6] {
    margin: 0;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -0.02em;
}

.muted[b-umpq5j62x6] {
    color: var(--muted);
}

.tiny[b-umpq5j62x6] {
    font-size: 12px;
}

.admin-main[b-umpq5j62x6] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px;
}

.card[b-umpq5j62x6] {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 1px 0 rgba(0,0,0,0.02), 0 10px 30px rgba(16,19,23,0.06);
}

.card-title[b-umpq5j62x6] {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.alert[b-umpq5j62x6] {
    border: 1px solid rgba(220, 38, 38, 0.25);
    background: rgba(220, 38, 38, 0.07);
    border-radius: 14px;
    padding: 12px 14px;
    color: #8a1f1f;
    margin-bottom: 16px;
}

.btn[b-umpq5j62x6] {
    border-radius: 999px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text);
    padding: 7px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: box-shadow 0.15s;
}

    .btn:hover[b-umpq5j62x6] {
        border-color: var(--border2);
        box-shadow: 0 6px 18px rgba(16,19,23,0.08);
    }

    .btn:disabled[b-umpq5j62x6] {
        opacity: 0.55;
        cursor: not-allowed;
        box-shadow: none;
    }

.btn-ghost[b-umpq5j62x6] {
    background: transparent;
}

.btn-primary[b-umpq5j62x6] {
    background: #a07850;
    color: white;
    border-color: #a07850;
}

.btn-success[b-umpq5j62x6] {
    background: #a07850;
    color: white;
    border-color: #a07850;
}

    .btn-success:hover[b-umpq5j62x6] {
        box-shadow: 0 10px 24px rgba(160,120,80,0.22);
    }

/* ---------- Table ---------- */
.table-wrap[b-umpq5j62x6] {
    margin-top: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 12px;
}

.users-table[b-umpq5j62x6] {
    width: 100%;
    min-width: 480px;
    border-collapse: collapse;
    font-size: 13px;
}

    .users-table th[b-umpq5j62x6] {
        text-align: left;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--muted2);
        padding: 8px 12px 10px;
        border-bottom: 1px solid var(--border);
        white-space: nowrap;
    }

    .users-table td[b-umpq5j62x6] {
        padding: 12px;
        border-bottom: 1px solid var(--border);
        vertical-align: middle;
    }

    .users-table td:nth-child(2)[b-umpq5j62x6],
    .users-table td:nth-child(3)[b-umpq5j62x6] {
        white-space: nowrap;
        width: 1%;
    }

    .users-table tr:last-child td[b-umpq5j62x6] {
        border-bottom: none;
    }

    .users-table tr:hover td[b-umpq5j62x6] {
        background: #f9fafb;
    }

/* ---------- Badge ---------- */
.badge[b-umpq5j62x6] {
    display: inline-block;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
}

.badge-muted[b-umpq5j62x6] {
    background: rgba(16, 19, 23, 0.08);
    color: var(--muted);
}
