.page-status { position:sticky; top:0; z-index:5; padding:14px 20px; margin:0; border-block:1px solid var(--line); color:var(--ink); background:var(--soft); font-size:14px; }
.admin-promotion-status { margin:0; padding:15px 18px; border:1px solid #dbcbb2; border-radius:12px; background:#fff7e7; color:#584632; font-size:14px; line-height:1.65; }
.admin-promotion-status[data-state="discount"] { border-color:#bfd5c6; color:#225a3d; background:#f0f7ee; }
.page-status.is-error { color:var(--brand-dark); background:#fff0ea; border-left:4px solid var(--brand-red); }
.product-stock { font-size:12px; color:var(--muted); }
.shop-actions [data-account-link] { max-width:130px; overflow:hidden; text-overflow:ellipsis; }
button.text-link:disabled { color:var(--muted); cursor:not-allowed; }
.mvc-catalog { display:grid; grid-template-columns:220px 1fr; gap:30px; }
.mvc-filters { display:grid; align-content:start; gap:18px; padding-right:20px; border-right:1px solid var(--line); }
.mvc-filters label { display:grid; gap:8px; font-weight:700; font-size:13px; }
.mvc-filters :is(input,select) { width:100%; min-height:44px; font:inherit; border:1px solid #978d7f; padding:10px; border-radius:7px; color:var(--ink); background:var(--surface); }
.mvc-catalog .featured-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-stock,.featured-card>p { min-height:0; }
.checkout-item-copy { flex:1; min-width:0; }
.checkout-item-copy h2 { font-size:21px; margin:0 0 8px; }
.checkout-item-copy>label { display:block; font-size:12px; }
.summary-total { border-top:1px solid var(--line); padding-top:18px; }
.pagination { display:flex; align-items:center; justify-content:center; gap:15px; margin:25px 0; flex-wrap:wrap; }
.pagination .button { font-size:12px; }
.admin-toolbar { display:flex; gap:20px; justify-content:space-between; align-items:end; flex-wrap:wrap; margin:25px 0; }
.admin-toolbar label { display:grid; gap:8px; font-size:14px; font-weight:700; }
.admin-toolbar select { min-height:44px; background:var(--surface); color:var(--ink); border:1px solid #978d7f; padding:10px 20px; font:inherit; border-radius:7px; }
.admin-data-table { width:100%; border-collapse:collapse; font-size:13px; }
.admin-data-table caption { text-align:left; font-weight:700; margin:0 0 15px; }
.admin-data-table :is(th,td) { text-align:left; padding:14px; border-bottom:1px solid var(--line); min-width:110px; max-width:260px; overflow-wrap:anywhere; }
.admin-data-table th { background:var(--soft); }
.admin-data-table td .text-link { margin-right:12px; }
#editor-dialog { width:min(820px,calc(100% - 32px)); }
#editor-dialog h2 { margin-top:0; }
.editor-buttons { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.order-card { margin-block:20px; }
.mvc-image-dialog { width:min(650px,calc(100% - 32px)); }
.mvc-image-dialog img { max-height:65vh; width:100%; object-fit:contain; }
.form-field .field-error:not([hidden]) { display:block; }
.table-scroll { border:1px solid var(--line); border-radius:12px; }
body[data-session-role="admin"] [data-customer-only],
body[data-session-pending] [data-customer-only] { display:none !important; }
/* Administración ERP: navegación propia y espacio de trabajo independiente. */
.admin-page { --admin-sidebar-width:232px; --admin-bg:#faf8f3; --admin-panel:#fff; --admin-border:#e5dfd5; --admin-muted:#65605b; --admin-sidebar-bg:#f7f4ed; background:var(--admin-bg); }
.admin-page .site-shell { max-width:none; min-height:100dvh; overflow:clip; background:var(--admin-bg); }
.admin-page :is(h1,h2,h3) { font-family:var(--sans); letter-spacing:-.025em; }
.admin-header { position:sticky; top:0; z-index:30; min-height:56px; border-bottom:1px solid var(--admin-border); background:#fffefb; }
.admin-topbar-inner { min-height:56px; display:flex; align-items:center; gap:16px; padding:0 28px; }
.admin-header-label { display:flex; align-items:center; gap:12px; color:var(--admin-muted); font-size:12px; }
.admin-topbar-separator { margin:0 8px; color:#a69d91; }
.admin-icon { width:18px; height:18px; flex:0 0 auto; display:block; }
.admin-store-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-left:auto; color:var(--brand-dark); font-size:12px; font-weight:600; }
.admin-store-link:hover { text-decoration:underline; text-underline-offset:3px; }
.admin-store-link .admin-icon { width:15px; height:15px; }
.admin-menu-button { display:none; place-items:center; width:44px; height:44px; flex:0 0 auto; border:1px solid var(--admin-border); border-radius:8px; background:#fff; color:var(--ink); }
.admin-page[data-session-role="admin"] :is(.admin-header,.admin-main,.page-status) { margin-left:var(--admin-sidebar-width); }
.admin-main { min-width:0; min-height:calc(100dvh - 56px); padding:28px; }
.admin-layout { display:block; min-width:0; }
.admin-sidebar { position:fixed; top:0; bottom:0; left:0; z-index:35; display:flex; flex-direction:column; width:var(--admin-sidebar-width); padding:23px 12px 135px; border-right:1px solid var(--admin-border); background:var(--admin-sidebar-bg); }
.admin-brand { display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:0 12px; }
.admin-brand img { width:174px; height:48px; object-fit:contain; object-position:left center; }
.admin-brand>span { color:var(--admin-muted); font-size:10px; }
.admin-role-badge { align-self:flex-start; margin:17px 12px 22px; padding:5px 9px; border-radius:6px; background:#f4e4e5; color:var(--brand-dark); font-size:10px; font-weight:600; }
.admin-sidebar>nav { display:flex; flex-direction:column; gap:24px; padding-top:18px; border-top:1px solid var(--admin-border); overflow:auto; scrollbar-width:thin; }
.admin-nav-group { display:grid; gap:4px; }
.admin-nav-group>p { margin:0 12px 5px; color:var(--admin-muted); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.admin-nav-group>a { display:flex; align-items:center; gap:11px; min-height:44px; padding:10px 12px; border-radius:7px; color:var(--ink); font-size:12px; line-height:1.4; }
.admin-nav-group>a:hover { background:#f0eade; }
.admin-nav-group>a[aria-current] { color:var(--brand-dark); background:#f0e2df; font-weight:700; }
.admin-nav-group>a[aria-current] .admin-icon { color:var(--brand-red); }
.admin-sidebar-note { margin:auto 12px 0; padding-top:24px; color:var(--admin-muted); font-size:10px; }
.admin-session-card { position:fixed; bottom:0; left:0; z-index:36; width:var(--admin-sidebar-width); display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:10px; padding:16px 20px 12px; border-top:1px solid var(--admin-border); background:var(--admin-sidebar-bg); }
.admin-avatar { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; background:#eee3d5; color:var(--brand-dark); font-size:11px; font-weight:700; }
.admin-session-identity { min-width:0; display:grid; gap:4px; }
.admin-session-identity :is(strong,span) { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-session-identity strong { font-size:11px; font-weight:600; }
.admin-session-identity>span { color:var(--admin-muted); font-size:10px; }
.admin-logout { display:flex; align-items:center; gap:10px; grid-column:1/-1; min-height:44px; width:100%; padding:10px 0; border:0; color:var(--ink); background:none; text-align:left; font-size:12px; }
.admin-logout:hover { color:var(--brand-dark); }
.admin-logout:disabled { cursor:wait; opacity:.6; }
.admin-workspace { min-width:0; }
.admin-page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:26px; }
.admin-page-kicker { margin:0 0 7px; color:var(--brand-dark); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.admin-page-heading h1 { margin:0 0 8px; font-size:27px; font-weight:750; line-height:1.2; }
.admin-page-heading #admin-page-description { margin:0; color:var(--admin-muted); font-size:13px; line-height:1.6; }
.admin-live-label { display:flex; align-items:center; gap:7px; flex:0 0 auto; margin-top:10px; padding:6px 9px; border:1px solid var(--admin-border); border-radius:6px; color:var(--admin-muted); background:#fffefb; font-size:10px; }
.admin-live-label>span { width:6px; height:6px; border-radius:50%; background:#27784e; }
.admin-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
.admin-metric { min-width:0; min-height:130px; padding:20px; border:1px solid var(--admin-border); border-radius:12px; background:var(--admin-panel); box-shadow:0 2px 2px #34291e08; }
.admin-metric-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; color:var(--admin-muted); font-size:12px; }
.admin-metric-head :is(h2,h3,p) { margin:0; font-size:12px; font-weight:500; letter-spacing:0; color:var(--admin-muted); }
.admin-metric-head :is(svg,.admin-metric-icon) { width:20px; height:20px; color:var(--brand-red); }
.admin-metric-value { display:block; margin:0 0 5px; color:var(--ink); font-size:26px; font-weight:750; letter-spacing:-.025em; line-height:1.2; overflow-wrap:anywhere; }
.admin-metric-meta { margin:0; color:var(--admin-muted); font-size:10px; line-height:1.6; }
.admin-metric .admin-metric-icon svg { color:inherit; }
.admin-card-heading .tone-purple .admin-icon { color:#7054b1; }
.admin-metric:hover { border-color:#c99891; box-shadow:0 3px 8px #34291e10; }
.admin-page.admin-menu-open { overflow:hidden; }
.admin-metric :is(.tone-green,.tone-success),.tone-green .admin-metric-icon,.tone-success .admin-metric-icon { color:#27784e; }
.admin-metric :is(.tone-violet,.tone-purple),.tone-violet .admin-metric-icon,.tone-purple .admin-metric-icon { color:#7054b1; }
.admin-metric :is(.tone-blue,.tone-info),.tone-blue .admin-metric-icon,.tone-info .admin-metric-icon { color:#35659e; }
.admin-metric :is(.tone-orange,.tone-warning),.tone-orange .admin-metric-icon,.tone-warning .admin-metric-icon { color:#a76b19; }
.admin-metric :is(.tone-red,.tone-danger),.tone-red .admin-metric-icon,.tone-danger .admin-metric-icon { color:var(--brand-red); }
.admin-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.admin-card { min-width:0; padding:22px; border:1px solid var(--admin-border); border-radius:12px; background:var(--admin-panel); box-shadow:0 2px 2px #34291e08; }
.admin-card-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.admin-card-heading :is(h2,h3) { display:flex; align-items:center; gap:9px; margin:0; font-size:14px; font-weight:650; letter-spacing:-.01em; }
.admin-card-heading>a { color:var(--brand-dark); font-size:11px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.admin-card>h2,.admin-card>h3 { margin:0 0 20px; font-size:14px; font-weight:650; letter-spacing:-.01em; }
.admin-card-heading .admin-icon { width:17px; height:17px; color:var(--brand-red); }
.admin-analytics { margin-bottom:20px; }
.admin-analytics-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; gap:14px; }
.admin-analytics-panel { min-width:0; padding:16px; border:1px solid var(--admin-border); border-radius:10px; background:#fffdf9; }
.admin-analytics-panel .admin-card-heading { align-items:flex-start; margin-bottom:12px; }
.admin-analytics-panel .admin-card-heading h3 { font-size:13px; }
.admin-analytics-panel>.admin-card-note { margin:-2px 0 12px; }
.admin-analytics-panel .admin-chart { min-height:0; max-height:205px; }
.admin-best-sellers { margin:0; }
.admin-best-seller-categories { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:10px; }
.admin-best-seller-category { --sales-bg:#fff1f3; --sales-border:#f1d5db; --sales-ink:#81394b; --sales-track:#f4dce2; --sales-fill:#c95f77; min-width:0; padding:12px; border:1px solid var(--sales-border); border-radius:9px; background:var(--sales-bg); }
.admin-best-seller-category[data-palette="blue"] { --sales-bg:#eef7fc; --sales-border:#d4e8f1; --sales-ink:#315d76; --sales-track:#dceef6; --sales-fill:#5798b9; }
.admin-best-seller-category[data-palette="sage"] { --sales-bg:#f0f7ef; --sales-border:#d8e8d5; --sales-ink:#426648; --sales-track:#e0eddd; --sales-fill:#6c9e70; }
.admin-best-seller-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.admin-best-seller-heading h3 { min-width:0; margin:0; color:var(--sales-ink); font-size:12px; font-weight:700; }
.admin-best-seller-heading>span { flex:0 0 auto; color:var(--admin-muted); font-size:9px; }
.admin-sales-list { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.admin-sales-list>li { min-width:0; display:grid; gap:6px; }
.admin-sales-label { min-width:0; display:flex; align-items:baseline; justify-content:space-between; gap:8px; color:var(--ink); font-size:10px; line-height:1.4; }
.admin-sales-product { min-width:0; overflow-wrap:anywhere; }
.admin-sales-label>strong { flex:0 0 auto; color:var(--sales-ink); font-size:10px; font-weight:700; white-space:nowrap; }
.admin-sales-label>strong span { color:var(--admin-muted); font-size:9px; font-weight:500; }
.admin-sales-bar-track { display:block; width:100%; height:8px; overflow:visible; }
.admin-sales-bar-bg { fill:var(--sales-track); }
.admin-sales-bar-fill { fill:var(--sales-fill); }
.admin-quick-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-quick-links>a { display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:15px; min-height:76px; border:1px solid var(--admin-border); border-radius:8px; }
.admin-quick-links>a:hover { border-color:#c99891; background:#fffaf6; }
.admin-quick-links strong { font-size:12px; font-weight:600; }
.admin-quick-links small { color:var(--admin-muted); font-size:10px; line-height:1.5; }
.admin-empty { margin:0; padding:20px 0; color:var(--admin-muted); font-size:12px; line-height:1.7; }
.admin-empty strong { display:block; margin-bottom:6px; color:var(--ink); font-weight:600; }
.admin-alert-list,.admin-status-list { list-style:none; margin:0; padding:0; display:grid; gap:0; }
.admin-alert-list>li { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:13px 0; border-bottom:1px solid var(--admin-border); font-size:12px; }
.admin-alert-list>li:last-child { border:0; }
.admin-alert-list>li :is(a,strong) { color:var(--ink); font-weight:600; }
.admin-alert-list>li a:hover { text-decoration:underline; }
.admin-alert-list small { display:block; margin-top:4px; color:var(--admin-muted); font-size:10px; }
.admin-page .admin-stock-badge { padding:4px 8px; border-radius:5px; color:#80520f; background:#faf0df; font-size:10px; white-space:nowrap; }
.admin-page .admin-stock-badge.is-empty { color:var(--brand-dark); background:#f5e8e5; }
.admin-card-note { color:var(--admin-muted); font-size:11px; line-height:1.6; }
.admin-status-list>li>span { display:inline-flex; align-items:center; gap:8px; }
.admin-status-dot { display:inline-block; }
.admin-state-badge { display:inline-block; padding:4px 8px; border-radius:5px; color:var(--brand-dark); background:#f5e8e5; font-size:10px; font-weight:600; }
.admin-status-list>li { display:flex; align-items:center; gap:10px; padding:11px 0; color:var(--admin-muted); font-size:12px; }
.admin-status-list>li strong { margin-left:auto; color:var(--ink); font-size:14px; }
.admin-status-dot { width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:var(--brand-red); }
.admin-status-dot.tone-green { background:#27784e; }.admin-status-dot.tone-orange { background:#a76b19; }.admin-status-dot.tone-blue { background:#35659e; }.admin-status-dot.tone-violet { background:#7054b1; }
.admin-status-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:5px; color:var(--brand-dark); background:#f5e8e5; font-size:10px; font-weight:600; white-space:nowrap; }
.admin-status-badge.tone-green { color:#246b45; background:#eaf3ee; }.admin-status-badge.tone-orange { color:#80520f; background:#faf0df; }.admin-status-badge.tone-blue { color:#315f95; background:#edf2fa; }
.admin-chart { display:block; width:100%; height:auto; min-height:160px; max-height:240px; overflow:visible; }
.admin-chart text { font-family:var(--sans); font-size:11px; fill:var(--admin-muted); }
.admin-chart .admin-chart-grid { stroke:var(--admin-border); stroke-dasharray:4 4; }
.admin-chart .admin-chart-line { fill:none; stroke:var(--brand-red); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.admin-chart .admin-chart-area { fill:#f4e7e3; }
.admin-chart .admin-chart-point { fill:var(--brand-red); stroke:white; stroke-width:2; }
.admin-trend { display:flex; align-items:flex-end; justify-content:space-around; gap:12px; min-height:180px; margin:10px 0; padding-top:20px; border-bottom:1px solid var(--admin-border); }
.admin-trend-bar { display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:8px; flex:1; color:var(--admin-muted); font-size:10px; }
.admin-trend-bar>span { display:block; width:100%; max-width:45px; min-height:3px; border-radius:5px 5px 0 0; background:var(--brand-red); }
.admin-dashboard-footer { margin:18px 0 0; color:var(--admin-muted); font-size:11px; line-height:1.6; }
.admin-recent-table { width:100%; border-collapse:collapse; font-size:12px; }
.admin-recent-table :is(th,td) { text-align:left; padding:13px 10px; border-bottom:1px solid var(--admin-border); overflow-wrap:anywhere; }
.admin-recent-table th { color:var(--admin-muted); font-size:10px; font-weight:600; }
.admin-recent-table tr:last-child td { border-bottom:0; }
.admin-recent-table a { color:var(--brand-dark); font-weight:600; }
.admin-recent-table caption { text-align:left; margin-bottom:12px; font-weight:600; }
.admin-page .table-scroll { max-width:100%; overflow:auto; border:1px solid var(--admin-border); border-radius:10px; background:var(--admin-panel); }
.admin-records { padding:0; min-width:0; }
.admin-page .admin-toolbar { align-items:center; margin:0 0 20px; }
.admin-page .admin-toolbar label { display:flex; align-items:center; gap:12px; color:var(--admin-muted); font-size:12px; font-weight:500; }
.admin-page .admin-toolbar select { min-width:210px; min-height:44px; padding:10px 14px; border:1px solid #aaa197; border-radius:8px; color:var(--ink); background:white; font-size:12px; }
.admin-page .button { min-height:44px; border-radius:8px; font-size:12px; }
.admin-page .admin-data-table { font-size:12px; }
.admin-page .admin-data-table caption { margin:0; padding:18px 18px 8px; color:var(--admin-muted); font-size:12px; font-weight:500; }
.admin-page .admin-data-table th { background:#fcfaf6; color:var(--admin-muted); font-size:11px; font-weight:600; }
.admin-page .admin-data-table :is(th,td) { padding:15px 18px; border-bottom-color:var(--admin-border); }
.admin-page .admin-data-table .text-link { min-height:44px; font-size:12px; }
.admin-page .pagination { margin-top:22px; color:var(--admin-muted); font-size:12px; }
.admin-mobile-nav,.admin-nav-overlay { display:none; }
@media(max-width:1000px) { .shop-nav { gap:12px; } .shop-header .header-inner { gap:16px; } .shop-actions { gap:14px; } }
@media(max-width:700px) { .shop-actions [data-account-link] { max-width:85px; } .mvc-catalog { grid-template-columns:1fr; } .mvc-filters { grid-template-columns:repeat(2,minmax(0,1fr)); border:0; padding:0; } .mvc-filters label:first-child { grid-column:1/-1; } .mvc-catalog .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .checkout-cart-item { padding:15px 0; } .checkout-item-copy h2 { font-size:17px; } .admin-toolbar { align-items:stretch; flex-direction:column; } .admin-data-table :is(th,td) { padding:12px; } }
@media(max-width:1200px) { .admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-page-heading { flex-wrap:wrap; } .admin-live-label { margin-top:0; } }
@media(max-width:900px) {
  .admin-page[data-session-role="admin"] :is(.admin-header,.admin-main,.page-status) { margin-left:0; }
  .admin-topbar-inner { padding:0 18px; gap:12px; }
  .admin-menu-button { display:grid; }
  .admin-header-label { gap:8px; font-size:11px; }
  .admin-header-label>.admin-icon { display:none; }
  .admin-header-label .admin-topbar-separator { margin:0 5px; }
  .admin-sidebar { display:none; }
  .admin-main { padding:84px 20px 28px; }
  .admin-session-card { position:absolute; top:56px; bottom:auto; left:0; width:100%; min-height:64px; display:flex; gap:10px; padding:10px 20px; border-top:0; border-bottom:1px solid var(--admin-border); background:#fffefb; z-index:22; }
  .admin-session-identity { flex:1; }
  .admin-session-identity strong { font-size:12px; }
  .admin-session-identity>span { font-size:10px; }
  .admin-logout { width:auto; flex:0 0 auto; gap:6px; font-size:11px; }
  .admin-logout .admin-icon { width:16px; height:16px; }
  .admin-page-heading { margin-bottom:20px; gap:12px; }
  .admin-page-heading h1 { font-size:25px; }
  .admin-live-label { display:none; }
  .admin-mobile-nav { position:fixed; top:56px; bottom:0; left:0; z-index:42; display:block; width:min(280px,calc(100vw - 48px)); padding:20px 15px; border-right:1px solid var(--admin-border); background:var(--admin-sidebar-bg); overflow:auto; box-shadow:15px 0 35px #302e2b15; }
  .admin-mobile-title { margin:0 12px 24px; color:var(--brand-dark); font-size:15px; font-weight:700; }
  .admin-mobile-nav .admin-nav-group { margin-bottom:22px; }
  .admin-nav-overlay { position:fixed; inset:56px 0 0; z-index:25; display:block; width:100%; height:calc(100dvh - 56px); padding:0; border:0; background:#302e2b48; }
  .admin-dashboard-grid { gap:16px; }
  .admin-analytics-grid { grid-template-columns:minmax(0,1fr); }
  .admin-card { padding:18px; }
}
@media(max-width:600px) {
  .admin-main { padding:82px 16px 24px; }
  .admin-topbar-inner { padding:0 12px; gap:9px; }
  .admin-header-label>span { max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .admin-store-link { gap:5px; font-size:11px; }
  .admin-topbar-separator { display:none; }
  .admin-header-label>span { font-size:0; }
  .admin-header-label>span::after { content:'Reina del Cisne ERP'; font-size:11px; }
  .admin-session-card { padding:10px 16px; }
  .admin-session-identity { max-width:calc(100% - 145px); }
  .admin-avatar { width:28px; height:28px; font-size:10px; }
  .admin-page-heading h1 { font-size:23px; }
  .admin-page-heading #admin-page-description { font-size:12px; }
  .admin-metrics { gap:12px; margin-bottom:16px; }
  .admin-metric { padding:15px 13px; min-height:122px; }
  .admin-metric-head { gap:8px; margin-bottom:15px; font-size:11px; }
  .admin-metric-head :is(h2,h3,p) { font-size:11px; }
  .admin-metric-head :is(svg,.admin-metric-icon) { width:17px; height:17px; }
  .admin-metric-value { font-size:23px; }
  .admin-metric-meta { font-size:9px; }
  .admin-dashboard-grid { grid-template-columns:minmax(0,1fr); margin-bottom:16px; }
  .admin-card-heading { margin-bottom:16px; }
  .admin-card-heading :is(h2,h3) { font-size:13px; }
  .admin-chart text { font-size:18px; }
  .admin-quick-links { gap:10px; }
  .admin-quick-links>a { padding:12px; }
  .admin-page .admin-toolbar { align-items:stretch; gap:12px; }
  .admin-page .admin-toolbar label { display:grid; gap:8px; }
  .admin-page .admin-toolbar select { min-width:0; width:100%; }
  .admin-page .admin-data-table :is(th,td) { padding:13px; }
  .admin-recent-table :is(th,td) { min-width:95px; }
}
@media(max-width:360px) { .shop-actions>a[data-admin-link] { font-size:10px; } .shop-actions>a[data-account-link]::before { content:'♙'; } }
.promotion-ribbon { display:block; padding:9px 13px; background:#ffdf57; color:#332b08; font-size:12px; font-weight:800; line-height:1.4; letter-spacing:.02em; border-radius:5px; }
.featured-image .promotion-ribbon { position:absolute; top:auto; bottom:0; left:0; right:0; border-radius:0; background:#ffdf57; color:#332b08; padding:9px 10px; text-align:center; font-size:11px; }
.promotion-card>.promotion-ribbon { grid-column:1/-1; border-radius:0; text-align:center; }
.price-with-discount { display:flex; flex-direction:column; gap:3px; }
.price-with-discount del { color:#655b4f; font-size:12px; font-weight:400; }
.detail-price .price-with-discount { gap:7px; }
.detail-price .price-with-discount del { font-size:17px; }
.image-editor { display:grid; gap:10px; padding:16px; border:1px dashed #b8a78e; border-radius:10px; background:#fffcf4; min-width:0; }
.image-editor label { font-weight:600; }
.image-editor input[type=file] { width:100%; min-width:0; font-size:12px; }
.image-editor input[type=file]::file-selector-button { margin-right:10px; padding:9px 12px; color:var(--brand-dark); background:white; border:1px solid #b8a78e; border-radius:6px; cursor:pointer; }
.image-editor small { color:#655b4f; line-height:1.5; }
.image-editor-preview { width:180px; height:140px; max-width:100%; object-fit:contain; border:1px solid var(--line); border-radius:8px; background:white; }
#order-state-history { font-size:13px; line-height:1.7; }
.checkout-item-copy>.promotion-ribbon { display:inline-block; margin-bottom:8px; font-size:11px; }
.admin-editor-dialog { width:min(860px,calc(100vw - 32px)); max-width:860px; max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; }
.admin-editor-dialog :is(input,select,textarea) { max-width:100%; min-width:0; }
.admin-editor-dialog .shop-field { min-width:0; }
.admin-editor-dialog .check-label { align-items:flex-start; line-height:1.6; }
.admin-pharmacy-fields { min-width:0; margin:0; padding:18px; border:1px solid var(--admin-border); border-radius:10px; }
.admin-pharmacy-fields legend { padding:0 8px; color:var(--brand-dark); font-weight:650; }
.admin-pharmacy-fields>.check-label { margin-top:18px; }
.admin-pharmacy-fields .form-two { gap:16px; }
.admin-fiscal-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:20px; align-items:start; }
.admin-fiscal-grid :is(p,small) { line-height:1.6; }
.admin-fiscal-grid .shop-field { display:grid; gap:7px; min-width:0; }
.admin-fiscal-grid textarea { resize:vertical; min-height:85px; }
.admin-fiscal-history { margin-top:20px; }
.admin-expiry { margin-bottom:20px; }
.admin-expiry-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 14px; }
.admin-expiry-counts>div { min-width:0; padding:14px; border-radius:8px; background:#faf0df; }
.admin-expiry-counts dt { color:var(--admin-muted); font-size:12px; line-height:1.5; }
.admin-expiry-counts dd { margin:8px 0 0; color:var(--brand-dark); font-size:24px; font-weight:750; }
.admin-fiscal-history .admin-data-table td { white-space:normal; min-width:120px; max-width:360px; overflow-wrap:anywhere; }
.admin-page :is(button,a,input,select,textarea):focus-visible { outline:3px solid #80520f; outline-offset:3px; }
.admin-page :is(input,select,textarea)[aria-invalid=true] { border-color:var(--brand-red); }
.admin-page .admin-data-table :is(th,td) { max-width:360px; }
@media(max-width:900px) { .admin-fiscal-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) {
  .admin-expiry-counts { grid-template-columns:minmax(0,1fr); }
  .admin-editor-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:20px 14px; }
  .admin-editor-dialog .form-two { grid-template-columns:minmax(0,1fr); }
  .admin-pharmacy-fields { padding:15px 10px; }
  .admin-editor-dialog .editor-buttons { display:grid; grid-template-columns:minmax(0,1fr); }
  .admin-fiscal-grid .admin-card,.admin-fiscal-history { padding:18px 14px; }
}
/* Electronic invoicing workspace */
.billing-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:20px; margin:20px 0; }
#admin-billing { display:grid; gap:20px; min-width:0; }
#admin-billing[hidden] { display:none; }
#admin-billing .admin-card { padding:24px; min-width:0; }
#admin-billing h2, #admin-billing h3 { margin-top:0; }
#admin-billing p, #admin-billing small, #admin-billing td { overflow-wrap:anywhere; }
#admin-billing input[type=file] { min-width:0; max-width:100%; }
#admin-billing .check-label { align-self:center; }
.billing-environment { padding:12px; border-radius:8px; background:#fff5d9; color:#483708; }
.billing-table-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; }
.billing-actions { display:flex; flex-wrap:wrap; gap:12px; }
.billing-pages { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:16px; }
@media(max-width:1100px){.billing-grid{grid-template-columns:minmax(0,1fr);}}
@media(max-width:600px){#admin-billing .admin-card{padding:16px;}.billing-pages .button{width:auto;}}
