/* Approved Ruby Glass design: screen-only; PDF output keeps its own renderer. */
@media screen {
 :root {
  --sky-canvas:#fffafa; --sky-text-primary:#2b1118; --sky-text-secondary:#725a62;
  --sky-text-tertiary:#8b6b76; --sky-glass:rgba(255,255,255,.72);
  --sky-glass-strong:rgba(255,255,255,.88); --sky-glass-border:rgba(255,255,255,.9);
  --sky-shadow-glass:0 12px 36px rgba(59,7,21,.07);
  --sky-radius-panel:24px; --sky-radius-bar:24px;
 }
 :is(.dark,html[data-catalog-theme="dark"]) {
  --sky-canvas:#0d0709; --sky-text-primary:#fff5f7; --sky-text-secondary:#d0b7c0;
  --sky-text-tertiary:#b697a3; --sky-glass:rgba(35,17,23,.78);
  --sky-glass-strong:rgba(43,21,28,.94); --sky-glass-border:rgba(255,225,235,.12);
  --sky-shadow-glass:0 16px 40px rgba(0,0,0,.23);
 }
 .sky-app-shell,.catalog-glass-canvas,.customer-canvas {
  background:radial-gradient(ellipse at 90% 0%,rgba(159,18,57,.09),transparent 50%),var(--sky-canvas)!important;
  color:var(--sky-text-primary); isolation:isolate;
 }
 .sky-app-shell { --sky-admin-frame-max:1344px; --sky-admin-frame-gutter:clamp(16px,3.333vw,48px); }
 .sky-app-shell::before,.catalog-glass-canvas::before,.customer-canvas::before {
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:url('/images/ruby-glass-ribbon.webp') center top / cover no-repeat;
  mask-image:linear-gradient(#000,transparent 90%); opacity:.12;
 }
 .dark .sky-app-shell::before,.dark .catalog-glass-canvas::before,.dark .customer-canvas::before,
 html[data-catalog-theme="dark"] .catalog-glass-canvas::before { opacity:.045; }
 .sky-topbar { margin-top:24px; border-radius:24px; }
 .sky-topbar__main { min-height:72px; gap:16px; padding:12px 20px; }
 .sky-main { margin-top:24px; padding-bottom:124px; }
 .sky-dashboard { gap:16px; }
 .sky-quick-actions { gap:16px; }
 .sky-quick-action { border-radius:18px; padding:16px; background:var(--sky-glass); }
 .sky-metric-strip.sky-glass-surface { background:transparent!important; border:0!important; box-shadow:none; backdrop-filter:none; overflow:visible; gap:16px; }
 .sky-metric { background:var(--sky-glass); border:1px solid var(--sky-glass-border); border-radius:24px; padding:20px; min-width:0; box-shadow:var(--sky-shadow-glass); }
 .sky-metric__value { font-size:28px; line-height:1.5; }
 .sky-metric__label,.sky-panel__subtitle,.sky-panel__link,.sky-chart__date,.sky-chart__value { font-size:12px; line-height:20px; }
 .sky-panel__title { font-size:20px; line-height:30px; }
 .sky-dashboard-grid { gap:16px; grid-template-columns:minmax(0,3fr) minmax(280px,1fr); }
 .sky-panel { padding:16px; }
 .sky-panel__header { margin-bottom:16px; }
 .sky-list-row { padding-block:14px; gap:12px; }
 .sky-glass-surface,.sky-panel,.glass-panel,.customer-surface,
 .dash-hero-copy,.dash-action,.dash-stat,.dash-panel,.pte-topbar,.pte-sidebar {
  color:var(--sky-text-primary); background:var(--sky-glass)!important;
  border:1px solid var(--sky-glass-border)!important; border-radius:24px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),var(--sky-shadow-glass);
  backdrop-filter:blur(22px) saturate(120%); -webkit-backdrop-filter:blur(22px) saturate(120%);
 }
 .dashboard-page { color:var(--sky-text-primary); }
 .dash-hero-copy h2,.dash-stat strong,.dash-action strong { color:var(--sky-text-primary)!important; }
 .dash-hero-copy p,.dash-action small,.dash-stat span { color:var(--sky-text-secondary)!important; }
 .dash-stat-grid,.dash-hero { gap:16px; }
 .dash-stat,.dash-hero-copy { padding:20px; }
 .sky-bottom-dock {
  border:1px solid var(--sky-glass-border); background:var(--sky-glass-strong)!important;
  border-radius:24px; padding:8px; gap:8px;
  box-shadow:0 16px 40px rgba(59,7,21,.13),inset 0 1px 0 rgba(255,255,255,.4);
  bottom:max(16px,env(safe-area-inset-bottom)); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
 }
 .sky-bottom-dock::after { display:none; }
 .sky-dock-item { min-height:52px; border-radius:16px; color:var(--sky-text-secondary); }
 .sky-dock-item svg { width:22px; height:22px; flex-shrink:0; }
 .sky-dock-item.is-active { background:color-mix(in srgb,var(--brand,#9f1239) 13%,transparent); color:var(--brand,#9f1239); }
 .dark .sky-dock-item.is-active,html[data-catalog-theme="dark"] .sky-dock-item.is-active { background:color-mix(in srgb,var(--brand,#9f1239) 32%,transparent); color:#ffdce7; }
 :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--brand,#9f1239); outline-offset:3px; }
 .sky-app-shell :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { border-radius:12px; }
 .sky-app-shell table th { padding-block:14px; }
 .sky-app-shell table td { padding-block:16px; }
 .dark .dataTables_wrapper table.dataTable.sticky-actions :is(td,th):last-child { background-color:#2b151c!important; }
 .catalog-overview,.catalog-newarrivals,.catalog-lowstock { border-radius:24px; }
 .catalog-view-toolbar { flex-wrap:wrap; align-items:center; gap:12px; }
 .ruby-catalog-search { flex:1; min-width:240px; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:12px 16px; border-radius:16px; background:var(--brand,#9f1239); color:white; text-align:right; box-shadow:0 8px 20px color-mix(in srgb,var(--brand,#9f1239) 18%,transparent); font-size:13px; }
 .ruby-catalog-search-action { border-inline-start:1px solid #ffffff50; padding-inline-start:12px; white-space:nowrap; font-weight:700; }
 .catalog-view-switch { min-height:52px; border-radius:16px; }
 .catalog-overview-contact { gap:12px; }
 .catalog-overview-contact a { min-height:52px; border-radius:16px; }
 .catalog-overview-contact a[href^="tel:"] { color:var(--brand,#9f1239); }
 .dark .catalog-overview-contact a[href^="tel:"],html[data-catalog-theme="dark"] .catalog-overview-contact a[href^="tel:"] { color:#ffc9da!important; }
 .notice-items { display:flex; flex-wrap:wrap; gap:8px; align-items:flex-start; }
 .notice-items > * { max-width:100%; white-space:normal; line-height:1.8; }
 .catalog-filter-panel { background:linear-gradient(135deg,color-mix(in srgb,var(--brand,#9f1239) 90%,#fff),var(--brand,#9f1239))!important; color:white; border-radius:24px; padding:16px; }
 .catalog-filter-panel :is(label,.catalog-filter-title) { color:#fff; }
 .catalog-filter-panel :is(.catalog-filter-title h2,.catalog-filter-title svg,.catalog-sheet-reset,.icon-btn,[data-filter-reset]) { color:#fff!important; }
 .catalog-filter-picker summary { background:var(--sky-glass-strong); color:var(--sky-text-primary); min-height:48px; }
 .catalog-filter-panel input { background:rgba(255,255,255,.96); color:#2b1118; min-height:48px; }
 .catalog-filter-panel input::placeholder { color:#725a62; opacity:1; }
 .catalog-filter-options { z-index:70; background:var(--sky-glass-strong); color:var(--sky-text-primary); max-height:min(360px,45svh); overflow-y:auto; overscroll-behavior:contain; }
 .catalog-product-grid { gap:16px; }
 .catalog-product-card { border-radius:20px!important; border:1px solid var(--sky-glass-border); background:var(--sky-glass)!important; box-shadow:var(--sky-shadow-glass); min-width:0; }
 .catalog-product-body { min-width:0; }
 .catalog-product-image { object-fit:contain; object-position:center; }
 .catalog-price-row { gap:8px; flex-wrap:wrap; padding:10px; border-radius:12px; background:color-mix(in srgb,var(--brand,#9f1239) 8%,transparent); }
 .catalog-price-value { min-width:0; max-width:100%; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px; }
 .catalog-price-value :is(strong,.text-lg) { white-space:normal; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
 .catalog-product-modal-panel { border-radius:28px; background:var(--sky-glass-strong); }
 .catalog-product-modal-header h2 { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.6; }
 .catalog-product-modal-body { padding:16px; gap:20px; }
 .catalog-product-modal-image-wrap { background:#fff!important; border-radius:20px; }
 .catalog-product-modal-image-wrap img { display:block; margin:auto; object-fit:contain; object-position:center; max-width:100%; }
 .catalog-product-modal-content { gap:16px; }
 .login-page { background:radial-gradient(ellipse at 50% 5%,rgba(159,18,57,.15),transparent 65%),var(--sky-canvas)!important; }
 .login-page .glass-panel { padding:32px; }
 .login-cta { box-shadow:0 8px 24px rgba(159,18,57,.2)!important; }
 @media(min-width:1024px) {
  .sky-app-shell > .sky-bottom-dock { width:min(1050px,calc(100% - 96px)); justify-content:space-around; }
 }
 @media(max-width:1023px) { .sky-dashboard-grid { grid-template-columns:minmax(0,1fr); } }
 @media(max-width:639px) {
  .ruby-catalog-search { flex-basis:100%; min-width:0; font-size:12px; }
  .sky-dashboard-grid { grid-template-columns:minmax(0,1fr); }
  .sky-metric-strip { gap:12px!important; }
  .sky-metric { padding:16px; }
  .sky-quick-actions { gap:12px; }
  .sky-panel__title { font-size:17px; }
  .sky-app-shell { --sky-admin-frame-gutter:16px; }
  .sky-topbar { margin-top:16px; }
  .sky-topbar__main { padding:12px; gap:12px; }
  .sky-main { margin-top:16px; }
  .sky-bottom-dock { gap:2px; padding:6px; max-width:calc(100% - 32px); }
  .catalog-bottom-dock,.customer-bottom-dock { width:calc(100% - 48px); justify-content:space-between; }
  .sky-dock-item { min-width:0; flex:1; min-height:54px; }
  .sky-dock-item span { font-size:10px; line-height:18px; }
  .catalog-glass-canvas { padding-bottom:100px; }
  .catalog-product-grid { gap:12px; }
  .view-two .catalog-product-body { padding:10px; }
  .view-two .catalog-price-value :is(strong,.text-lg) { font-size:clamp(13px,4vw,17px); line-height:1.5; }
  .view-four.catalog-product-grid { gap:6px; }
  .view-four .catalog-product-body { padding:5px; }
  .view-four .catalog-price-row { padding:4px 2px; gap:2px; }
  .view-four .catalog-price-value { width:100%; justify-content:center; }
  .view-four .catalog-price-value :is(strong,.text-lg) { font-size:clamp(8px,2.45vw,15px)!important; line-height:1.6; letter-spacing:-.35px; }
  .view-four .catalog-price-unit { font-size:9px; }
  .catalog-product-modal { padding:8px 8px max(16px,env(safe-area-inset-bottom)); align-items:end; }
  .catalog-product-modal-panel { width:100%; max-height:calc(100svh - 32px); border-radius:28px; }
  .catalog-product-modal-body { grid-template-columns:minmax(0,1fr); gap:16px; padding:16px; }
  .catalog-product-modal-image-wrap { aspect-ratio:auto; height:210px; }
  .catalog-product-modal-image-wrap img { width:100%; height:100%; }
  .catalog-product-modal-header { padding:12px 16px; }
  .catalog-product-modal-header h2 { font-size:17px; }
  .catalog-filter-panel { padding:12px; }
  .login-page .glass-panel { padding:24px; }
 }
 @media(prefers-reduced-motion:reduce) { .catalog-product-card,.catalog-product-image,.sky-dock-item { transition:none!important; } }
}
