:root {
    --ahp-primary: #5b42d6;
    --ahp-primary-dark: #4329bd;
    --ahp-accent: #ec4899;
    --ahp-ink: #172033;
    --ahp-muted: #64748b;
    --ahp-surface: #ffffff;
    --ahp-background: #f6f7fb;
    --ahp-border: #e2e8f0;
    --ahp-success: #168454;
    --ahp-warning: #a15c00;
    --ahp-radius: 1rem;
    --ahp-shadow: 0 12px 32px rgba(29, 38, 62, .08);
}

html { scroll-behavior: smooth; }
body.storefront-shell {
    min-height: 100vh;
    color: var(--ahp-ink);
    background:
        radial-gradient(circle at 90% 0, rgba(236, 72, 153, .08), transparent 24rem),
        radial-gradient(circle at 0 8rem, rgba(91, 66, 214, .09), transparent 28rem),
        var(--ahp-background);
}
.storefront-shell, .storefront-shell .btn, .storefront-shell .form-control,
.storefront-shell .form-select { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.storefront-navbar {
    margin: .75rem max(.75rem, env(safe-area-inset-right)) 0 max(.75rem, env(safe-area-inset-left));
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 1.15rem;
    background: linear-gradient(135deg,rgba(255,255,255,.88),rgba(247,243,255,.7));
    box-shadow: 0 12px 35px rgba(55,39,125,.12), inset 0 1px 0 rgba(255,255,255,.9);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
}
.storefront-brand { color: var(--ahp-ink); letter-spacing: -.02em; }
.storefront-logo { display: block; width: clamp(9rem,15vw,11.875rem); height: 3.25rem; object-fit: contain; object-position: left center; }
.brand-mark {
    display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem;
    border-radius: .8rem; color: white; font-weight: 800;
    background: linear-gradient(135deg, var(--ahp-primary), var(--ahp-accent));
    box-shadow: 0 8px 20px rgba(91, 66, 214, .24);
}
.storefront-navbar .nav-link { color: #475569; font-weight: 600; border-radius: .65rem; }
.storefront-navbar .nav-link:hover, .storefront-navbar .nav-link:focus-visible { color: var(--ahp-primary); background: #f0edff; }
.btn-ahp {
    --bs-btn-color: #fff; --bs-btn-bg: var(--ahp-primary); --bs-btn-border-color: var(--ahp-primary);
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--ahp-primary-dark); --bs-btn-hover-border-color: var(--ahp-primary-dark);
    --bs-btn-focus-shadow-rgb: 91,66,214; --bs-btn-active-bg: var(--ahp-primary-dark);
    min-height: 2.75rem; font-weight: 700; border-radius: .75rem;
}
.btn-outline-ahp {
    --bs-btn-color: var(--ahp-primary); --bs-btn-border-color: #c4b9ff;
    --bs-btn-hover-color: var(--ahp-primary-dark); --bs-btn-hover-bg: #f0edff; --bs-btn-hover-border-color: #a99afd;
    min-height: 2.75rem; font-weight: 700; border-radius: .75rem;
}
.storefront-main { padding-top: 2rem; padding-bottom: 6rem; }
.storefront-hero {
    overflow: hidden; position: relative; padding: clamp(1.5rem, 4vw, 3.5rem);
    border: 1px solid rgba(91, 66, 214, .12); border-radius: 1.4rem;
    background: linear-gradient(135deg, #fff 10%, #f2efff 62%, #fff0f7);
    box-shadow: var(--ahp-shadow);
}
.storefront-hero-split { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(21rem, .95fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.quick-order-panel { position: relative; z-index: 2; min-height: 31rem; padding: 1.1rem; border: 1px solid rgba(91,66,214,.15); border-radius: 1.1rem; background: rgba(255,255,255,.92); box-shadow: 0 18px 42px rgba(54,38,128,.12); }
.quick-product-section { padding: .15rem .15rem 1rem; border-bottom: 1px solid var(--ahp-border); }
.quick-product-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(8.5rem,1fr)); gap: .5rem; padding: .15rem .2rem .15rem 0; }
.quick-product-option { position: relative; z-index: 3; display: flex; align-items: center; gap: .55rem; min-height: 2.9rem; padding: .45rem .6rem; overflow: hidden; color: #334155; font-size: .82rem; font-weight: 700; text-align: left; cursor: pointer; touch-action: manipulation; border: 1px solid var(--ahp-border); border-radius: .75rem; background: white; }
.quick-product-option > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-product-option.is-overflow-hidden { display: none; }
.quick-product-more .quick-product-mini-icon { background: #eef0f5; color: var(--ahp-primary); }
.quick-product-more svg { width: 1.05rem; height: 1.05rem; fill: currentColor; }
.quick-product-option:hover, .quick-product-option:focus-visible, .quick-product-option.is-selected { color: var(--ahp-primary-dark); border-color: var(--ahp-primary); background: #f2efff; outline: 0; box-shadow: 0 0 0 .16rem rgba(91,66,214,.1); }
.quick-product-mini-icon { display: grid; place-items: center; width: 1.85rem; height: 1.85rem; flex: 0 0 1.85rem; color: white; border-radius: .55rem; background: linear-gradient(135deg,var(--ahp-primary),var(--ahp-accent)); }
.quick-product-mini-icon.has-image { overflow: hidden; background: #f3efff; }
.quick-product-mini-icon img { width: 100%; height: 100%; padding: .12rem; object-fit: contain; }
.quick-order-header { padding: .2rem .2rem 1rem; border-bottom: 1px solid var(--ahp-border); }
.quick-order-body { max-height: 31rem; padding: 1rem .15rem .15rem; overflow-y: auto; scrollbar-width: thin; }
.quick-order-panel .field-block { padding: .75rem; }
.quick-order-panel .field-block .form-control, .quick-order-panel .field-block .form-select { min-height: 2.75rem; }
.quick-order-loading { display: grid; place-items: center; min-height: 24rem; color: var(--ahp-muted); text-align: center; }
.product-card.is-selected { border-color: var(--ahp-primary); box-shadow: 0 0 0 .18rem rgba(91,66,214,.12), var(--ahp-shadow); }
.storefront-hero::after {
    content: ""; position: absolute; width: 14rem; height: 14rem; right: -5rem; bottom: -7rem;
    border-radius: 50%; background: linear-gradient(135deg, rgba(91,66,214,.18), rgba(236,72,153,.18));
}
.eyebrow { color: var(--ahp-primary); font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.storefront-title { max-width: 14ch; font-weight: 800; letter-spacing: -.04em; line-height: 1.08; }
.catalog-search { position: relative; max-width: 34rem; }
.catalog-search .form-control { min-height: 3.25rem; padding-left: 2.9rem; border-radius: .9rem; border-color: var(--ahp-border); }
.catalog-search svg { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--ahp-muted); pointer-events: none; }
.storefront-account-card { max-width: 34rem; padding: 1rem; border: 1px solid rgba(91,66,214,.15); border-radius: 1rem; background: rgba(255,255,255,.82); box-shadow: 0 8px 24px rgba(54,38,128,.08); }
.storefront-account-card hr { margin: .8rem 0; border-color: var(--ahp-border); opacity: 1; }
.account-name { display: block; max-width: 22rem; overflow: hidden; font-size: 1.15rem; text-overflow: ellipsis; white-space: nowrap; }
.account-points { color: var(--ahp-primary); font-size: 1.65rem; font-weight: 800; letter-spacing: -.03em; }
.account-points span { font-size: .85rem; font-weight: 700; letter-spacing: 0; }
.notification-unread { border-left: .3rem solid var(--ahp-primary) !important; }
.mobile-bottom-nav { display: none; }
.product-sheet-modal .modal-dialog { max-width: 42rem; }
.product-sheet-modal .modal-content { overflow: hidden; border: 1px solid rgba(255,255,255,.76); border-radius: 1.35rem; background: rgba(255,255,255,.94); box-shadow: 0 24px 70px rgba(24,19,60,.22); backdrop-filter: blur(24px) saturate(150%); }
.product-sheet-modal .modal-header { padding: 1.15rem 1.25rem; border-color: var(--ahp-border); }
.product-sheet-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(8.5rem,1fr)); gap: .75rem; }
.product-sheet-option { display: flex; min-height: 5.75rem; align-items: center; justify-content: center; flex-direction: column; gap: .55rem; padding: .75rem; color: var(--ahp-ink); font-size: .8rem; font-weight: 700; text-align: center; border: 1px solid var(--ahp-border); border-radius: 1rem; background: rgba(255,255,255,.82); }
.product-sheet-option .quick-product-mini-icon { width: 2.5rem; height: 2.5rem; flex-basis: 2.5rem; border-radius: .75rem; }
.product-sheet-option:hover, .product-sheet-option:focus-visible, .product-sheet-option.is-selected { color: var(--ahp-primary-dark); border-color: var(--ahp-primary); background: #eeeaff; outline: 0; box-shadow: 0 0 0 .18rem rgba(91,66,214,.1); }
.product-card {
    position: relative; isolation: isolate;
    height: 100%; border: 1px solid var(--ahp-border); border-radius: var(--ahp-radius);
    background: var(--ahp-surface); box-shadow: 0 4px 18px rgba(29,38,62,.05);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.product-card:hover { border-color: #c4b9ff; box-shadow: var(--ahp-shadow); transform: translateY(-2px); }
.product-icon {
    display: grid; place-items: center; width: 3.25rem; height: 3.25rem; flex: 0 0 3.25rem;
    border-radius: .9rem; background: #f3f0ff; overflow: hidden;
}
.product-icon img { width: 2.6rem; height: 2.6rem; object-fit: contain; }
.flow-shell { max-width: 56rem; margin-inline: auto; }
.flow-card { border: 1px solid var(--ahp-border); border-radius: 1.15rem; background: white; box-shadow: var(--ahp-shadow); overflow: hidden; }
.flow-card-header { padding: 1.25rem 1.25rem 0; }
.flow-card-body { padding: 1.25rem; }
.flow-card-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--ahp-border); background: #fbfcfe; }
.flow-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: .45rem; list-style: none; padding: 0; margin: 0 0 1.5rem; }
.flow-step { color: var(--ahp-muted); font-size: .76rem; font-weight: 700; text-align: center; }
.flow-step::before { content: ""; display: block; height: .3rem; margin-bottom: .45rem; border-radius: 1rem; background: #dfe4ec; }
.flow-step.is-done, .flow-step.is-current { color: var(--ahp-primary); }
.flow-step.is-done::before, .flow-step.is-current::before { background: linear-gradient(90deg, var(--ahp-primary), var(--ahp-accent)); }
.field-block { padding: 1rem; border: 1px solid var(--ahp-border); border-radius: .9rem; background: #fff; }
.field-number { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-right: .45rem; border-radius: 50%; background: #eeeaff; color: var(--ahp-primary); font-size: .78rem; font-weight: 800; }
.field-block .form-control, .field-block .form-select { min-height: 3rem; border-radius: .7rem; }
.field-block .form-control:focus, .field-block .form-select:focus { border-color: #9e8cff; box-shadow: 0 0 0 .22rem rgba(91,66,214,.13); }
.provider-status { min-height: 1.4rem; }
.provider-status.is-success { color: var(--ahp-success); font-weight: 600; }
.summary-list { margin: 0; }
.summary-row { display: grid; grid-template-columns: minmax(8rem, 38%) 1fr; gap: 1rem; padding: .72rem 0; border-bottom: 1px dashed var(--ahp-border); }
.summary-row:last-child { border-bottom: 0; }
.summary-row dt { color: var(--ahp-muted); font-weight: 600; }
.summary-row dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.order-total { color: var(--ahp-primary-dark); font-size: 1.35rem; }
.status-banner { border: 0; border-left: .3rem solid currentColor; border-radius: .85rem; }
.intent-code { font-size: .75rem; word-break: break-all; }
.trust-note { color: var(--ahp-muted); font-size: .82rem; }
.empty-search { border: 1px dashed #bbc3d1; border-radius: 1rem; background: rgba(255,255,255,.7); }
.mobile-action { display: flex; gap: .75rem; align-items: center; justify-content: space-between; }
.payment-option { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; color: var(--ahp-ink); text-align: left; cursor: pointer; border: 1px solid var(--ahp-border); border-radius: .9rem; background: rgba(255,255,255,.9); transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.payment-option span { display: flex; min-width: 0; flex-direction: column; }
.payment-option small { color: var(--ahp-muted); font-weight: 500; }
.payment-option:hover,.payment-option:focus-visible { border-color: var(--ahp-primary); background: #f4f1ff; outline: 0; box-shadow: 0 0 0 .2rem rgba(91,66,214,.12); }
.payment-option.is-disabled { cursor: not-allowed; opacity: .68; background: #f5f6f8; }
.checkout-payment-fieldset { min-width: 0; margin: .25rem 0 0; padding: 0; border: 0; }
.checkout-payment-list { display: grid; gap: .55rem; }
.checkout-payment-placeholder { padding: .9rem; color: var(--ahp-muted); font-size: .875rem; text-align: center; border: 1px dashed var(--ahp-border); border-radius: .8rem; background: rgba(255,255,255,.55); }
.checkout-payment-option { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .7rem; align-items: center; min-height: 4.25rem; padding: .75rem; cursor: pointer; border: 1px solid var(--ahp-border); border-radius: .85rem; background: rgba(255,255,255,.88); transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.checkout-payment-option:hover,.checkout-payment-option:focus-within,.checkout-payment-option.is-selected { border-color: var(--ahp-primary); background: #f4f1ff; box-shadow: 0 0 0 .18rem rgba(91,66,214,.1); }
.checkout-payment-option.is-disabled { cursor: not-allowed; opacity: .62; background: #f5f6f8; box-shadow: none; }
.checkout-payment-option input { width: 1.15rem; height: 1.15rem; accent-color: var(--ahp-primary); }
.checkout-payment-copy { display: flex; min-width: 0; flex-direction: column; }
.checkout-payment-copy small { color: var(--ahp-muted); line-height: 1.35; }
.checkout-payment-total { color: var(--ahp-primary-dark); font-size: .9rem; white-space: nowrap; }
@media (max-width: 420px) { .checkout-payment-option { grid-template-columns: auto minmax(0,1fr); } .checkout-payment-total { grid-column: 2; } }

@media (max-width: 767.98px) {
    .storefront-main { padding-top: 1rem; padding-bottom: 7rem; }
    .storefront-hero { border-radius: 1rem; }
    .flow-shell { margin-inline: -.25rem; }
    .flow-card { border-radius: 1rem; }
    .flow-card-body, .flow-card-header { padding-inline: 1rem; }
    .flow-step { font-size: .68rem; }
    .summary-row { grid-template-columns: 1fr; gap: .2rem; }
    .mobile-action { align-items: stretch; flex-direction: column-reverse; }
    .mobile-action > *, .mobile-action form, .mobile-action .btn { width: 100%; }
    .storefront-account-card { max-width: none; }
    .hero-intro { display: none; }
    .storefront-hero { padding: .85rem; }
    .storefront-hero-split { gap: .85rem; }
    .product-sheet-modal .modal-dialog { align-items: flex-end; min-height: 100%; margin: 0; }
    .product-sheet-modal .modal-content { max-height: min(78vh,46rem); border-radius: 1.35rem 1.35rem 0 0; }
    .product-sheet-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
    .storefront-navbar { margin: .45rem; border-radius: 1rem; }
    .storefront-logo { width: 9.25rem; height: 2.9rem; }
    .mobile-bottom-nav { position: fixed; z-index: 1050; right: .55rem; bottom: max(.55rem,env(safe-area-inset-bottom)); left: .55rem; display: grid; grid-template-columns: repeat(4,1fr); min-height: 4.25rem; padding: .35rem max(.35rem,env(safe-area-inset-right)) .35rem max(.35rem,env(safe-area-inset-left)); border: 1px solid rgba(255,255,255,.76); border-radius: 1.15rem; background: linear-gradient(135deg,rgba(255,255,255,.9),rgba(243,238,255,.78)); box-shadow: 0 -4px 30px rgba(55,39,125,.16),inset 0 1px 0 rgba(255,255,255,.92); backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%); }
    .mobile-nav-item { display: flex; min-width: 0; min-height: 3.5rem; align-items: center; justify-content: center; flex-direction: column; gap: .15rem; color: #7b8190; font-size: .69rem; font-weight: 700; text-decoration: none; border-radius: .75rem; }
    .mobile-nav-item.is-active { color: var(--ahp-primary); background: #f2efff; }
    .mobile-nav-icon { position: relative; display: block; width: 1.55rem; height: 1.55rem; }
    .mobile-nav-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .mobile-nav-badge { position: absolute; top: -.5rem; right: -.9rem; min-width: 1.2rem; padding: .08rem .25rem; color: white; font-size: .58rem; line-height: 1.1rem; text-align: center; border: 2px solid white; border-radius: 2rem; background: #ef4444; }
}

/* Public information and CMS pages */
.public-page-shell { width: min(100%,64rem); margin: 1rem auto 3rem; overflow: hidden; border: 1px solid rgba(91,66,214,.14); border-radius: 1.4rem; background: rgba(255,255,255,.92); box-shadow: var(--ahp-shadow); }
.public-page-hero { padding: clamp(1.6rem,5vw,3.4rem); color: white; background: linear-gradient(135deg,#563bd4,#7b56d7 58%,#e44ca0); }
.public-page-hero h1 { margin: .35rem 0 .65rem; font-size: clamp(2rem,6vw,3.4rem); font-weight: 850; letter-spacing: -.04em; }.public-page-hero p { max-width: 46rem; margin: 0; opacity: .88; font-size: 1.05rem; }
.public-page-content { padding: clamp(1.25rem,4vw,3rem); color: #3f495c; line-height: 1.75; }.public-page-content h2,.public-page-content h3 { margin-top: 2rem; color: var(--ahp-ink); font-weight: 800; }.public-page-content li { margin-bottom: .65rem; }.public-page-content a { overflow-wrap: anywhere; }
.testimonial-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }.testimonial-public-card { padding: 1.2rem; border: 1px solid var(--ahp-border); border-radius: 1rem; background: #fbfaff; }.testimonial-public-card small { color: var(--ahp-muted); }
.public-footer { display: grid; grid-template-columns: minmax(12rem,1fr) 2fr; gap: 2rem; max-width: 72rem; margin: 2rem auto 7rem; padding: 2rem 1rem; color: var(--ahp-muted); border-top: 1px solid var(--ahp-border); }.public-footer p { margin: .4rem 0 0; }.public-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .8rem 1.4rem; }.public-footer a { color: #4b5568; font-weight: 650; text-decoration: none; }.public-footer a:hover { color: var(--ahp-primary); }
@media(max-width:767.98px){.testimonial-grid{grid-template-columns:1fr}.public-footer{grid-template-columns:1fr}.public-footer nav{justify-content:flex-start;flex-direction:column}.public-page-shell{margin-top:.25rem;border-radius:1rem}}

/* Gate 11 admin workspace */
.admin-layout { display: grid; grid-template-columns: 15rem minmax(0,1fr); gap: 1.5rem; align-items: start; }
.admin-sidebar { position: sticky; top: 1rem; overflow: hidden; padding: .65rem; border: 1px solid rgba(91,66,214,.12); border-radius: 1rem; background: rgba(255,255,255,.9); box-shadow: var(--ahp-shadow); }
.admin-sidebar-title { padding: .55rem .65rem; color: var(--ahp-muted); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.admin-sidebar a { display: block; padding: .68rem .75rem; color: #475569; font-size: .88rem; font-weight: 650; text-decoration: none; border-radius: .7rem; }
.admin-sidebar a:hover,.admin-sidebar a:focus-visible,.admin-sidebar a.is-active { color: var(--ahp-primary-dark); background: #eeeaff; outline: 0; }
.admin-content { min-width: 0; }
.admin-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.admin-metric-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-metric-card { position: relative; min-height: 8.5rem; padding: 1.15rem; overflow: hidden; border: 1px solid var(--ahp-border); border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(55,39,125,.07); }
.admin-metric-card div { position: relative; z-index: 1; display: flex; height: 100%; justify-content: space-between; flex-direction: column; gap: .65rem; }
.admin-metric-card span { color: var(--ahp-muted); font-size: .78rem; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.admin-metric-card strong { color: var(--ahp-ink); font-size: clamp(1.25rem,2vw,1.8rem); line-height: 1.15; overflow-wrap: anywhere; }
.admin-metric-card i { position: absolute; right: -1rem; bottom: -1rem; width: 4.5rem; height: 4.5rem; border-radius: 50%; opacity: .12; background: currentColor; }
.admin-metric-card.tone-primary { color: var(--ahp-primary); border-top: .25rem solid var(--ahp-primary); }.admin-metric-card.tone-success { color: #198754; border-top: .25rem solid #198754; }.admin-metric-card.tone-warning { color: #d18a00; border-top: .25rem solid #f0ad00; }.admin-metric-card.tone-danger { color: #dc3545; border-top: .25rem solid #dc3545; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(18rem,.65fr); gap: 1rem; }
.admin-panel-card { padding: 1.15rem; overflow: hidden; border: 1px solid rgba(91,66,214,.12); border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: var(--ahp-shadow); }
.admin-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.admin-panel-head>span { color: var(--ahp-muted); font-size: .75rem; font-weight: 700; }.admin-panel-head>a { font-size: .82rem; font-weight: 700; }
.admin-bar-chart { display: flex; min-height: 14rem; align-items: flex-end; gap: clamp(.35rem,2vw,1rem); padding-top: 1.25rem; }
.admin-bar-item { display: grid; min-width: 0; flex: 1; gap: .4rem; color: var(--ahp-muted); font-size: .7rem; text-align: center; }.admin-bar-item>div { display: flex; height: 9rem; align-items: flex-end; justify-content: center; border-radius: .5rem; background: linear-gradient(to top,#f3f0ff,#faf9ff); }.admin-bar-item i { display: block; width: min(2.25rem,72%); min-height: .25rem; border-radius: .45rem .45rem .15rem .15rem; background: linear-gradient(to top,var(--ahp-primary-dark),var(--ahp-accent)); }.admin-bar-item strong { color: var(--ahp-ink); font-size: .78rem; }
.admin-summary-list { margin: 0; }.admin-summary-list>div { display: flex; justify-content: space-between; gap: 1rem; padding: .72rem 0; border-bottom: 1px solid #edf0f5; }.admin-summary-list>div:last-child { border-bottom: 0; }.admin-summary-list dt { color: var(--ahp-muted); font-weight: 550; }.admin-summary-list dd { margin: 0; font-weight: 750; text-align: right; }
.admin-record-table td small { display: block; margin-top: .15rem; color: var(--ahp-muted); font-size: .75rem; }
.admin-detail-grid { display: grid; grid-template-columns: minmax(10rem,30%) minmax(0,1fr); }
.admin-detail-grid dt,.admin-detail-grid dd { margin: 0; padding: .8rem .25rem; border-bottom: 1px solid #edf0f5; }
.admin-detail-grid dt { color: var(--ahp-muted); font-weight: 600; }
.admin-detail-grid dd { font-weight: 650; overflow-wrap: anywhere; }
@media (max-width: 1199.98px) { .admin-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) { .admin-layout { grid-template-columns: 1fr; }.admin-sidebar { position: static; display: flex; margin-inline: -.25rem; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; }.admin-sidebar-title { display: none; }.admin-sidebar a { flex: 0 0 auto; }.admin-metric-grid,.admin-metric-grid-three { grid-template-columns: 1fr; }.admin-metric-card { min-height: 6.75rem; }.admin-panel-card { padding: .9rem; }.admin-detail-grid { grid-template-columns: 1fr; }.admin-detail-grid dt { padding-bottom: .15rem; border-bottom: 0; }.admin-detail-grid dd { padding-top: .1rem; }.admin-record-table { min-width: 48rem; } }
.mobile-block-row{display:grid;grid-template-columns:auto minmax(8rem,.7fr) minmax(10rem,1fr) minmax(12rem,1.3fr) auto auto;gap:.55rem;align-items:center;padding:.7rem;border:1px solid rgba(91,66,214,.15);border-radius:.8rem;background:#fff;margin-bottom:.6rem}.mobile-drag{color:#7565d8;font-weight:800}.mobile-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.mobile-media-item{aspect-ratio:1;border:1px solid rgba(91,66,214,.2);border-radius:.75rem;background:#fff;padding:.25rem;overflow:hidden}.mobile-media-item:focus-visible{outline:3px solid rgba(91,66,214,.3)}.mobile-media-item img{width:100%;height:100%;object-fit:contain}@media(max-width:991.98px){.mobile-block-row{grid-template-columns:auto 1fr auto}.mobile-block-row [data-field=title],.mobile-block-row [data-field=items]{grid-column:2/-1}}
@media (max-width: 991.98px) {
    .storefront-hero-split { grid-template-columns: 1fr; }
    .quick-order-panel { min-height: auto; }
    .quick-order-body { max-height: none; overflow: visible; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Account and protected administration */
.account-main { max-width: 92rem; padding-bottom: 7rem !important; }
.account-page-head { display: flex; align-items: center; gap: .85rem; }
.account-back { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; color: var(--ahp-ink); font-size: 1.35rem; text-decoration: none; border: 1px solid var(--ahp-border); border-radius: .85rem; background: rgba(255,255,255,.8); }
.account-layout { display: grid; grid-template-columns: 15rem minmax(0,1fr); gap: 1.5rem; align-items: start; }
.account-menu,.account-info-card { overflow: hidden; border: 1px solid rgba(91,66,214,.12); border-radius: 1rem; background: rgba(255,255,255,.9); box-shadow: var(--ahp-shadow); }
.account-menu-title { padding: 1rem 1.15rem; color: var(--ahp-muted); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--ahp-border); }
.account-menu a { display: flex; justify-content: space-between; gap: .5rem; padding: .8rem 1.15rem; color: #475569; font-weight: 650; text-decoration: none; border-bottom: 1px solid #f0f2f6; }
.account-menu a:hover,.account-menu a:focus-visible,.account-menu a.is-active { color: var(--ahp-primary-dark); background: #eeeaff; outline: 0; }
.account-menu a span { color: var(--ahp-muted); font-size: .7rem; font-weight: 500; }
.account-admin-link { margin-top: .5rem; border-top: 1px solid var(--ahp-border); }
.account-identity-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 1rem; align-items: center; min-height: 11rem; padding: 1.5rem; overflow: hidden; color: white; border-radius: 1.2rem; background: linear-gradient(135deg,#5036d2,#6c63ea 65%,#ec4899); box-shadow: 0 18px 40px rgba(70,48,180,.2); }
.account-avatar { display: grid; place-items: center; width: 4.5rem; height: 4.5rem; font-size: 1.6rem; font-weight: 800; border: 2px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(255,255,255,.12); }
.account-balance { display: flex; flex-direction: column; align-items: flex-end; }
.account-balance span { opacity: .8; }
.account-balance strong { font-size: clamp(1.55rem,3vw,2.35rem); }
.account-balance small { font-size: .8rem; }
.account-actions { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: .75rem; width: calc(100% - 3rem); margin: -1.25rem auto 0; padding: 1rem; border: 1px solid rgba(91,66,214,.12); border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: var(--ahp-shadow); }
.account-actions a { display: flex; min-height: 4.4rem; align-items: center; justify-content: center; flex-direction: column; gap: .25rem; color: var(--ahp-ink); font-size: .8rem; font-weight: 700; text-decoration: none; border-radius: .8rem; }
.account-actions a:hover,.account-actions a:focus-visible { color: var(--ahp-primary); background: #f2efff; outline: 0; }
.account-actions strong { color: var(--ahp-primary); font-size: 1.15rem; }
.account-info-card { padding: 1.25rem; }
.account-info-list>div { display: grid; grid-template-columns: minmax(8rem,35%) 1fr; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid #edf0f5; }
.account-info-list>div:last-child { border-bottom: 0; }
.account-info-list dt { color: var(--ahp-muted); font-weight: 500; }.account-info-list dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.account-mobile-list { display: none; }
.account-filter-pills { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; }.account-filter-pills::-webkit-scrollbar { display: none; }
.account-filter-pills a { flex: 0 0 auto; padding: .55rem .9rem; color: #536078; font-size: .85rem; font-weight: 700; text-decoration: none; border: 1px solid var(--ahp-border); border-radius: 999px; background: rgba(255,255,255,.8); }
.account-filter-pills a.is-active { color: white; border-color: transparent; background: linear-gradient(135deg,var(--ahp-primary),#7c4fd0); }
.maintenance-shell { display: grid; min-height: 100vh; place-items: center; padding: 1.25rem; background: radial-gradient(circle at 15% 10%,#ebe7ff,transparent 35%),radial-gradient(circle at 90% 80%,#ffe8f4,transparent 34%); }.maintenance-card { width: min(100%,36rem); padding: clamp(1.5rem,6vw,3rem); text-align: center; border: 1px solid rgba(91,66,214,.16); border-radius: 1.6rem; background: rgba(255,255,255,.86); box-shadow: 0 24px 80px rgba(53,39,120,.16); backdrop-filter: blur(18px); }.maintenance-card img { width: min(70%,14rem); max-height: 5rem; margin-bottom: 2rem; object-fit: contain; }.maintenance-card h1 { margin: .45rem 0 .75rem; font-weight: 850; letter-spacing: -.035em; }.maintenance-card p { color: var(--ahp-muted); line-height: 1.65; }.maintenance-card small { display: block; margin-top: 1.25rem; color: var(--ahp-muted); }.maintenance-icon { display: grid; width: 3.5rem; height: 3.5rem; margin: 0 auto 1rem; place-items: center; color: white; font-size: 1.6rem; border-radius: 1rem; background: linear-gradient(135deg,var(--ahp-primary),#ec4899); }
.verification-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.verification-card { display: flex; gap: 1rem; min-height: 9rem; padding: 1.2rem; border: 1px solid rgba(91,66,214,.12); border-radius: 1rem; background: rgba(255,255,255,.92); box-shadow: var(--ahp-shadow); }
.verification-icon,.transfer-disabled-icon { display: grid; flex: 0 0 auto; place-items: center; width: 2.5rem; height: 2.5rem; color: #a16207; font-weight: 850; border-radius: .8rem; background: #fef3c7; }
.verification-icon.is-done { color: #047857; background: #d1fae5; }
.identity-upload-modal .modal-content { overflow: hidden; border: 1px solid rgba(91,66,214,.2); border-radius: 1.35rem; box-shadow: 0 28px 80px rgba(33,24,89,.25); }
.identity-upload-modal .modal-header { padding: 1.25rem 1.5rem; color: var(--ahp-ink); border-bottom-color: rgba(91,66,214,.12); background: linear-gradient(120deg,#f3f0ff,#fff4fb); }
.identity-upload-modal .modal-body { padding: 1.5rem; }.identity-upload-modal .modal-footer { padding: 1rem 1.5rem; background: #fafaff; }
.identity-guide { padding: 1.2rem; border: 1px dashed rgba(91,66,214,.25); border-radius: 1rem; background: #fbfaff; }
.identity-guide-grid { display: grid; grid-template-columns: minmax(10rem,14rem) 1fr; gap: 1.5rem; align-items: center; }
.identity-example { overflow: hidden; aspect-ratio: 1; border-radius: .9rem; background: white; box-shadow: 0 8px 24px rgba(54,42,110,.1); }.identity-example img { width: 100%; height: 100%; object-fit: contain; }
.identity-checklist { display: grid; gap: .72rem; margin: 0; padding: 0; list-style: none; color: #596174; }.identity-checklist li { position: relative; padding-left: 1.75rem; }.identity-checklist li::before { content: '✓'; position: absolute; left: 0; top: .05rem; display: grid; place-items: center; width: 1.15rem; height: 1.15rem; color: white; font-size: .72rem; font-weight: 900; border-radius: 50%; background: #16a34a; }
.identity-file-zone { border: 2px dashed #8b7cf6; border-radius: 1rem; background: #faf9ff; transition: border-color .2s,background .2s,transform .2s; }.identity-file-zone:hover,.identity-file-zone:focus-within { border-color: var(--ahp-primary); background: #f3f0ff; }.identity-file-zone.is-valid { border-color: #16a34a; background: #f0fdf4; }.identity-file-zone.is-invalid { border-color: #dc2626; background: #fff7f7; }
.identity-file-label { display: flex; align-items: center; gap: .9rem; width: 100%; padding: 1.1rem; cursor: pointer; }.identity-file-label small,.identity-file-label strong { display: block; }.identity-file-label small { margin-top: .2rem; color: var(--ahp-muted); }.identity-file-icon { display: grid; flex: 0 0 auto; place-items: center; width: 3.2rem; height: 3.2rem; color: white; font-size: 1.7rem; border-radius: .85rem; background: linear-gradient(135deg,var(--ahp-primary),#ec4899); }
.identity-file-preview { display: flex; align-items: center; gap: .8rem; padding: 0 1.1rem 1.1rem; color: #166534; font-weight: 700; overflow-wrap: anywhere; }.identity-file-preview img { width: 3.25rem; height: 3.25rem; object-fit: cover; border-radius: .65rem; }.identity-file-error { min-height: 1.5rem; padding-top: .35rem; color: #b91c1c; font-size: .85rem; }.identity-privacy-note { padding: .8rem 1rem; color: #0f6674; font-size: .85rem; border-radius: .75rem; background: #e9f9fc; }.identity-submit:disabled { cursor: not-allowed; opacity: .5; }
.transfer-disabled-icon { width: 4rem; height: 4rem; margin: 0 auto 1rem; color: var(--ahp-primary); font-size: 1.8rem; background: #eeeaff; }
.admin-step-up-shell { display: grid; place-items: center; min-height: calc(100vh - 10rem); }
.admin-step-up-card { width: min(100%,29rem); padding: clamp(1.4rem,4vw,2rem); border: 1px solid rgba(91,66,214,.16); border-radius: 1.25rem; background: rgba(255,255,255,.92); box-shadow: 0 22px 60px rgba(55,39,125,.15); }
.admin-step-up-icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin-bottom: 1rem; color: var(--ahp-primary); border-radius: 1rem; background: #eeeaff; }
.admin-step-up-icon svg { width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 767.98px) {
    .account-layout { grid-template-columns: 1fr; }.account-menu { display: none; }
    .account-identity-card { grid-template-columns: auto minmax(0,1fr); padding: 1.1rem; }
    .account-balance { grid-column: 1/-1; align-items: flex-start; padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.25); }
    .account-actions { width: calc(100% - 1rem); }.account-navbar .navbar-collapse { border-top: 1px solid var(--ahp-border); }
    .verification-grid { grid-template-columns: 1fr; }
    .identity-upload-modal .modal-dialog { margin: .5rem; }.identity-upload-modal .modal-body,.identity-upload-modal .modal-header { padding: 1rem; }.identity-guide-grid { grid-template-columns: 1fr; gap: 1rem; }.identity-example { width: min(100%,12rem); margin: 0 auto; }.identity-checklist { font-size: .9rem; }
    .account-main { padding-right: .75rem; padding-left: .75rem; }.account-page-head { margin-bottom: 1rem !important; }.account-page-head h1 { font-size: 1.45rem; }
    .account-desktop-list { display: none; }.account-mobile-list { display: block; }
    .account-transaction-card { display: grid; grid-template-columns: 2.7rem minmax(0,1fr) auto; gap: .75rem; align-items: start; padding: 1rem; color: var(--ahp-ink); text-decoration: none; border-bottom: 1px solid #edf0f5; background: rgba(255,255,255,.92); }.account-transaction-card:last-child { border-bottom: 0; }.account-transaction-card:active { background: #f5f2ff; }
    .account-list-icon { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; color: white; font-weight: 850; border-radius: .85rem; background: linear-gradient(135deg,var(--ahp-primary),#ec4899); }
    .account-list-body,.account-list-side { display: flex; min-width: 0; flex-direction: column; }.account-list-body strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.account-list-body small { margin-top: .15rem; color: var(--ahp-muted); overflow-wrap: anywhere; }.account-list-side { align-items: flex-end; gap: .25rem; text-align: right; }.account-list-side>strong { font-size: .86rem; white-space: nowrap; }.account-list-side>small { color: var(--ahp-muted); font-size: .7rem; }
    .account-status { padding: .18rem .48rem; font-size: .68rem; font-weight: 750; border-radius: 999px; }.account-status.is-success { color: #047857; background: #d1fae5; }.account-status.is-danger { color: #b91c1c; background: #fee2e2; }.account-status.is-pending { color: #92400e; background: #fef3c7; }
    .account-mutation-card { display: grid; grid-template-columns: 2.7rem minmax(0,1fr) auto; gap: .75rem; align-items: center; padding: 1rem; border-bottom: 1px solid #edf0f5; background: rgba(255,255,255,.92); }.account-mutation-card:last-child { border-bottom: 0; }.account-mutation-card .account-list-icon.is-credit { color: #047857; background: #d1fae5; }.account-mutation-card .account-list-icon.is-debit { color: #b91c1c; background: #fee2e2; }.account-mutation-amount { font-size: .9rem; white-space: nowrap; }
    .pagination { flex-wrap: wrap; gap: .3rem; }.pagination .page-link { min-height: 2.65rem; display: flex; align-items: center; border-radius: .7rem !important; }
    .account-notification-list { gap: .65rem !important; }.account-notification-list .card { border-radius: 1rem; }.account-notification-list .card-body { padding: 1rem; }.account-notification-list p { font-size: .9rem; line-height: 1.5; }.notification-icon { flex: 0 0 auto; width: 2.35rem; height: 2.35rem; color: var(--ahp-primary); background: #eeeaff; }
}
