/* Generated SoftBatch29D: rsh-design-system.css + admin.css. Edit sources, not bundle. */
/* RSH Platform Design System — SoftBatch2.3
   Shared token authority for Admin now and Public UI in later batches. */
:root {
  color-scheme: light;
  --rsh-font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --rsh-font-display: Manrope, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --rsh-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --rsh-brand-950: #07144f;
  --rsh-brand-900: #0a1b5f;
  --rsh-brand-800: #112978;
  --rsh-brand-700: #1a3a8c;
  --rsh-accent-700: #b50b3c;
  --rsh-accent-600: #d20b47;
  --rsh-accent-500: #f5004f;
  --rsh-accent-100: #ffe4ed;
  --rsh-accent-50: #fff3f7;

  --rsh-ink-950: #111a2e;
  --rsh-ink-900: #17233a;
  --rsh-ink-700: #42536b;
  --rsh-ink-600: #607089;
  --rsh-ink-500: #77869b;
  --rsh-surface: #ffffff;
  --rsh-surface-soft: #f7f9fc;
  --rsh-surface-muted: #eef2f7;
  --rsh-border: #dbe3ec;
  --rsh-border-strong: #bdc9d7;

  --rsh-success-700: #087155;
  --rsh-success-100: #daf4e9;
  --rsh-warning-700: #875f08;
  --rsh-warning-100: #fff2cc;
  --rsh-danger-700: #a12d36;
  --rsh-danger-100: #ffe4e6;
  --rsh-info-700: #315a91;
  --rsh-info-100: #e6efff;

  --rsh-space-1: .25rem;
  --rsh-space-2: .5rem;
  --rsh-space-3: .75rem;
  --rsh-space-4: 1rem;
  --rsh-space-5: 1.25rem;
  --rsh-space-6: 1.5rem;
  --rsh-space-7: 1.75rem;
  --rsh-space-8: 2rem;
  --rsh-space-10: 2.5rem;
  --rsh-space-12: 3rem;
  --rsh-space-14: 3.5rem;

  --rsh-radius-xs: .35rem;
  --rsh-radius-sm: .5rem;
  --rsh-radius-md: .75rem;
  --rsh-radius-lg: 1rem;
  --rsh-radius-xl: 1.25rem;
  --rsh-radius-pill: 999px;

  --rsh-shadow-xs: 0 1px 2px rgb(10 25 52 / 5%);
  --rsh-shadow-sm: 0 6px 18px rgb(10 25 52 / 7%);
  --rsh-shadow-md: 0 14px 36px rgb(10 25 52 / 10%);
  --rsh-shadow-lg: 0 28px 70px rgb(7 20 79 / 15%);

  --rsh-control-h: 2.75rem;
  --rsh-header-h: 4.5rem;
  --rsh-sidebar-w: 16rem;
  --rsh-content-pad: clamp(1rem, 1.8vw, 2rem);
  --rsh-page-gutter: clamp(1rem, 2vw, 2.5rem);
  --rsh-mobile-gutter: 1rem;
  --rsh-mobile-gutter-compact: .875rem;
  --rsh-section-gap: clamp(3.5rem, 6vw, 6.5rem);
  --rsh-readable: 70ch;

  --rsh-duration-fast: 160ms;
  --rsh-duration-normal: 210ms;
  --rsh-duration-slow: 320ms;
  --rsh-ease: cubic-bezier(.2,.7,.2,1);
  --rsh-focus-ring: 0 0 0 3px rgb(245 0 79 / 18%);

  --rsh-z-header: 40;
  --rsh-z-sidebar: 50;
  --rsh-z-overlay: 45;
  --rsh-z-modal: 80;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; width: 100%; max-width: 100%; overflow-x: clip; }
body { min-height: 100%; width: 100%; max-width: 100%; overflow-x: clip; margin: 0; font-family: var(--rsh-font-sans); color: var(--rsh-ink-900); background: var(--rsh-surface-soft); font-size: 1rem; font-weight: 400; line-height: 1.55; font-kerning: normal; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; }
a { color: var(--rsh-brand-800); text-decoration: none; transition: color var(--rsh-duration-fast) var(--rsh-ease), background-color var(--rsh-duration-fast) var(--rsh-ease), border-color var(--rsh-duration-fast) var(--rsh-ease), transform var(--rsh-duration-fast) var(--rsh-ease); }
a:visited { color: var(--rsh-brand-800); }
a:hover { color: var(--rsh-accent-700); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--rsh-accent-500); outline-offset: 2px; box-shadow: var(--rsh-focus-ring); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .58; }
::selection { background: var(--rsh-accent-100); color: var(--rsh-brand-950); }

h1, h2, h3, h4 { font-family: var(--rsh-font-display); color: var(--rsh-ink-950); line-height: 1.16; margin: 0; }
p { margin: 0; }

.rsh-card { background: var(--rsh-surface); border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-lg); box-shadow: var(--rsh-shadow-xs); }
.rsh-card:hover { border-color: #c7d3df; box-shadow: var(--rsh-shadow-sm); }

.rsh-button, .button, .primary { min-height: var(--rsh-control-h); display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border: 1px solid transparent; border-radius: var(--rsh-radius-sm); padding: .65rem 1rem; font-weight: 800; line-height: 1.1; text-align: center; transition: transform var(--rsh-duration-fast) var(--rsh-ease), box-shadow var(--rsh-duration-fast) var(--rsh-ease), background-color var(--rsh-duration-fast) var(--rsh-ease), border-color var(--rsh-duration-fast) var(--rsh-ease), color var(--rsh-duration-fast) var(--rsh-ease); }
.rsh-button:hover, .button:hover, .primary:hover { transform: translateY(-1px); }
.rsh-button:active, .button:active, .primary:active { transform: translateY(0); }
.primary, .rsh-button--primary { background: var(--rsh-accent-500); color: #fff; box-shadow: 0 5px 14px rgb(245 0 79 / 16%); }
.primary:visited, .rsh-button--primary:visited { color: #fff; }
.primary:hover, .rsh-button--primary:hover { background: var(--rsh-accent-600); color: #fff; }
.secondary, .rsh-button--secondary { background: var(--rsh-surface); color: var(--rsh-brand-900); border-color: var(--rsh-border-strong); }
.secondary:visited, .rsh-button--secondary:visited { color: var(--rsh-brand-900); }
.secondary:hover, .rsh-button--secondary:hover { background: var(--rsh-surface-muted); border-color: #9eafc0; color: var(--rsh-brand-950); }
.rsh-button--danger { color: var(--rsh-danger-700); border-color: #e5bec2; background: #fff; }
.rsh-button--danger:hover { background: var(--rsh-danger-100); }

.rsh-field { display: grid; gap: .45rem; }
.rsh-field > span, label { font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--rsh-border-strong); border-radius: var(--rsh-radius-sm); background: var(--rsh-surface); color: var(--rsh-ink-950); transition: border-color var(--rsh-duration-fast) var(--rsh-ease), box-shadow var(--rsh-duration-fast) var(--rsh-ease), background-color var(--rsh-duration-fast) var(--rsh-ease); }
input, select { min-height: var(--rsh-control-h); padding: .62rem .75rem; }
textarea { min-height: 7.5rem; padding: .75rem; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #9eafc0; }
input:focus, select:focus, textarea:focus { border-color: var(--rsh-accent-500); }
input::placeholder, textarea::placeholder { color: #8997a9; }

.rsh-badge, .pill { display: inline-flex; align-items: center; width: fit-content; border-radius: var(--rsh-radius-pill); padding: .28rem .58rem; font-size: .78rem; font-weight: 800; line-height: 1.2; background: var(--rsh-surface-muted); color: var(--rsh-ink-700); }
.rsh-badge--success, .pill.published, .pill.asset-live { background: var(--rsh-success-100); color: var(--rsh-success-700); }
.rsh-badge--info, .pill.asset-ready { background: var(--rsh-info-100); color: var(--rsh-info-700); }
.rsh-badge--warning { background: var(--rsh-warning-100); color: var(--rsh-warning-700); }
.rsh-badge--danger { background: var(--rsh-danger-100); color: var(--rsh-danger-700); }

.rsh-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-top: var(--rsh-space-5); }
.rsh-pagination a, .rsh-pagination span { min-width: 2.35rem; min-height: 2.35rem; display: grid; place-items: center; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-sm); background: var(--rsh-surface); color: var(--rsh-ink-700); font-weight: 700; }
.rsh-pagination a:hover { border-color: var(--rsh-accent-500); color: var(--rsh-accent-700); }
.rsh-pagination [aria-current="page"] { border-color: var(--rsh-brand-950); background: var(--rsh-brand-950); color: #fff; }

.rsh-alert { padding: .85rem 1rem; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-sm); background: var(--rsh-surface); }
.rsh-alert--success { background: #f0fbf7; border-color: #bce2d4; color: var(--rsh-success-700); }
.rsh-alert--warning { background: #fff9e8; border-color: #ecd58d; color: var(--rsh-warning-700); }
.rsh-alert--danger { background: #fff1f2; border-color: #edc1c5; color: var(--rsh-danger-700); }

.rsh-stack { display: grid; gap: var(--rsh-space-4); }
.rsh-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rsh-space-3); }
.rsh-grid { display: grid; gap: var(--rsh-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }

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


/* Global viewport/layout primitives — SoftBatch2.1
   Full width is the project default. Readability limits belong to individual text blocks,
   never to the whole page canvas. */
.rsh-page-frame { width: 100%; max-width: none; margin: 0; padding-inline: var(--rsh-page-gutter, clamp(1rem,2vw,2.5rem)); }
.rsh-full-width { width: 100%; max-width: none; }
.rsh-readable { max-width: var(--rsh-readable,70ch); }
.rsh-section { width: 100%; padding-block: var(--rsh-section-gap,4rem); }
.rsh-grid-auto { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:var(--rsh-space-4,1rem); }
.rsh-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--rsh-space-4,1rem); }
.rsh-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--rsh-space-4,1rem); }
.rsh-grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--rsh-space-4,1rem); }
@media (max-width: 1100px) { .rsh-grid-4 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 820px) { .rsh-grid-3,.rsh-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); } .rsh-grid-2 { grid-template-columns:1fr; } }
@media (max-width: 560px) { .rsh-grid-3,.rsh-grid-4 { grid-template-columns:1fr; } }


/* Global mobile container skeleton — SoftBatch2.3
   One responsive canvas for every public page: full viewport outside, controlled gutters inside. */
.public-page main,
.public-page header,
.public-page footer,
.public-page section { width: 100%; max-width: 100%; min-width: 0; }
.public-page .wrap,
.public-page .rsh-page-frame { width: 100%; max-width: 100%; min-width: 0; margin-inline: 0; padding-inline: var(--rsh-page-gutter); }
.public-page .grid,
.public-page .hero-grid,
.public-page .showcase-grid,
.public-page .visual-pair,
.public-page .office-grid,
.public-page .contact-grid,
.public-page .premium-template-categories,
.public-page .premium-template-grid { min-width: 0; }
.public-page img,
.public-page iframe,
.public-page video,
.public-page canvas { max-width: 100%; }

@media (max-width: 700px) {
  :root { --rsh-page-gutter: var(--rsh-mobile-gutter); --rsh-section-gap: 2.75rem; }
  .public-page .wrap, .public-page .rsh-page-frame { padding-inline: var(--rsh-mobile-gutter); }
}
@media (max-width: 420px) {
  :root { --rsh-page-gutter: var(--rsh-mobile-gutter-compact); }
  .public-page .wrap, .public-page .rsh-page-frame { padding-inline: var(--rsh-mobile-gutter-compact); }
}

/* Raanmat Software Hub Admin — SoftBatch17 Reusable Product System */
:root{
  /* SoftBatch18 single-source theme authority: edit colors here only. */
  --admin-topbar:#025369;
  --admin-sidebar:#042921;
  --admin-submenu:#310438;
  --admin-page-header:#8f0606;
  --admin-footer:var(--admin-topbar);
  --admin-canvas:#f4f7fb;
  --admin-card:#ffffff;
  --admin-section-business:#174e79;
  --admin-section-operations:#176655;
  --admin-section-help:#52335b;
  --admin-ink-on-dark:#ffffff;
  --admin-ink-muted-on-dark:#d8e6e5;
  --admin-topbar-bg:var(--admin-topbar);
  --admin-topbar-border:color-mix(in srgb,var(--admin-topbar),white 18%);
  --admin-sidebar-bg:var(--admin-sidebar);
  --admin-sidebar-bg-hover:color-mix(in srgb,var(--admin-sidebar),white 13%);
  --admin-sidebar-bg-active:color-mix(in srgb,var(--admin-sidebar),white 19%);
  --admin-sidebar-border:color-mix(in srgb,var(--admin-sidebar),white 17%);
  --admin-sidebar-text:#e0eeec;
  --admin-sidebar-muted:#b5ccc7;
  --admin-card-border:#dbe3ed;
  /* Card accent palette: future palette changes belong here. */
  --admin-stat-blue:#1767c4;
  --admin-stat-blue-soft:#e8f2ff;
  --admin-stat-violet:#6554c9;
  --admin-stat-violet-soft:#f0edff;
  --admin-stat-cyan:#0989a8;
  --admin-stat-cyan-soft:#e2f8fb;
  --admin-stat-amber:#a86805;
  --admin-stat-amber-soft:#fff3d9;
  --admin-stat-pink:#c22b68;
  --admin-stat-pink-soft:#ffebf3;
  --admin-stat-green:#12805c;
  --admin-stat-green-soft:#e2f7ef;
  --admin-stat-navy:#102a79;
  --admin-stat-navy-soft:#e9edff;
  --admin-stat-slate:#50677e;
  --admin-stat-slate-soft:#edf2f6;
  --admin-card-border-hover:color-mix(in srgb,var(--admin-topbar),white 56%);
  --admin-card-shadow:0 5px 18px rgb(18 37 59 / 7%),0 1px 3px rgb(18 37 59 / 4%);
  --admin-card-shadow-hover:0 14px 32px rgb(18 37 59 / 13%),0 4px 12px rgb(18 37 59 / 7%);
  --admin-header-gradient:linear-gradient(112deg,color-mix(in srgb,var(--admin-page-header),black 25%),var(--admin-page-header) 58%,color-mix(in srgb,var(--admin-page-header),white 8%));
  --admin-submenu-gradient:linear-gradient(145deg,color-mix(in srgb,var(--admin-submenu),black 16%),var(--admin-submenu) 68%,color-mix(in srgb,var(--admin-submenu),white 7%));
  --admin-group-business-gradient:linear-gradient(115deg,color-mix(in srgb,var(--admin-section-business),black 12%),var(--admin-section-business));
  --admin-group-operations-gradient:linear-gradient(115deg,color-mix(in srgb,var(--admin-section-operations),black 12%),var(--admin-section-operations));
  --admin-group-help-gradient:linear-gradient(115deg,color-mix(in srgb,var(--admin-section-help),black 12%),var(--admin-section-help));
  --rsh-sidebar-w:15.75rem;
  --rsh-header-h:4.55rem;
  --admin-footer-h:2.85rem;
  --admin-page-gutter:clamp(.75rem,1.45vw,1.25rem);
}

body.admin-page{overflow-x:hidden;background:var(--admin-canvas);min-width:0;color:var(--rsh-ink-900)}
body.admin-nav-open{overflow:hidden}
.admin-icon,.admin-nav-icon,.admin-nav-chevron{width:1.15rem;height:1.15rem;flex:0 0 auto;display:block}

