/* Admin-only visual hierarchy. Customer storefront styles stay independent. */
#adminPage{--admin-blue:#285ea8;--admin-green:#247454;--admin-amber:#966814;--admin-red:#b34245;--admin-purple:#7953a2}
#adminPage>.page-title{align-items:center;margin-bottom:22px}#adminPage>.page-title h1{font-size:25px;margin:6px 0}#adminPage>.page-title .eyebrow{font-size:11px;letter-spacing:0;color:#8a6b29}#adminPage>.page-title .admin-intro{font-size:12px;color:#718195;margin:6px 0 0;line-height:1.9}
#adminPage .admin-main-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:none;box-sizing:border-box;gap:7px;padding:7px;background:#e6ebf1;border:1px solid #dce3eb;border-radius:16px;box-shadow:0 4px 14px #18273505;align-items:stretch;flex-wrap:nowrap;top:88px}
#adminPage .admin-main-tabs button{display:flex;flex-direction:row;align-items:center;justify-content:center;flex:none;gap:8px;min-width:0;min-height:48px;padding:11px 10px;margin:0;background:transparent;color:#526477;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap;box-shadow:none;transition:background .15s,color .15s,border-color .15s}
#adminPage .admin-main-tabs button:hover{background:#f7f9fc;border-color:#d2dbe5;color:#182735}#adminPage .admin-main-tabs button.active{background:#182f43;border-color:#182f43;color:#fff;box-shadow:0 3px 8px #18273518}#adminPage .admin-main-tabs .ui-icon{width:18px;height:18px;flex:none;color:#7a8b9d;padding:0;background:none;border-radius:0}#adminPage .admin-main-tabs button.active .ui-icon{color:#f4c65a}
#adminPage :is(button,a,input,select,textarea):focus-visible{outline:3px solid #b9d4f4;outline-offset:3px}
#adminPage #adminSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}#adminPage .admin-metric{position:relative;min-height:94px;padding:16px 18px;border:1px solid #dfe5ed;border-inline-start:3px solid #8795a5;border-radius:14px;background:#fff;text-align:right;box-shadow:none;gap:3px 10px;transition:transform .15s,border-color .15s}#adminPage .admin-metric:hover{transform:translateY(-2px);border-top-color:#bdcbd9;border-bottom-color:#bdcbd9}#adminPage .admin-metric strong{font-size:25px;font-weight:750;color:#182f43;line-height:1.3}#adminPage .admin-metric span{font-size:12px;color:#66788c;line-height:1.8}#adminPage .admin-metric>.ui-icon{width:34px;height:34px;padding:8px;box-sizing:border-box;background:#eef2f6;color:#5c7086;border-radius:10px}
#adminPage .admin-metric[data-metric=open]{border-inline-start-color:var(--admin-blue);background:#f5f9ff}#adminPage .admin-metric[data-metric=open]>.ui-icon{background:#e1ecfc;color:var(--admin-blue)}#adminPage .admin-metric[data-metric=completed]{border-inline-start-color:var(--admin-green)}#adminPage .admin-metric[data-metric=completed]>.ui-icon{background:#e5f4ec;color:var(--admin-green)}#adminPage .admin-metric[data-metric=failed]{border-inline-start-color:var(--admin-red)}#adminPage .admin-metric[data-metric=failed]>.ui-icon{background:#fcebec;color:var(--admin-red)}#adminPage .admin-metric[data-metric=pending]{border-inline-start-color:var(--admin-amber)}#adminPage .admin-metric[data-metric=pending]>.ui-icon{background:#fff3da;color:var(--admin-amber)}#adminPage .admin-metric[data-metric=review]{border-inline-start-color:var(--admin-purple)}#adminPage .admin-metric[data-metric=review]>.ui-icon{background:#f0eafb;color:var(--admin-purple)}
#adminPage .admin-order-controls{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(300px,1.3fr);gap:16px 20px;background:#fff;border:1px solid #dfe5ed;border-radius:18px;padding:20px;margin:18px 0}.admin-controls-title{grid-column:1/-1;font-size:14px;font-weight:700;color:#263c51;margin:0}#adminPage .admin-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;overflow:visible}#adminPage .admin-filters button{min-height:36px;padding:8px 13px;border-radius:9px;font-size:12px;color:#66788c;border:1px solid #dfe5ed;background:#fafbfd;font-weight:500}#adminPage .admin-filters button.active{background:#edf3fc;color:var(--admin-blue);border-color:#9dbbe2;font-weight:700}#adminPage .admin-filters [data-admin-filter=completed].active{background:#eaf6ef;color:var(--admin-green);border-color:#9bcbb1}#adminPage .admin-filters [data-admin-filter=failed].active{background:#fceff0;color:var(--admin-red);border-color:#e0a7ab}#adminPage .admin-filters [data-admin-filter=pending].active{background:#fff6e6;color:var(--admin-amber);border-color:#dfc18b}#adminPage .admin-filters [data-admin-filter=review].active{background:#f3edfb;color:var(--admin-purple);border-color:#c1addb}
#adminPage .admin-stage-filter{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;font-size:12px;color:#687a8d}#adminPage .admin-stage-filter select{min-width:0;min-height:43px;padding:10px 12px;border-radius:10px;background:#fafbfd;font-size:13px;color:#20374b}#adminPage .admin-order-controls .admin-tools{align-self:end;margin:0;padding:4px;border-radius:11px;background:#fafbfd;border:1px solid #dfe5ed;min-width:0;flex-wrap:nowrap}#adminPage .admin-tools input{font-size:13px;min-width:0;padding:9px 11px}#adminPage .admin-tools button{background:#233e56;color:#fff;min-height:37px;border-color:#233e56;font-size:12px;white-space:nowrap}#adminPage .admin-count{font-size:12px;color:#66788c;margin:16px 0 10px}#adminPage .admin-order-totals{margin-bottom:20px;gap:12px}#adminPage .admin-order-totals>div{padding:15px 18px;border:1px solid #dfe5ed;background:#eef3f9}#adminPage .admin-order-totals>div:nth-child(2){background:#edf7f1;border-color:#d5e8dd}#adminPage .admin-order-totals span{font-size:11px;color:#66788c}#adminPage .admin-order-totals strong{font-size:16px;font-weight:700;color:#20374b}#adminPage .admin-order-totals>div:nth-child(2) strong{color:var(--admin-green)}
#adminPage #adminOrders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}#adminPage .admin-order-card{border:1px solid #dfe5ed;border-inline-start:3px solid #d1ad64;border-radius:17px;padding:20px;gap:13px;background:#fff;box-shadow:0 3px 13px #18273503;min-width:0}#adminPage .admin-order-card[data-payment=paid]{border-inline-start-color:#638dbb}#adminPage .admin-order-card[data-status=completed]{border-inline-start-color:var(--admin-green)}#adminPage .admin-order-card[data-payment=failed],#adminPage .admin-order-card[data-payment=initiation_failed]{border-inline-start-color:var(--admin-red)}#adminPage .admin-order-card[data-payment=needs_review],#adminPage .admin-order-card[data-payment=initiation_unknown]{border-inline-start-color:var(--admin-purple)}#adminPage .admin-order-card h3{font-size:15px;font-weight:700;line-height:1.8}#adminPage .admin-order-top{gap:10px}#adminPage .admin-order-top small{font-size:12px;direction:ltr;display:inline-block;color:#6c7e91}#adminPage .admin-order-card .order-meta{font-size:11px;line-height:2;color:#728296}#adminPage .admin-order-top .order-status{position:static;flex:none;white-space:normal;max-width:52%;border-radius:8px;font-size:11px;line-height:1.8;padding:5px 9px;background:#fff3db;color:var(--admin-amber)}#adminPage .admin-order-card[data-payment=paid] .order-status{background:#eaf1fc;color:var(--admin-blue)}#adminPage .admin-order-card[data-status=completed] .order-status{background:#e8f5ed;color:var(--admin-green)}#adminPage .admin-order-card[data-status=ready_for_pickup] .order-status,#adminPage .admin-order-card[data-status=shipped] .order-status{background:#e4f3f2;color:#207871}#adminPage .admin-order-card[data-payment=failed] .order-status,#adminPage .admin-order-card[data-payment=initiation_failed] .order-status{background:#fceced;color:var(--admin-red)}#adminPage .admin-order-card[data-payment=needs_review] .order-status,#adminPage .admin-order-card[data-payment=initiation_unknown] .order-status{background:#f1eafa;color:var(--admin-purple)}#adminPage .admin-order-preview{margin:0;padding-top:10px;border-top:1px solid #e8edf3}#adminPage .admin-order-preview .order-product-row{padding:8px 0}#adminPage .admin-order-preview h4{font-size:12px;font-weight:550;line-height:1.9}#adminPage .admin-order-card>.ghost{justify-self:stretch;background:#f0f5fc;color:var(--admin-blue);border:1px solid #d9e4f4;min-height:40px;font-size:12px;text-align:center}#adminPage .admin-order-card>.ghost:hover{background:#e5effc;border-color:#b3cce9}
#adminPage .admin-notification-settings{background:transparent;border:1px dashed #d4dce6;border-radius:12px;margin:12px 0 20px}#adminPage .admin-notification-settings>summary{padding:11px 15px;color:#75859a;font-size:12px}#adminPage .admin-push-panel{background:#fff;border-radius:12px}#adminPage .admin-users{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#adminPage .admin-user-card{border-radius:17px;border-color:#dfe5ed;padding:20px}#adminPage .admin-user-card h3{font-size:15px;font-weight:700}#adminPage .admin-user-card>div:first-child span{background:#eef3f9;padding:4px 9px;border-radius:8px;color:#657a91;font-size:11px}#adminPage .admin-category-row{padding:13px 16px}#adminPage .admin-category-branch{border-color:#dfe5ed}#adminPage .admin-category-expand{background:#eef3f9;color:#49667f}#adminPage .admin-category-children .admin-category-branch{border-inline-start:2px solid #cfdeef}#adminPage .admin-note{color:#718195}
.admin-dialog .admin-dialog-head{background:#f3f6fa}.admin-dialog .admin-detail-line{background:#f5f7fa;border:1px solid #e3e9f0}.admin-dialog .admin-detail-line span{color:#718195;font-size:11px}.admin-dialog .admin-detail-line strong{color:#20374b;font-size:14px}.admin-dialog .admin-payment-note{background:#fff8e9;border:1px solid #ead7af;color:#8e6925;font-size:12px}.admin-dialog .admin-detail-actions{border-top:1px solid #e3e9f0;padding-top:18px}
#adminPage :is(#adminOrdersView,#adminUsersView,#adminCategoriesView,#adminPricingView,#adminCouponsView,#adminMarketingView){scroll-margin-top:162px}
@media(min-width:1250px){#adminPage #adminSummary{grid-template-columns:repeat(7,minmax(0,1fr))}#adminPage .admin-metric{padding:14px 12px;gap:3px;grid-template-columns:1fr auto}#adminPage .admin-metric>.ui-icon{width:29px;height:29px;padding:7px}#adminPage .admin-metric span{font-size:11px}}
@media(min-width:721px) and (max-width:1000px){#adminPage .admin-main-tabs{display:flex;overflow-x:auto;scrollbar-width:thin}#adminPage .admin-main-tabs button{flex:1 0 auto;padding:11px 14px;font-size:12px}#adminPage #adminOrders{grid-template-columns:1fr}}
@media(max-width:720px){#adminPage>.page-title h1{font-size:22px}#adminPage>.page-title .admin-intro{font-size:11px}#adminPage .admin-main-tabs{position:static;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;margin:16px 0}#adminPage .admin-main-tabs button{flex-direction:column;gap:5px;min-height:66px;font-size:11px;padding:9px 4px;white-space:nowrap}#adminPage .admin-main-tabs .ui-icon{width:17px;height:17px}#adminPage #adminSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 20px}#adminPage .admin-metric{min-height:79px;padding:11px 9px;gap:4px;border-radius:11px;grid-template-columns:1fr}#adminPage .admin-metric strong{font-size:22px}#adminPage .admin-metric span{font-size:10px;line-height:1.6}#adminPage .admin-metric>.ui-icon{display:none}#adminPage .admin-order-controls{grid-template-columns:1fr;padding:15px;gap:14px;margin:15px 0}#adminPage .admin-filters{gap:6px}#adminPage .admin-filters button{font-size:11px;min-height:35px;padding:7px 10px}#adminPage .admin-order-controls .admin-tools{width:100%;box-sizing:border-box}#adminPage .admin-tools input{font-size:12px}#adminPage #adminOrders,#adminPage .admin-users{grid-template-columns:1fr;gap:12px}#adminPage .admin-order-card{padding:16px}#adminPage .admin-order-top{flex-wrap:nowrap}#adminPage .admin-order-top .order-status{font-size:10px;max-width:48%}#adminPage .admin-order-card h3{font-size:14px}#adminPage .admin-order-totals>div{padding:12px}#adminPage .admin-order-totals strong{font-size:13px}#adminPage :is(#adminOrdersView,#adminUsersView,#adminCategoriesView,#adminPricingView,#adminCouponsView,#adminMarketingView){scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){#adminPage .admin-metric,#adminPage .admin-main-tabs button{transition:none}#adminPage .admin-metric:hover{transform:none}}

#adminPage .admin-payment-resolution{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin:14px 0;padding:14px;border:1px solid #f0d5a6;border-radius:14px;background:#fffaf1}#adminPage .admin-payment-resolution h3{grid-column:1;margin:0;font-size:14px}#adminPage .admin-payment-resolution p{grid-column:1;margin:0;color:#786b57;font-size:12px;line-height:1.8}#adminPage .admin-payment-resolution button{grid-row:1 / span 2;white-space:nowrap;min-height:40px}#adminPage .admin-payment-resolution button.danger{background:#fff;border:1px solid #e8b7bb;color:#a33d46}@media(max-width:680px){#adminPage .admin-payment-resolution{grid-template-columns:1fr 1fr}#adminPage .admin-payment-resolution h3,#adminPage .admin-payment-resolution p{grid-column:1 / -1}#adminPage .admin-payment-resolution button{grid-row:auto;white-space:normal;font-size:12px}}

/* Roomier admin dialogs and action groups. */
.admin-dialog{box-sizing:border-box;width:min(1040px,calc(100vw - 64px));max-width:1040px;max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.admin-dialog .admin-dialog-head{padding:22px 28px;gap:20px}
.admin-dialog .admin-dialog-head h2{line-height:1.7;min-width:0}
.admin-dialog .admin-dialog-head button{flex-shrink:0;min-width:44px;min-height:44px}
.admin-dialog #adminDetailBody{padding:26px 28px 30px;overflow:visible;line-height:1.9}
.admin-dialog .admin-detail-grid{gap:16px;margin-bottom:26px}
.admin-dialog .admin-detail-line{padding:16px 18px;gap:8px;min-width:0}
.admin-dialog .admin-detail-line strong{line-height:1.9;font-size:14px}
.admin-dialog :is(.admin-detail-actions,.admin-payment-resolution,.admin-user-actions){display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.admin-dialog :is(.admin-detail-actions,.admin-payment-resolution)>p{flex-basis:100%;margin:0 0 4px}
.admin-dialog :is(.admin-detail-actions,.admin-payment-resolution) button{min-height:44px;padding:11px 18px;white-space:normal;line-height:1.7}
.admin-dialog .order-snapshot-items{display:grid;gap:14px;margin:18px 0 28px}
.admin-dialog .admin-events{margin-top:26px;padding-top:22px}
.admin-dialog .admin-events p{padding:10px 0;margin:0;border-bottom:1px solid var(--line,#e3e9f0);overflow-wrap:anywhere}
#adminPage :is(.admin-user-actions,.admin-detail-actions,.pricing-actions,.coupon-card-actions,.marketing-actions){gap:12px;flex-wrap:wrap}
#adminPage .analytics-table td>div{display:flex;flex-wrap:wrap;gap:8px;min-width:210px}
#adminPage .analytics-table :is(td,th){padding:14px 16px;line-height:1.8}
#adminPage :is(.analytics-toolbar,.admin-tools){gap:14px;align-items:end}
#adminPage :is(.analytics-generated,.pricing-actions){gap:12px}
#adminPage :is(.admin-order-card,.admin-user-card){padding:22px}
#adminPage .admin-user-actions{display:flex;margin-top:16px}
#adminPage .admin-main-tabs{grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:10px;padding:10px}
#adminPaymentLinksView form input{min-width:0;width:100%;box-sizing:border-box}
#adminPaymentLinksView form+div:not(:empty){display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
#adminPaymentLinksView form+div input{flex:1;min-width:180px}
#adminPaymentLinksView article button{margin-top:8px}
@media(min-width:1000px){.admin-dialog .admin-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.admin-dialog{width:100%;max-width:100%;max-height:94vh;max-height:94dvh;margin:0;bottom:0;border-radius:20px 20px 0 0;scrollbar-gutter:auto}.admin-dialog .admin-dialog-head{padding:14px 16px;gap:12px}.admin-dialog #adminDetailBody{padding:18px 16px 26px}.admin-dialog .admin-detail-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dialog .admin-detail-line{padding:12px;gap:6px}.admin-dialog .admin-detail-actions button{flex:1 1 140px}.admin-dialog .order-payment-breakdown>span{flex-wrap:wrap;row-gap:4px}#adminPage :is(.admin-order-card,.admin-user-card){padding:16px}#adminPage .admin-main-tabs{display:flex;overflow-x:auto;gap:8px}#adminPage .admin-main-tabs button{flex:0 0 auto;min-width:116px}#adminPage .analytics-table :is(td,th){padding:12px}}
@media(max-width:360px){.admin-dialog .admin-detail-grid{grid-template-columns:1fr}}
.marketing-report-dialog{box-sizing:border-box;width:min(1100px,calc(100vw - 64px));max-width:1100px;max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain;padding:28px;line-height:1.9}
.marketing-report-dialog>button{min-height:44px;margin-bottom:16px}
.marketing-report-dialog table{border-spacing:0;width:100%}
.marketing-report-dialog :is(td,th){padding:12px 16px;line-height:1.8}
.marketing-report-dialog :is(.marketing-actions,.marketing-stats){gap:14px}
@media(max-width:600px){.marketing-report-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:18px 14px;max-height:92vh;max-height:92dvh}.marketing-report-dialog :is(td,th){padding:10px 8px}}

/* Desktop admin sidebar; compact screens keep the horizontal navigation. */
@media(min-width:1000px){
 #adminPage.active{display:grid;grid-template-columns:210px minmax(0,1fr);column-gap:24px;align-items:start;direction:rtl}
 #adminPage.active>.page-title{grid-column:1/-1;margin-bottom:20px}
 #adminPage.active>*{grid-column:2;min-width:0}
 #adminPage.active>.admin-main-tabs{grid-column:1;grid-row:2/span 3;position:sticky;top:108px;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:12px;margin:18px 0 0;width:100%;max-height:calc(100dvh - 130px);overflow-y:auto;overflow-x:hidden;border-radius:18px;align-self:start;z-index:2}
 #adminPage.active>.admin-main-tabs button{width:100%;flex:none;min-height:46px;justify-content:flex-start;text-align:right;white-space:normal;line-height:1.7;padding:11px 12px;font-size:13px}
 #adminPage.active>.admin-main-tabs .ui-icon{flex-shrink:0;width:19px;height:19px}
 #adminPage.active>#adminSummary{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
 #adminPage.active>.admin-notification-settings{margin-bottom:18px}
 #adminPage.active .admin-order-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(min-width:1280px){#adminPage.active{grid-template-columns:220px minmax(0,1fr);column-gap:28px}#adminPage.active>#adminSummary{grid-template-columns:repeat(4,minmax(0,1fr))}}

#adminPage .admin-money-readable{display:block;color:#244c3b;font-size:.82rem;font-weight:700;line-height:1.8;min-height:1.5em;margin-top:4px;font-variant-numeric:tabular-nums;grid-column:1/-1}
