/* Brand identity and shared navigation. Original logo files stay intact. */
:root {
    --brand-primary: #b84d10;
    --brand-primary-hover: #963d0c;
    --brand-primary-light: #fff3e9;
    --brand-primary-glow: rgba(184, 77, 16, .18);
    --brand-secondary: #26743b;
    --brand-secondary-glow: rgba(38, 116, 59, .18);
    --brand-accent: #26743b;
    --border-focus: #b84d10;
    --shadow-glow: 0 0 35px rgba(184, 77, 16, .18);
    --bg-light: #e7ebe7;
    --bg-white: #f8faf8;
    --text-main: #152019;
    --text-muted: #5d6b62;
    --text-light: #839087;
    --border-color: #d1d9d3;
    --radius-md: 10px;
    --radius-lg: 12px;
    --radius-xl: 14px;
    --shadow-sm: 0 5px 16px rgba(16, 32, 21, .05);
    --shadow-md: 0 12px 28px rgba(16, 32, 21, .08);
    --shadow-lg: 0 24px 48px rgba(16, 32, 21, .12);
}

.brand-artwork {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 230px;
    aspect-ratio: 10 / 3;
    overflow: hidden;
    background: #000;
}
.brand-artwork img {
    position: absolute;
    width: 128%;
    max-width: none;
    height: auto;
    left: -14%;
    top: -168%;
}
.brand:focus-visible, .header-nav-link:focus-visible, .sidebar-link:focus-visible,
.header-action:focus-visible, .header-profile:focus-visible, .footer-links a:focus-visible {
    outline: 2px solid #ef9a5e;
    outline-offset: 5px;
    border-radius: 4px;
}
.app-header {
    background: rgba(247, 249, 247, .96);
    border-bottom: 1px solid #d7ded8;
    box-shadow: 0 4px 18px rgba(20, 35, 24, .05);
    backdrop-filter: blur(14px);
}
.btn-primary { background: var(--brand-primary); border-color: var(--brand-primary); }
.btn-primary:hover, .btn-primary:active, .btn-primary:focus-visible { background: var(--brand-primary-hover); border-color: var(--brand-primary-hover); }
.app-nav {
    width: 100%;
    max-width: none;
    min-height: 70px;
    height: 70px;
    padding: .55rem 2rem;
    flex-direction: row;
    gap: 1.5rem;
}
.header-welcome { display: flex; flex: 1; align-items: center; min-width: 0; gap: .9rem; }
.header-welcome-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.25; }
.header-welcome-copy > span { color: #17251b; font-size: 1rem; }
.header-welcome-copy strong { font-weight: 700; }
.header-welcome-copy time { margin-top: .18rem; color: #657467; font-size: .78rem; text-transform: capitalize; }
.header-welcome-copy > span, .header-welcome-copy time { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-auth-actions { gap: 1.4rem; margin-left: auto; }
.header-nav-link { color: #405046; font-size: .92rem; font-weight: 600; white-space: nowrap; }
.header-nav-link:hover, .header-nav-link[aria-current="page"] { color: #ef9a5e; text-decoration: none; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: .35rem; margin-left: auto; }
.header-action { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 42px; padding: .55rem .7rem; color: #405046; border: 0; border-radius: 10px; background: transparent; font-family: inherit; font-size: .88rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.header-action:hover, .header-action[aria-expanded="true"] { color: #963d0c; background: #fff3e9; text-decoration: none; }
.header-action i { font-size: 1.12rem; line-height: 1; }
.header-notifications { width: min(310px, calc(100vw - 2rem)); padding: 1rem; border-color: #e3e8df; box-shadow: 0 16px 35px rgba(20, 35, 24, .12); }
.header-notifications strong { display: block; margin-bottom: .3rem; color: #17251b; font-size: .92rem; }
.header-notifications p { margin: 0; color: #657467; font-size: .85rem; line-height: 1.55; }
.header-profile { display: flex; align-items: center; gap: .65rem; min-width: 0; margin-left: .25rem; padding: .3rem .45rem .3rem .35rem; color: #17251b; border-radius: 12px; }
.header-profile:hover { color: #17251b; background: #f2f6f2; text-decoration: none; }
.header-profile-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.header-profile-copy small { color: #657467; font-size: .72rem; }
.header-profile-copy strong { max-width: 130px; overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.app-header .btn-primary { background: #d6631b; border-color: #d6631b; color: #fff; box-shadow: none; }
.app-header .btn-primary:hover { background: #b84d10; border-color: #b84d10; transform: none; }
.app-header .btn-sm { padding: .7rem 1rem; border-radius: 8px; }
.sidebar-toggle { color: #243329; background: #eef2ee; border-color: #d3dbd4; }
.user-avatar { background: #26743b; box-shadow: none; }
.app-sidebar {
    color: #e8eee9;
    background: linear-gradient(180deg, #050706 0%, #0a0f0c 58%, #0d1710 100%);
    border-right: 1px solid #1d2a20;
    box-shadow: 14px 0 35px rgba(0, 0, 0, .08);
}
.sidebar-header .brand { display: inline-flex; }
.sidebar-header .brand-artwork { width: 188px; border-radius: 4px; }
.sidebar-close { color: #d9e4db; border-color: #2a392e; background: #111a14; }
.sidebar-close:hover { color: #fff; border-color: #4a654f; background: #19251c; }
.sidebar-tagline { margin-left: .75rem; color: #78867c; }
.sidebar-section-label { color: #69766d; }
.sidebar-link { color: #b9c5bc; border: 1px solid transparent; border-radius: 8px; }
.sidebar-link > i { color: #76847a; }
.sidebar-link:hover { color: #fff; border-color: #25352a; background: rgba(255, 255, 255, .045); }
.sidebar-link:hover > i { color: #e69760; }
.sidebar-link.active { color: #fff; border-color: rgba(79, 133, 91, .38); background: linear-gradient(90deg, rgba(38, 116, 59, .3), rgba(38, 116, 59, .1)); }
.sidebar-link.active > i { color: #8fc49a; }
.sidebar-link.active::before { background: linear-gradient(#e38a50, #4b9b5d); }
.sidebar-divider, .sidebar-footer { border-color: #1d2a20; }
.sidebar-divider { background: #1d2a20; }
.sidebar-user { color: #e9f0ea; border: 1px solid #1f2e23; border-radius: 8px; background: rgba(255, 255, 255, .035); }
.sidebar-user:hover { color: #fff; border-color: #334a38; background: rgba(255, 255, 255, .065); }
.sidebar-user small { color: #849087; }
.sidebar-user > i { color: #68756b; }
.sidebar-logout { color: #efaaaa; border: 1px solid rgba(185, 70, 70, .16); border-radius: 8px; background: rgba(134, 35, 35, .12); }
.sidebar-logout:hover { color: #ffc1c1; background: rgba(158, 42, 42, .2); }

.auth-wrapper {
    min-height: 660px;
    padding: 3.5rem 1.25rem;
    background: radial-gradient(ellipse at 10% 15%, #ecf4ed, transparent 50%),
        radial-gradient(ellipse at 90% 85%, #fff0e3, transparent 50%), #f7f8f5;
}
.centered-card { max-width: 490px; padding: 2.2rem 2.5rem; border-radius: 18px; border-color: #e3e8df; }
.auth-brand-block { text-align: center; padding-bottom: 1.65rem; margin-bottom: 1.65rem; border-bottom: 1px solid #edf0e9; }
.auth-brand-block .brand { padding: .6rem 1rem; background: #000; border-radius: 12px; }
.auth-brand-block .brand-artwork { width: 200px; }
.auth-brand-caption { display: block; margin-top: .85rem; color: #657467; font-size: .72rem; letter-spacing: .04em; }
.auth-wrapper h2 { font-size: 1.85rem; }
.auth-wrapper .eyebrow { color: #26743b; }
.auth-submit { background: #b84d10; box-shadow: 0 4px 12px rgba(184, 77, 16, .14); }
.auth-submit:hover { background: #963d0c; }
.form-control:focus { border-color: var(--brand-primary); box-shadow: 0 0 0 4px var(--brand-primary-glow); }
.business-hero { background: radial-gradient(circle at 80% 20%, rgba(38,116,59,.2), transparent 40%), linear-gradient(135deg, #0c1710, #193b24); }
.pack-card-featured { background: linear-gradient(145deg, #173c24, #26743b); border-color: #26743b; }
.pack-card-featured .pack-level, .pack-card-featured .pack-description { color: #c5ddca; }

/* Administration shell: intentionally distinct from the member platform. */
.admin-layout .page-wrapper,
.admin-layout .main-content { background: #f3f5f8; }
.admin-sidebar {
    color: #e7edf7;
    background: #101827;
    border-right-color: #243147;
    box-shadow: 12px 0 32px rgba(15, 23, 42, .12);
}
.admin-sidebar .sidebar-header .brand { display: inline-flex; }
.admin-sidebar .sidebar-header { padding-bottom: 1rem; border-bottom: 1px solid #26334a; }
.admin-sidebar-title { display: flex; flex-direction: column; margin: 1.35rem .75rem 1.5rem; line-height: 1.2; }
.admin-sidebar-title span { color: #7787a1; font-size: .62rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.admin-sidebar-title strong { margin-top: .3rem; color: #fff; font-size: 1.05rem; }
.admin-sidebar .sidebar-section-label { color: #71819b; }
.admin-sidebar .sidebar-link { color: #b9c4d6; }
.admin-sidebar .sidebar-link > i { color: #7f8da5; }
.admin-sidebar .sidebar-link:hover { color: #fff; border-color: #31405a; background: #192438; }
.admin-sidebar .sidebar-link:hover > i { color: #9cc7ff; }
.admin-sidebar .sidebar-link.active { color: #fff; border-color: #345f94; background: #1c3555; }
.admin-sidebar .sidebar-link.active::before { background: #5da9ff; }
.admin-sidebar .sidebar-link.active > i { color: #7dbcff; }
.admin-sidebar-footer { border-color: #28354a; }
.admin-sidebar-user { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; align-items: center; padding: .75rem; border: 1px solid #2b3a51; border-radius: 9px; background: #172235; }
.admin-sidebar-user > span:last-child { min-width: 0; }
.admin-sidebar-user small, .admin-sidebar-user strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-sidebar-user small { color: #8492aa; font-size: .68rem; }
.admin-sidebar-user strong { color: #f8fafc; font-size: .82rem; }
.admin-sidebar .user-avatar { display: grid; place-items: center; width: 38px; height: 38px; color: #dcebff; border-radius: 8px; background: #294a73; }
.admin-app-header { background: rgba(255, 255, 255, .96); border-bottom: 1px solid #dfe4ec; }
.admin-header-identity { display: flex; align-items: center; gap: .55rem; padding: .55rem .75rem; color: #334155; border: 1px solid #dce2eb; border-radius: 8px; background: #f8fafc; font-size: .8rem; font-weight: 700; }
.admin-header-identity i { color: #2563a5; }
.admin-main-content { min-height: calc(100vh - 72px); }

.admin-catalog-section { min-height: calc(100vh - 72px); padding: 2.5rem 0 4rem; }
.admin-page-count { display: inline-flex; align-items: center; gap: .5rem; padding: .65rem .8rem; color: #334155; border: 1px solid #dce2eb; border-radius: 8px; background: #fff; font-size: .78rem; font-weight: 700; }
.admin-page-count i { color: #2563a5; }
.admin-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.admin-catalog-card { position: relative; padding: 1.35rem; border: 1px solid #dde3eb; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(30, 41, 59, .05); }
.admin-catalog-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 1rem; color: #2764a2; border-radius: 9px; background: #eaf3fc; }
.admin-catalog-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.admin-catalog-card-head h3 { margin: .18rem 0 0; font-size: 1.12rem; }
.admin-catalog-card-head > strong { color: #173d68; white-space: nowrap; }
.catalog-slug { color: #7b8799; font-size: .6rem; font-weight: 800; letter-spacing: .13em; }
.admin-catalog-card > p { margin: .75rem 0 1rem; color: #64748b; font-size: .8rem; line-height: 1.6; }
.admin-catalog-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin: 0; }
.admin-catalog-metrics div { padding: .7rem; border-radius: 8px; background: #f5f7fa; }
.admin-catalog-metrics dt { color: #718096; font-size: .6rem; font-weight: 700; }
.admin-catalog-metrics dd { margin: .2rem 0 0; color: #1e293b; font-size: .9rem; font-weight: 800; }
.admin-catalog-activity { display: flex; gap: 1.3rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #edf0f4; color: #69778b; font-size: .7rem; }
.admin-catalog-activity b { color: #1e293b; font-size: .82rem; }
.admin-search-bar { display: flex; align-items: center; gap: .65rem; margin-bottom: 1rem; padding: .6rem; border: 1px solid #dce2eb; border-radius: 11px; background: #fff; }
.admin-search-bar > i { margin-left: .45rem; color: #718096; }
.admin-search-bar input { flex: 1; min-width: 120px; padding: .55rem 0; border: 0; outline: 0; background: transparent; }
.admin-table-card { overflow: hidden; border: 1px solid #dce2eb; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(30, 41, 59, .05); }
.admin-data-table th { padding: .9rem 1rem; color: #718096; border-bottom-color: #e5e9ef; background: #f7f9fb; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.admin-data-table td { padding: .9rem 1rem; color: #475569; border-color: #edf0f4; vertical-align: middle; font-size: .78rem; }
.admin-data-table td:first-child strong, .admin-data-table td:first-child small { display: block; }
.admin-data-table td:first-child strong { color: #1e293b; }
.admin-data-table td:first-child small { margin-top: .2rem; color: #7b8799; }
.public-code-badge { display: inline-flex; padding: .34rem .5rem; color: #245d95; border-radius: 6px; background: #eaf3fc; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7rem; font-weight: 800; }
.admin-empty-row { padding: 2.5rem !important; text-align: center; }
.admin-results-note { margin-top: .75rem; color: #718096; font-size: .72rem; }
.admin-users-table { min-width: 1040px; }
.user-status-badge { display: inline-flex; padding: .3rem .52rem; border-radius: 99px; font-size: .6rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.user-status-badge.is-active { color: #17663a; background: #e1f5e9; }
.user-status-badge.is-suspended { color: #875313; background: #fff1d6; }
.user-status-badge.is-archived { color: #8b2f36; background: #fde8e9; }
.archive-code { display: block; margin-top: .35rem; color: #7b8799; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .58rem; white-space: nowrap; }
.user-status-row.user-status-archived { background: #fcf7f7; }
.user-status-row.user-status-suspended { background: #fffdf7; }
.admin-user-actions { display: flex; flex-wrap: wrap; gap: .4rem; min-width: 220px; }
.admin-user-actions form { margin: 0; }
.admin-user-actions .btn { white-space: nowrap; }
.admin-confirm-modal { overflow: hidden; border: 0; border-radius: 14px; box-shadow: 0 24px 70px rgba(15, 23, 42, .28); }
.admin-confirm-modal .modal-body { padding: 1.6rem 1.5rem 1.1rem; text-align: center; }
.admin-confirm-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 1rem; color: #a33c28; border-radius: 50%; background: #fdebe7; font-size: 1.35rem; }
.admin-confirm-modal h2 { margin: 0 0 .55rem; color: #1e293b; font-size: 1.15rem; }
.admin-confirm-modal p { margin: 0; color: #64748b; font-size: .8rem; line-height: 1.6; }
.admin-confirm-modal .modal-footer { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; padding: 1rem 1.5rem 1.4rem; border-top: 0; }
.admin-confirm-modal .modal-footer .btn { margin: 0; }
.admin-agencies-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.admin-agency-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1.2rem; border: 1px solid #dce2eb; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(30, 41, 59, .05); }
.admin-agency-map { display: grid; place-items: center; width: 48px; height: 48px; color: #2764a2; border-radius: 10px; background: #eaf3fc; }
.admin-agency-card h3 { margin: .25rem 0; font-size: .95rem; }
.admin-agency-card p { margin: 0; color: #718096; font-size: .73rem; }
.agency-status { color: #23844b; font-size: .63rem; font-weight: 800; text-transform: uppercase; }
.agency-status i { margin-right: .25rem; font-size: .45rem; }
.agency-withdrawals { padding-left: 1rem; border-left: 1px solid #e5e9ef; text-align: right; }
.agency-withdrawals strong, .agency-withdrawals span { display: block; }
.agency-withdrawals strong { color: #1e293b; font-size: 1.2rem; }
.agency-withdrawals span { color: #718096; font-size: .65rem; }
.admin-crud-layout { display: grid; grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr); gap: 1.2rem; align-items: start; }
.admin-editor-card {
    position: sticky;
    top: 88px;
    max-height: calc(100vh - 112px);
    padding: 1.25rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.admin-editor-card::-webkit-scrollbar { width: 8px; }
.admin-editor-card::-webkit-scrollbar-track { background: #f1f4f7; border-radius: 99px; }
.admin-editor-card::-webkit-scrollbar-thumb { background: #aeb9c8; border: 2px solid #f1f4f7; border-radius: 99px; }
.admin-editor-card::-webkit-scrollbar-thumb:hover { background: #8290a4; }
.admin-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; padding-bottom: 1rem; border-bottom: 1px solid #e8ecf1; }
.admin-editor-heading span { color: #718096; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-editor-heading h3 { margin: .25rem 0 0; font-size: 1.1rem; }
.admin-editor-form { display: grid; gap: .95rem; }
.admin-editor-form .form-label { margin-bottom: .35rem; color: #475569; font-size: .72rem; font-weight: 700; }
.admin-editor-form .form-label small { color: #8491a3; font-weight: 500; }
.admin-editor-form .form-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-form-checks { display: flex; flex-wrap: wrap; gap: 1rem; }
.catalog-image-field { display: grid; gap: .5rem; padding: .8rem; border: 1px dashed #cfd7e3; border-radius: 9px; background: #f8fafc; }
.catalog-image-field > img { width: 100%; max-height: 170px; object-fit: cover; border-radius: 7px; }
.catalog-image-field > small { color: #718096; font-size: .66rem; }
.catalog-image-field .form-check { margin: 0; }
.admin-catalog-list { display: grid; gap: 1rem; }
.admin-catalog-list .admin-catalog-card { padding-top: 1.1rem; }
.catalog-card-media { display: grid; place-items: center; width: 100%; height: 150px; margin-bottom: 1rem; overflow: hidden; color: #2764a2; border-radius: 9px; background: #eaf3fc; font-size: 2.2rem; }
.catalog-card-media img { width: 100%; height: 100%; object-fit: cover; }
.catalog-status { display: inline-flex; padding: .28rem .48rem; color: #7a4b12; border-radius: 99px; background: #fff1d6; font-size: .58rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.catalog-status.is-active { color: #17663a; background: #e1f5e9; }
.admin-catalog-card.is-inactive, .admin-agency-card.is-inactive { opacity: .72; }
.admin-catalog-card-head small { display: block; margin-top: .25rem; color: #8591a2; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .65rem; }
.admin-crud-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #edf0f4; }
.admin-crud-actions form { margin: 0; }
.admin-agency-crud-card { grid-template-columns: auto minmax(0, 1fr) auto; }
.admin-agency-map { overflow: hidden; }
.admin-agency-map img { width: 100%; height: 100%; object-fit: cover; }
.agency-crud-actions { grid-column: 1 / -1; margin-top: .2rem; }
.pack-card-image { width: calc(100% + 2.6rem); height: 160px; margin: -1.3rem -1.3rem 1.2rem; object-fit: cover; border-radius: 12px 12px 0 0; }
.order-row-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

@media (max-width: 900px) {
    .admin-catalog-grid, .admin-agencies-grid, .admin-crud-layout { grid-template-columns: 1fr; }
    .admin-editor-card { position: static; max-height: none; overflow: visible; scrollbar-gutter: auto; }
}
@media (max-width: 640px) {
    .admin-header-identity span { display: none; }
    .admin-catalog-section { padding-top: 1.5rem; }
    .admin-catalog-metrics { grid-template-columns: 1fr; }
    .admin-search-bar { align-items: stretch; flex-wrap: wrap; }
    .admin-search-bar input { width: calc(100% - 40px); }
    .admin-search-bar .btn { flex: 1; }
    .admin-editor-form .form-row-3 { grid-template-columns: 1fr; }
    .admin-agency-card { grid-template-columns: auto minmax(0, 1fr); }
    .agency-withdrawals { grid-column: 1 / -1; padding: .8rem 0 0; border-top: 1px solid #e5e9ef; border-left: 0; text-align: left; }
}

/* Professional low-light surfaces shared by the application pages. */
body, .page-wrapper, .main-content { background: #e7ebe7; }
.expertise-section { background: #e9ede9; }
.packs-section { background: #dfe5e0; }
.profile-page-section,
.checkout-section,
.orders-section,
.confirmation-section {
    background: linear-gradient(180deg, #e9ede9, #dfe5e0);
}
.auth-wrapper {
    background: radial-gradient(ellipse at 12% 10%, rgba(38, 116, 59, .1), transparent 42%),
        radial-gradient(ellipse at 88% 90%, rgba(184, 77, 16, .08), transparent 44%), #e5eae5;
}
.centered-card,
.profile-sidebar-card,
.settings-card,
.checkout-card,
.confirmation-card,
.order-row,
.empty-orders,
.dashboard-card,
.pack-card {
    border-color: #cfd8d1;
    border-radius: 12px;
    background: #f7f9f7;
    box-shadow: 0 12px 28px rgba(16, 32, 21, .07);
}
.pack-card.pack-card-featured {
    color: #fff;
    border-color: #337943;
    background: linear-gradient(145deg, #142f1d, #246638);
    box-shadow: 0 20px 42px rgba(20, 60, 31, .2);
}
.centered-card { border-radius: 12px; }
.settings-card-header,
.checkout-card-heading,
.confirmation-card > div,
.pack-features { border-color: #d9e0da; }
.payment-method { border-radius: 9px; background: #f2f5f2; }
.payment-method:hover,
.payment-method:has(input:checked) { background: #edf4ee; }
.order-row { transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.order-row:hover { transform: translateY(-2px); border-color: #aebdb1; box-shadow: 0 16px 32px rgba(16, 32, 21, .1); }
.empty-orders { background: rgba(247, 249, 247, .86); }
.hero-media { border-radius: 12px; }

.app-footer { padding: 3rem 0 0; background: #000; color: #abb6ad; border-top: 3px solid #26743b; }
.app-footer .footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 2.5rem;
    align-items: start;
    text-align: left;
    padding-bottom: 2.5rem;
    color: #abb6ad;
}
.footer-brand-column p { font-size: .8rem; line-height: 1.9; margin: 1rem 0; }
.footer-signature { color: #dc8a52; font-size: .73rem; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.app-footer h2 { color: #f2f5f2; font-size: .85rem; font-weight: 600; margin: .9rem 0 .9rem; letter-spacing: 0; }
.footer-links a { color: #abb6ad; font-size: .8rem; }
.footer-links a:hover { color: #ef9a5e; text-decoration: none; }
.footer-expertise p { display: flex; gap: .7rem; align-items: center; font-size: .78rem; margin-bottom: .85rem; }
.footer-expertise i { color: #76ab7d; }
.app-footer .footer-bottom { display: flex; flex-direction: row; justify-content: space-between; gap: 1rem; border-top: 1px solid #242b25; padding-top: 1.25rem; padding-bottom: 1.25rem; color: #86948a; font-size: .7rem; }

@media (max-width: 1280px) {
    .header-action-label, .header-profile-copy { display: none; }
    .header-action, .header-profile { width: 42px; height: 42px; padding: 0; }
    .header-profile { justify-content: center; }
}

@media (max-width: 1100px) {
    .business-hero-grid,
    .checkout-grid { grid-template-columns: 1fr; }
    .hero-media { width: 100%; max-width: 720px; }
    .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .order-summary { position: static; }
    .app-footer .footer-grid { grid-template-columns: 1.3fr 1fr; gap: 2rem; }
    .footer-brand-column { grid-column: 1 / -1; }
}

@media (max-width: 1023.98px) {
    .app-nav { padding-inline: 1.25rem; }
    .business-hero { padding: 4.5rem 0; }
    .business-hero-grid { gap: 2.5rem; }
    .business-hero-copy h2 { font-size: clamp(2.65rem, 6.5vw, 3.7rem); }
    .expertise-section,
    .packs-section,
    .profile-page-section,
    .checkout-section,
    .orders-section { padding: 4rem 0; }
    .profile-layout { gap: 1.5rem; }
    .profile-sidebar-card,
    .settings-card,
    .checkout-card { padding: 1.75rem; }
    .section-heading h2,
    .packs-heading h2 { font-size: clamp(1.8rem, 4vw, 2.35rem); }
    .checkout-heading h2 { font-size: clamp(2.15rem, 5vw, 3rem); }
    .confirmation-container h2,
    .orders-heading h2 { font-size: 2.25rem; }
}

@media (min-width: 761px) and (max-width: 900px) {
    .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .expertise-card { min-height: 260px; }
}

@media (max-width: 900px) {
    .order-row {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 1rem;
    }
    .order-row-status,
    .order-row-total { grid-column: 2; text-align: left; }
    .order-row-total { min-width: 0; }
}

@media (max-width: 760px) {
    .app-nav { min-height: 64px; height: 64px; padding: .55rem 1rem; gap: .75rem; }
    .header-auth-actions { gap: .8rem; }
    .header-welcome-copy > span { font-size: .92rem; }
    .header-welcome-copy time { font-size: .72rem; }
    .business-hero { padding: 3.5rem 0; }
    .business-hero-grid { gap: 2rem; }
    .business-hero-copy h2 { font-size: clamp(2.1rem, 8vw, 2.6rem); line-height: 1.08; letter-spacing: -.04em; }
    .business-hero-copy > p { font-size: 1rem; line-height: 1.65; }
    .theme-pills span { font-size: .84rem; }
    .hero-media { aspect-ratio: 16 / 11; }
    .expertise-section,
    .packs-section,
    .profile-page-section,
    .checkout-section,
    .orders-section,
    .confirmation-section { padding: 3.25rem 0; }
    .section-heading,
    .orders-heading { margin-bottom: 2rem; }
    .section-heading h2,
    .packs-heading h2,
    .orders-heading h2 { font-size: 1.8rem; line-height: 1.18; }
    .section-heading p,
    .packs-heading > p { font-size: .95rem; line-height: 1.65; }
    .expertise-grid,
    .packs-grid { grid-template-columns: 1fr; }
    .expertise-card { min-height: 0; padding: 1.55rem; }
    .expertise-icon { margin-bottom: 2.4rem; }
    .expertise-card h3 { font-size: 1.25rem; }
    .expertise-card p { font-size: .95rem; }
    .packs-heading { margin-bottom: 2.25rem; }
    .pack-card { padding: 1.5rem; }
    .pack-card h3 { font-size: 1.4rem; }
    .pack-description,
    .pack-features li { font-size: .9rem; }
    .pack-price strong { font-size: 2.2rem; }
    .pack-price small { font-size: .72rem; }
    .profile-layout,
    .profile-details-grid { gap: 1.25rem; }
    .profile-sidebar-card,
    .settings-card,
    .checkout-card,
    .order-summary { padding: 1.4rem; }
    .settings-card-header h3,
    .checkout-card-heading h2 { font-size: 1.2rem; }
    .checkout-heading { margin-bottom: 2rem; }
    .checkout-heading h2 { font-size: 2rem; line-height: 1.15; }
    .checkout-heading p { font-size: .95rem; }
    .confirmation-container h2 { font-size: 2rem; line-height: 1.15; }
    .confirmation-lead { font-size: .95rem; }
    .confirmation-card { padding-inline: 1.35rem; }
    .order-row { padding: 1rem; }
    .order-reference { overflow-wrap: anywhere; }
    .order-reference,
    .order-row-total span { font-size: .72rem; }
    .status-badge { font-size: .78rem; }
    .empty-orders { margin-block: 1rem; padding: 3rem 1.5rem; }
    .form-control { font-size: 1rem; }
    .btn { min-height: 44px; font-size: .94rem; }
    .checkout-submit { height: auto; white-space: normal; text-align: center; }
    .payment-disclaimer,
    .order-once { font-size: .78rem; line-height: 1.55; }
    .app-footer .footer-grid { gap: 1.5rem; }
    .footer-brand-column p,
    .footer-links a,
    .footer-expertise p { font-size: .86rem; }
    .footer-signature { font-size: .8rem; }
    .app-footer h2 { font-size: .95rem; }
    .app-footer .footer-bottom { flex-direction: column; align-items: flex-start; gap: .4rem; font-size: .78rem; text-align: left; }
}

@media (max-width: 520px) {
    .app-nav { padding-inline: .8rem; gap: .4rem; }
    .header-welcome { gap: .55rem; }
    .header-actions { flex-shrink: 0; gap: 0; }
    .header-action, .header-profile { width: 38px; height: 38px; }
    .user-avatar { width: 34px; height: 34px; font-size: .85rem; }
    .header-auth-actions { justify-content: center; }
    .main-content > section > .container { padding-inline: 1rem; }
    .business-hero { padding: 3rem 0; }
    .business-hero-copy h2 { font-size: clamp(1.95rem, 9vw, 2.3rem); }
    .business-hero-copy > p { font-size: .96rem; }
    .hero-actions { gap: .7rem; }
    .hero-actions .btn { width: 100%; }
    .theme-pills { gap: .5rem; margin-bottom: 1.75rem; }
    .theme-pills span { padding: .48rem .68rem; font-size: .8rem; }
    .hero-media { aspect-ratio: 4 / 3; }
    .expertise-section,
    .packs-section,
    .profile-page-section,
    .checkout-section,
    .orders-section,
    .confirmation-section { padding: 2.75rem 0; }
    .section-heading h2,
    .packs-heading h2,
    .orders-heading h2 { font-size: 1.6rem; }
    .eyebrow { font-size: .72rem; letter-spacing: .1em; }
    .expertise-card,
    .pack-card,
    .profile-sidebar-card,
    .settings-card,
    .checkout-card,
    .order-summary { padding: 1.25rem; }
    .expertise-icon { width: 46px; height: 46px; margin-bottom: 2rem; font-size: 1.2rem; }
    .pack-price strong { font-size: 2rem; }
    .pack-action { width: 100%; }
    .profile-page-section .section-heading .btn { width: 100%; }
    .checkout-heading h2,
    .confirmation-container h2 { font-size: 1.75rem; }
    .checkout-card-heading { gap: .75rem; }
    .checkout-card-heading > span { flex-basis: 34px; height: 34px; }
    .payment-method { grid-template-columns: auto minmax(0, 1fr) auto; gap: .7rem; padding: .85rem; }
    .payment-method input { position: absolute; opacity: 0; }
    .payment-method-icon { width: 38px; height: 38px; }
    .payment-method small { font-size: .76rem; line-height: 1.45; }
    .confirmation-card > div { gap: .3rem; }
    .confirmation-card strong { overflow-wrap: anywhere; }
    .confirmation-actions .btn { width: 100%; }
    .order-row-icon { width: 46px; height: 46px; }
    .order-row-main h2 { font-size: 1rem; }
    .empty-orders { padding: 2.5rem 1.1rem; }
    .auth-wrapper { min-height: 0; padding: 2rem 1rem; }
    .centered-card { padding: 1.6rem 1.15rem; }
    .auth-wrapper h2 { font-size: 1.65rem; }
    .auth-brand-block .brand-artwork { width: 170px; }
    .app-footer { padding-top: 2rem; }
    .app-footer .footer-grid { grid-template-columns: 1fr; }
    .footer-brand-column { grid-column: auto; }
}

@media (max-width: 380px) {
    .app-nav { padding-inline: .65rem; }
    .header-welcome-copy time { display: none; }
    .header-welcome-copy > span { font-size: .86rem; }
    .sidebar-toggle,
    .header-action,
    .header-profile { width: 36px; height: 36px; }
    .user-avatar { width: 32px; height: 32px; }
    .business-hero-copy h2 { font-size: 1.85rem; }
    .section-heading h2,
    .packs-heading h2,
    .orders-heading h2 { font-size: 1.5rem; }
    .pack-card,
    .expertise-card,
    .settings-card,
    .checkout-card,
    .order-summary { padding: 1.1rem; }
    .form-label-row { align-items: flex-start; flex-direction: column; gap: .25rem; }
}

/* Crypto checkout */
.crypto-methods { display: grid; gap: .9rem; }
.crypto-method {
    overflow: hidden;
    background: #f7f9f7;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.crypto-method:hover,
.crypto-method:has(input:checked) { border-color: #8ca290; box-shadow: 0 10px 24px rgba(16, 32, 21, .08); transform: translateY(-1px); }
.crypto-method-select {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    gap: .85rem;
    align-items: center;
    padding: 1rem;
    cursor: pointer;
}
.crypto-method-select input { width: 18px; height: 18px; accent-color: var(--brand-primary); }
.crypto-method-select strong,
.crypto-method-select small { display: block; }
.crypto-method-select small { margin-top: .1rem; color: var(--text-muted); font-size: .77rem; }
.crypto-symbol {
    display: grid;
    place-items: center;
    width: 48px;
    height: 38px;
    color: #fff;
    background: #173e24;
    border-radius: 7px;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
}
.crypto-check { color: var(--brand-primary); opacity: 0; transition: opacity .2s ease; }
.crypto-method:has(input:checked) .crypto-check { opacity: 1; }
.crypto-address-row {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1rem;
    background: #fff;
    border-top: 1px solid var(--border-color);
}
.crypto-address-row code { min-width: 0; flex: 1; color: #243229; font-size: .82rem; overflow-wrap: anywhere; }
.crypto-copy-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 38px;
    padding: .45rem .75rem;
    color: #173e24;
    background: #edf4ee;
    border: 1px solid #cbd8cd;
    border-radius: 7px;
    font-size: .78rem;
    font-weight: 700;
}
.crypto-copy-button:hover,
.crypto-copy-button.is-copied { color: #fff; background: #173e24; border-color: #173e24; }
.crypto-copy-feedback {
    min-height: 0;
    max-height: 0;
    margin: 0;
    padding: 0 1rem;
    color: #166534;
    background: #f0fdf4;
    font-size: .78rem;
    font-weight: 700;
    opacity: 0;
    overflow: hidden;
    transition: max-height .2s ease, padding .2s ease, opacity .2s ease;
}
.crypto-copy-feedback.is-visible { max-height: 46px; padding-block: .65rem; opacity: 1; }
.crypto-copy-feedback.is-error { color: #991b1b; background: #fef2f2; }
.payment-proof-upload {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 108px;
    padding: 1.25rem;
    background: #f7f9f7;
    border: 1px dashed #9bad9f;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}
.payment-proof-upload:hover { background: #edf4ee; border-color: var(--brand-primary); }
.payment-proof-upload.has-error { border-color: var(--danger); }
.payment-proof-upload > i { color: var(--brand-primary); font-size: 1.75rem; }
.payment-proof-upload strong,
.payment-proof-upload small { display: block; }
.payment-proof-upload small { margin-top: .2rem; color: var(--text-muted); font-size: .78rem; overflow-wrap: anywhere; }
.payment-proof-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.status-pending_review { color: #075985; background: #e0f2fe; }
.status-approved { color: #166534; background: #dcfce7; }
.status-rejected { color: #991b1b; background: #fee2e2; }
.status-text-approved { color: #166534; }
.status-text-rejected { color: #991b1b; }
.confirmation-icon-pending_review { background: #0e7490; box-shadow: 0 12px 30px rgba(14, 116, 144, .22); }
.confirmation-icon-rejected { background: #b91c1c; box-shadow: 0 12px 30px rgba(185, 28, 28, .2); }
.confirmation-notice-danger { color: #991b1b; background: #fef2f2; border-color: #fecaca; }

/* Crypto payment administration */
.admin-login-section,
.admin-payments-section { min-height: 72vh; padding: 4rem 0; background: #eef2ef; }
.admin-login-container { max-width: 520px; }
.admin-login-card { padding: 2rem; background: #fff; border: 1px solid var(--border-color); border-radius: 10px; box-shadow: 0 18px 45px rgba(16, 32, 21, .1); }
.admin-login-card h2 { margin: .45rem 0 .5rem; font-size: 2rem; }
.admin-login-card > p { margin-bottom: 1.5rem; color: var(--text-muted); }
.admin-login-card .auth-form { display: grid; gap: 1rem; }
.admin-login-card .btn { justify-content: center; margin-top: .25rem; }
.admin-payments-heading { display: flex; justify-content: space-between; gap: 1.5rem; align-items: flex-end; margin-bottom: 2rem; }
.admin-payments-heading h2 { margin: .35rem 0 0; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.admin-payments-heading p { margin: .25rem 0 0; color: var(--text-muted); }
.admin-payment-list { display: grid; gap: 1rem; }
.admin-payment-card { padding: 1.35rem; background: #fff; border: 1px solid var(--border-color); border-radius: 10px; box-shadow: 0 8px 24px rgba(16, 32, 21, .06); }
.admin-payment-summary { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.admin-payment-summary h2 { margin: .2rem 0; font-size: 1.25rem; }
.admin-payment-summary p { margin: 0; color: var(--text-muted); font-size: .84rem; }
.admin-payment-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 1rem 0; background: var(--border-color); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; }
.admin-payment-details > div { padding: .85rem 1rem; background: #f8faf8; }
.admin-payment-details span,
.admin-payment-details strong { display: block; }
.admin-payment-details span { color: var(--text-muted); font-size: .7rem; }
.admin-payment-details strong { margin-top: .18rem; font-size: .88rem; overflow-wrap: anywhere; }
.payment-proof-link { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 1rem; font-weight: 700; }
.payment-review-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; padding-top: 1rem; border-top: 1px solid var(--border-color); }
.payment-review-actions { display: flex; gap: .6rem; }
.admin-review-note { margin: .75rem 0 0; padding: .8rem 1rem; color: var(--text-muted); background: #f7f9f7; border-left: 3px solid #8ca290; }

/* Orders & fulfillment styling */
.order-row-expanded { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; gap: 1.25rem; align-items: center; }
.order-meta { font-size: .78rem; color: var(--text-muted); margin: .25rem 0 0; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.order-fulfillment-details { margin-top: .6rem; }
.badge-fulfillment { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .65rem; border-radius: 99px; font-size: .72rem; font-weight: 700; }
.badge-fulfillment.is-awaiting { color: #166534; background: #dcfce7; border: 1px solid #bbf7d0; }
.badge-fulfillment.is-withdrawn { color: #475569; background: #f1f5f9; border: 1px solid #cbd5e1; }

.fulfillment-message { margin-top: .5rem; padding: .65rem .85rem; border-radius: 8px; font-size: .8rem; display: flex; align-items: flex-start; gap: .55rem; line-height: 1.45; background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.fulfillment-message i { font-size: 1rem; flex-shrink: 0; margin-top: .05rem; }
.fulfillment-message.is-withdrawn { background: #f8fafc; border-color: #e2e8f0; color: #475569; }
.fulfillment-message.is-withdrawn i { color: #16a34a; }
.fulfillment-message.is-review { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.fulfillment-message.is-review i { color: #3b82f6; }
.fulfillment-message.is-pending { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.fulfillment-message.is-pending i { color: #f59e0b; }

.order-rejection-note { margin-top: .5rem; padding: .65rem .85rem; border-radius: 8px; font-size: .8rem; display: flex; align-items: flex-start; gap: .55rem; line-height: 1.45; background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.order-rejection-note i { font-size: 1rem; flex-shrink: 0; margin-top: .05rem; }

.order-row-actions { display: flex; align-items: center; gap: .5rem; justify-content: flex-end; }
.order-row-actions .btn { white-space: nowrap; }

/* Admin stats and fulfillment boxes */
.admin-user-pill { display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .85rem; background: #fff; border: 1px solid var(--border-color); border-radius: 99px; font-size: .82rem; font-weight: 600; color: #166534; }
.admin-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; }
.admin-stat-card { padding: 1.15rem 1.25rem; background: #fff; border: 1px solid var(--border-color); border-radius: 10px; box-shadow: 0 4px 12px rgba(16, 32, 21, .04); display: flex; flex-direction: column; gap: .35rem; }
.admin-stat-card .stat-number { font-size: 1.85rem; font-weight: 800; font-family: var(--font-heading); color: #102015; line-height: 1; }
.admin-stat-card .stat-label { font-size: .74rem; color: var(--text-muted); display: flex; align-items: center; gap: .35rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 600; }
.admin-stat-card.is-pending .stat-number { color: #d97706; }
.admin-stat-card.is-awaiting .stat-number { color: #16a34a; }
.admin-stat-card.is-withdrawn .stat-number { color: #475569; }

.admin-customer-info { color: var(--text-muted); font-size: .82rem; margin-top: .2rem; }
.admin-fulfillment-box { margin-top: 1rem; padding: 1rem 1.25rem; border-radius: 8px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.admin-fulfillment-box.status-fulfillment-awaiting_pickup { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.admin-fulfillment-box.status-fulfillment-withdrawn { background: #f8fafc; border: 1px solid #e2e8f0; color: #475569; }
.admin-fulfillment-box .fulfillment-info strong { display: block; font-size: .92rem; margin-bottom: .2rem; }
.admin-fulfillment-box .fulfillment-info p { margin: 0; font-size: .8rem; color: inherit; }
.admin-fulfillment-box .fulfillment-actions { display: flex; align-items: center; gap: .5rem; }

/* Direct sponsorship: readable cards on desktop, tablet and small phones. */
.referral-section { padding: 2.5rem 0 4rem; }
.referral-section .container { min-width: 0; }
.referral-pack-badge { display: inline-flex; padding: .65rem .9rem; border: 1px solid #b7cbbb; border-radius: 6px; background: #e4ede6; color: #234a2f; font-size: .9rem; font-weight: 700; }
.referral-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.referral-binary-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.referral-stat, .referral-panel, .referral-link-card { min-width: 0; border: 1px solid #cbd6ce; border-radius: 8px; background: #f7faf8; }
.referral-stat { display: grid; gap: .45rem; padding: 1.25rem; }
.referral-stat > span { color: #465a4b; font-size: .9rem; font-weight: 600; }
.referral-stat > strong { color: #153b23; font-size: clamp(1.6rem, 3vw, 2.25rem); font-family: var(--font-heading); }
.referral-stat small { color: #59685e; font-size: .8rem; }
.referral-stat.is-bonus { background: #173e24; border-color: #173e24; }
.referral-stat.is-bonus > span, .referral-stat.is-bonus small { color: #d1e4d6; }
.referral-stat.is-bonus > strong { color: white; }
.referral-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.referral-link-card { padding: 1.3rem; }
.referral-link-heading { display: flex; align-items: flex-start; gap: .85rem; margin-bottom: 1rem; }
.referral-link-heading > i { color: #245e36; font-size: 1.65rem; }
.referral-link-heading h2 { font-size: 1.15rem; margin: 0 0 .35rem; }
.referral-link-heading p { font-size: .85rem; line-height: 1.6; color: #506256; margin: 0; }
.referral-copy-row { display: flex; gap: .6rem; }
.referral-copy-row .form-control { min-width: 0; font-size: .85rem; }
.referral-copy-row .btn { flex-shrink: 0; white-space: nowrap; }
.referral-copy-feedback { min-height: 1.4em; margin: .5rem 0 0; color: #1c6633; font-size: .85rem; opacity: 0; }
.referral-copy-feedback.is-visible { opacity: 1; }
.referral-copy-feedback.is-error { color: #ac2430; }
.referral-explanation { display: flex; align-items: flex-start; gap: .8rem; padding: 1rem 0; color: #3d5144; font-size: .9rem; line-height: 1.7; }
.referral-explanation > i { margin-top: .2rem; flex-shrink: 0; }
.referral-explanation p { margin: 0; }
.referral-panel { padding: 1.4rem; margin-top: 1.25rem; }
.referral-panel-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .6rem; margin-bottom: 1rem; }
.referral-panel-heading h2 { margin: 0; font-size: 1.2rem; }
.referral-panel-heading > span { color: #506256; font-size: .85rem; }
.referral-empty { margin: 0; color: #506256; font-size: .9rem; line-height: 1.7; }
.referral-panel[id] { scroll-margin-top: 6rem; }
.referral-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #dce4de; border-radius: 6px; -webkit-overflow-scrolling: touch; }
.referral-table-scroll:focus-visible { outline: 2px solid #245e36; outline-offset: 3px; }
.referral-table { width: 100%; min-width: 560px; border-collapse: collapse; text-align: left; font-size: .85rem; color: #465a4b; }
.referral-table-bonus { min-width: 820px; }
.referral-table th, .referral-table td { padding: .9rem 1rem; vertical-align: middle; border-bottom: 1px solid #dce4de; }
.referral-table thead th { background: #e9f0eb; color: #365742; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.referral-table tbody th { color: #153b23; font-weight: 600; overflow-wrap: anywhere; min-width: 130px; max-width: 230px; }
.referral-table tbody tr:last-child > * { border-bottom: 0; }
.referral-table tbody tr:hover { background: #eef4ef; }
.referral-table small { display: block; margin-top: .3rem; color: #59685e; font-size: .75rem; overflow-wrap: anywhere; }
.referral-table-date { white-space: nowrap; }
.referral-table-hint { display: none; margin: 0 0 .65rem; color: #59685e; font-size: .8rem; }
.referral-side { display: inline-block; background: #e4ede6; color: #365742; border-radius: 4px; padding: .25rem .55rem; font-weight: 600; font-size: .75rem; }
.referral-table .referral-amount { color: #1c6633; font-weight: 700; white-space: nowrap; text-align: right; }
.referral-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; font-size: .85rem; }
.referral-locked { text-align: center; padding: 2rem 1.5rem; }
.referral-locked > i { display: block; font-size: 2rem; color: #245e36; margin-bottom: 1rem; }
.referral-locked h2 { font-size: 1.4rem; }
.referral-locked p { font-size: .95rem; line-height: 1.7; }
.referral-locked .btn { margin: .3rem; }
@media (max-width: 1199px) { .referral-links, .referral-binary-stats { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
    .referral-section { padding: 1.5rem 0 2.5rem; }
    .referral-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .referral-stat.is-bonus { grid-column: 1 / -1; }
    .referral-stat, .referral-panel, .referral-link-card { padding: 1rem; }
    .referral-table th, .referral-table td { padding: .75rem; }
    .referral-explanation { font-size: .85rem; }
}
@media (max-width: 380px) {
    .referral-copy-row { flex-direction: column; }
    .referral-stats { grid-template-columns: 1fr; }
}
@media (max-width: 1199px) { .referral-table-hint { display: block; } }

/* Withdrawal Scan Verification Page */
.withdrawal-scan-section { min-height: 75vh; padding: 3.5rem 0 5rem; background: linear-gradient(180deg, #eaf0eb 0%, #dbe6dc 100%); display: grid; place-items: center; }
.withdrawal-scan-container { max-width: 640px; margin: 0 auto; width: 100%; }
.withdrawal-result-card { background: #fff; border: 1px solid #cfd8d1; border-radius: 16px; padding: 2.25rem 2rem; box-shadow: 0 20px 48px rgba(16, 32, 21, .12); text-align: center; position: relative; overflow: hidden; }
.withdrawal-result-card.is-valid { border-top: 6px solid #16a34a; }
.withdrawal-result-card.is-used { border-top: 6px solid #dc2626; }
.withdrawal-result-card.is-invalid { border-top: 6px solid #e11d48; }

.withdrawal-result-icon { width: 72px; height: 72px; margin: 0 auto 1.25rem; border-radius: 50%; display: grid; place-items: center; font-size: 2.2rem; }
.withdrawal-result-card.is-valid .withdrawal-result-icon { background: #dcfce7; color: #16a34a; box-shadow: 0 8px 24px rgba(22, 163, 74, .2); }
.withdrawal-result-card.is-used .withdrawal-result-icon { background: #fee2e2; color: #dc2626; box-shadow: 0 8px 24px rgba(220, 38, 38, .2); }
.withdrawal-result-card.is-invalid .withdrawal-result-icon { background: #ffe4e6; color: #e11d48; box-shadow: 0 8px 24px rgba(225, 29, 72, .2); }

.badge-status-security { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .85rem; border-radius: 99px; font-size: .75rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; margin-bottom: .75rem; }
.badge-status-security.is-success { background: #dcfce7; color: #166534; border: 1px solid #86efac; }
.badge-status-security.is-danger { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }

.withdrawal-result-card h2 { font-size: 1.75rem; margin: 0 0 .5rem; color: #102015; font-family: var(--font-heading); }
.withdrawal-subtext { color: var(--text-muted); font-size: .9rem; margin-bottom: 1.5rem; line-height: 1.5; }
.withdrawal-security-stamp { display: inline-block; transform: rotate(-7deg); border: 3px dashed #dc2626; color: #dc2626; font-size: 1.5rem; font-weight: 900; letter-spacing: .18em; padding: .35rem 1.4rem; border-radius: 8px; margin: .5rem auto 1.5rem; text-transform: uppercase; opacity: .9; }

.withdrawal-details { text-align: left; background: #f8faf8; border: 1px solid #e2eae3; border-radius: 10px; margin: 1.5rem 0; overflow: hidden; }
.withdrawal-details > div { display: flex; justify-content: space-between; align-items: center; padding: .75rem 1rem; border-bottom: 1px solid #e8eee9; font-size: .88rem; }
.withdrawal-details > div:last-child { border-bottom: none; }
.withdrawal-details dt { color: var(--text-muted); font-weight: 500; display: flex; align-items: center; gap: .4rem; font-size: .82rem; margin: 0; }
.withdrawal-details dd { margin: 0; font-weight: 600; text-align: right; }

.withdrawal-pack-content { text-align: left; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; padding: 1.1rem 1.25rem; margin: 1.25rem 0; font-size: .88rem; color: #166534; }
.withdrawal-pack-content strong { display: block; margin-bottom: .5rem; font-size: .92rem; }
.withdrawal-pack-content ul { margin: 0; padding-left: 1.25rem; }
.withdrawal-pack-content li { margin-bottom: .3rem; }

.withdrawal-confirm-form { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border-color); }
.agent-login-prompt { margin-top: 1.5rem; padding: 1.25rem; background: #f8faf8; border: 1px solid #e2eae3; border-radius: 10px; text-align: left; }
.agent-login-info { display: flex; align-items: flex-start; gap: .85rem; margin-bottom: 1rem; }
.agent-login-info i { font-size: 1.6rem; color: #26743b; flex-shrink: 0; margin-top: .1rem; }
.agent-login-info strong { display: block; font-size: .95rem; margin-bottom: .2rem; color: #102015; }
.agent-login-info p { margin: 0; font-size: .82rem; color: var(--text-muted); line-height: 1.45; }
.withdrawal-footer-note { display: flex; align-items: center; justify-content: center; gap: .45rem; font-size: .74rem; color: #64748b; margin-top: 1.2rem; }

@media (max-width: 991px) {
    .admin-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .order-row-expanded { grid-template-columns: auto 1fr; }
    .order-row-status,
    .order-row-total,
    .order-row-actions { grid-column: 2; justify-content: flex-start; text-align: left; }
}

@media (max-width: 760px) {
    .crypto-address-row { align-items: stretch; flex-direction: column; }
    .crypto-copy-button { width: 100%; }
    .admin-payments-heading { align-items: flex-start; flex-direction: column; }
    .admin-payment-summary { flex-direction: column; }
    .admin-payment-details { grid-template-columns: 1fr; }
    .payment-review-form { grid-template-columns: 1fr; }
    .payment-review-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .admin-fulfillment-box { flex-direction: column; align-items: stretch; }
    .admin-fulfillment-box .fulfillment-actions { width: 100%; justify-content: stretch; }
    .admin-fulfillment-box .fulfillment-actions .btn { width: 100%; }
}

@media (max-width: 480px) {
    .admin-stats-grid { grid-template-columns: 1fr; }
    .crypto-method-select { grid-template-columns: auto auto minmax(0, 1fr); gap: .65rem; padding: .85rem; }
    .crypto-method-select input { position: absolute; opacity: 0; }
    .crypto-check { display: none; }
    .crypto-address-row { padding: .8rem; }
    .payment-proof-upload { align-items: flex-start; padding: 1rem; }
    .admin-login-section,
    .admin-payments-section { padding: 2.75rem 0; }
    .admin-login-card,
    .admin-payment-card { padding: 1.15rem; }
    .payment-review-actions { grid-template-columns: 1fr; }
    .withdrawal-result-card { padding: 1.5rem 1.15rem; }
    .withdrawal-details > div { flex-direction: column; align-items: flex-start; gap: .2rem; }
    .withdrawal-details dd { text-align: left; }
}