/* Top application bar */
.admin-header{position:sticky;top:0;z-index:var(--rsh-z-header,40);height:var(--rsh-header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1rem,1.8vw,2rem);background:var(--admin-topbar-bg);color:var(--rsh-ink-950);border-bottom:1px solid var(--admin-topbar-border);box-shadow:0 8px 24px rgb(18 39 76 / 7%)}
.admin-header__start,.admin-header__actions{display:flex;align-items:center;gap:.7rem;min-width:0}
.admin-header__actions{justify-content:flex-end}
.admin-header__brand{display:flex;align-items:center;gap:.9rem;color:var(--rsh-ink-950);min-width:0}
.admin-header__brand:visited,.admin-header__brand:hover{color:var(--rsh-ink-950)}
.admin-brand{width:10.1rem;height:3.25rem;object-fit:contain;object-position:left center;background:transparent;border:0;border-radius:0;padding:0;filter:drop-shadow(0 2px 3px rgb(0 0 0 / 10%));flex:0 0 auto}
.admin-product-label{display:grid;line-height:1.08;padding-left:.85rem;border-left:1px solid #d7e1eb}
.admin-product-label strong{color:var(--rsh-ink-950);font-size:.9rem;font-weight:700}
.admin-product-label span{color:#6d7f96;font-size:.66rem;margin-top:.24rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.admin-identity{display:flex;align-items:center;gap:.55rem;min-height:2.7rem;padding:.35rem .7rem;border:1px solid #d8e3ed;border-radius:.75rem;background:#f7f9fc;color:var(--rsh-ink-950)}
.admin-identity .admin-icon{color:#1767c4}
.admin-identity span{display:grid;line-height:1.05}
.admin-identity small{font-size:.61rem;color:#71839b;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.admin-identity strong{font-size:.77rem;margin-top:.2rem;letter-spacing:.025em}
.admin-header__actions form{margin:0}
.admin-header-action{min-height:2.7rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem .8rem;border:1px solid #d7e1eb;border-radius:.75rem;background:#fff;color:var(--rsh-brand-900);font-size:.8rem;font-weight:700;white-space:nowrap}
.admin-header-action:visited{color:var(--rsh-brand-900)}
.admin-header-action:hover{background:#f3f6fa;border-color:#b7c7d8;color:var(--rsh-brand-950);transform:translateY(-1px)}
button.admin-header-action{font:inherit}
.admin-header-action--logout{background:#fff7f9;color:#a51d43;border-color:#efc6d1}
.admin-header-action--logout:hover{background:#961c3a;border-color:#c63a5d;color:#fff}
.admin-menu-button{display:none;width:2.65rem;height:2.65rem;border:1px solid #d7e1eb;border-radius:.7rem;background:#f7f9fc;color:var(--rsh-brand-950);align-items:center;justify-content:center;padding:0}
.admin-menu-button:hover{background:#edf2f7}

/* Workspace shell */
.admin-shell{display:grid;grid-template-columns:var(--rsh-sidebar-w) minmax(0,1fr);min-height:calc(100dvh - var(--rsh-header-h));width:100%;max-width:none;align-items:start}
.admin-sidebar{position:sticky;grid-column:1;grid-row:1;top:var(--rsh-header-h);height:calc(100dvh - var(--rsh-header-h));overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,var(--admin-sidebar-bg) 0%,#0a2941 100%);border-right:1px solid var(--admin-sidebar-border);padding:1rem .85rem 1.4rem;scrollbar-width:thin;scrollbar-color:#52758c transparent}
.admin-sidebar__top{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.2rem .65rem 1rem;color:var(--admin-sidebar-muted)}
.admin-sidebar__top>div{display:grid;line-height:1.05}
.admin-sidebar__top>div span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.admin-sidebar__top strong{color:#fff;font-size:.86rem;margin-top:.25rem}
.admin-release-badge{padding:.3rem .5rem;border-radius:999px;border:1px solid rgb(118 183 215 / 24%);background:rgb(85 166 207 / 9%);font-size:.66rem;font-weight:700;color:#aed1e3;white-space:nowrap}
.admin-nav{display:grid;gap:1.05rem}
.admin-nav-group{display:grid;gap:.18rem}
.admin-nav-label{padding:.25rem .72rem .38rem;color:#78a0b8;font-size:.63rem;font-weight:800;letter-spacing:.115em;text-transform:uppercase}
.admin-nav a{display:grid;grid-template-columns:1.2rem minmax(0,1fr) .9rem;align-items:center;gap:.72rem;min-height:2.68rem;padding:.57rem .7rem;border-radius:.72rem;color:var(--admin-sidebar-text);font-size:.85rem;font-weight:650;border:1px solid transparent}
.admin-nav a:visited{color:var(--admin-sidebar-text)}
.admin-nav a:hover{background:var(--admin-sidebar-bg-hover);color:#fff;border-color:#22516d}
.admin-nav a[aria-current="page"]{background:linear-gradient(90deg,#174b69,#123d5a);color:#fff;border-color:#2b5d77;box-shadow:inset 3px 0 0 var(--rsh-accent-500),0 6px 14px rgb(0 0 0 / 8%)}
.admin-nav-icon{color:#65c7f5}
.admin-nav a[aria-current="page"] .admin-nav-icon{color:#fff}
.admin-nav-chevron{width:.85rem;height:.85rem;color:#7298af;justify-self:end}
.admin-nav-overlay{display:none}

/* Reusable page canvas */
.admin-main{grid-column:2;grid-row:1;min-width:0;width:100%;max-width:none;padding:clamp(1.25rem,2.1vw,2.2rem)}
.admin-page-header,.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.6rem;padding-bottom:1.25rem;border-bottom:1px solid #e2e9f1}
.admin-page-header__copy,.heading>div{min-width:0}
.eyebrow{display:inline-block;color:var(--rsh-accent-700);letter-spacing:.12em;font-size:.68rem;font-weight:800;text-transform:uppercase}
.admin-page-header h1,.heading h1{margin-top:.38rem;font-size:clamp(1.75rem,2.15vw,2.4rem);letter-spacing:-.03em}
.admin-page-header p,.heading p{margin-top:.45rem;color:var(--rsh-ink-600);max-width:62rem;font-size:.96rem}
.admin-page-header__actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-end}
.admin-page-header__actions .admin-icon,.heading .button .admin-icon{width:1rem;height:1rem}

/* Shared professional cards */
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;width:100%}
.admin-card{min-height:9rem;display:flex;flex-direction:column;padding:1.2rem;background:var(--admin-card);border:1px solid var(--admin-card-border);border-radius:1rem;box-shadow:var(--admin-card-shadow);color:var(--rsh-ink-900)}
.admin-card:visited{color:var(--rsh-ink-900)}
.admin-card:hover{transform:translateY(-2px);color:var(--rsh-ink-900);border-color:#c7d5e4;box-shadow:var(--admin-card-shadow-hover)}
.admin-card span{font-weight:750}.admin-card strong{font-family:var(--rsh-font-display);font-size:clamp(1.55rem,2.4vw,2.05rem);margin:.65rem 0;overflow-wrap:anywhere}.admin-card small{margin-top:auto;color:var(--rsh-accent-700);font-weight:700}

/* Dashboard product components */
.admin-dashboard{display:grid;gap:0}
.admin-dashboard-section{display:grid;gap:1rem;margin-top:.35rem;margin-bottom:2rem}
.admin-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.25rem}
.admin-section-heading h2{font-size:1.25rem;margin-top:.25rem}
.admin-section-heading p{max-width:43rem;color:var(--rsh-ink-600);font-size:.87rem;text-align:right}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.admin-stat-card{position:relative;min-height:12rem;display:grid;grid-template-rows:auto auto 1fr auto;align-content:start;gap:.55rem;padding:1.15rem 1.2rem;background:var(--admin-card);border:1px solid var(--admin-card-border);border-radius:1rem;color:var(--rsh-ink-900);box-shadow:var(--admin-card-shadow);overflow:hidden}
.admin-stat-card::after{content:"";position:absolute;inset:auto -2rem -3.25rem auto;width:8rem;height:8rem;border-radius:50%;background:var(--stat-soft,#eef5ff);opacity:.8;pointer-events:none}
.admin-stat-card:visited{color:var(--rsh-ink-900)}
.admin-stat-card:hover{color:var(--rsh-ink-900);transform:translateY(-3px);border-color:#c8d6e5;box-shadow:var(--admin-card-shadow-hover)}
.admin-stat-card__icon{width:2.65rem;height:2.65rem;display:grid;place-items:center;border-radius:.78rem;background:var(--stat-soft,#eaf3ff);color:var(--stat-color,#2361b4);position:relative;z-index:1}
.admin-stat-card__icon .admin-icon{width:1.25rem;height:1.25rem}
.admin-stat-card__label{font-size:.83rem;color:var(--rsh-ink-700);font-weight:750;position:relative;z-index:1}
.admin-stat-card__value{font-family:var(--rsh-font-display);font-size:2.25rem;line-height:1;color:var(--rsh-ink-950);position:relative;z-index:1}
.admin-stat-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:var(--stat-color,#2361b4);font-size:.76rem;font-weight:750;position:relative;z-index:1}
.admin-stat-card--blue{--stat-color:var(--admin-stat-blue);--stat-soft:var(--admin-stat-blue-soft)}.admin-stat-card--violet{--stat-color:var(--admin-stat-violet);--stat-soft:var(--admin-stat-violet-soft)}.admin-stat-card--cyan{--stat-color:var(--admin-stat-cyan);--stat-soft:var(--admin-stat-cyan-soft)}.admin-stat-card--amber{--stat-color:var(--admin-stat-amber);--stat-soft:var(--admin-stat-amber-soft)}.admin-stat-card--pink{--stat-color:var(--admin-stat-pink);--stat-soft:var(--admin-stat-pink-soft)}.admin-stat-card--green{--stat-color:var(--admin-stat-green);--stat-soft:var(--admin-stat-green-soft)}.admin-stat-card--navy{--stat-color:var(--admin-stat-navy);--stat-soft:var(--admin-stat-navy-soft)}.admin-stat-card--slate{--stat-color:var(--admin-stat-slate);--stat-soft:var(--admin-stat-slate-soft)}
.admin-ops-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:1rem}
.admin-ops-card{min-height:14rem;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:var(--admin-card);border:1px solid var(--admin-card-border);border-radius:1rem;box-shadow:var(--admin-card-shadow);color:var(--rsh-ink-900)}
.admin-ops-card:visited{color:var(--rsh-ink-900)}.admin-ops-card:hover{color:var(--rsh-ink-900);transform:translateY(-2px);border-color:#c8d6e5;box-shadow:var(--admin-card-shadow-hover)}
.admin-ops-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-stat-card__icon--success{background:#e1f6ed;color:#087155}.admin-stat-card__icon--accent{background:#ffe8ef;color:#c30d45}
.admin-ops-value{display:block;font-family:var(--rsh-font-display);font-size:2.6rem;line-height:1;margin-top:.45rem}.admin-ops-title{display:block;font-family:var(--rsh-font-display);font-size:1.15rem;margin-top:.35rem}.admin-ops-card p{font-size:.84rem;color:var(--rsh-ink-600)}
.admin-ops-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}.admin-ops-meta span{padding:.65rem .7rem;border-radius:.65rem;background:#f4f7fb;color:var(--rsh-ink-600);font-size:.75rem}.admin-ops-meta b{display:block;color:var(--rsh-ink-950);font-size:1rem}.admin-card-link{margin-top:auto;color:var(--rsh-accent-700);font-size:.77rem;font-weight:750}

.table-wrap { width: 100%; overflow: auto; background: var(--rsh-surface); border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-lg); box-shadow: var(--rsh-shadow-xs); }
table { width: 100%; border-collapse: collapse; text-align: left; background: var(--rsh-surface); }
th, td { border-bottom: 1px solid #e8edf3; padding: .78rem .9rem; vertical-align: top; }
th { position: sticky; top: 0; z-index: 1; background: #f4f7fa; color: var(--rsh-ink-700); font-size: .76rem; letter-spacing: .025em; white-space: nowrap; }
tbody tr { transition: background-color var(--rsh-duration-fast) var(--rsh-ease); }
tbody tr:hover { background: #fbfcfe; }
tbody tr:last-child td { border-bottom: 0; }
td small { display: block; color: var(--rsh-ink-600); margin-top: .2rem; }
.row-actions, .row-actions form { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.row-actions button, .enquiry button { min-height: 2.1rem; border: 1px solid var(--rsh-border-strong); background: #fff; color: var(--rsh-ink-700); padding: .4rem .65rem; border-radius: var(--rsh-radius-sm); font-size: .8rem; font-weight: 700; }
.row-actions button:hover, .enquiry button:hover { background: var(--rsh-surface-muted); color: var(--rsh-ink-950); }
.row-actions .danger { color: var(--rsh-danger-700); }
.row-actions .danger:hover { background: var(--rsh-danger-100); border-color: #e4b3b8; }

.editor, .enquiry, .asset-editor, .system-score, .brand-previews { background: var(--rsh-surface); border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-lg); box-shadow: var(--rsh-shadow-xs); }
.editor { width: 100%; max-width: none; padding: clamp(1rem,2vw,1.5rem); display: grid; gap: 1.15rem; }
.editor label, .login-card label, .asset-editor label, .asset-filters label { display: grid; gap: .42rem; font-weight: 800; }
.editor small, .security-editor small { font-weight: 500; color: var(--rsh-ink-600); }
.editor .two { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.editor button { justify-self: start; }
.image-current img { width: 13rem; height: 8rem; object-fit: cover; display: block; margin-bottom: .5rem; border-radius: var(--rsh-radius-sm); border: 1px solid var(--rsh-border); }
.image-current label { display: flex; align-items: center; gap: .5rem; }
.image-current input { width: auto; }

.error, .success, .security-alert { padding: .85rem 1rem; border-radius: var(--rsh-radius-sm); margin-bottom: 1rem; }
.error { background: var(--rsh-danger-100); border: 1px solid #edc1c5; color: var(--rsh-danger-700); }
.success { background: var(--rsh-success-100); border: 1px solid #bce2d4; color: var(--rsh-success-700); }
.security-alert { max-width: none; background: var(--rsh-warning-100); border: 1px solid #ecd58d; color: var(--rsh-warning-700); }
.security-alert p { margin-top: .25rem; }

.login-card { width: min(31rem, calc(100% - 2rem)); margin: clamp(2rem,8vh,6rem) auto; background: var(--rsh-surface); border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-xl); padding: clamp(1.25rem,4vw,2rem); box-shadow: var(--rsh-shadow-md); }
.login-card h1 { margin-top: .45rem; font-size: 2rem; }
.login-card form { display: grid; gap: 1rem; margin-top: 1.25rem; }
.login-help { margin-top: .45rem; color: var(--rsh-ink-600); }
.password-control { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; }
.password-control input { border-radius: var(--rsh-radius-sm) 0 0 var(--rsh-radius-sm); }
.password-toggle { min-width: 4.25rem; border: 1px solid var(--rsh-border-strong); border-left: 0; border-radius: 0 var(--rsh-radius-sm) var(--rsh-radius-sm) 0; background: var(--rsh-surface-muted); color: var(--rsh-ink-700); font-size: .78rem; font-weight: 800; }
.password-toggle:hover { background: #e3e9f0; }

.enquiry { padding: 1.15rem; margin-bottom: .9rem; }
.enquiry-top { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.enquiry h2 { font-size: 1.08rem; }
.enquiry h2 small { font-weight: 500; color: var(--rsh-ink-600); }
.enquiry p { color: var(--rsh-ink-600); margin-top: .35rem; }
.enquiry .message { padding: .85rem; background: var(--rsh-surface-soft); border: 1px solid #edf0f4; border-radius: var(--rsh-radius-sm); margin: 1rem 0; }
.enquiry form { display: flex; align-items: end; flex-wrap: wrap; gap: .6rem; }
.enquiry form label { font-size: .8rem; }
.enquiry form select { min-width: 10rem; }

.admin-header > a { display: flex; align-items: center; gap: .75rem; }
.settings-editor { max-width: none; }
.settings-editor fieldset { border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-md); padding: 1.15rem; margin: 0; }
.settings-editor legend { font-weight: 900; color: var(--rsh-brand-950); padding: 0 .4rem; }
.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.settings-grid .wide-field { grid-column: 1/-1; }
.settings-grid .check-field { display: flex; align-items: center; gap: .65rem; font-weight: 600; }
.settings-grid input[type=checkbox] { width: 1.1rem; height: 1.1rem; min-height: 0; flex: 0 0 auto; }
.brand-previews { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; padding: 1rem; margin-bottom: 1.25rem; }
.brand-previews img { object-fit: contain; width: 6rem; height: 6rem; }
.brand-previews img:first-child { width: min(18rem,100%); }

.asset-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; margin-bottom: 1rem; }
.asset-stat { background: var(--rsh-surface); border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-md); padding: 1rem; }
.asset-stat span { display: block; color: var(--rsh-ink-600); font-size: .78rem; font-weight: 800; }
.asset-stat strong { display: block; font-family: var(--rsh-font-display); font-size: 1.55rem; margin-top: .2rem; }
.asset-filters { display: grid; grid-template-columns: minmax(11rem,16rem) minmax(10rem,13rem) auto auto; gap: .7rem; align-items: end; background: #fff; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-md); padding: .9rem; margin-bottom: 1rem; }
.asset-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,24rem); gap: 1rem; align-items: start; }
.asset-table td:first-child { min-width: 14rem; }
.asset-table td:nth-child(2) { min-width: 8rem; }
.asset-table td:nth-child(4) { min-width: 9rem; }
.asset-thumb { width: 4.5rem; height: 2.9rem; object-fit: contain; background: #f5f8fa; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-sm); display: block; margin-bottom: .45rem; }
.asset-editor { position: sticky; top: calc(var(--rsh-header-h) + 1rem); padding: 1rem; }
.asset-editor h2 { font-size: 1.15rem; margin: .35rem 0; }
.asset-key { font-family: var(--rsh-font-mono); font-size: .76rem; color: var(--rsh-ink-600); overflow-wrap: anywhere; }
.asset-preview { display: block; width: 100%; max-height: 13rem; object-fit: contain; background: var(--rsh-surface-soft); border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-sm); margin: 1rem 0; }
.asset-empty { padding: 1.5rem 1rem; background: var(--rsh-surface-soft); border: 1px dashed var(--rsh-border-strong); border-radius: var(--rsh-radius-sm); color: var(--rsh-ink-600); text-align: center; margin: 1rem 0; }
.asset-editor dl { display: grid; grid-template-columns: 5rem 1fr; gap: .3rem .6rem; font-size: .8rem; margin: 0 0 1rem; }
.asset-editor dt { font-weight: 800; color: var(--rsh-ink-600); }
.asset-editor dd { margin: 0; }
.asset-editor form { display: grid; gap: .8rem; }

.system-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-bottom: 1rem; }
.system-score { padding: 1rem; display: grid; gap: .2rem; }
.system-score strong { font-size: 1.05rem; }
.system-score span { color: var(--rsh-ink-600); font-size: .84rem; }
.system-score.pass { border-color: #b8e3d6; }
.system-score.warn { border-color: #ead5a0; }
.system-score.fail { border-color: #edb6b8; }
.system-list { display: grid; gap: .55rem; }
.system-row { background: #fff; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-md); padding: .8rem .9rem; display: grid; grid-template-columns: .75rem minmax(0,1fr) auto; gap: .75rem; align-items: center; }
.system-row p { margin-top: .15rem; color: var(--rsh-ink-600); font-size: .82rem; }
.system-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #8091a0; }
.system-row.pass .system-dot { background: #168163; }
.system-row.warn .system-dot { background: #b78314; }
.system-row.fail .system-dot { background: #b63d42; }
.system-label { font-size: .7rem; font-weight: 900; letter-spacing: .05em; color: var(--rsh-ink-600); }
.system-row.pass .system-label { color: var(--rsh-success-700); }
.system-row.warn .system-label { color: var(--rsh-warning-700); }
.system-row.fail .system-label { color: var(--rsh-danger-700); }
.system-actions { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1rem; }

.ui-reference-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap: 1rem; }
.ui-reference-card { background: #fff; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-lg); padding: 1.1rem; box-shadow: var(--rsh-shadow-xs); }
.ui-reference-card h2 { font-size: 1.08rem; margin-bottom: .85rem; }
.ui-swatch-row { display: flex; flex-wrap: wrap; gap: .6rem; }
.ui-swatch { width: 6rem; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-sm); overflow: hidden; background: #fff; }
.ui-swatch span { display: block; height: 3.2rem; }
.ui-swatch small { display: block; padding: .4rem; color: var(--rsh-ink-600); font-size: .68rem; }
.ui-demo-stack { display: grid; gap: .7rem; }
.ui-demo-table { overflow-x: auto; }

@media (max-width: 1180px) {
  .asset-layout { grid-template-columns: 1fr; }
  .asset-editor { position: static; }
  .asset-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1240px){
  .admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-ops-grid{grid-template-columns:1fr 1fr}
  .admin-ops-card--lead{grid-column:1/-1}
}

@media (max-width: 1040px) {
  .admin-menu-button { display:inline-flex; }
  .admin-product-label { display:none; }
  .admin-shell { display:block; }
  .admin-main { grid-column:auto; grid-row:auto; }
  .admin-sidebar { position:fixed; z-index:var(--rsh-z-sidebar,50); left:0; top:var(--rsh-header-h); width:min(19.5rem,88vw); height:calc(100dvh - var(--rsh-header-h)); transform:translateX(-104%); transition:transform var(--rsh-duration-normal,210ms) var(--rsh-ease,cubic-bezier(.2,.7,.2,1)); box-shadow:var(--rsh-shadow-lg,0 28px 70px rgb(7 20 79 / 15%)); }
  body.admin-nav-open .admin-sidebar { transform:translateX(0); }
  .admin-nav-overlay { display:block; position:fixed; z-index:var(--rsh-z-overlay,45); inset:var(--rsh-header-h) 0 0; border:0; padding:0; opacity:0; pointer-events:none; background:rgb(4 13 28 / 44%); transition:opacity var(--rsh-duration-normal,210ms) var(--rsh-ease,cubic-bezier(.2,.7,.2,1)); }
  body.admin-nav-open .admin-nav-overlay { opacity:1; pointer-events:auto; }
  .asset-filters { grid-template-columns:1fr 1fr; }
  .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 760px){
  .admin-page-header,.heading,.admin-section-heading{align-items:flex-start;flex-direction:column;gap:.8rem}
  .admin-page-header__actions{width:100%;justify-content:flex-start}
  .admin-page-header__actions .button,.heading>.button,.heading>.primary{width:100%}
  .admin-section-heading p{text-align:left}
  .admin-ops-grid{grid-template-columns:1fr}
  .admin-ops-card--lead{grid-column:auto}
}

@media (max-width: 680px) {
  :root { --rsh-header-h:4.1rem; --rsh-content-pad:1rem; }
  .admin-header { padding-inline:.7rem; gap:.5rem; }
  .admin-header__start{gap:.45rem}
  .admin-brand { width:7.8rem; height:2.75rem; }
  .admin-header__actions { gap:.35rem; }
  .admin-identity{display:none}
  .admin-header-action{width:2.55rem;height:2.55rem;min-height:2.55rem;padding:0}
  .admin-header-action span{display:none}
  .admin-header-action .admin-icon{width:1.05rem;height:1.05rem}
  .editor .two, .settings-grid { grid-template-columns:1fr; }
  .settings-grid .wide-field { grid-column:auto; }
  .asset-filters { grid-template-columns:1fr; }
  .system-summary { grid-template-columns:1fr; }
  .system-row { grid-template-columns:.65rem minmax(0,1fr); }
  .system-label { grid-column:2; }
  .enquiry-top { flex-direction:column; }
  .brand-previews img:first-child { width:100%; }
  .admin-stat-grid{grid-template-columns:1fr}
  .admin-stat-card{min-height:10.5rem}
}

@media (max-width: 430px) {
  .admin-main{padding:.9rem}
  .admin-card { min-height:8rem; padding:1rem; }
  th, td { padding:.7rem .75rem; }
  .asset-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .admin-ops-meta{grid-template-columns:1fr}
}

.ui-reference-card--wide{margin-top:1rem}

.ui-swatch__color{display:block;height:3.2rem}
.ui-swatch__color--brand{background:var(--rsh-brand-950)}
.ui-swatch__color--accent{background:var(--rsh-accent-500)}
.ui-swatch__color--success{background:var(--rsh-success-100)}
.ui-swatch__color--warning{background:var(--rsh-warning-100)}
.ui-swatch__color--danger{background:var(--rsh-danger-100)}

/* SoftBatch16 — functional lead controls only; full Admin visual redesign is deferred. */
.inline-check{display:flex;align-items:center;gap:.55rem;font-weight:600}
.inline-check input[type=checkbox]{width:1.1rem;height:1.1rem;min-height:0;flex:0 0 auto}

/* ===== SoftBatch18: owner-locked Admin premium compact shell ===== */
.admin-header{
  background:linear-gradient(110deg,color-mix(in srgb,var(--admin-topbar),black 11%),var(--admin-topbar) 60%,color-mix(in srgb,var(--admin-topbar),white 6%));
  color:var(--admin-ink-on-dark);border-color:var(--admin-topbar-border);
  box-shadow:0 2px 12px rgb(2 28 37 / 15%);
}
.admin-header__brand,.admin-header__brand:visited,.admin-header__brand:hover{color:var(--admin-ink-on-dark)}
.admin-brand{filter:brightness(0) invert(1) drop-shadow(0 2px 2px rgb(0 0 0 / 17%));}
.admin-product-label{border-color:rgb(255 255 255 / 25%)}
.admin-product-label strong{color:var(--admin-ink-on-dark)}
.admin-product-label span{color:var(--admin-ink-muted-on-dark)}
.admin-identity{border-color:rgb(255 255 255 / 24%);color:var(--admin-ink-on-dark);background:rgb(0 0 0 / 11%)}
.admin-identity .admin-icon,.admin-identity small{color:var(--admin-ink-muted-on-dark)}
.admin-header-action,.admin-header-action:visited{background:rgb(255 255 255 / 8%);border-color:rgb(255 255 255 / 29%);color:var(--admin-ink-on-dark)}
.admin-header-action:hover{background:rgb(255 255 255 / 17%);border-color:rgb(255 255 255 / 55%);color:var(--admin-ink-on-dark)}
.admin-header-action--logout{color:var(--admin-ink-on-dark);border-color:color-mix(in srgb,var(--admin-page-header),white 48%);background:color-mix(in srgb,var(--admin-page-header),transparent 73%)}
.admin-header-action--logout:hover{background:var(--admin-page-header);border-color:var(--admin-page-header);color:var(--admin-ink-on-dark)}
.admin-menu-button{color:var(--admin-ink-on-dark);background:rgb(255 255 255 / 9%);border-color:rgb(255 255 255 / 25%)}
.admin-menu-button:hover{background:rgb(255 255 255 / 18%)}
.admin-shell{display:block;min-height:calc(100dvh - var(--rsh-header-h) - var(--admin-footer-h))}
.admin-sidebar{position:fixed;z-index:35;left:0;top:var(--rsh-header-h);width:var(--rsh-sidebar-w);height:calc(100dvh - var(--rsh-header-h));background:linear-gradient(175deg,color-mix(in srgb,var(--admin-sidebar),white 3%),var(--admin-sidebar) 75%,color-mix(in srgb,var(--admin-sidebar),black 7%));border-color:var(--admin-sidebar-border);padding:.58rem .55rem .85rem;scrollbar-color:color-mix(in srgb,var(--admin-sidebar),white 35%) transparent}
.admin-nav{gap:.16rem}
.admin-nav>a,.admin-nav-branch>summary{display:grid;grid-template-columns:1.18rem minmax(0,1fr) .8rem;align-items:center;gap:.65rem;min-height:2.67rem;padding:.56rem .65rem;border-radius:.65rem;color:var(--admin-sidebar-text);font-size:.82rem;font-weight:650;border:1px solid transparent;text-decoration:none;cursor:pointer;list-style:none}
.admin-nav>a{grid-template-columns:1.18rem minmax(0,1fr)}
.admin-nav-branch>summary::-webkit-details-marker{display:none}
.admin-nav-branch>summary::marker{content:''}
.admin-nav>a:visited{color:var(--admin-sidebar-text)}
.admin-nav>a:hover,.admin-nav-branch>summary:hover,.admin-nav-branch>summary.admin-nav-branch--active{background:var(--admin-sidebar-bg-hover);border-color:var(--admin-sidebar-border);color:var(--admin-ink-on-dark)}
.admin-nav>a[aria-current="page"]{background:var(--admin-sidebar-bg-active);box-shadow:inset 3px 0 var(--admin-ink-muted-on-dark);border-color:var(--admin-sidebar-border)}
.admin-nav-icon{color:var(--admin-ink-muted-on-dark)}
.admin-nav-chevron{color:var(--admin-sidebar-muted);transition:transform .18s ease}
.admin-nav-branch[open]>summary .admin-nav-chevron{transform:rotate(90deg)}
.admin-submenu{margin:.13rem .05rem .35rem 1rem;padding:.3rem;border:1px solid color-mix(in srgb,var(--admin-submenu),white 21%);border-radius:.65rem;background:var(--admin-submenu-gradient);box-shadow:inset 0 1px rgb(255 255 255 / 11%),0 7px 18px rgb(0 0 0 / 14%)}
.admin-submenu a{display:flex;align-items:center;gap:.55rem;min-height:2.37rem;padding:.45rem .65rem;border:1px solid transparent;border-radius:.45rem;color:var(--admin-ink-on-dark);font-size:.78rem;font-weight:570;text-decoration:none}
.admin-submenu a:visited{color:var(--admin-ink-on-dark)}
.admin-submenu .admin-nav-icon{width:.94rem;height:.94rem;color:color-mix(in srgb,var(--admin-submenu),white 72%)}
.admin-submenu a:hover,.admin-submenu a[aria-current="page"]{background:rgb(255 255 255 / 12%);border-color:rgb(255 255 255 / 16%);color:var(--admin-ink-on-dark)}
.admin-nav a:focus-visible,.admin-nav summary:focus-visible,.admin-header-action:focus-visible{outline:2px solid var(--admin-ink-muted-on-dark);outline-offset:2px}
.admin-main{margin-left:var(--rsh-sidebar-w);padding:var(--admin-page-gutter);min-height:0}
.admin-page-header,.heading{background:var(--admin-header-gradient);border:1px solid color-mix(in srgb,var(--admin-page-header),white 22%);border-radius:.85rem;box-shadow:inset 0 1px rgb(255 255 255 / 16%),0 6px 20px rgb(56 14 14 / 13%);color:var(--admin-ink-on-dark);padding:.85rem 1.1rem;margin-bottom:.9rem;gap:.65rem;align-items:center}
.admin-page-header h1,.heading h1{color:var(--admin-ink-on-dark);font-size:clamp(1.45rem,1.9vw,2rem);line-height:1.2;margin-top:.12rem}
.admin-page-header .eyebrow,.heading .eyebrow{color:color-mix(in srgb,var(--admin-ink-on-dark),transparent 17%)}
.admin-page-header p,.heading p{color:color-mix(in srgb,var(--admin-ink-on-dark),transparent 10%);margin-top:.15rem;font-size:.79rem;line-height:1.35}
.admin-page-header .button,.heading .button,.heading a:not(.button){border-radius:.55rem;background:var(--admin-card);color:var(--admin-page-header);border:1px solid color-mix(in srgb,var(--admin-page-header),white 67%);font-weight:700;box-shadow:0 3px 9px rgb(0 0 0 / 11%)}
.admin-page-header .button:hover,.heading .button:hover{background:color-mix(in srgb,var(--admin-card),var(--admin-page-header) 7%);color:var(--admin-page-header)}
.admin-dashboard-section{gap:.65rem;margin-top:.2rem;margin-bottom:.9rem}
.admin-section-heading{padding:.58rem .95rem;border-radius:.65rem;border:1px solid rgb(255 255 255 / 15%);color:var(--admin-ink-on-dark);box-shadow:inset 0 1px rgb(255 255 255 / 19%),0 4px 10px rgb(16 31 48 / 9%)}
.admin-dashboard-section--business .admin-section-heading{background:var(--admin-group-business-gradient)}
.admin-dashboard-section--operations .admin-section-heading{background:var(--admin-group-operations-gradient)}
.admin-section-heading h2{color:var(--admin-ink-on-dark);margin:0;font-size:1.02rem;line-height:1.45}
.admin-stat-grid{gap:.7rem}
.admin-stat-card{min-height:9.35rem;grid-template-rows:auto 1fr auto;gap:.48rem;padding:.9rem .95rem;background:var(--admin-card);border-color:var(--admin-card-border);border-radius:.8rem;box-shadow:var(--admin-card-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.admin-stat-card::after{display:none}
.admin-stat-card:hover{transform:translateY(-4px);border-color:var(--admin-card-border-hover);box-shadow:var(--admin-card-shadow-hover)}
.admin-stat-card:focus-visible,.admin-ops-card:focus-visible{outline:2px solid var(--stat-color,var(--admin-topbar));outline-offset:2px}
.admin-stat-card__heading{display:flex;gap:.62rem;align-items:center;min-width:0}
.admin-stat-card__icon{height:2.2rem;width:2.2rem;border-radius:.6rem}
.admin-stat-card__icon .admin-icon{width:1.12rem;height:1.12rem}
.admin-stat-card__label{min-width:0;font-size:.79rem;line-height:1.3;overflow-wrap:anywhere}
.admin-stat-card__value{text-align:center;align-self:center;font-size:2rem;line-height:1.1}
.admin-stat-card__meta{font-size:.7rem;line-height:1.2;gap:.3rem;white-space:normal}
.admin-stat-card__meta span:first-child{overflow-wrap:anywhere}
.admin-card,.admin-ops-card{background:var(--admin-card);border-color:var(--admin-card-border);box-shadow:var(--admin-card-shadow)}
.admin-card:hover,.admin-ops-card:hover{border-color:var(--admin-card-border-hover);box-shadow:var(--admin-card-shadow-hover)}
.admin-ops-grid{gap:.7rem}
.admin-ops-card{min-height:10.4rem;gap:.5rem;padding:.9rem;border-radius:.8rem}
.admin-ops-card__head{gap:.4rem}
.admin-ops-card p{display:none}
.admin-ops-value{font-size:2rem}
.admin-ops-title{font-size:1rem}
.admin-ops-meta span{background:var(--admin-canvas);padding:.48rem}
.admin-dashboard-help{margin:.3rem 0 .1rem;background:var(--admin-card);border:1px solid var(--admin-card-border);border-radius:.75rem;box-shadow:var(--admin-card-shadow);overflow:hidden}
.admin-help-heading{padding:.55rem .95rem;color:var(--admin-ink-on-dark);background:var(--admin-group-help-gradient)}
.admin-help-heading h2{display:flex;align-items:center;gap:.55rem;margin:0;font-size:1rem;color:inherit}
.admin-help-heading .admin-icon{width:1rem;height:1rem}
.admin-help-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;padding:.7rem .95rem}
.admin-help-topic{display:grid;gap:.12rem}
.admin-help-topic strong{font-size:.78rem;color:var(--rsh-ink-900)}
.admin-help-topic span{font-size:.74rem;color:var(--rsh-ink-600);line-height:1.4}
.admin-help-more{border-top:1px solid var(--admin-card-border)}
.admin-help-more summary{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem;cursor:pointer;color:var(--admin-section-help);font-weight:700;font-size:.78rem;list-style:none}
.admin-help-more summary::-webkit-details-marker{display:none}
.admin-help-more summary .admin-icon{height:.9rem;width:.9rem;transform:rotate(90deg)}
.admin-help-more[open] summary .admin-icon{transform:rotate(-90deg)}
.admin-help-more summary:hover{background:var(--admin-canvas)}
.admin-footer{min-height:var(--admin-footer-h);margin-left:var(--rsh-sidebar-w);display:flex;align-items:center;justify-content:center;padding:.45rem var(--admin-page-gutter);color:var(--admin-ink-on-dark);font-size:.72rem;background:var(--admin-footer);box-shadow:inset 0 1px rgb(255 255 255 / 14%)}
@media(max-width:1040px){.admin-sidebar{width:min(var(--rsh-sidebar-w),88vw);z-index:var(--rsh-z-sidebar,50)}.admin-main,.admin-footer{margin-left:0}}
@media(max-width:680px){.admin-header{padding-inline:.6rem}.admin-main{padding:.65rem}.admin-page-header,.heading{padding:.7rem .8rem;gap:.5rem}.admin-help-topics{grid-template-columns:1fr}.admin-stat-card{min-height:8.9rem}}
@media(prefers-reduced-motion:reduce){.admin-stat-card,.admin-ops-card,.admin-nav-chevron{transition:none}.admin-stat-card:hover,.admin-ops-card:hover{transform:none}}

/* ===== SoftBatch19: fixed chrome, bounded content grid, professional account menu ===== */
:root{
  --admin-profile-panel:var(--admin-card);
  --admin-profile-border:var(--admin-card-border);
  --admin-profile-shadow:0 18px 42px rgb(4 25 35 / 22%),0 4px 10px rgb(4 25 35 / 10%);
}
body.admin-page{padding-top:var(--rsh-header-h);overflow-x:clip}
.admin-header{position:fixed;inset:0 0 auto;top:0;width:100%;max-width:100vw;z-index:60;display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,1fr) minmax(0,1fr);align-items:center;gap:.65rem}
.admin-header__start{min-width:0;justify-self:start}
.admin-header__brand{min-width:0}
.admin-header__center{min-width:0;justify-self:center;display:grid;text-align:center;align-content:center;gap:.13rem;line-height:1.18;color:var(--admin-ink-on-dark)}
.admin-header__center strong{font-size:.87rem;font-weight:700;white-space:nowrap}
.admin-header__center span{font-size:.64rem;letter-spacing:.085em;text-transform:uppercase;color:var(--admin-ink-muted-on-dark);font-weight:600;white-space:nowrap}
.admin-header__actions{justify-self:end;min-width:0}
.admin-shell{display:grid;grid-template-columns:var(--rsh-sidebar-w) minmax(0,1fr);min-width:0;min-height:calc(100dvh - var(--rsh-header-h) - var(--admin-footer-h))}
.admin-sidebar{position:fixed;top:var(--rsh-header-h);left:0;height:calc(100dvh - var(--rsh-header-h));width:var(--rsh-sidebar-w);z-index:35}
.admin-main{grid-column:2;grid-row:1;min-width:0;width:100%;max-width:100%;margin-left:0;padding:var(--admin-page-gutter)}
.admin-dashboard,.admin-dashboard-section,.admin-stat-grid,.admin-ops-grid{min-width:0;max-width:100%}
.admin-stat-grid>* ,.admin-ops-grid>*{min-width:0}
.admin-stat-card__label,.admin-stat-card__meta span:first-child{overflow-wrap:anywhere}
.admin-footer{margin-left:var(--rsh-sidebar-w)}
.admin-nav>a.admin-nav-visit{grid-template-columns:1.18rem minmax(0,1fr) .8rem;margin-top:.4rem;background:color-mix(in srgb,var(--admin-sidebar),white 11%);border:1px solid var(--admin-sidebar-border)!important}
.admin-nav-visit:hover{background:var(--admin-sidebar-bg-active)!important}
.admin-profile{position:relative;min-width:0}
.admin-profile>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.68rem;padding:.36rem .62rem;border-radius:.7rem;color:var(--admin-ink-on-dark);background:rgb(255 255 255 / 7%);border:1px solid rgb(255 255 255 / 24%);min-height:2.9rem;transition:background .16s ease,border-color .16s ease}
.admin-profile>summary::-webkit-details-marker{display:none}
.admin-profile>summary::marker{content:''}
.admin-profile>summary:hover,.admin-profile[open]>summary{background:rgb(255 255 255 / 15%);border-color:rgb(255 255 255 / 45%)}
.admin-profile>summary:focus-visible{outline:2px solid var(--admin-ink-on-dark);outline-offset:2px}
.admin-profile__avatar{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 2rem;border-radius:50%;background:rgb(255 255 255 / 96%);color:var(--admin-topbar)}
.admin-profile__avatar .admin-icon{width:1.2rem;height:1.2rem}
.admin-profile__summary{display:grid;text-align:left;gap:.05rem;line-height:1.2;min-width:0}
.admin-profile__summary strong{font-size:.79rem;font-weight:700;white-space:nowrap}
.admin-profile__summary small{font-size:.69rem;color:var(--admin-ink-muted-on-dark);font-weight:600;white-space:nowrap}
.admin-profile__chevron{width:.85rem;height:.85rem;flex:0 0 auto;transform:rotate(90deg);transition:transform .16s ease}
.admin-profile[open] .admin-profile__chevron{transform:rotate(-90deg)}
.admin-profile__menu{position:absolute;top:calc(100% + .55rem);right:0;width:min(18.8rem,calc(100vw - 1rem));z-index:90;overflow:hidden;padding:.4rem;border:1px solid var(--admin-profile-border);border-radius:.85rem;background:var(--admin-profile-panel);color:var(--rsh-ink-900);box-shadow:var(--admin-profile-shadow)}
.admin-profile__menu-head{display:grid;gap:.1rem;padding:.72rem .8rem .8rem;border-bottom:1px solid var(--admin-card-border);margin-bottom:.35rem}
.admin-profile__menu-head strong{font-size:.85rem;color:var(--rsh-ink-900)}
.admin-profile__menu-head small{font-size:.73rem;color:var(--rsh-ink-600)}
.admin-profile__menu a,.admin-profile__menu button{box-sizing:border-box;display:flex;width:100%;min-height:2.55rem;align-items:center;gap:.7rem;padding:.55rem .7rem;border:0;border-radius:.53rem;background:transparent;text-align:left;font-size:.82rem;font-weight:650;color:var(--rsh-ink-700);text-decoration:none}
.admin-profile__menu a:visited{color:var(--rsh-ink-700)}
.admin-profile__menu a:hover,.admin-profile__menu button:hover{background:var(--admin-canvas);color:var(--admin-topbar)}
.admin-profile__menu .admin-icon{width:1.05rem;height:1.05rem;color:var(--admin-topbar)}
.admin-profile__logout{margin:0;padding-top:.4rem;border-top:1px solid var(--admin-card-border)}
.admin-profile__logout button{color:var(--admin-page-header);cursor:pointer}
.admin-profile__logout button .admin-icon{color:var(--admin-page-header)}
.admin-profile__logout button:hover{background:color-mix(in srgb,var(--admin-page-header),white 94%);color:var(--admin-page-header)}
#change-password{scroll-margin-top:calc(var(--rsh-header-h) + 1rem)}
@media(max-width:1040px){
  .admin-shell{display:block}
  .admin-main{grid-column:auto;grid-row:auto;margin:0;width:100%}
  .admin-sidebar{width:min(var(--rsh-sidebar-w),88vw);z-index:65}
  .admin-nav-overlay{z-index:64}
  .admin-footer{margin-left:0}
}
@media(max-width:700px){
  .admin-header{grid-template-columns:minmax(0,1fr) auto;gap:.4rem}
  .admin-header__center{display:none}
  .admin-header__start{min-width:0}
  .admin-header__actions{min-width:0}
  .admin-profile>summary{gap:.35rem;padding:.28rem .42rem}
  .admin-profile__summary strong{font-size:.71rem}
  .admin-profile__summary small{font-size:.62rem}
  .admin-profile__avatar{width:1.7rem;height:1.7rem;flex-basis:1.7rem}
}
@media(max-width:420px){
  .admin-header{padding-inline:.45rem}
  .admin-brand{width:6.2rem;height:2.3rem}
  .admin-profile__summary strong{display:none}
  .admin-profile__summary small{font-size:.6rem}
}
@media(prefers-reduced-motion:reduce){.admin-profile>summary,.admin-profile__chevron{transition:none}}

/* ===== SoftBatch20: candidate design implementation (OWNER REVIEW PENDING) =====
   This block uses inherited admin tokens exclusively; owner approval is NOT implied. */
:root{
  --admin-control-radius:.7rem;
  --admin-control-height:2.65rem;
  --admin-control-gap:.72rem;
  --admin-group-radius:.85rem;
  --admin-group-border:var(--admin-card-border);
  --admin-group-shadow:var(--admin-card-shadow);
  --admin-profile-width:13.6rem;
  --admin-stat-radius:.8rem;
  --admin-context-color:var(--admin-section-business);
}
/* Topbar profile trigger: no box, avatar spans both textual lines; panel is content-fit. */
.admin-header__center strong{font-size:clamp(1rem,1.35vw,1.24rem);line-height:1.15;font-weight:750;letter-spacing:-.012em}
.admin-header__center span{font-size:.73rem;letter-spacing:.105em;font-weight:650}
.admin-profile>summary{background:transparent;border:0;box-shadow:none;padding:.1rem .12rem;border-radius:var(--admin-control-radius);gap:.56rem;min-height:2.65rem}
.admin-profile>summary:hover,.admin-profile[open]>summary{background:transparent;border-color:transparent;box-shadow:none}
.admin-profile__avatar{height:2.5rem;width:2.5rem;flex:0 0 2.5rem;background:transparent;border-radius:50%;color:var(--admin-ink-on-dark)}
.admin-profile__avatar .admin-icon{width:2.36rem;height:2.36rem}
.admin-profile__summary{line-height:1.22;gap:.1rem}
.admin-profile__summary strong{font-size:.83rem}
.admin-profile__summary small{font-size:.74rem}
.admin-profile__menu{width:min(var(--admin-profile-width),calc(100vw - 1rem));padding:.28rem;border-radius:var(--admin-control-radius)}
.admin-profile__menu-head{padding:.46rem .55rem .5rem;margin-bottom:.2rem}
.admin-profile__menu a,.admin-profile__menu button{min-height:2.18rem;padding:.36rem .48rem;gap:.48rem;font-size:.77rem;border-radius:.48rem}
.admin-profile__menu .admin-icon{width:.95rem;height:.95rem}
.admin-profile__logout{padding-top:.24rem}
/* Independent module context (NEVER prepend Dashboard). */
.admin-context{display:flex;align-items:center;gap:.42rem;min-width:0;flex-wrap:wrap;margin:0 0 .43rem;padding:.18rem .15rem;font-size:.78rem;font-weight:650;color:var(--rsh-ink-700)}
.admin-context a,.admin-context a:visited{color:var(--admin-context-color);text-decoration:none}
.admin-context a:hover{text-decoration:underline}
.admin-context strong{color:var(--rsh-ink-900);font-weight:750}
.admin-context__divider{color:var(--rsh-ink-500);font-size:1rem}
/* Premium nesting: parent owns attached heading AND every inner card. */
.admin-dashboard-section{display:block;overflow:hidden;border:1px solid var(--admin-group-border);border-radius:var(--admin-group-radius);background:var(--admin-card);box-shadow:var(--admin-group-shadow);margin:0 0 .8rem}
.admin-dashboard-section>.admin-section-heading{margin:0;border:0;border-bottom:1px solid rgb(255 255 255 / 20%);border-radius:0;box-shadow:inset 0 1px rgb(255 255 255 / 17%);padding:.56rem .85rem}
.admin-dashboard-section>.admin-stat-grid,.admin-dashboard-section>.admin-ops-grid{padding:.82rem;gap:.72rem;background:var(--admin-canvas)}
.admin-stat-card{border-radius:var(--admin-stat-radius);border:1px solid var(--admin-card-border);box-shadow:var(--admin-card-shadow);padding:.85rem;gap:.36rem}
.admin-stat-card__heading{justify-content:center;text-align:center;gap:.52rem}
.admin-stat-card__label{text-align:center}
.admin-stat-card__value{text-align:center;justify-self:center;align-self:center}
.admin-stat-card__meta{display:flex;justify-content:center;text-align:center;align-items:center;gap:.32rem}
.admin-stat-card__meta span:first-child{text-align:center}
.admin-stat-card:hover{box-shadow:var(--admin-card-shadow-hover);border-color:var(--admin-card-border-hover)}
/* Help: full width row per topic, never 2-column, View All at attached header's right. */
.admin-dashboard-help{position:relative;overflow:visible}
.admin-help-heading{border-radius:var(--admin-group-radius) var(--admin-group-radius) 0 0;padding:.61rem .85rem;min-height:2.48rem}
.admin-help-topics{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0 .9rem;background:var(--admin-card)}
.admin-help-topic{display:grid;gap:.17rem;min-width:0;padding:.72rem .1rem;border-bottom:1px solid var(--admin-card-border)}
.admin-help-topic:last-child{border-bottom:0}
.admin-help-topic strong{font-size:.83rem}
.admin-help-topic span{font-size:.79rem;line-height:1.52}
.admin-help-more{border:0}
.admin-help-more summary{position:absolute;top:.36rem;right:.7rem;width:auto;min-height:1.8rem;padding:.15rem .4rem;border:1px solid rgb(255 255 255 / 28%);border-radius:.42rem;color:var(--admin-ink-on-dark);background:rgb(255 255 255 / 7%);font-size:.75rem}
.admin-help-more summary:hover{background:rgb(255 255 255 / 16%)}
.admin-help-more[open]>.admin-help-topics{border-top:1px solid var(--admin-card-border)}
.admin-help-more[open]>.admin-help-topics>.admin-help-topic:last-child{border-bottom:0}
/* Shared List/Filter/Results group containers. No detached action row. */
.admin-panel{overflow:hidden;margin:0 0 .78rem;border:1px solid var(--admin-group-border);border-radius:var(--admin-group-radius);background:var(--admin-card);box-shadow:var(--admin-group-shadow);min-width:0}
.admin-panel__heading{display:flex;align-items:center;justify-content:space-between;min-height:2.65rem;padding:.54rem .88rem;color:var(--admin-ink-on-dark);border-bottom:1px solid rgb(255 255 255 / 20%)}
.admin-panel__heading h2{font-size:.97rem;line-height:1.3;color:inherit;font-weight:700}
.admin-panel__heading--business{background:var(--admin-group-business-gradient)}
.admin-panel__heading--operations{background:var(--admin-group-operations-gradient)}
.admin-panel__body{padding:.78rem .88rem;min-width:0}
.admin-panel__body--table{padding:0}
.admin-panel .service-filters{display:grid;grid-template-columns:repeat(var(--admin-filter-cols,3),minmax(0,1fr));gap:var(--admin-control-gap);align-items:end;padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.admin-panel .service-filters>label{min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.28rem;font-size:.77rem;line-height:1.28;font-weight:700}
.admin-panel .service-filters>label>input,.admin-panel .service-filters>label>select{height:var(--admin-control-height);min-height:var(--admin-control-height);width:100%;border-radius:var(--admin-control-radius);padding:.45rem .7rem;font-size:.81rem}
.admin-panel .service-filter-actions{display:contents}
.admin-panel .service-filter-actions>.button,.admin-panel .service-filter-actions>button{height:var(--admin-control-height);min-height:var(--admin-control-height);width:100%;border-radius:var(--admin-control-radius);padding:.44rem .7rem;display:flex;align-items:center;justify-content:center;margin:0;align-self:end;font-size:.81rem}
.admin-panel .service-list-summary{padding:.6rem .85rem;margin:0;border:0;box-shadow:none;background:var(--admin-card);font-size:.79rem}
.admin-panel .table-wrap{border:0;border-radius:0;box-shadow:none;margin:0;max-width:100%;overflow:auto}
.admin-panel table{border-collapse:collapse;width:100%;min-width:44rem}
.admin-panel table th,.admin-panel table td{border:1px solid var(--admin-card-border);padding:.66rem .7rem;vertical-align:middle;font-size:.8rem}
.admin-panel table thead th{background:var(--admin-canvas);font-weight:750;color:var(--rsh-ink-900);white-space:nowrap}
.admin-panel table tr>*:first-child{border-left:0}
.admin-panel table tr>*:last-child{border-right:0}
.admin-panel table tbody tr:last-child>td{border-bottom:0}
.admin-panel .admin-table-number{white-space:nowrap;width:4.4rem;text-align:center;font-weight:700;color:var(--rsh-ink-700)}
.admin-panel .rsh-pagination{margin:0;padding:.6rem .85rem;border-top:1px solid var(--admin-card-border);background:var(--admin-card)}
/* Common control geometry: buttons and filters have the same radius/height. */
.admin-main .button,.admin-main button.primary,.admin-main .service-filters input,.admin-main .service-filters select{border-radius:var(--admin-control-radius)}
@media(max-width:1420px){.admin-panel .service-filters{grid-template-columns:repeat(min(3,var(--admin-filter-cols,3)),minmax(0,1fr))}}
@media(max-width:920px){.admin-panel .service-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.admin-panel .service-filters{grid-template-columns:minmax(0,1fr)}.admin-profile__avatar{width:2.15rem;height:2.15rem;flex-basis:2.15rem}.admin-profile__avatar .admin-icon{width:2.05rem;height:2.05rem}.admin-header__center{display:none}}
@media(prefers-reduced-motion:reduce){.admin-stat-card:hover{transform:none}}

/* SoftBatch20 list pagination stays inside the attached Results group. */
.admin-results-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.65rem;padding:.55rem .78rem;border-top:1px solid var(--admin-card-border);background:var(--admin-card)}
.admin-results-pager__count{color:var(--rsh-ink-600);font-size:.78rem;font-weight:650}
.admin-panel .admin-results-pager .rsh-pagination{border:0;padding:0;margin:0;background:transparent}
@media(min-width:921px) and (max-width:1140px){.admin-panel .service-filters{grid-template-columns:repeat(min(3,var(--admin-filter-cols,3)),minmax(0,1fr))}}
@media(min-width:1141px){.admin-panel .service-filters{grid-template-columns:repeat(var(--admin-filter-cols,3),minmax(0,1fr))}}

/* Owner requested minimal header copy; module context is the visible navigation identity. */
.admin-context + .heading .eyebrow{display:none}
.admin-main .heading p,.admin-main .admin-page-header p{display:none}

/* ============================================================================
 SoftBatch21 — Shared Admin Page Contract. Owner LIVE approval remains pending.
 No per-page hard-coded theme colors; all visual authorities inherit tokens above.
 ============================================================================ */
:root{
  --admin-menu-square-corner:0;
  --admin-dropdown-bottom-radius:.72rem;
  --admin-group-panel-radius:var(--admin-group-radius);
  --admin-input-radius:var(--admin-control-radius);
  --admin-input-height:var(--admin-control-height);
  --admin-soft-divider:var(--admin-card-border);
  --admin-form-max:100%;
}
/* Profile is anchored to the bottom-right edge of Top Bar — never overlays bar. */
.admin-header{isolation:isolate}
.admin-profile{position:static}
.admin-profile__menu{
  position:fixed!important;
  left:auto!important;
  right:0!important;
  top:var(--rsh-header-h)!important;
  margin:0!important;
  transform:none!important;
  width:min(var(--admin-profile-width),100vw)!important;
  border-radius:0 0 var(--admin-dropdown-bottom-radius) var(--admin-dropdown-bottom-radius)!important;
  box-shadow:var(--admin-profile-shadow);
  z-index:100;
}
/* Breadcrumb is an eyebrow INSIDE the maroon page header. No floating nav strip. */
.admin-main>.admin-context{display:none}
.admin-page-header .admin-context,.heading .admin-context{
 display:inline-flex;align-items:center;gap:.38rem;flex-wrap:wrap;
 margin:0 0 .23rem;padding:0;border:0;background:none;
 font-size:.69rem;font-weight:750;letter-spacing:.075em;line-height:1.3;
 text-transform:uppercase;color:var(--admin-ink-on-dark);
}
.heading .admin-context a,.heading .admin-context a:visited,
.admin-page-header .admin-context a,.admin-page-header .admin-context a:visited{
 color:var(--admin-ink-on-dark);text-decoration:none;
}
.heading .admin-context strong,.admin-page-header .admin-context strong{
 color:var(--admin-ink-on-dark);font-weight:780;
}
.heading .admin-context .admin-context__divider,.admin-page-header .admin-context .admin-context__divider{
 color:color-mix(in srgb,var(--admin-ink-on-dark),transparent 30%);
}
.heading .admin-context a:hover,.admin-page-header .admin-context a:hover{text-decoration:underline}
.heading .admin-heading-copy{min-width:0;display:grid;gap:.06rem}
.admin-page-header,.heading{margin-block:0 .72rem;padding:.7rem 1.05rem;align-items:center}
.admin-page-header h1,.heading h1{margin:.06rem 0 0}
/* Keep short page headers short: detailed guidance belongs in the helper card. */
.admin-page-header p,.heading p{font-size:.76rem;line-height:1.38;margin:.24rem 0 0;max-width:65ch}
/* Shared premium form cards for EVERY editor, including legacy forms. */
.admin-main form.editor,.admin-main form.editor-form,
.admin-main .security-editor,.admin-main .catalogue-editor,
.admin-main .settings-editor,.admin-main .asset-editor,
.admin-main .enquiry,.admin-main .system-score,
.admin-main .ui-reference-card,.admin-main .brand-previews{
 border:1px solid var(--admin-group-border);
 border-radius:var(--admin-group-radius);
 background:var(--admin-card);
 box-shadow:var(--admin-card-shadow);
 min-width:0;
}
.admin-main form.editor-form{display:grid;gap:.85rem;padding:1rem}
.admin-main :is(.editor,.editor-form,.asset-editor,.service-form-section,.settings-editor) :is(input,select,textarea){
 max-width:100%;min-width:0;border-color:var(--admin-card-border);border-radius:var(--admin-control-radius);
 box-sizing:border-box;
}
.admin-main :is(.editor,.editor-form,.asset-editor,.settings-editor) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-height:var(--admin-control-height)}
.admin-main :is(.editor,.editor-form,.asset-editor,.settings-editor) label{font-size:.82rem;font-weight:650;line-height:1.4}
.admin-main :is(.editor,.editor-form,.asset-editor,.settings-editor) button{border-radius:var(--admin-control-radius)}
.admin-main :is(.service-form-section,.settings-editor fieldset){
 border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);padding:.9rem;min-width:0;
}
.admin-main :is(.service-form-section,.settings-editor fieldset) legend{color:var(--admin-section-business);font-size:.89rem;font-weight:750;padding:0 .5rem}
/* One cohesive toolbar: Apply/Reset participate directly as grid children. */
.admin-panel .service-filters,.admin-panel .admin-uniform-filters{min-width:0;gap:var(--admin-control-gap);align-items:end}
.admin-panel .asset-filters.admin-uniform-filters{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;background:transparent;
 border:0;border-radius:0;box-shadow:none;
}
.admin-panel .asset-filters.admin-uniform-filters>label{min-width:0;display:grid;gap:.3rem}
.admin-panel .asset-filters.admin-uniform-filters :is(input,select,button,.button){
 width:100%;height:var(--admin-control-height);border-radius:var(--admin-control-radius);margin:0;
}
.admin-panel :is(.service-filters,.asset-filters)>:is(label,.service-filter-actions){min-width:0}
.admin-panel .service-filter-actions :is(button,.button){font-weight:700}
/* Group results: enclosed header, row/column rules, bounded scroll, compact pager. */
.admin-panel--results{border-color:var(--admin-group-border);box-shadow:var(--admin-group-shadow)}
.admin-panel--results .table-wrap{overflow-x:auto;max-width:100%}
.admin-panel--results table{border-collapse:collapse;width:100%;min-width:max-content}
.admin-panel--results table :is(th,td){border:1px solid var(--admin-soft-divider);vertical-align:middle;padding:.62rem .68rem}
.admin-panel--results table th{background:var(--admin-canvas);font-weight:750}
.admin-panel--results table tbody tr:hover{background:color-mix(in srgb,var(--admin-topbar),white 97%)}
.admin-panel--results table td[colspan]{text-align:center;color:var(--rsh-ink-600);padding:1.3rem .6rem}
.admin-panel--results .admin-results-pager,.admin-panel--results .rsh-pagination{
 padding:.65rem .85rem;margin:0;border-top:1px solid var(--admin-soft-divider);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;
}
/* Listing control style equal for inputs, selects and action controls. */
.admin-main :is(.service-filters,.asset-filters) :is(input,select,button,.button){
 border-radius:var(--admin-control-radius)!important;
 min-height:var(--admin-control-height);
 box-sizing:border-box;
}
/* Premium active and hover states; do not mutate accepted brand hues. */
.admin-main :is(.admin-panel,.admin-dashboard-section) .admin-panel__heading{margin:0}
.admin-main :is(.admin-panel,.admin-dashboard-section,.admin-ops-card,.admin-stat-card){transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}
.admin-main .admin-stat-card:hover,.admin-main .admin-ops-card:hover{
 box-shadow:var(--admin-card-shadow-hover);border-color:var(--admin-card-border-hover);
}
@media(max-width:1160px){
 .admin-panel .service-filters{grid-template-columns:repeat(min(3,var(--admin-filter-cols,3)),minmax(0,1fr))}
 .admin-panel .asset-filters.admin-uniform-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .admin-panel .service-filters,.admin-panel .asset-filters.admin-uniform-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-main form.editor-form{padding:.75rem}
}
@media(max-width:480px){
 .admin-panel .service-filters,.admin-panel .asset-filters.admin-uniform-filters{grid-template-columns:1fr}
 .admin-profile__menu{width:min(var(--admin-profile-width),100vw)!important}
 .heading,.admin-page-header{gap:.5rem;padding:.65rem .7rem}
}
@media(prefers-reduced-motion:reduce){.admin-main .admin-stat-card,.admin-main .admin-ops-card{transition:none}}

/* SoftBatch21 supplementary, source-only shared surfaces */
.admin-main .asset-stats{gap:.72rem;margin-bottom:.8rem}
.admin-main .asset-stat{border:1px solid var(--admin-card-border);border-radius:var(--admin-group-radius);box-shadow:var(--admin-card-shadow);background:var(--admin-card);min-width:0}
.admin-main .asset-stat:hover{border-color:var(--admin-card-border-hover);box-shadow:var(--admin-card-shadow-hover)}
.admin-main .ui-demo-table,.admin-main .admin-reference-table{max-width:100%;overflow-x:auto}
.admin-main .ui-demo-table table{border-collapse:collapse;min-width:max-content;width:100%}
.admin-main .ui-demo-table :is(th,td){border:1px solid var(--admin-soft-divider);padding:.6rem .7rem}
.admin-module-help{margin-block:.65rem .12rem}
.admin-main .admin-results-pager{margin:0;border-top:1px solid var(--admin-card-border)}

/* Reusable section-heading icon treatment — no standalone icon boxes. */
.admin-panel__heading .admin-panel__title{display:inline-flex;align-items:center;gap:.55rem;min-width:0;color:inherit}
.admin-panel__heading .admin-panel__title .admin-icon,.admin-section-heading>.admin-icon{
 width:1.18rem;height:1.18rem;color:var(--admin-ink-on-dark);flex:0 0 auto;
 filter:drop-shadow(0 1px 2px rgb(0 0 0 / 12%));
}
.admin-dashboard-section>.admin-section-heading{display:flex;align-items:center;gap:.55rem}
.admin-panel__heading .admin-panel__title h2{margin:0;min-width:0}

/* At ordinary desktop widths retain owner's 8 elements = 4 columns × 2 rows.
   Older B20 max-1420 rule must not collapse the toolbar prematurely. */
@media (min-width:1161px){
  .admin-panel .service-filters{grid-template-columns:repeat(var(--admin-filter-cols,4),minmax(0,1fr))}
}


/* ==========================================================================
  SoftBatch22 — Lifetime reusable Admin Form System (OWNER VISUAL PASS PENDING).
  Never introduce per-module colors or input geometries. Existing handlers,
  media storage, field names, status and pricing authority remain unchanged.
  ========================================================================= */
:root{
  --admin-dropdown-bg:#27DAF5;
  --admin-dropdown-gradient:linear-gradient(145deg,var(--admin-dropdown-bg),color-mix(in srgb,var(--admin-dropdown-bg),var(--admin-topbar) 12%));
  --admin-dropdown-ink:color-mix(in srgb,var(--admin-topbar),black 38%);
  --admin-dropdown-border:color-mix(in srgb,var(--admin-dropdown-bg),var(--admin-topbar) 30%);
  --admin-editor-media:var(--admin-stat-cyan);
  --admin-editor-violet:var(--admin-stat-violet);
  --admin-editor-maroon:var(--admin-page-header);
  --admin-editor-business:var(--admin-section-business);
  --admin-editor-operations:var(--admin-section-operations);
  --admin-editor-control-radius:var(--admin-control-radius);
  --admin-editor-control-height:var(--admin-control-height);
  --admin-editor-section-radius:var(--admin-group-radius);
  --admin-editor-gap:.78rem;
  --admin-editor-inner-padding:clamp(.7rem,1.25vw,1rem);
  --admin-media-thumb-height:7rem;
  --admin-page-gutter:clamp(.6rem,.9vw,.75rem);
}
/* Correct the real CSS bug: generic `.heading a:not(.button)` also matched
   breadcrumb. Context links must be text, not white action-button pills. */
.admin-main .heading .admin-context a,
.admin-main .admin-page-header .admin-context a{
  display:inline!important;border:0!important;background:transparent!important;
  padding:0!important;min-height:0!important;box-shadow:none!important;
  border-radius:0!important;color:var(--admin-ink-on-dark)!important;
  font:inherit!important;line-height:inherit!important;text-decoration:none;
}
.admin-main .heading .admin-context a:hover,.admin-main .admin-page-header .admin-context a:hover{text-decoration:underline}
/* Owner selected FULL cyan background, not accent-only and not offwhite. */
.admin-profile__menu{
  background:var(--admin-dropdown-gradient)!important;
  border-color:var(--admin-dropdown-border)!important;
  color:var(--admin-dropdown-ink)!important;
  border-top:0!important;
  border-radius:0 0 var(--admin-dropdown-bottom-radius) var(--admin-dropdown-bottom-radius)!important;
  right:0!important;top:var(--rsh-header-h)!important;
}
.admin-profile__menu-head{border-bottom-color:color-mix(in srgb,var(--admin-dropdown-ink),transparent 77%)}
.admin-profile__menu-head :is(strong,small),.admin-profile__menu :is(a,a:visited,button){color:var(--admin-dropdown-ink)}
.admin-profile__menu .admin-icon{color:var(--admin-dropdown-ink)}
.admin-profile__menu a:hover,.admin-profile__menu button:hover{background:color-mix(in srgb,var(--admin-dropdown-bg),white 47%);color:var(--admin-dropdown-ink)}
.admin-profile__logout{border-top-color:color-mix(in srgb,var(--admin-dropdown-ink),transparent 77%)}
.admin-profile__logout button,.admin-profile__logout button .admin-icon{color:var(--admin-page-header)}
/* Shared group: attached header and enclosed content, no floating legends. */
.admin-main :is(.editor,.editor-form) .admin-editor-section{
  --section-color:var(--admin-editor-business);
  display:grid;gap:0;min-width:0;margin:0;
  border:1px solid var(--admin-group-border);
  border-radius:var(--admin-editor-section-radius);overflow:hidden;
  background:var(--admin-card);box-shadow:var(--admin-card-shadow);
}
.admin-main .admin-editor-section--operations{--section-color:var(--admin-editor-operations)!important}
.admin-main .admin-editor-section--business{--section-color:var(--admin-editor-business)!important}
.admin-main .admin-editor-section--violet{--section-color:var(--admin-editor-violet)!important}
.admin-main .admin-editor-section--media{--section-color:var(--admin-editor-media)!important}
.admin-main .admin-editor-section--maroon{--section-color:var(--admin-editor-maroon)!important}
.admin-main .admin-editor-section--help{--section-color:var(--admin-section-help)!important}
.admin-editor-section__heading{
  display:flex;align-items:center;gap:.58rem;min-height:2.62rem;padding:.55rem .92rem;
  background:linear-gradient(112deg,color-mix(in srgb,var(--section-color),black 13%),var(--section-color));
  color:var(--admin-ink-on-dark);border-bottom:1px solid color-mix(in srgb,var(--section-color),black 20%);
}
.admin-editor-section__heading :is(h2,.admin-icon){color:var(--admin-ink-on-dark)}
.admin-editor-section__heading h2{font-size:.95rem;line-height:1.25;font-weight:750;margin:0;letter-spacing:.005em}
.admin-editor-section__heading .admin-icon{height:1.16rem;width:1.16rem;filter:drop-shadow(0 1px 1px rgb(0 0 0 / 16%))}
.admin-main .admin-editor-section__body{
  padding:var(--admin-editor-inner-padding);display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--admin-editor-gap);
  align-items:start;min-width:0;
}
.admin-main .admin-editor-section__body>.two{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--admin-editor-gap)}
.admin-main .admin-editor-section__body> :is(label,.two,div,fieldset){min-width:0}
.admin-main .admin-editor-section__body>label:has(>textarea){grid-column:1/-1}
.admin-main .admin-editor-section__body> :is(.service-current-media,[data-catalogue-options]){grid-column:1/-1}
.admin-main .admin-editor-section__body :is(label:not(.check):not(.service-checkbox),.two>label){display:grid;align-content:start;gap:.3rem;min-width:0;font-size:.8rem;font-weight:700;color:var(--rsh-ink-900)}
.admin-main .admin-editor-section__body :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){min-width:0;width:100%;min-height:var(--admin-editor-control-height);height:var(--admin-editor-control-height);border-radius:var(--admin-editor-control-radius);padding-inline:.78rem;background:var(--admin-card);border:1px solid var(--admin-card-border)}
.admin-main .admin-editor-section__body textarea{min-width:0;width:100%;min-height:4.5rem;max-width:100%;border-radius:var(--admin-editor-control-radius);padding:.65rem .78rem;border:1px solid var(--admin-card-border);line-height:1.48;resize:vertical}
.admin-main .admin-editor-section__body textarea[rows="8"],.admin-main .admin-editor-section__body textarea[rows="7"]{height:auto;min-height:7rem}
.admin-main .admin-editor-section__body :is(input,select,textarea):focus-visible{outline:2px solid var(--section-color);outline-offset:1px;border-color:var(--section-color)}
.admin-main .admin-editor-section__body :is(.check,.service-checkbox),
.admin-main .admin-editor-section__body label:has(>input[type="checkbox"]){
 display:flex!important;flex-direction:row!important;align-items:center!important;gap:.56rem!important;
 justify-content:flex-start!important;grid-column:1/-1;min-height:2.45rem;font-size:.83rem;line-height:1.4;
}
.admin-main .admin-editor-section__body input[type="checkbox"]{appearance:auto!important;flex:0 0 1.05rem!important;width:1.05rem!important;height:1.05rem!important;min-height:0!important;margin:0!important;accent-color:var(--section-color)}
.admin-main .admin-editor-section__body label small{font-size:.72rem;color:var(--rsh-ink-600);font-weight:500;line-height:1.4}
.admin-main .admin-editor-section__body input[type="file"]{display:block;width:100%;max-width:100%;border:1px solid var(--admin-card-border);border-radius:var(--admin-editor-control-radius);padding:.45rem;background:var(--admin-canvas);font-size:.75rem}
.admin-main .admin-editor-section__body input[type="file"]::file-selector-button{background:var(--admin-card);border:1px solid var(--admin-card-border);border-radius:var(--admin-editor-control-radius);padding:.44rem .7rem;margin-right:.6rem;color:var(--admin-topbar);font-weight:700;cursor:pointer}
.admin-main .admin-editor-section__body input[type="file"]::file-selector-button:hover{background:var(--admin-stat-cyan-soft)}
.admin-main .admin-editor-section__body :is(.service-current-media,.service-current-media img){max-width:100%}
.admin-editor-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding:.2rem 0 0}
.admin-main .admin-editor-actions :is(button,.button,.admin-editor-cancel){min-height:var(--admin-editor-control-height);border-radius:var(--admin-editor-control-radius);margin:0;display:inline-flex;align-items:center;justify-content:center;gap:.38rem;padding:.65rem 1.05rem;font-size:.83rem;font-weight:750}
.admin-editor-cancel,.admin-editor-cancel:visited{border:1px solid var(--admin-card-border);background:var(--admin-card);color:var(--admin-topbar);text-decoration:none}
.admin-editor-cancel:hover{background:var(--admin-canvas);color:var(--admin-topbar)}
.admin-editor-cancel .admin-icon{height:.85rem;width:.85rem;transform:rotate(180deg)}
/* Small dynamic previews only for REAL existing uploads and image paths. */
.admin-editor-media-preview{display:flex;align-items:center;gap:.5rem;margin-top:.36rem;font-size:.72rem;color:var(--rsh-ink-600);min-height:1.6rem}
.admin-editor-media-preview img{width:auto;max-width:9rem;max-height:var(--admin-media-thumb-height);object-fit:contain;border:1px solid var(--admin-card-border);border-radius:.48rem}
.admin-editor-icon-preview{display:flex;gap:.5rem;align-items:center;margin-top:.24rem;font-size:.7rem;font-weight:500;color:var(--rsh-ink-600)}
.admin-editor-icon-preview .admin-icon{color:var(--section-color);width:1.35rem;height:1.35rem}
/* Subtle professional settings/security fields as shared fallback. */
.admin-main :is(.settings-editor,.security-editor,.asset-editor) :is(input:not([type=checkbox]),select,textarea){border-radius:var(--admin-editor-control-radius);border-color:var(--admin-card-border)}
.admin-main :is(.settings-editor,.security-editor,.asset-editor) :is(input,select,textarea):focus-visible{outline:2px solid var(--admin-section-business);outline-offset:1px}
@media(max-width:900px){.admin-main .admin-editor-section__body{grid-template-columns:minmax(0,1fr)}.admin-main .admin-editor-section__body>.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.admin-main .admin-editor-section__body>.two{grid-template-columns:1fr}.admin-main .admin-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.admin-main .admin-editor-section{scroll-behavior:auto}}

/* Additional SoftBatch22 shared Settings/Account/form UX. */
.admin-main .settings-editor .admin-editor-section__body .settings-grid{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--admin-editor-gap)}
.admin-main .settings-editor .settings-grid label{min-width:0}
.admin-main .security-editor .admin-editor-section__body>label:has(.password-control){min-width:0}
.admin-main .security-editor .admin-editor-section__body>.two{grid-column:1/-1}
.admin-main .security-editor .password-control{min-width:0}
.admin-icon-chooser{display:flex;align-items:center;gap:.5rem;margin-top:.32rem}
.admin-icon-chooser select{max-width:13rem!important;min-width:0!important;font-size:.74rem!important;height:2.2rem!important;min-height:2.2rem!important}
.admin-icon-chooser svg{height:1.5rem;width:1.5rem;color:var(--section-color);flex:0 0 auto}
.admin-icon-chooser .admin-icon-help{font-size:.69rem;font-weight:500;color:var(--rsh-ink-600)}
.admin-main .admin-editor-section__body .solution-service-select{height:auto!important;min-height:7rem;max-height:14rem}
.admin-main .admin-editor-section__body>div[data-catalogue-options]{max-width:100%}
@media(max-width:700px){.admin-main .settings-editor .admin-editor-section__body .settings-grid{grid-template-columns:1fr}}


/* ===========================================================================
 SoftBatch23 — OWNER REVIEW PENDING: reusable semantic actions + help spacing.
 All live modules inherit one token authority; do not hardcode button colors.
 =========================================================================== */
:root{
  --admin-action-success-bg:#2EC93A;
  --admin-action-success-ink:#063715;
  --admin-action-cancel-bg:#FF0000;
  --admin-action-cancel-ink:#FFFFFF;
  --admin-button-back-bg:#483BFF;
  --admin-button-back-ink:#FFFFFF;
  --admin-action-radius:var(--admin-control-radius);
  --admin-action-height:var(--admin-control-height);
  --admin-action-shadow:0 5px 15px rgb(11 30 60 / 13%);
  --admin-action-shadow-hover:0 9px 20px rgb(11 30 60 / 19%);
  --admin-action-focus-ring:0 0 0 3px color-mix(in srgb,var(--admin-button-back-bg),white 67%);
  --admin-helper-card-gap:32px;
  --admin-premium-check-size:1.22rem;
  --admin-premium-check-ink:#063715;
}
/* Helper card must not touch the main content. One margin source only. */
.admin-main > :is(.admin-module-help,.admin-dashboard-help){
  margin-block-start:var(--admin-helper-card-gap)!important;
  margin-block-end:.2rem;
}
/* One geometry and focus language for genuine action controls. */
.admin-main :is(.admin-editor-actions,.service-filters,.asset-filters,.service-filter-actions) :is(button,.button,.admin-editor-back,.admin-action-reset){
  border-radius:var(--admin-action-radius)!important;
  min-height:var(--admin-action-height);
  box-sizing:border-box;
  font-weight:750;
  transition:background-color .17s ease,box-shadow .17s ease,filter .17s ease,transform .17s ease;
}
.admin-main :is(.admin-editor-actions,.service-filters,.asset-filters,.service-filter-actions) :is(button,.button,.admin-editor-back,.admin-action-reset):focus-visible{
  outline:2px solid var(--admin-topbar);outline-offset:3px;
  box-shadow:var(--admin-action-focus-ring);
}
/* Green: save/submit or Apply; never repaint destructive actions as success. */
.admin-main :is(.admin-editor-actions,.service-filters,.asset-filters,.service-filter-actions) :is(button.primary,button.button.primary),
.admin-main :is(.settings-editor,.security-editor,.asset-editor) button.primary[type=submit]{
  background:var(--admin-action-success-bg)!important;
  color:var(--admin-action-success-ink)!important;
  border:1px solid color-mix(in srgb,var(--admin-action-success-bg),black 11%)!important;
  box-shadow:var(--admin-action-shadow);cursor:pointer;
}
.admin-main :is(.admin-editor-actions,.service-filters,.asset-filters,.service-filter-actions) :is(button.primary,button.button.primary):hover,
.admin-main :is(.settings-editor,.security-editor,.asset-editor) button.primary[type=submit]:hover{
  background:color-mix(in srgb,var(--admin-action-success-bg),black 10%)!important;
  box-shadow:var(--admin-action-shadow-hover);transform:translateY(-1px);
}
/* Blue: navigation-only, NEVER shared with Cancel or Reset. */
.admin-main .admin-editor-actions .admin-editor-back,
.admin-main .admin-editor-actions .admin-editor-back:visited{
  background:var(--admin-button-back-bg)!important;
  color:var(--admin-button-back-ink)!important;
  border:1px solid color-mix(in srgb,var(--admin-button-back-bg),black 12%)!important;
  text-decoration:none;box-shadow:var(--admin-action-shadow);
}
.admin-main .admin-editor-actions .admin-editor-back:hover{
  background:color-mix(in srgb,var(--admin-button-back-bg),black 11%)!important;
  box-shadow:var(--admin-action-shadow-hover);transform:translateY(-1px);
}
.admin-main .admin-editor-actions .admin-editor-back .admin-icon{transform:rotate(180deg);width:1rem;height:1rem}
/* Red: genuine filter reset links; leave separate DELETE/danger systems unchanged. */
.admin-main :is(.service-filters,.asset-filters,.service-filter-actions) .admin-action-reset,
.admin-main :is(.service-filters,.asset-filters,.service-filter-actions) .admin-action-reset:visited{
  background:var(--admin-action-cancel-bg)!important;
  color:var(--admin-action-cancel-ink)!important;
  border:1px solid var(--admin-action-cancel-bg)!important;
  text-decoration:none;box-shadow:var(--admin-action-shadow);
  display:inline-flex;align-items:center;justify-content:center;
}
.admin-main :is(.service-filters,.asset-filters,.service-filter-actions) .admin-action-reset:hover{
  background:color-mix(in srgb,var(--admin-action-cancel-bg),black 13%)!important;
  box-shadow:var(--admin-action-shadow-hover);transform:translateY(-1px);
}
/* The two bottom actions must fill ONE entire row in equal columns. */
.admin-main .admin-editor-actions:has(>.admin-editor-back){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;align-items:stretch;min-width:0;width:100%;
}
.admin-main .admin-editor-actions:has(>.admin-editor-back) > :is(button,.button,.admin-editor-back){
  display:inline-flex;align-items:center;justify-content:center;
  min-width:0;width:100%;min-height:var(--admin-action-height);
  padding:.7rem 1rem!important;margin:0;line-height:1.35;
  font-weight:750;font-size:.9rem;text-align:center;border-radius:var(--admin-action-radius)!important;
}
/* Checkbox is a proper clickable option, not a detached native square. */
.admin-main .admin-editor-section__body label:is(.service-checkbox,.check,.admin-checkbox-premium),
.admin-main .admin-editor-section__body label.admin-checkbox-premium{
  display:flex!important;align-items:center!important;flex-direction:row!important;
  gap:.85rem!important;min-height:3.25rem;
  padding:.72rem .9rem;
  background:color-mix(in srgb,var(--admin-canvas),white 35%);
  border:1px solid var(--admin-card-border);
  border-radius:var(--admin-editor-control-radius);cursor:pointer;
  transition:background-color .17s ease,border-color .17s ease,box-shadow .17s ease;
}
.admin-main .admin-editor-section__body label:is(.service-checkbox,.check,.admin-checkbox-premium):hover{
  background:color-mix(in srgb,var(--admin-action-success-bg),white 93%);
  border-color:color-mix(in srgb,var(--admin-action-success-bg),white 53%);
}
.admin-main .admin-editor-section__body label:is(.service-checkbox,.check,.admin-checkbox-premium):focus-within{
  outline:2px solid var(--admin-topbar);outline-offset:2px;
}
.admin-main .admin-editor-section__body label:is(.service-checkbox,.check,.admin-checkbox-premium) input[type=checkbox]{
  appearance:none!important;-webkit-appearance:none!important;
  box-sizing:border-box!important;display:grid!important;place-content:center!important;
  flex:0 0 var(--admin-premium-check-size)!important;
  width:var(--admin-premium-check-size)!important;height:var(--admin-premium-check-size)!important;
  min-height:var(--admin-premium-check-size)!important;
  margin:0!important;border:1.5px solid color-mix(in srgb,var(--admin-topbar),white 30%);
  border-radius:.33rem;background:#fff;cursor:pointer;
}
.admin-main .admin-editor-section__body label:is(.service-checkbox,.check,.admin-checkbox-premium) input[type=checkbox]::before{
  content:'';width:.65rem;height:.65rem;
  clip-path:polygon(14% 47%,0 64%,41% 100%,100% 16%,83% 0%,38% 69%);
  background:var(--admin-premium-check-ink);transform:scale(0);
  transition:transform .12s ease;
}
.admin-main .admin-editor-section__body label:is(.service-checkbox,.check,.admin-checkbox-premium) input[type=checkbox]:checked{
  background:var(--admin-action-success-bg);border-color:color-mix(in srgb,var(--admin-action-success-bg),black 17%);
}
.admin-main .admin-editor-section__body label:is(.service-checkbox,.check,.admin-checkbox-premium) input[type=checkbox]:checked::before{transform:scale(1)}
.admin-checkbox-copy{display:grid;gap:.2rem;min-width:0;line-height:1.4}
.admin-checkbox-copy strong{font-size:.86rem;font-weight:750;color:var(--rsh-ink-900)}
.admin-checkbox-copy small{font-size:.75rem;font-weight:500;color:var(--rsh-ink-600)}
@media(max-width:767px){:root{--admin-helper-card-gap:24px}}
@media(max-width:480px){
 .admin-main .admin-editor-actions:has(>.admin-editor-back){grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
 .admin-main :is(.admin-editor-actions,.service-filters,.asset-filters,.service-filter-actions) :is(button,.button,.admin-editor-back,.admin-action-reset),
 .admin-main .admin-editor-section__body input[type=checkbox]::before{transition:none!important}
 .admin-main .admin-editor-section__body input[type=checkbox]:checked::before{transform:scale(1)}
}

/* SOFTBATCH25 — System Health + authoritative UI Reference, tokens from shared Admin authority. */
:root{
 --admin-health-business:var(--admin-section-business);
 --admin-health-database:var(--admin-section-operations);
 --admin-health-security:var(--admin-page-header);
 --admin-health-media:var(--admin-stat-violet);
 --admin-health-foundation:var(--admin-section-help);
 --admin-health-warning:#905b09;
 --admin-health-warning-bg:color-mix(in srgb,var(--admin-health-warning),white 91%);
 --admin-health-error:var(--admin-page-header);
 --admin-health-error-bg:color-mix(in srgb,var(--admin-health-error),white 92%);
 --admin-health-ok:var(--admin-section-operations);
 --admin-health-ok-bg:color-mix(in srgb,var(--admin-health-ok),white 91%);
 --admin-health-info:var(--admin-section-business);
 --admin-health-info-bg:color-mix(in srgb,var(--admin-health-info),white 92%);
 --admin-reference-swatch-h:2.7rem;
}
.admin-health-page .heading{margin-bottom:.85rem}
.admin-health-page .admin-panel__heading h2,.admin-reference-page .admin-panel__heading h2{display:flex;align-items:center;gap:.6rem;min-width:0}
.admin-health-page .admin-panel__heading .admin-icon,.admin-reference-page .admin-panel__heading .admin-icon{width:1.12rem;height:1.12rem}
.admin-health-page .admin-panel{margin-bottom:var(--admin-control-gap)}
.admin-health-time{font-size:.73rem;color:var(--admin-ink-on-dark);opacity:.9}
.admin-health-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--admin-control-gap);padding:.88rem;background:var(--admin-canvas)}
.admin-health-stat{display:grid;justify-items:center;text-align:center;gap:.38rem;background:var(--admin-card);border:1px solid var(--admin-card-border);border-radius:var(--admin-stat-radius);padding:.85rem;box-shadow:var(--admin-card-shadow)}
.admin-health-stat>span{display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.79rem;font-weight:750}
.admin-health-stat .admin-icon{width:1.2rem;height:1.2rem}
.admin-health-stat>strong{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.05;font-family:var(--rsh-font-display)}
.admin-health-stat>small{font-size:.73rem;color:var(--rsh-ink-600)}
.admin-health-stat--pass .admin-icon{color:var(--admin-health-ok)}
.admin-health-stat--fail .admin-icon{color:var(--admin-health-error)}
.admin-health-stat--warn .admin-icon{color:var(--admin-health-warning)}
.admin-health-stat--assets .admin-icon{color:var(--admin-health-info)}
.admin-health-disclaimer{margin:0;padding:.6rem .88rem;font-size:.76rem;line-height:1.6;background:var(--admin-card);border-top:1px solid var(--admin-card-border);color:var(--rsh-ink-600)}
.admin-health-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--admin-control-gap);align-items:end}
.admin-health-filters>label{display:grid;gap:.3rem;font-weight:700;font-size:.79rem;min-width:0}
.admin-health-filters :is(input,select){width:100%;height:var(--admin-control-height);min-height:var(--admin-control-height);border-radius:var(--admin-control-radius);padding:.45rem .65rem;box-sizing:border-box}
.admin-health-filters>button{margin:0;min-height:var(--admin-control-height);height:var(--admin-control-height);width:100%;border-radius:var(--admin-control-radius);display:inline-flex;justify-content:center;align-items:center;gap:.45rem;font-weight:750}
.admin-health-filters>.admin-health-apply{background:var(--admin-action-success-bg);border:1px solid color-mix(in srgb,var(--admin-action-success-bg),black 13%);color:var(--admin-action-success-ink)}
.admin-health-filters>.admin-health-apply:hover{background:color-mix(in srgb,var(--admin-action-success-bg),black 10%)}
.admin-health-filters>.admin-action-reset{background:var(--admin-action-cancel-bg);border:1px solid var(--admin-action-cancel-bg);color:var(--admin-action-cancel-ink)}
.admin-health-filters>.admin-action-reset:hover{background:color-mix(in srgb,var(--admin-action-cancel-bg),black 11%)}
.admin-health-filters>button:focus-visible,.admin-health-page :is(input,select):focus-visible,.admin-health-page .admin-health-page-buttons button:focus-visible{outline:2px solid var(--admin-topbar);outline-offset:2px}
.admin-health-results{min-width:0}
.admin-health-group__heading{border-bottom:1px solid rgb(255 255 255 / 20%)}
.admin-health-group__heading--business{background:var(--admin-group-business-gradient)}
.admin-health-group__heading--operations{background:var(--admin-group-operations-gradient)}
.admin-health-group__heading--security{background:var(--admin-header-gradient)}
.admin-health-group__heading--media{background:linear-gradient(110deg,color-mix(in srgb,var(--admin-health-media),black 18%),var(--admin-health-media))}
.admin-health-group__heading--help{background:var(--admin-group-help-gradient)}
.admin-health-group__heading small{font-size:.72rem;color:var(--admin-ink-on-dark)}
.admin-health-table{width:100%;min-width:45rem;border-collapse:collapse}
.admin-health-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--admin-canvas),white 50%)}
.admin-health-table tbody tr:hover{background:color-mix(in srgb,var(--admin-topbar),white 94%)}
.admin-health-table th:nth-child(2){width:24%}
.admin-health-table th:nth-child(3){width:56%}
.admin-health-table th:nth-child(4){width:10%}
.admin-health-table td:nth-child(3){line-height:1.48;overflow-wrap:anywhere;color:var(--rsh-ink-700)}
.admin-health-status{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;min-width:5.4rem;min-height:1.7rem;font-size:.68rem;font-weight:800;border:1px solid currentColor;border-radius:var(--admin-control-radius);padding:.18rem .45rem}
.admin-health-status--pass{color:var(--admin-health-ok);background:var(--admin-health-ok-bg)}
.admin-health-status--fail{color:var(--admin-health-error);background:var(--admin-health-error-bg)}
.admin-health-status--warn{color:var(--admin-health-warning);background:var(--admin-health-warning-bg)}
.admin-health-status--info{color:var(--admin-health-info);background:var(--admin-health-info-bg)}
.admin-health-empty{padding:1.25rem;text-align:center;border:1px dashed var(--admin-card-border);border-radius:var(--admin-group-radius);background:var(--admin-card)}
.admin-health-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin:0 0 .9rem;padding:.75rem .9rem;border:1px solid var(--admin-group-border);background:var(--admin-card);border-radius:var(--admin-group-radius)}
.admin-health-pagination>span{font-size:.8rem;color:var(--rsh-ink-700)}
.admin-health-page-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.admin-health-page-buttons button{min-height:2.15rem;border:1px solid var(--admin-card-border);background:var(--admin-card);padding:.35rem .65rem;border-radius:var(--admin-control-radius);color:var(--admin-topbar);cursor:pointer;font-size:.76rem;font-weight:700}
.admin-health-page-buttons button:hover:not(:disabled){background:color-mix(in srgb,var(--admin-topbar),white 93%)}
.admin-health-page-buttons button:disabled{opacity:.45;cursor:not-allowed}
.admin-health-page-buttons>span{font-size:.78rem;font-weight:750;min-width:3.4rem;text-align:center}
.admin-health-actions .admin-panel__body{display:flex;flex-wrap:wrap;gap:.55rem}
.admin-health-actions .button{min-height:var(--admin-control-height);display:inline-flex;align-items:center;padding:.45rem .85rem;border-radius:var(--admin-control-radius)}
/* Reference page renders the very same token-driven production classes; no fake live counts. */
.admin-reference-page .heading{margin-bottom:.85rem}
.admin-reference-note{margin:.6rem 0 0;color:var(--rsh-ink-600);font-size:.79rem}
.admin-reference-swatch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.65rem}
.admin-reference-swatch{min-width:0;overflow:hidden;border-radius:var(--admin-control-radius);border:1px solid var(--admin-card-border);background:var(--admin-card)}
.admin-reference-swatch__paint{height:var(--admin-reference-swatch-h);background:var(--swatch-color);border-bottom:1px solid var(--admin-card-border)}
.admin-reference-swatch__copy{display:grid;gap:.12rem;padding:.45rem .6rem}
.admin-reference-swatch__copy strong{font-size:.76rem}
.admin-reference-swatch__copy code{font-size:.66rem;color:var(--rsh-ink-600);overflow-wrap:anywhere}
.admin-reference-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.admin-reference-actions>button{min-height:var(--admin-action-height);border-radius:var(--admin-action-radius);font-size:.83rem;font-weight:750;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem}
.admin-reference-actions .admin-icon{width:1rem;height:1rem}
.admin-reference-actions .admin-ref-save{background:var(--admin-action-success-bg);color:var(--admin-action-success-ink);border:1px solid color-mix(in srgb,var(--admin-action-success-bg),black 13%)}
.admin-reference-actions .admin-ref-reset{background:var(--admin-action-cancel-bg);color:var(--admin-action-cancel-ink);border:1px solid var(--admin-action-cancel-bg)}
.admin-reference-actions .admin-ref-back{background:var(--admin-button-back-bg);color:var(--admin-button-back-ink);border:1px solid var(--admin-button-back-bg)}
.admin-reference-actions>button:not(:disabled):hover{filter:brightness(.93);box-shadow:var(--admin-action-shadow-hover);transform:translateY(-1px)}
.admin-reference-actions>button:focus-visible{outline:2px solid var(--admin-topbar);outline-offset:3px}
.admin-reference-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--admin-control-gap)}
.admin-reference-controls label{display:grid;gap:.3rem;min-width:0;font-size:.79rem;font-weight:700}
.admin-reference-controls :is(input,select,textarea){border-radius:var(--admin-control-radius);max-width:100%;width:100%;box-sizing:border-box}
.admin-reference-controls label.admin-ref-inline-check{display:flex;align-items:center;gap:.65rem}
.admin-reference-controls .admin-ref-inline-check input{width:1.2rem;height:1.2rem;flex:0 0 auto}
.admin-reference-controls .admin-ref-wide{grid-column:1/-1}
.admin-reference-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;background:var(--admin-canvas);padding:.75rem}
.admin-reference-stats .admin-stat-card{min-height:8rem}
.admin-reference-stats .admin-stat-card__value{font-size:1.6rem}
.admin-reference-page .admin-panel__body--table .table-wrap{overflow:auto}
.admin-reference-table{width:100%;min-width:43rem;border-collapse:collapse}
.admin-reference-table th,.admin-reference-table td{border:1px solid var(--admin-card-border);padding:.6rem .7rem;font-size:.8rem}
.admin-reference-table th{background:var(--admin-canvas)}
.admin-reference-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem;border-top:1px solid var(--admin-card-border);padding:.6rem .8rem;font-size:.78rem}
.admin-reference-pager button{min-height:2rem;border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);padding:.35rem .6rem;background:var(--admin-card)}
.admin-reference-pager button:disabled{opacity:.45}
@media(max-width:1060px){.admin-health-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-health-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.admin-health-filters,.admin-reference-controls,.admin-reference-actions{grid-template-columns:1fr}.admin-health-time{display:none}.admin-reference-stats{grid-template-columns:1fr}}

/* SoftBatch26: scoped shared components. Colors inherit established global palette. */
.admin-theme-manager{display:grid;gap:var(--admin-control-gap)}
.admin-theme-swatch{display:block;cursor:pointer}
.admin-theme-swatch .admin-reference-swatch__paint{display:block}
.admin-theme-color-inputs{display:flex;align-items:center;gap:.35rem;margin:.45rem 0 .25rem;min-width:0}
.admin-theme-color-inputs input[type=color]{flex:0 0 2.7rem;width:2.7rem;height:2.6rem;padding:.18rem;border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);cursor:pointer;background:var(--admin-card)}
.admin-theme-color-inputs input[type=text]{min-width:0;width:100%;min-height:2.6rem;border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);padding:.35rem .4rem;font-size:.77rem;font-weight:700;font-variant-numeric:tabular-nums}
.admin-theme-swatch small{font-size:.67rem;color:var(--rsh-ink-600)}
.admin-theme-manager-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--admin-control-gap);align-items:center}
.admin-theme-manager-actions button{min-height:var(--admin-action-height);border-radius:var(--admin-action-radius);font-weight:750;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem .85rem}
.admin-theme-manager-actions .admin-health-apply{background:var(--admin-action-success-bg);color:var(--admin-action-success-ink);border:1px solid var(--admin-action-success-bg)}
.admin-theme-manager-actions .admin-action-reset{background:var(--admin-action-cancel-bg);color:var(--admin-action-cancel-ink);border:1px solid var(--admin-action-cancel-bg)}
.admin-theme-manager-actions button:focus-visible,.admin-theme-color-inputs input:focus-visible{outline:2px solid var(--admin-topbar);outline-offset:2px}
/* Each category is a standalone attached header + scoped controls/table/footer. */
.admin-health-group{overflow:hidden;border-radius:var(--admin-group-radius);box-shadow:var(--admin-group-shadow);margin-bottom:var(--admin-helper-card-gap,2rem)!important}
.admin-health-group__filters-body{border-bottom:1px solid var(--admin-card-border);padding:.85rem}
.admin-health-group .admin-panel__body--table{padding:0;min-width:0}
.admin-health-group .admin-health-table{border-collapse:collapse;width:100%}
.admin-health-group .admin-health-table :is(td,th){border:1px solid var(--admin-card-border);padding:.65rem .72rem}
.admin-health-group .admin-health-table td.admin-table-number,.admin-health-group .admin-health-table th.admin-table-number{width:4.4rem;min-width:4.4rem;text-align:center}
.admin-health-group .admin-health-pagination{border:0;border-top:1px solid var(--admin-card-border);border-radius:0;padding:.8rem .9rem;margin:0}
.admin-health-jump-label{display:flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;color:var(--rsh-ink-700)}
.admin-health-jump-label input{width:3.7rem;min-height:2.15rem;border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);padding:.3rem .4rem;background:var(--admin-card)}
.admin-health-group [hidden]{display:none!important}
/* Full-width premium, unified quick-link grid. */
.admin-health-actions .admin-panel__body.admin-quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--admin-control-gap);padding:1rem}
.admin-quick-link,.admin-quick-link:visited{display:flex;align-items:center;justify-content:center;gap:.6rem;min-width:0;min-height:5.6rem;padding:1rem .75rem;text-align:center;background:color-mix(in srgb,var(--admin-canvas),white 48%);border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);color:var(--admin-topbar);box-shadow:var(--admin-card-shadow);text-decoration:none;font-size:.84rem}
.admin-quick-link{flex-direction:column}
.admin-quick-link .admin-icon{width:1.45rem;height:1.45rem}
.admin-quick-link:hover{transform:translateY(-2px);box-shadow:var(--admin-card-shadow-hover);border-color:var(--admin-card-border-hover);color:var(--admin-topbar)}
.admin-quick-link:focus-visible{outline:2px solid var(--admin-topbar);outline-offset:3px}
/* Brand identities and truly independent Settings forms. */
.admin-settings-page .admin-settings-brands{margin-bottom:var(--admin-control-gap)}
.admin-brand-mark-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--admin-control-gap)}
.admin-brand-mark{display:grid;grid-template-rows:7.8rem auto auto auto;gap:.5rem;align-content:start;background:var(--admin-card);border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);padding:.7rem;min-width:0}
.admin-brand-mark__preview{display:flex;justify-content:center;align-items:center;min-width:0;min-height:7rem;background:var(--admin-canvas);border-radius:var(--admin-control-radius)}
.admin-brand-mark__preview img{max-width:88%;max-height:6.4rem;object-fit:contain}
.admin-brand-mark strong{font-size:.85rem;color:var(--rsh-ink-900)}
.admin-brand-mark p{font-size:.76rem;color:var(--rsh-ink-700);line-height:1.45;margin:0}
.admin-brand-mark small{font-size:.69rem;color:var(--rsh-ink-600);overflow-wrap:anywhere}
.admin-settings-page .admin-settings-section-form{padding:0!important;border:0!important;box-shadow:none!important;margin-bottom:var(--admin-control-gap);background:transparent!important}
.admin-settings-page .admin-settings-section-form .admin-editor-section{margin:0}
.admin-settings-save-row{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:.85rem;flex-wrap:wrap;border-top:1px solid var(--admin-card-border);padding-top:.85rem;margin-top:.25rem;width:100%}
.admin-settings-save-row span{font-size:.79rem;color:var(--rsh-ink-600)}
.admin-settings-save-row button{display:flex;align-items:center;gap:.5rem;min-height:var(--admin-action-height);border:1px solid var(--admin-action-success-bg);background:var(--admin-action-success-bg);color:var(--admin-action-success-ink);padding:.65rem 1.25rem;border-radius:var(--admin-action-radius);font-weight:750}
.admin-settings-save-row button:hover{filter:brightness(.93);box-shadow:var(--admin-action-shadow-hover)}
.admin-settings-save-row button:focus-visible{outline:2px solid var(--admin-topbar);outline-offset:2px}
/* Assets: shared table patterns, never an unused permanent right-side column. */
.admin-asset-premium-stats{margin-bottom:var(--admin-control-gap);grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--admin-control-gap)}
.admin-asset-premium-stats .asset-stat{display:grid;justify-items:center;align-content:center;text-align:center;gap:.5rem;min-height:7rem;border-radius:var(--admin-stat-radius);box-shadow:var(--admin-card-shadow);background:var(--admin-card);border:1px solid var(--admin-card-border);color:var(--rsh-ink-900);text-decoration:none}
.admin-asset-premium-stats .asset-stat span{display:flex;align-items:center;gap:.4rem;font-size:.83rem;font-weight:750;color:var(--admin-topbar)}
.admin-asset-premium-stats .asset-stat strong{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1}
.admin-asset-premium-stats .asset-stat small{font-size:.72rem;color:var(--rsh-ink-600)}
.admin-asset-premium-stats .asset-stat:hover{border-color:var(--admin-card-border-hover);box-shadow:var(--admin-card-shadow-hover)}
.admin-asset-results{width:100%;min-width:0}
.admin-asset-results .admin-panel__body--table{padding:0}
.admin-asset-results table{width:100%;min-width:55rem;table-layout:auto}
.admin-asset-results .asset-table td:first-child,.admin-asset-results .asset-table th:first-child{width:4.2rem;min-width:4.2rem;max-width:4.2rem;text-align:center}
.admin-asset-results .asset-table td:nth-child(2){min-width:12.5rem}
.admin-asset-results .asset-table td:nth-child(4){min-width:5.5rem}
.admin-asset-results .asset-table :is(td,th){border:1px solid var(--admin-card-border);padding:.55rem .65rem;vertical-align:middle}
.admin-asset-results .asset-table th{background:var(--admin-canvas)}
.admin-asset-entry{display:flex;align-items:center;gap:.6rem;min-width:0}
.admin-asset-entry .asset-thumb{flex:0 0 4.5rem;margin:0;object-fit:contain}
.admin-asset-entry span{min-width:0;display:grid;gap:.18rem}
.admin-asset-entry small{overflow-wrap:anywhere}
.admin-asset-manage,.admin-asset-manage:visited{border:1px solid var(--admin-card-border);background:var(--admin-card);border-radius:var(--admin-control-radius);padding:.4rem .7rem;text-decoration:none;color:var(--admin-topbar);font-weight:700}
.admin-asset-jump{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;border-top:1px solid var(--admin-card-border);padding:.6rem .85rem}
.admin-asset-jump label{display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:650}
.admin-asset-jump input{max-width:5rem;min-height:2.1rem;border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);padding:.3rem .45rem}
.admin-asset-jump button{min-height:2.1rem}
.admin-asset-editor-panel{margin-top:var(--admin-control-gap)}
.admin-asset-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--admin-editor-gap,1rem)}
.admin-asset-editor-panel .asset-editor{position:static;top:auto;display:grid;gap:.75rem;min-width:0;box-shadow:none;border:0;padding:0}
.admin-asset-editor-panel .asset-editor button.primary{width:100%;min-height:var(--admin-action-height);background:var(--admin-action-success-bg);color:var(--admin-action-success-ink)}
.admin-asset-preview-block{min-width:0}
.admin-asset-preview-block dl{display:grid;grid-template-columns:5.7rem minmax(0,1fr);gap:.4rem;font-size:.8rem}
.admin-asset-preview-block dt{font-weight:750}
.admin-asset-preview-block dd{margin:0}
@media(max-width:1060px){.admin-health-actions .admin-panel__body.admin-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-brand-mark-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-asset-premium-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-asset-editor-grid{grid-template-columns:1fr}.admin-health-group__filters-body{padding:.7rem}}
@media(max-width:540px){.admin-health-actions .admin-panel__body.admin-quick-links,.admin-brand-mark-grid,.admin-theme-manager-actions{grid-template-columns:1fr}.admin-settings-save-row{align-items:stretch;flex-direction:column}.admin-settings-save-row button{justify-content:center}.admin-health-group .admin-health-pagination{gap:.8rem}}

/* Shared grouped asset navigation; still ONE table with ONE corresponding pager. */
.admin-asset-groups{margin-bottom:var(--admin-control-gap)}
/* Shared equal-column choice grid (SB27). This selector is opt-in, not a global change to existing cards. */
.admin-choice-grid{display:grid;grid-template-columns:repeat(var(--admin-choice-grid-columns,4),minmax(0,1fr));gap:var(--admin-control-gap);align-items:stretch}
.admin-asset-group-chips.admin-choice-grid{--admin-choice-grid-columns:8}
.admin-asset-group-chips{min-width:0}
.admin-asset-group-chips .admin-asset-group-chip{width:100%;min-width:0;min-height:3.3rem;box-sizing:border-box;justify-content:space-between;gap:.3rem;padding:.55rem .5rem;box-shadow:var(--admin-card-shadow)}
.admin-asset-group-chip__label{display:block;min-width:0;overflow-wrap:break-word;text-wrap:balance;line-height:1.25}
.admin-asset-group-chips .admin-asset-group-chip small{flex-shrink:0;font-variant-numeric:tabular-nums;text-align:center}
.admin-asset-group-chips .admin-asset-group-chip:focus-visible{outline:2px solid var(--admin-section-business);outline-offset:2px}
/* Keep exactly eight equal columns on desktops, even when cards have different label lengths. */
@media (min-width:1181px) and (max-width:1499px){
 .admin-asset-group-chips .admin-asset-group-chip{flex-direction:column;justify-content:center;text-align:center}
}
@media (max-width:1180px){.admin-asset-group-chips.admin-choice-grid{--admin-choice-grid-columns:4}}
/* SB28 owner lock: 16 asset choices = exactly four equal columns and four rows on every mobile width.
   Scope is Asset Register ONLY; do not modify shared global list or unrelated admin cards. */
@media (max-width:700px){
 .admin-asset-group-chips.admin-choice-grid{--admin-choice-grid-columns:4;gap:.4rem}
 .admin-asset-group-chips .admin-asset-group-chip{
  flex-direction:column;justify-content:center;align-items:center;text-align:center;
  min-height:4rem;gap:.3rem;padding:.4rem .2rem;font-size:.69rem;
  line-height:1.2;overflow-wrap:anywhere;
 }
 .admin-asset-group-chips .admin-asset-group-chip small{
  flex-shrink:0;padding:.14rem .32rem;font-size:.65rem;line-height:1.2;
 }
 .admin-asset-group-chips .admin-asset-group-chip__label{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
}
@media (max-width:400px){
 .admin-asset-group-chips.admin-choice-grid{gap:.3rem}
 .admin-asset-group-chips .admin-asset-group-chip{font-size:.65rem;min-height:4.2rem;padding:.35rem .16rem}
}

.admin-asset-group-chip,.admin-asset-group-chip:visited{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:1px solid var(--admin-card-border);border-radius:var(--admin-control-radius);background:var(--admin-canvas);color:var(--admin-topbar);font-size:.79rem;font-weight:700;text-decoration:none}
.admin-asset-group-chip small{font-size:.68rem;padding:.18rem .4rem;border-radius:99px;background:var(--admin-card)}
.admin-asset-group-chip.is-active{border-color:var(--admin-section-business);background:color-mix(in srgb,var(--admin-section-business),white 87%)}
.admin-asset-group-chip:hover{border-color:var(--admin-section-business);box-shadow:var(--admin-card-shadow)}
.admin-asset-category{display:grid;justify-items:start;gap:.35rem}
.admin-asset-category strong{color:var(--admin-section-business);font-size:.79rem}
.admin-asset-category small{border:1px solid var(--admin-card-border);background:var(--admin-canvas);border-radius:var(--admin-control-radius);padding:.22rem .44rem;font-size:.68rem}

/* SoftBatch29A — scoped Catalogue option editor: reuse existing Admin spacing/tokens. */
.admin-main .catalogue-editor [data-catalogue-options]{display:grid;gap:var(--admin-editor-gap)}
.admin-main .catalogue-editor .catalogue-option-row{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--admin-editor-gap);
  min-width:0;padding:var(--admin-editor-inner-padding);background:var(--admin-card);
  border:1px solid var(--admin-card-border);border-radius:var(--admin-editor-control-radius);
}
.admin-main .catalogue-editor .catalogue-option-row > label{min-width:0}
.admin-main .catalogue-editor [data-catalogue-add-option]{grid-column:1/-1;min-height:var(--admin-editor-control-height);
  padding:.6rem 1rem;border:1px solid var(--admin-card-border);background:var(--admin-card);
  color:var(--admin-topbar);border-radius:var(--admin-editor-control-radius);font-weight:700;cursor:pointer}
.admin-main .catalogue-editor [data-catalogue-add-option]:focus-visible{outline:2px solid var(--admin-section-business);outline-offset:2px}
.admin-main .catalogue-editor [data-catalogue-add-option]:hover{background:var(--admin-canvas)}
.admin-main .catalogue-editor .admin-form-note{grid-column:1/-1;font-size:.76rem;color:var(--rsh-ink-600);margin:0}
@media(max-width:900px){.admin-main .catalogue-editor .catalogue-option-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.admin-main .catalogue-editor .catalogue-option-row{grid-template-columns:minmax(0,1fr)}}

/* SoftBatch29D — catalogue readiness display; strictly scoped and derived from existing admin tokens. */
.admin-main .catalogue-readiness{display:inline-flex;max-width:240px;line-height:1.4;padding:.28rem .55rem;border-radius:var(--admin-control-radius);font-size:.76rem;font-weight:700;border:1px solid var(--admin-card-border)}
.admin-main .catalogue-readiness--ready{color:#146245;background:#e0f5e9;border-color:#b7dfca}
.admin-main .catalogue-readiness--review{color:#75501c;background:#fff4dc;border-color:#e5d6a9}
