:root{
  /* Тёплая кремовая база — не холодный серый */
  --bg:#F2EFE9;
  --surface:#FDFCF9;
  --surface-2:rgba(253,252,249,0.80);
  --text:#1C1B14;
  --muted:rgba(28,27,20,0.50);
  --border:rgba(28,27,20,0.09);
  /* Насыщенный лесной зелёный */
  --brand:#0C7A45;
  --brand-2:#085C33;
  --brand-light:rgba(12,122,69,0.10);
  --brand-glow:rgba(12,122,69,0.20);
  --ok:#0C7A45;
  --warn:#C96B0A;
  --bad:#C8231D;
  /* Многослойный тёплый фон */
  --bg-depth:
    radial-gradient(ellipse 1600px 800px at 65% -200px, rgba(12,122,69,.06), transparent 60%),
    radial-gradient(ellipse 900px 600px at -5% 50%, rgba(180,145,65,.055), transparent 55%),
    radial-gradient(ellipse 700px 500px at 105% 85%, rgba(12,122,69,.04), transparent 50%);
  --shadow-1:0 2px 14px rgba(28,27,20,0.07), 0 1px 3px rgba(28,27,20,0.04);
  --shadow-2:0 10px 38px rgba(28,27,20,0.12), 0 4px 10px rgba(28,27,20,0.06);
  --shadow-brand:0 6px 24px rgba(12,122,69,0.24);
  --r12:14px;
  --r16:16px;
  --r20:20px;
  --gap8:8px;
  --gap12:12px;
  --gap16:16px;
  --gap24:24px;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Roboto,Helvetica,Arial,sans-serif;
  --dur-fast:180ms;
  --dur-normal:240ms;
  --dur-slow:320ms;
  --ease-premium:cubic-bezier(0.16, 1, 0.3, 1);
  --ease:var(--ease-premium);
  /* Missing variable definitions — hardening v1.2.138 */
  --accent:var(--brand);
  --card:var(--surface);
  /* z-index tokens — single source of truth */
  --z-base:1;
  --z-sticky:10;
  --z-dropdown:80;
  --z-header:100;
  --z-sidebar:200;
  --z-overlay:1000;
  --z-dock:8888;
  --z-modal:9000;
  --z-toast:9999;
  --z-drawer:99997;
  --z-confirm:99998;
  --z-tooltip:99999;
  --card-bg:var(--surface);
  --card-accent:var(--brand-light);
  --card-bar:var(--brand);
  --panel:var(--surface);
  --fg:var(--text);
  --fg2:var(--muted);
  --fg3:rgba(28,27,20,0.35);
  --bg2:#eae7e0;
  --bg3:#e2dfd8;
  --hover:rgba(28,27,20,0.04);
  --bar:var(--brand);
  --brand-bg:rgba(12,122,69,0.06);
  --text-1:var(--text);
  --text-2:rgba(28,27,20,0.65);
  --text-muted:var(--muted);
  --surface-subtle:rgba(253,252,249,0.50);
  --dur-medium:200ms;
  --arm-header-h:56px;
  --kanban-card-gap:10px;
  --ticket-accent:var(--brand);
}

:root[data-theme="dark"]{--bg:#0b0c0f;--surface:#11131a;--surface-2:#181c26;--text:#e9ecf1;--muted:#a9b0bd;--border:rgba(255,255,255,.10);--shadow-1:0 4px 24px rgba(0,0,0,.30);--shadow-2:0 14px 44px rgba(0,0,0,.50);--bg2:#161820;--bg3:#1c1f2a;--fg:#e9ecf1;--fg2:#a9b0bd;--fg3:#6b7280;--hover:rgba(255,255,255,.05);--card:#11131a;--card-bg:#11131a;--panel:#11131a;--text-1:#e9ecf1;--text-2:#94a3b8;--text-muted:#a9b0bd;--brand-bg:rgba(12,122,69,.12);--surface-subtle:rgba(17,19,26,.50)}
:root[data-theme="dark"] body{background:var(--bg)}

@media (prefers-color-scheme: dark){
  :root[data-theme="auto"]{--bg:#0b0c0f;--surface:#11131a;--surface-2:#1A2332;--text:#F1F5F9;--muted:#94A3B8;--border:#334155;--shadow-1:0 1px 2px rgba(0,0,0,.20);--shadow-2:0 10px 30px rgba(0,0,0,.35)}
  :root[data-theme="auto"] body{background:var(--bg)}
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg-depth), var(--bg)}


/* Subtle premium noise layer (very low opacity) */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:url('/noise.png');
  background-repeat:repeat;
  opacity:.035;
  mix-blend-mode:multiply;
  z-index:-1;
}

@media (prefers-reduced-motion: reduce){
  body::before{opacity:.02}
}

.container{max-width:1160px;margin:0 auto;padding:24px}

.topbar{position:sticky;top:0;z-index:10;background:rgba(242,239,233,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(28,27,20,.07)}
.topbar .inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;max-width:1160px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.dot{width:10px;height:10px;border-radius:999px;background:var(--brand);box-shadow:0 0 0 6px var(--brand-light)}
.nav{display:flex;gap:10px;align-items:center}

@media (max-width: 760px){
  .topbar .inner{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:10px 12px;
  }
  .nav{
    width:100%;
    max-width:100%;
    min-width:0;
    flex-wrap:wrap;
    overflow:visible;
    gap:8px;
    padding-bottom:2px;
  }
  .nav .btn{
    flex:0 1 auto;
    white-space:nowrap;
    font-size:12px;
    padding:8px 12px;
    border-radius:999px;
  }
  .container{padding:14px}
}

.btn{border:1px solid rgba(11,18,32,.10);background:#fff;color:var(--text);padding:10px 16px;border-radius:12px;box-shadow:none;cursor:pointer;font-weight:700;font-size:14px;font-family:var(--font);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-normal) var(--ease), border-color var(--dur-fast) var(--ease), filter var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease)}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-1);border-color:rgba(11,18,32,.16);background:#fff}
.btn:active{transform:translateY(0) scale(.97);box-shadow:none;transition-duration:.06s}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn.is-loading{display:inline-flex;align-items:center;gap:8px}
.hz-spin{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:hzspin .8s linear infinite}
@keyframes hzspin{to{transform:rotate(360deg)}}

.hz-no-rows{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px;color:var(--muted)}
.hz-no-rows__t{font-weight:800;color:var(--text)}
.hz-no-rows__p{font-size:13px}
.hz-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;color:var(--muted);font-weight:700}
.btn.primary{background:var(--brand);color:#fff;border-color:transparent;box-shadow:var(--shadow-brand)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(12,122,69,.32);filter:brightness(1.08)}
.btn.primary:active{transform:translateY(0) scale(.97)}

/* Accessibility: visible focus for keyboard users */
.btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.input:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.tab:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
a:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}

.card{background:var(--surface);border:1px solid rgba(28,27,20,.07);border-radius:20px;box-shadow:var(--shadow-1)}
.card .hd{padding:18px 18px 0 18px}
.card .bd{padding:18px}

.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
@media (max-width: 980px){.grid2{grid-template-columns:1fr}}

.h1{font-size:clamp(28px,4vw,42px);line-height:1.1;margin:0 0 12px 0;letter-spacing:-.03em;font-weight:900}
.p{color:var(--muted);font-size:16px;line-height:1.6;margin:0}

.heroMicro{margin:4px 0 12px 0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(11,18,32,.60);font-weight:900}

.kpis{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.kpi{padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.kpi b{display:block}

.input{width:100%;padding:12px 12px;border-radius:10px;border:1.5px solid rgba(11,18,32,.10);background:#fff;outline:none;font-size:14px;font-weight:700;font-family:inherit;color:var(--text);transition:border-color .14s, box-shadow .14s;-webkit-appearance:none;appearance:none}
.input:focus{border-color:rgba(12,122,69,.5);box-shadow:0 0 0 4px rgba(12,122,69,.12)}
/* Inline validation (ARM premium): highlight invalid inputs early */
.input:invalid{border-color:var(--bad);box-shadow:0 0 0 4px rgba(220,38,38,.12)}
.label{font-size:12px;color:var(--muted);margin:8px 0 6px}

.table th,.table td{padding:10px 10px;border-bottom:1px solid var(--border);font-size:14px}
.table th{text-align:left;color:var(--muted);font-weight:600}

.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(11,18,32,.07);background:rgba(11,18,32,.04)}
.badge.ok{border-color:rgba(22,163,74,.3);background:rgba(22,163,74,.08)}
.badge.warn{border-color:rgba(217,119,6,.35);background:rgba(217,119,6,.08)}
.badge.bad{border-color:rgba(220,38,38,.35);background:rgba(220,38,38,.08)}

.tabs{display:flex;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:6px}
.tab{padding:8px 10px;border-radius:10px;cursor:pointer;color:var(--muted);transition:background .15s,color .15s,transform .15s}
.tab.active{background:rgba(25,164,99,.10);color:var(--text);border:1px solid rgba(25,164,99,.18)}



.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px 0}
.breadcrumbs a{color:inherit;text-decoration:none;opacity:.8}
.breadcrumbs a:hover{opacity:1;text-decoration:underline}
.breadcrumbs .sep{opacity:.45}

.heroVisual{border-radius:16px;background:linear-gradient(135deg, rgba(25,164,99,.10), rgba(16,185,129,.08));border:1px solid rgba(0,0,0,.06);padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.04)}

.heroVisual{position:relative;overflow:hidden;transform-style:preserve-3d}
.heroVisual svg{will-change:transform;transform:translate3d(0,0,0);transition:transform .18s ease}
.heroVisual.is-motion svg{transform:translate3d(var(--hx,0px), calc(var(--hy,0px) + var(--hs,0px)), 0) scale(1.01)}
.heroVisual svg [data-label]{cursor:default;transition:transform .16s ease, fill .16s ease}

@media (prefers-reduced-motion: reduce){
  .heroVisual svg{transition:none !important}
  .heroVisual.is-motion svg{transform:none !important}
  .heroVisual svg .heroPart{animation:none !important}
}

.faq{display:grid;gap:10px}
.faq details{background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:12px}
.faq summary{cursor:pointer;font-weight:800;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:980px){.pricing{grid-template-columns:1fr}}










.drawer{position:fixed;top:0;right:0;height:100%;width:min(800px, 96vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-2);transform:translateX(100%);transition:transform .22s ease;z-index:30}
.drawer.open{transform:translateX(0)}
.drawer .dh{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.drawer .db{padding:16px;overflow:auto;height:calc(100% - 64px)}

.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(8px);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow-2);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s, transform .18s;display:flex;align-items:center;gap:10px;max-width:min(92vw,720px)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.toast__msg{font-size:14px;line-height:1.25;color:var(--text);white-space:pre-wrap}

.toast__spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin .8s linear infinite;display:none;flex:0 0 16px}
.toast[data-mode="ok"]{border-color:rgba(22,163,74,.45)}
.toast[data-mode="error"]{border-color:rgba(220,38,38,.45)}
.toast[data-mode="progress"]{border-color:rgba(25,164,99,.35)}
.toast__close{margin-left:auto;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:10px}
.toast__close:hover{background:rgba(0,0,0,.06);color:var(--text)}

/* Materials marketplace */
.mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.mat-card{border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-1);transition:transform .14s ease, box-shadow .14s ease}
.mat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.mat-img{background:#f2f2f2;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.mat-img img{width:100%;height:100%;object-fit:cover;display:block}
.mat-body{padding:12px 12px 14px}
.mat-title{font-weight:900;font-size:14px;line-height:1.25}
.mat-sub{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.35}
.mat-price{margin-top:10px;font-weight:900;font-size:16px}

/* Modal (premium, light) */
.overlay{position:fixed;inset:0;background:rgba(11,18,32,.40);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:9000;animation:overlayIn .2s ease}
.modal{width:min(860px, 96vw);background:#fff;border:1px solid rgba(11,18,32,.07);border-radius:20px;box-shadow:0 22px 70px rgba(11,18,32,.18);overflow:hidden;animation:modalIn .22s cubic-bezier(.2,.8,.2,1)}
@keyframes modalIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid rgba(11,18,32,.07)}
.modal-title{font-weight:900;font-size:16px}
.modal-bd{padding:18px 22px}
.modal-ft{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid rgba(11,18,32,.07);background:rgba(11,18,32,.02)}

.check-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:8px}
.chk{display:flex;align-items:center;gap:8px;padding:10px 10px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.chk input{width:16px;height:16px}

/* Cropper */
.crop-wrap{display:grid;grid-template-columns:520px 1fr;gap:14px;align-items:start}
.crop-canvas{width:512px;height:512px;border-radius:16px;border:1px solid var(--border);background:#f5f5f5;box-shadow:0 16px 40px rgba(0,0,0,.12)}
.crop-controls{padding:12px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.06)}

@media (max-width: 920px){
  .check-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .crop-wrap{grid-template-columns:1fr}
  .crop-canvas{width:100%;height:auto;aspect-ratio:1/1}
}


/* --- Landing Premium: dark authority section --- */
.sectionDark{margin:0;padding:72px 0;background:#0f1115;color:#f5f6f8;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.sectionDark .p{color:rgba(245,246,248,.74)}
.darkHead{margin-bottom:20px}
.darkGrid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:12px}
@media (max-width: 980px){.darkGrid{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width: 520px){.darkGrid{grid-template-columns:1fr}}
.darkCard{border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:16px;background:rgba(255,255,255,.03);box-shadow:0 14px 40px rgba(0,0,0,.24)}
.darkCard b{display:block;font-weight:900;margin-bottom:8px;letter-spacing:-.01em}
.darkCard span{display:block;color:rgba(245,246,248,.78);font-size:13px;line-height:1.5}

/* --- Landing: shopfloor trust + sticky CTA (L1+L4) --- */
.trustGrid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:12px}
.trustCard{border:1px solid rgba(11,18,32,.07);border-radius:20px;padding:18px;background:#fff;box-shadow:0 4px 24px rgba(11,18,32,.06)}
.trustCard .t{font-weight:900;margin-bottom:6px}
.trustCard code{font-size:12px}
.trustCard.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-slow,350ms) var(--ease,cubic-bezier(.4,0,.2,1)), transform var(--dur-slow,350ms) var(--ease,cubic-bezier(.4,0,.2,1));will-change:opacity,transform}
.trustCard.reveal.visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .trustCard.reveal{opacity:1;transform:none;transition:none}
}

.stickyCta{
  position:fixed;
  left:50%;
  transform:translateX(-50%) translateY(10px);
  bottom:82px; /* выше dock: 56px высота + 14px gap + 12px отступ */
  width:min(640px, calc(100vw - 24px));
  z-index:58; /* ниже dock (z-index 9998) но выше контента */
  display:flex;gap:10px;align-items:center;justify-content:space-between;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(12,122,69,0.18);
  background:rgba(253,252,249,0.95);
  backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 16px 44px rgba(28,27,20,0.14), 0 0 0 1px rgba(12,122,69,0.08);
  opacity:0;
  transition: opacity .28s ease, transform .28s var(--ease-premium);
}
.stickyCta.show{opacity:1; transform:translateX(-50%) translateY(0)}
.stickyCta .left{display:flex;gap:10px;align-items:center;flex:1}
.stickyCta .input{flex:1;min-width:220px}
.stickyCta .hint{font-size:12px;color:var(--muted)}

@media (max-width: 720px){
  .trustGrid{grid-template-columns:1fr}
  .stickyCta{left:12px;right:12px;width:calc(100vw - 24px);transform:translateX(0) translateY(10px);bottom:76px;flex-direction:column;align-items:stretch}
  .stickyCta .left{flex-direction:column;align-items:stretch}
}

/* Skeleton shimmer */
.skeleton{position:relative;overflow:hidden;background:rgba(0,0,0,0.04);border-radius:14px}
.skeleton:after{content:'';position:absolute;top:0;left:-60%;width:60%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.65), transparent);animation:shimmer 1.2s infinite}
@keyframes shimmer{0%{left:-60%}100%{left:120%}}
/* Skeleton fade-out / content fade-in */
.hz-fade-in{animation: hzFadeIn var(--dur-normal) var(--ease) both}
@keyframes hzFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Reduce heavy effects on mobile */
@media (max-width: 720px){
  .topbar{backdrop-filter:none}
}

/* Responsive tables (mobile safe) */
@media (max-width: 768px){
  table{display:block;overflow-x:auto;white-space:nowrap}
}

/* Skeleton loader */

/* ──────────────────────────────────────────────────────────────
   AG Grid (community) integration
   ag-grid-community.min.js injects theme CSS; we only align tokens.
   ────────────────────────────────────────────────────────────── */
.hz-grid{width:100%;}
.hz-grid.ag-theme-alpine,
.hz-grid.ag-theme-alpine-dark,
.hz-grid.ag-theme-alpine-auto-dark{
  --ag-font-family: var(--font);
  --ag-border-radius: 12px;
  --ag-card-radius: 12px;
}
.hz-grid.ag-theme-alpine-dark{
  --ag-background-color: var(--surface);
  --ag-header-background-color: var(--surface-2);
  --ag-odd-row-background-color: var(--surface-2);
  --ag-row-hover-color: rgba(25,164,99,.08);
  --ag-border-color: var(--border);
  --ag-header-foreground-color: var(--text);
  --ag-foreground-color: var(--text);
  --ag-secondary-foreground-color: var(--muted);
}
/* Minimal theme fallback: keep AG Grid usable even if bundled theme css is absent. */
.hz-grid .ag-root-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 220px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface, #fff);
  overflow: hidden;
}
.hz-grid .ag-root-wrapper-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}
.hz-grid .ag-header {
  background: var(--surface-2, #f8fafc);
  border-bottom: 1px solid var(--border);
}
.hz-grid .ag-header-viewport,
.hz-grid .ag-body-viewport,
.hz-grid .ag-center-cols-viewport {
  overflow: auto;
}
.hz-grid .ag-header-container,
.hz-grid .ag-center-cols-container {
  min-width: 100%;
}
.hz-grid .ag-header-row,
.hz-grid .ag-row {
  display: flex;
}
.hz-grid .ag-header-cell,
.hz-grid .ag-cell {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  box-sizing: border-box;
  border-right: 1px solid rgba(15,23,42,.08);
}
.hz-grid .ag-cell {
  border-bottom: 1px solid rgba(15,23,42,.06);
  font-size: 12px;
  color: var(--text, #0f172a);
}
.hz-grid .ag-header-cell-text {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-2, #334155);
}
.hz-grid .ag-row-hover .ag-cell {
  background: rgba(25,164,99,.08);
}

/* Section rows in AG Grid (estimate groups etc.) */
.hz-row-section .ag-cell{font-weight:900; background: rgba(25,164,99,.06);}
.hz-row-section .ag-cell:first-child{border-left:0;}


/* HZ_PREMIUM_LANDING_SKELETON */
@keyframes hz_shimmer { 0%{transform:translateX(0)} 100%{transform:translateX(260%)} }

/* Mobile-light mode: reduce heavy effects */
.mobileLight .glass,
.mobileLight .trustCard,
.mobileLight .card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.mobileLight .card,
.mobileLight .trustCard {
  box-shadow: 0 6px 18px rgba(0,0,0,0.08) !important;
}
.mobileLight * {
  transition: none !important;
  animation: none !important;
}
@media (max-width: 640px) {
  .glass { backdrop-filter: none; -webkit-backdrop-filter:none; }
  .trustGrid { grid-template-columns: 1fr; }
  .stickyCta { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
}


.empty{padding:18px;border:1px dashed var(--border);border-radius:14px;background:var(--surface-2)}
.empty__title{font-weight:900;font-size:16px;margin-bottom:6px}



/* Premium tables (AG Grid inline edit) */
.hz-toolbar { user-select:none; }
.hz-cell-bad { background: rgba(255, 0, 0, 0.06); color: var(--bad); }
.hz-cell-bad input { color: inherit; }
.hz-cell-warn { background: rgba(245, 158, 11, 0.10); color: #9a6700; }
.hz-cell-warn input { color: inherit; }


/* --- Premium Explain + Preview + Row Status --- */
.hz-rowdot{display:inline-block;width:12px;height:12px;border-radius:999px;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 2px rgba(0,0,0,.08);vertical-align:middle}
.hz-rowdot.ok{background:rgba(34,197,94,.85)}
.hz-rowdot.dirty{background:rgba(245,158,11,.90)}
.hz-rowdot.bad{background:rgba(239,68,68,.90)}
.explainGrid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:980px){.explainGrid{grid-template-columns:1fr 1fr}}
.kv{display:grid;grid-template-columns:1fr;gap:8px}
.kv .k{display:inline-block;min-width:140px;opacity:.7}
.kv .v{font-weight:800}
.warnBox{border:1px solid var(--border);background:rgba(245,158,11,.08);border-radius:14px;padding:10px}
.cutPrev{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,0))}
.hz-prev-sheet{fill:#fff;stroke:rgba(0,0,0,.10);stroke-width:6}
.hz-prev-rect{fill:rgba(25,164,99,.14);stroke:rgba(25,164,99,.65);stroke-width:6}
.hz-prev-offcut-rect{fill:rgba(16,185,129,.10);stroke:rgba(16,185,129,.55);stroke-width:6;stroke-dasharray:14 10}
.hz-prev-part:hover .hz-prev-rect{filter:brightness(0.98)}
/* Micro polish */
.card{transition:box-shadow var(--dur-normal) var(--ease), transform var(--dur-normal) var(--ease)}
.card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}
/* --- end premium --- */

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
  .btn,.card,.segbtn,.trustCard{transition:none !important}
  .btn:hover,.card:hover,.segbtn:hover{transform:none !important}
}


/* Explain drawer extras */
.drawer.drawer-wide{width:min(980px, 98vw)}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.segbtn{border:1px solid var(--border);background:rgba(0,0,0,.02);border-radius:12px;padding:8px 10px;font-size:13px;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.segbtn:hover{transform:translateY(-1px)}
.segbtn.on{background:rgba(25,164,99,.12);border-color:rgba(25,164,99,.35)}
.legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.legend .leg{display:flex;gap:6px;align-items:center;font-size:13px;opacity:.9}
.legend .sw{width:14px;height:14px;border-radius:5px;border:1px solid rgba(0,0,0,.15);display:inline-block}
.legend .sw.part{background:rgba(25,164,99,.14);border-color:rgba(25,164,99,.55)}
.legend .sw.offcut{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.55)}
.legend .sw.sheet{background:#fff;border-color:rgba(0,0,0,.18)}
.explainDrawerWrap .explainGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width: 980px){.explainDrawerWrap .explainGrid{grid-template-columns:1fr}}



/* Landing enterprise blocks + demo */
.h2{font-weight:900;font-size:clamp(20px,3vw,28px);letter-spacing:-0.02em;line-height:1.12}
.kpiBigGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width: 900px){.kpiBigGrid{grid-template-columns:1fr}}
.kpiBig{padding:12px;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.7)}
.kpiBig b{display:block;font-weight:900}
.logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width: 900px){.logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.logo{border:1px dashed rgba(0,0,0,.18);border-radius:14px;padding:12px;text-align:center;color:rgba(0,0,0,.65);font-weight:800;background:rgba(255,255,255,.5)}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width: 1100px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.grid4{grid-template-columns:1fr}}
@media (max-width: 640px){.lk-dash{grid-template-columns:repeat(2,1fr) !important}}

.demoForm input[type="number"]{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:rgba(255,255,255,.9)}
.demoForm input[type="checkbox"]{transform:scale(1.05)}
.demoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width: 900px){.demoGrid{grid-template-columns:1fr}}
.demoField span{display:block;font-weight:800;margin-bottom:6px;color:rgba(0,0,0,.75)}
.demoRow{display:flex;gap:10px;align-items:center}
.demoSep{opacity:.6;font-weight:900}
.demoCheck{display:flex;gap:10px;align-items:center;margin-top:8px}
.demoCheck span{margin:0;font-weight:800}
.demoResult{margin-top:14px;border-top:1px solid rgba(0,0,0,.08);padding-top:14px}
.demoSummary{display:flex;gap:14px;flex-wrap:wrap}
.demoStat{padding:10px 12px;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.7);min-width:140px}
.demoStat b{display:block;font-weight:900;font-size:18px}
.demoPreviewWrap{margin-top:12px}
.demoSvgHost{border-radius:18px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.85);padding:10px}
.demoLegend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.demoLegend .it{display:flex;gap:8px;align-items:center}
.lgBox{width:18px;height:12px;border-radius:4px;display:inline-block;border:2px solid rgba(0,0,0,.14)}
.lgBox.part{background:rgba(25,164,99,.14);border-color:rgba(25,164,99,.65)}
.lgBox.offcut{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.65)}
.lgBox.sheet{background:#fff;border-color:rgba(0,0,0,.22)}



/* Sprint 4 — Landing Hero visual + demo animation */
.heroVisual svg .heroSheet{filter: drop-shadow(0 18px 42px rgba(0,0,0,.10));}
.heroVisual svg .heroPart{transform-origin:center; animation: heroPop 900ms ease both;}
.heroVisual svg .hp1{animation-delay:80ms}
.heroVisual svg .hp2{animation-delay:160ms}
.heroVisual svg .hp3{animation-delay:240ms}
.heroVisual svg .hp4{animation-delay:320ms}
.heroVisual svg .hp5{animation-delay:400ms}

@keyframes heroPop{
  from{opacity:0; transform: translateY(10px) scale(.985);}
  to{opacity:1; transform: translateY(0) scale(1);}
}

.cutPreviewSvg .cutRect{opacity:0; transform-origin:center; animation: demoRectIn 520ms ease both;}
@keyframes demoRectIn{
  from{opacity:0; transform: translateY(6px) scale(.99);}
  to{opacity:1; transform: translateY(0) scale(1);}
}

/* Pricing highlight */
.trustCard.recommended{border-color:var(--brand);box-shadow:0 0 0 4px rgba(25,164,99,.12), var(--shadow-2)}
.badgeRec{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;margin-left:8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.01em;background:rgba(25,164,99,.10);border:1px solid rgba(25,164,99,.25);color:var(--text)}

/* Landing demo UX */
.demoError{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(220,38,38,.25);background:rgba(220,38,38,.06);color:var(--text);font-weight:700}
.demoPreset{display:inline-flex;gap:6px;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid transparent;text-decoration:none}
.demoPreset.active{border-color:rgba(25,164,99,.35);background:rgba(25,164,99,.10)}

/* ──────────────────────────────────────────────────────────────
   Sprint 3 — Deep features
   ────────────────────────────────────────────────────────────── */

.kanbanBar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px 0}
.kanbanBar .left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kanbanBar .right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kbSel{width:16px;height:16px;accent-color:var(--brand)}
.ticket .kbSelWrap{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ticket.selected{outline:2px solid rgba(25,164,99,.35); outline-offset:2px}

.qsWrap{display:flex;flex-direction:column;gap:10px;min-width:min(720px, 92vw)}
.qsInput{width:100%}
.qsList{max-height:min(56vh, 520px); overflow:auto; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-1)}
.qsGroup{padding:10px 12px; border-bottom:1px solid var(--border)}
.qsGroup:last-child{border-bottom:none}
.qsTitle{font-weight:900; margin:0 0 6px 0}
.qsItem{display:flex;justify-content:space-between;align-items:center;gap:10px; padding:8px 10px; border-radius:12px; cursor:pointer}
.qsItem:hover{background:var(--surface-2)}
.qsItem code{opacity:.8}

.matSwitch{display:flex;gap:8px;align-items:center}
.matTableHost{border:1px solid var(--border);border-radius:14px;overflow:hidden}

.hz-row-subtotal{background:rgba(25,164,99,.06) !important; font-weight:800}

/* Branded scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--muted)}
::-webkit-scrollbar-track{background:transparent}

/* Toast icons */
.toast[data-mode="ok"] .toast__icon::before{content:"✓";color:var(--ok)}
.toast[data-mode="error"] .toast__icon::before{content:"✕";color:var(--bad)}
.toast[data-mode="warn"] .toast__icon::before{content:"⚠";color:var(--warn)}
.toast[data-mode="progress"] .toast__icon::before{content:""}
.toast__icon{font-size:16px;font-weight:900;flex:0 0 20px;text-align:center}

/* ARM row coloring */
.hz-row-paid{background:rgba(22,163,74,.06) !important}
.hz-row-submitted{background:rgba(217,119,6,.06) !important}
.hz-row-overdue{background:rgba(220,38,38,.06) !important}
.hz-row-closed{opacity:.55}

/* Order status hints */
.hz-status-hint{margin:8px 0 4px;padding:10px 14px;border-radius:12px;background:rgba(25,164,99,.05);border:1px solid rgba(25,164,99,.10);font-size:14px;color:var(--muted)}
.hz-status-hint b{color:var(--text);font-weight:700}

/* Feature comparison table */
.hz-cmp-table{width:100%;border-collapse:collapse;font-size:14px}
.hz-cmp-table th{text-align:left;padding:8px 12px;border-bottom:2px solid var(--border);font-weight:800}
.hz-cmp-table td{padding:8px 12px;border-bottom:1px solid var(--border)}
.hz-cmp-table td:not(:first-child),.hz-cmp-table th:not(:first-child){text-align:center;width:90px}

/* Process stepper */
.hz-stepper{display:flex;align-items:flex-start;gap:0;margin:18px 0;flex-wrap:wrap}
.hz-step{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;min-width:100px;position:relative}
.hz-step__dot{width:36px;height:36px;border-radius:999px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;box-shadow:0 2px 8px rgba(25,164,99,.18)}
.hz-step__label{font-size:12px;font-weight:700;margin-top:6px;color:var(--text)}
.hz-step__sub{font-size:11px;color:var(--muted);margin-top:2px}
.hz-step::after{content:'';position:absolute;top:18px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;background:var(--border)}
.hz-step:last-child::after{display:none}
@media(max-width:640px){.hz-stepper{flex-direction:column;align-items:stretch;gap:6px}.hz-step{flex-direction:row;gap:10px;min-width:0}.hz-step::after{display:none}.hz-step__dot{width:28px;height:28px;font-size:13px}}

/* Preset cards */
.hz-preset-cards{display:flex;gap:10px;flex-wrap:wrap}
.hz-preset-card{display:flex;flex-direction:column;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:14px;cursor:pointer;background:var(--surface);transition:border-color var(--dur-normal) var(--ease), box-shadow var(--dur-normal) var(--ease);min-width:80px;text-align:center}
.hz-preset-card:hover{border-color:rgba(25,164,99,.3);box-shadow:0 2px 8px rgba(25,164,99,.08)}
.hz-preset-card.active{border-color:var(--brand);background:rgba(25,164,99,.06);box-shadow:0 0 0 3px rgba(25,164,99,.10)}
.hz-preset-card svg{width:36px;height:36px;margin-bottom:4px}
.hz-preset-card span{font-size:12px;font-weight:700}

/* Footer */
.hz-footer{border-top:1px solid var(--border);padding:24px;text-align:center;margin-top:24px;color:var(--muted);font-size:13px}
.hz-footer a{color:var(--brand);text-decoration:none}
.hz-footer a:hover{text-decoration:underline}
.hz-footer__links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}

/* Hero interactive tooltip */
.hz-hero-tip{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700;box-shadow:var(--shadow-2);pointer-events:none;white-space:nowrap;z-index:5}

/* Form fields — HOLZCOM style */
.hz-field{display:flex;flex-direction:column;gap:5px}
.hz-label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(11,18,32,.50)}

/* Card hover effect */
.card--hover{transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s cubic-bezier(.2,.8,.2,1), border-color .18s}
.card--hover:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(11,18,32,.10);border-color:rgba(25,164,99,.20)}

/* Link style */
a{color:var(--brand);text-decoration:none;font-weight:700;transition:opacity .14s}
a:hover{opacity:.8}

/* Ghost button */
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn.ghost:hover{background:rgba(11,18,32,.04);border-color:rgba(11,18,32,.10);color:var(--text)}

/* Danger button */
.btn.danger{color:#ef4444;border-color:rgba(239,68,68,.20)}
.btn.danger:hover{background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.30);box-shadow:0 6px 20px rgba(239,68,68,.10)}

/* Table base */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(11,18,32,.45);border-bottom:2px solid rgba(11,18,32,.07)}
.table td{padding:10px 14px;border-bottom:1px solid rgba(11,18,32,.05)}
.table tr:hover td{background:rgba(25,164,99,.03)}

/* Modal overlay backdrop */
.hz-overlay{position:fixed;inset:0;background:rgba(11,18,32,.40);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:9999;animation:overlayIn .2s ease}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}

/* Topbar nav links */
.topbar .btn{font-size:13px;padding:7px 14px;border-radius:10px;background:rgba(11,18,32,.04);border-color:transparent}
.topbar .btn:hover{background:rgba(11,18,32,.08);border-color:rgba(11,18,32,.10);transform:none;box-shadow:none}

/* LK dashboard cards refinement */
.lk-dash .card{border:1px solid rgba(11,18,32,.07);transition:transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s}
.lk-dash .card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(11,18,32,.08)}



/* --- Icon polish --- */
.ico{ display:inline-flex; align-items:center; justify-content:center; vertical-align:-0.15em; color:currentColor; }
.ico svg{ display:block; }
.icoBtn{ margin-right:8px; opacity:.95; }
.icoTitle{ margin-right:10px; color: var(--brand); }
.badgeRec .icoBadge{ margin-right:6px; color: var(--brand); opacity:.9; }

/* Make icon in kpiBig titles align nicely */
.kpiBig b .icoTitle{ margin-right:8px; }
.t .icoTitle{ margin-right:8px; }


/* --- Landing WOW: Demo Explain --- */
.cutRect{cursor:pointer;transition:transform .12s ease, filter .12s ease}
.cutRect:hover{filter:brightness(0.98);transform:translateY(-1px)}
.cutRect.isSelected{filter:brightness(0.96);transform:translateY(-1px) scale(1.01);stroke-width:3.2}

.demoExplain{position:relative;margin-top:12px;border:1px solid rgba(11,18,32,.06);background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-radius:18px;padding:14px;box-shadow:0 20px 40px rgba(11,18,32,.08), 0 6px 16px rgba(11,18,32,.05)}
.demoExplain.hz-ack{animation:hzAckShake 220ms var(--ease) 1}
@keyframes hzAckShake{
  0%{transform:translateX(0)}
  20%{transform:translateX(-3px)}
  40%{transform:translateX(3px)}
  60%{transform:translateX(-2px)}
  80%{transform:translateX(2px)}
  100%{transform:translateX(0)}
}
@media (prefers-reduced-motion: reduce){ .demoExplain.hz-ack{animation:none} }
.demoExplainHd{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.demoExplainBody{display:block}
.demoExplainGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width: 860px){ .demoExplainGrid{grid-template-columns:1fr} }

.demoExplainBox{border:1px solid rgba(11,18,32,.08);border-radius:14px;padding:10px;background:rgba(255,255,255,.7)}
.demoExplainBox .t{font-weight:900;margin-bottom:8px}
.demoExplainLine{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:10px}
.demoExplainLine:nth-child(odd){background:rgba(11,18,32,.03)}
.demoExplainLine b{font-weight:900}
.demoAlt{border:1px dashed rgba(11,18,32,.14);border-radius:12px;padding:8px;margin-top:8px}
.demoAlt .t{font-weight:900;margin-bottom:2px}

/* --- Landing WOW: metric micro-highlight (most influential line) --- */
.demoExplainLine.hz-hot{
  background:linear-gradient(90deg, rgba(11,18,32,.06), rgba(11,18,32,.03)) !important;
  box-shadow:inset 2px 0 0 rgba(11,18,32,.28);
}
@keyframes hzMetricFlash{
  0%{ transform:translateZ(0) scale(1); }
  35%{ transform:translateZ(0) scale(1.02); }
  100%{ transform:translateZ(0) scale(1); }
}
.demoExplainLine.hz-hot{ animation: hzMetricFlash 520ms var(--ease) 1; }

@media (prefers-reduced-motion: reduce){
  .demoExplainLine.hz-hot{ animation: none; }
}

/* --- Landing WOW: one-time tooltip on influential metric --- */
.hzHotTip{
  position:absolute;
  z-index:50;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(11,18,32,.92);
  color:rgba(255,255,255,.92);
  font-size:13px;
  line-height:1.2;
  box-shadow:0 16px 40px rgba(11,18,32,.24);
  border:1px solid rgba(255,255,255,.14);
  display:flex;
  gap:10px;
  align-items:center;
  cursor:pointer;
  user-select:none;
  transform:translateY(2px);
  opacity:0;
  animation: hzTipIn 220ms ease-out forwards;
}
.hzHotTip .t{font-weight:800;white-space:nowrap}
.hzHotTip .x{font-weight:900;opacity:.8;line-height:1}
.hzHotTip .x:hover{opacity:1}
.hzHotTip .a{
  position:absolute;
  left:18px;
  bottom:-6px;
  width:12px;
  height:12px;
  background:rgba(11,18,32,.92);
  transform:rotate(45deg);
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
@keyframes hzTipIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
.hzHotTip.is-hide{animation: hzTipOut 180ms ease-in forwards}
@keyframes hzTipOut{
  from{opacity:1;transform:translateY(0)}
  to{opacity:0;transform:translateY(6px)}
}
@media (prefers-reduced-motion: reduce){
  .hzHotTip{animation:none;opacity:1;transform:none}
  .hzHotTip.is-hide{animation:none;opacity:0}
}

/* --- Landing WOW: Scroll Story --- */
.ss{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}
@media (max-width: 980px){ .ss{grid-template-columns:1fr} }

.ssLeft{position:sticky;top:82px;align-self:start}
@media (max-width: 980px){ .ssLeft{position:relative;top:auto} }

.ssRail{position:absolute;left:22px;top:18px;bottom:18px;width:4px;border-radius:999px;background:rgba(25,164,99,.14)}
.ssSteps{display:flex;flex-direction:column;gap:10px;position:relative}
.ssStep{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(11,18,32,.08);border-radius:16px;background:rgba(255,255,255,.65);backdrop-filter:blur(8px);cursor:pointer;transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease}
.ssStep:hover{transform:translateY(-1px);border-color:rgba(25,164,99,.25);box-shadow:0 10px 30px rgba(11,18,32,.08)}
.ssStep b{width:28px;height:28px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(25,164,99,.12);color:var(--brand);font-weight:900}
.ssStep .t{font-weight:900}
.ssStep.is-active{border-color:rgba(25,164,99,.35);box-shadow:0 12px 36px rgba(11,18,32,.10);background:rgba(255,255,255,.85)}
.ssRight{display:flex;flex-direction:column;gap:12px}

.ssCard{border:1px solid rgba(11,18,32,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease;min-height:210px}
.ssCard.is-active{border-color:rgba(25,164,99,.35);box-shadow:0 12px 36px rgba(11,18,32,.10);background:rgba(255,255,255,.9)}
.ssTag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:rgba(11,18,32,.55);margin-bottom:8px}
.ssMock{margin-top:10px;border:1px solid rgba(11,18,32,.08);border-radius:16px;padding:10px;background:rgba(245,242,237,.55)}
.ssRow{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:6px 8px;border-radius:10px}
.ssRow:nth-child(odd){background:rgba(11,18,32,.03)}
.ssRow b{font-weight:900}
.ssRow i{font-style:normal;color:rgba(11,18,32,.55)}
.ssChip{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:999px;background:rgba(11,18,32,.03);margin:6px 0}
.ssChip b{font-weight:900}
.ssExplainLine{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:12px;background:rgba(11,18,32,.03);margin:6px 0}
.ssExplainLine b{font-weight:900}
.ssFile{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(11,18,32,.03);margin:6px 0}
.ssSvg{padding:0;background:transparent;border:none}


/* --- Landing demo autoplay (visual-only) --- */
#landingDemo.isAutoplay .cutRect.isSelected{
  animation: hzAutoPulse 1.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce){
  #landingDemo.isAutoplay .cutRect.isSelected{
    animation: none;
  }
}

@keyframes hzAutoPulse{
  0%   { opacity: 0.92; filter: drop-shadow(0 6px 12px rgba(0,0,0,.10)); }
  50%  { opacity: 1;    filter: drop-shadow(0 10px 18px rgba(0,0,0,.14)); }
  100% { opacity: 0.92; filter: drop-shadow(0 6px 12px rgba(0,0,0,.10)); }
}


/* --- Landing WOW: Scroll Story Autoplay (visual only) --- */
#scrollStory.isAutoStory .ssRail{background:rgba(25,164,99,.18)}
#scrollStory.isAutoStory .ssStep.is-active b{animation:hzPulse 1.8s ease-in-out infinite}
@keyframes hzPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (prefers-reduced-motion: reduce){
  #scrollStory.isAutoStory .ssStep.is-active b{animation:none}
}



/* === HZ Floating Dock + Tooltip System (landing-only helpers) === */
:root{
  --hz-dock-h: 56px;
  --hz-dock-pad: 10px;
  --hz-tip-z: 9999;
}

/* Tooltip (single floating element, positioned by JS) */
#hz-tooltip {
  position: fixed;
  z-index: var(--hz-tip-z);
  pointer-events: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity var(--dur-fast,180ms) var(--ease-premium, cubic-bezier(0.16,1,0.3,1)),
              transform var(--dur-fast,180ms) var(--ease-premium, cubic-bezier(0.16,1,0.3,1));
  max-width: min(360px, calc(100vw - 24px));
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15,17,21,0.92);
  color: rgba(245,246,248,0.96);
  box-shadow: 0 14px 30px rgba(0,0,0,0.22), 0 4px 12px rgba(0,0,0,0.14);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
  line-height: 1.35;
  backdrop-filter: blur(8px);
}
#hz-tooltip[data-open="1"]{ opacity:1; transform: translateY(0); }
#hz-tooltip .hz-tip-title{ font-weight: 800; font-size: 12px; letter-spacing: .02em; opacity:.92; margin-bottom:4px; }
#hz-tooltip .hz-tip-body{ opacity:.95; }
@media (prefers-reduced-motion: reduce){
  #hz-tooltip{ transition: none; }
}

/* Dock */
#hz-dock{
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: calc(var(--hz-tip-z) - 1);
  width: min(860px, calc(100vw - 20px));
  padding: 10px;
  border-radius: 18px;
  background: rgba(253,252,249,0.88);
  border: 1px solid rgba(28,27,20,0.08);
  box-shadow: 0 26px 60px rgba(0,0,0,0.10), 0 10px 22px rgba(0,0,0,0.06);
  backdrop-filter: blur(14px);
}
#hz-dock .hz-dock-row{
  display:flex;
  gap: 8px;
  align-items:center;
  justify-content: space-between;
}
#hz-dock .hz-dock-left, #hz-dock .hz-dock-right{
  display:flex;
  gap: 8px;
  align-items:center;
}
#hz-dock .hz-dock-btn{
  appearance:none;
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.92);
  color: rgba(17,17,17,0.92);
  border-radius: 14px;
  padding: 10px 12px;
  display:flex;
  align-items:center;
  gap: 8px;
  font-family: inherit;
  font-weight: 800;
  font-size: 13px;
  line-height: 1;
  cursor:pointer;
  transition: transform var(--dur-fast,180ms) var(--ease-premium, cubic-bezier(0.16,1,0.3,1)),
              background var(--dur-fast,180ms) var(--ease-premium, cubic-bezier(0.16,1,0.3,1)),
              border-color var(--dur-fast,180ms) var(--ease-premium, cubic-bezier(0.16,1,0.3,1));
}
#hz-dock .hz-dock-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,1);
  border-color: rgba(0,0,0,0.14);
}
#hz-dock .hz-dock-btn:active{ transform: translateY(0); }
#hz-dock .hz-dock-btn:focus-visible{
  outline: 2px solid rgba(17,17,17,0.35);
  outline-offset: 2px;
}
#hz-dock .hz-dock-btn.primary{
  background: rgba(15,17,21,0.92);
  color: rgba(245,246,248,0.96);
  border-color: rgba(15,17,21,0.25);
}
#hz-dock .hz-dock-btn.primary:hover{ background: rgba(15,17,21,0.98); }
#hz-dock .hz-dock-pill{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.06);
  font-size: 12px;
  font-weight: 800;
  opacity: .86;
}
#hz-dock[data-hidden="1"]{ opacity: 0; pointer-events:none; transform: translateX(-50%) translateY(10px); }
#hz-dock{ transition: opacity var(--dur-medium,240ms) var(--ease-premium, cubic-bezier(0.16,1,0.3,1)),
                   transform var(--dur-medium,240ms) var(--ease-premium, cubic-bezier(0.16,1,0.3,1)); }
@media (max-width: 520px){
  #hz-dock .hz-dock-btn span{ display:none; }
  #hz-dock{ padding: 10px; }
}
@media (prefers-reduced-motion: reduce){
  #hz-dock{ transition:none; }
  #hz-dock .hz-dock-btn{ transition:none; }
}

/* Dock minimizer + context */
#hz-dock .hz-dock-miniwrap{
  display:flex;
  align-items:center;
  justify-content:center;
}
#hz-dock .hz-dock-mini{
  padding: 10px 14px;
  font-size: 16px;
  letter-spacing: .02em;
  position: relative;
}

/* Mini dock status badge (collapsed state indicator) */
#hz-dock .hz-mini-badge{
  position:absolute;
  top: 6px;
  right: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,0.10);
  color: rgba(0,0,0,0.78);
  border: 1px solid rgba(0,0,0,0.10);
  line-height: 1;
  pointer-events:none;
}
#hz-dock .hz-mini-badge.is-online{
  background: rgba(0,0,0,0.14);
  color: rgba(0,0,0,0.92);
}
#hz-dock .hz-mini-badge.is-offline{
  background: rgba(0,0,0,0.08);
  color: rgba(0,0,0,0.72);
}
#hz-dock .hz-dock-context{
  display:flex;
  gap: 6px;
  align-items:center;
  margin-left: 6px;
}
#hz-dock .hz-dock-context .hz-dock-btn{
  padding: 10px 10px;
  border-radius: 14px;
}
#hz-dock[data-collapsed="1"]{
  width: auto;
}

/* Kanban WIP overflow */
.wipOverflow .ct{ border:1px solid rgba(220,38,38,.6); background: rgba(220,38,38,.08); }

/* LK status filter */
.lk-sf{font-size:12px!important;padding:5px 12px!important;border-radius:8px!important;font-weight:700}
.lk-sf.active{background:rgba(25,164,99,.10)!important;border-color:rgba(25,164,99,.25)!important;color:#0d6b3e!important}

/* ARM tabs wrap */
.tabs{flex-wrap:wrap}

/* Responsive KPI grid */
@media(max-width:600px){
  .lk-dash{grid-template-columns:repeat(2,1fr)!important}
}

/* === Print styles === */
@media print {
  nav, .navbar, .sidebar, .nav-menu, .navigation,
  header nav, footer, .no-print {
    display: none !important;
  }
  main, .content, .main-content, article {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body {
    font-size: 12pt;
    color: #000;
    background: #fff;
  }
}

/* ====================================================
   v0.8.2 VISUAL REFRESH — тёплый лесной стиль
   ==================================================== */

/* Кнопка primary — объём и тень */
.btn.primary{
  background: linear-gradient(160deg, #0E8A4F 0%, #0A6B3C 100%);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(12,122,69,0.28), inset 0 1px 0 rgba(255,255,255,0.12);
  letter-spacing: .01em;
}
.btn.primary:hover{
  background: linear-gradient(160deg, #0F9655 0%, #0B7342 100%);
  box-shadow: 0 8px 24px rgba(12,122,69,0.34), inset 0 1px 0 rgba(255,255,255,0.14);
}

/* Hero заголовок — шрифт с весом */
.h1{
  letter-spacing: -.04em;
  font-weight: 900;
  background: linear-gradient(150deg, #1C1B14 30%, rgba(28,27,20,0.68) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* KPI карточки — теплее */
.kpi{
  padding: 12px 16px;
  border: 1px solid rgba(28,27,20,0.07);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: var(--shadow-1);
  transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.kpi:hover{ transform: translateY(-2px); box-shadow: var(--shadow-2); }
.kpi b{ color: var(--brand); font-size: 15px; }

/* Trust cards — тёплая граница */
.trustCard{
  border: 1px solid rgba(28,27,20,0.07);
  border-radius: 20px;
  padding: 18px;
  background: var(--surface);
  box-shadow: var(--shadow-1);
  transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-normal) var(--ease);
}
.trustCard:hover{ transform: translateY(-2px); box-shadow: var(--shadow-2); }

/* Dot индикатор — живой пульс */
.dot{
  animation: dotPulse 3s ease-in-out infinite;
}
@keyframes dotPulse{
  0%, 100%{ box-shadow: 0 0 0 4px rgba(12,122,69,0.10); }
  50%{ box-shadow: 0 0 0 8px rgba(12,122,69,0.06); }
}

/* HeroMicro — более заметный */
.heroMicro{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(12,122,69,0.08);
  border: 1px solid rgba(12,122,69,0.14);
  color: var(--brand-2);
  font-size: 11px;
  letter-spacing: .12em;
  font-weight: 900;
}

/* Input — теплее */
.input{
  background: var(--surface);
  border: 1.5px solid rgba(28,27,20,0.10);
}
.input:focus{
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-glow);
}

/* Стики CTA — акцент бренда */
.stickyCta .btn.primary{
  white-space: nowrap;
  flex-shrink: 0;
}
.stickyCta .hint{
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Badge ok — зелёный */
.badge.ok{
  border-color: rgba(12,122,69,0.28);
  background: rgba(12,122,69,0.08);
  color: var(--brand-2);
}

/* Dock — тёплые кнопки */
#hz-dock .hz-dock-btn.primary{
  background: linear-gradient(150deg, #1C1B14 0%, #2a2918 100%);
  color: rgba(242,239,233,0.96);
}
#hz-dock .hz-dock-pill.is-online{
  background: rgba(12,122,69,0.10);
  color: var(--brand-2);
  border-color: rgba(12,122,69,0.20);
}

/* Scrollstory dark section — теплее */
.darkCard{
  background: rgba(28,27,20,0.05) !important;
  border-color: rgba(28,27,20,0.08) !important;
}

/* ====================================================
   v0.8.2 KPI TILES + DARK CARDS — анимированные SVG
   ==================================================== */

/* KPI icon container */
.kpi-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--brand-light);
  margin-bottom: 8px;
  flex-shrink: 0;
  transition: transform var(--dur-normal) var(--ease);
}
.kpi-svg {
  width: 28px;
  height: 28px;
  color: var(--brand);
}

/* KPI tile hover */
.kpi.kpi-ani {
  display: flex;
  flex-direction: column;
  cursor: default;
}
.kpi.kpi-ani:hover .kpi-icon {
  transform: scale(1.12) rotate(-4deg);
}

/* KPI SVG path draw-on animation */
.kpi-svg-path {
  stroke-dasharray: 60;
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 0.4s var(--ease);
}
.kpi-svg-circle {
  stroke-dasharray: 44;
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 0.4s var(--ease);
}
.kpi.kpi-ani:hover .kpi-svg-path,
.kpi.kpi-ani:hover .kpi-svg-circle {
  stroke-dashoffset: 60;
}
.kpi.kpi-ani:hover .kpi-svg-circle {
  stroke-dashoffset: 44;
}
/* Check animation */
.kpi-check {
  stroke-dasharray: 22;
  stroke-dashoffset: 0;
}
.kpi.kpi-ani:hover .kpi-check {
  stroke-dashoffset: 22;
}
/* Bolt fill pulse */
.kpi-svg-bolt {
  opacity: 0.5;
  transition: opacity var(--dur-normal) var(--ease);
}
.kpi.kpi-ani:hover .kpi-svg-bolt {
  opacity: 1;
}

/* Dark cards with icons */
.darkCard.darkCard-ani {
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: transform var(--dur-normal) var(--ease), box-shadow var(--dur-normal) var(--ease);
}
.dc-icon {
  width: 32px;
  height: 32px;
  margin-bottom: 4px;
  opacity: 0.75;
  transition: opacity var(--dur-fast) var(--ease), transform var(--dur-normal) var(--ease);
}
.dc-icon svg {
  width: 28px;
  height: 28px;
  color: rgba(255,255,255,0.85);
}
.darkCard.darkCard-ani:hover .dc-icon {
  opacity: 1;
  transform: scale(1.1) rotate(-3deg);
}
.dc-path {
  stroke-dasharray: 60;
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 0.45s var(--ease);
}
.dc-check {
  stroke-dasharray: 26;
  stroke-dashoffset: 0;
}
.darkCard.darkCard-ani:hover .dc-path {
  stroke-dashoffset: 0;
}
.darkCard.darkCard-ani:hover {
  transform: translateY(-3px);
}

/* Trust cards hover */
.trustCard.reveal {
  cursor: default;
  transition: transform var(--dur-normal) var(--ease),
              box-shadow var(--dur-normal) var(--ease),
              opacity var(--dur-slow) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.trustCard.reveal:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-2);
  border-color: rgba(12,122,69,0.18);
}

/* kpiBig tiles */
.kpiBig {
  transition: transform var(--dur-normal) var(--ease);
  cursor: default;
}
.kpiBig:hover {
  transform: translateY(-2px);
}

/* Topbar улучшения */
.nav .btn.primary {
  padding: 9px 18px;
}

/* ── Pricing v2 ─────────────────────────────────────────────── */
.priceTag {
  font-size: 26px;
  font-weight: 900;
  color: var(--fg);
  margin: 8px 0 4px;
  letter-spacing: -0.5px;
}
.trustCard.recommended .priceTag { color: var(--brand); }
.priceList {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.priceList li {
  font-size: 13px;
  color: var(--fg2);
  line-height: 1.4;
}
.priceList li:first-child, .priceList li:nth-child(2) { color: var(--fg); }

/* ── Demo result stats with icons ───────────────────────────── */
.demoStatIco {
  display: block;
  font-size: 22px;
  margin-bottom: 2px;
  line-height: 1;
}
.demoStat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px 14px;
  background: var(--surface);
  border-radius: 10px;
  border: 1px solid var(--border);
  min-width: 90px;
  flex: 1;
}
.demoStat b {
  font-size: 20px;
  font-weight: 900;
  color: var(--brand);
  margin: 2px 0;
}

/* ── Dark section — slightly lighter bg for readability ──────── */
.sectionDark {
  background: #1a1f1b;
  border-radius: 16px;
  padding: 40px 32px;
}
.darkCard {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.darkCard b { font-size: 15px; color: #fff; }
.darkCard span { font-size: 13px; color: rgba(255,255,255,0.65); line-height: 1.5; }
.dc-icon svg { width: 32px; height: 32px; }


/* ── trustCard icon ─────────────────────────────────────────── */
.tc-icon {
  width: 36px; height: 36px;
  background: rgba(12,122,69,.1);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 8px;
  color: var(--brand);
  flex-shrink: 0;
}
.tc-icon svg { width: 18px; height: 18px; }
.trustCard { display: flex; flex-direction: column; }

/* ── kpiBig icon ────────────────────────────────────────────── */
.kpiBigIco {
  width: 32px; height: 32px;
  background: rgba(12,122,69,.08);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--brand);
  margin-bottom: 6px;
}
.kpiBigIco svg { width: 16px; height: 16px; }

/* ── demo stat SVG icon ─────────────────────────────────────── */
.demoStatSvg {
  width: 24px; height: 24px;
  color: var(--brand);
  margin-bottom: 4px;
  flex-shrink: 0;
}
.demoStat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px 12px;
  background: var(--surface);
  border-radius: 10px;
  border: 1px solid var(--border);
  flex: 1;
  min-width: 80px;
  gap: 2px;
}
.demoStat b { font-size: 18px; font-weight: 900; color: var(--fg); }


/* ── FAQ Accordion ──────────────────────────────────────────── */
.faqList {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.faqItem {
  border-bottom: 1px solid var(--border);
}
.faqItem:last-child { border-bottom: none; }

.faqQ {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 15px;
  font-weight: 600;
  color: var(--fg);
  transition: background 0.15s;
}
.faqQ:hover { background: var(--surface); }
.faqQ span { flex: 1; }

.faqArr {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--fg3);
  transition: transform 0.25s var(--ease), color 0.15s;
}
.faqItem.open .faqArr {
  transform: rotate(180deg);
  color: var(--brand);
}
.faqItem.open .faqQ { color: var(--brand); }

.faqA {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s var(--ease), padding 0.3s;
  padding: 0 18px;
}
.faqItem.open .faqA {
  max-height: 200px;
  padding: 0 18px 16px;
}

/* ── kpiBig update ──────────────────────────────────────────── */
#sp_updated {
  font-size: 12px;
  color: var(--fg3);
  margin-top: 8px;
}


/* ── Dark theme overrides for landing & UI (v1.2.15) ─────────────────── */
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .btn {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
  }
  :root[data-theme="auto"] .btn:hover {
    background: var(--surface);
    border-color: rgba(255,255,255,.18);
  }
  :root[data-theme="auto"] .btn.ghost {
    background: transparent;
    border-color: var(--border);
    color: var(--text);
  }
  :root[data-theme="auto"] .input {
    background: var(--surface-2);
    border-color: var(--border);
    color: var(--text);
  }
  :root[data-theme="auto"] .heroMicro {
    color: var(--muted);
  }
  :root[data-theme="auto"] .h1,
  :root[data-theme="auto"] .h2,
  :root[data-theme="auto"] .p {
    color: var(--text);
  }
  :root[data-theme="auto"] .trustCard {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text);
  }
  :root[data-theme="auto"] .ssCard {
    background: var(--surface);
    border-color: var(--border);
  }
  :root[data-theme="auto"] .ssCard b,
  :root[data-theme="auto"] .ssCard span,
  :root[data-theme="auto"] .ssRow i {
    color: var(--muted);
  }
  :root[data-theme="auto"] .heroVisual {
    background: linear-gradient(135deg, rgba(25,164,99,.15), rgba(16,185,129,.10));
    border-color: var(--border);
  }
  :root[data-theme="auto"] .demoExplainBox {
    background: var(--surface);
    border-color: var(--border);
  }
  :root[data-theme="auto"] .lk-dash .card {
    background: var(--surface);
    border-color: var(--border);
  }
  :root[data-theme="auto"] .hz-modal {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text);
  }
  /* Landing section backgrounds */
  :root[data-theme="auto"] section,
  :root[data-theme="auto"] .lSection {
    color: var(--text);
  }
  /* FAQ, pricing, social proof sections */
  :root[data-theme="auto"] .faqItem,
  :root[data-theme="auto"] .priceCard,
  :root[data-theme="auto"] .kpiBigCard {
    background: var(--surface);
    border-color: var(--border);
    color: var(--text);
  }
  /* Topbar */
  :root[data-theme="auto"] .topbar {
    background: rgba(11,12,15,.92);
    border-bottom-color: var(--border);
  }
  :root[data-theme="auto"] .topbar .btn {
    color: var(--text);
  }
}

:root[data-theme="dark"] .btn {
  background: var(--surface-2);
  border-color: var(--border);
  color: var(--text);
}
:root[data-theme="dark"] .input {
  background: var(--surface-2);
  border-color: var(--border);
  color: var(--text);
}
:root[data-theme="dark"] .heroMicro { color: var(--muted); }
:root[data-theme="dark"] .trustCard,
:root[data-theme="dark"] .ssCard {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}
:root[data-theme="dark"] .lk-dash .card {
  background: var(--surface);
  border-color: var(--border);
}
:root[data-theme="dark"] .faqItem,
:root[data-theme="dark"] .priceCard,
:root[data-theme="dark"] .kpiBigCard {
  background: var(--surface);
  border-color: var(--border);
  color: var(--text);
}
/* ──────────────────────────────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════
   ARM v1.2.17 — Design system improvements
   ═══════════════════════════════════════════════════════════════════ */

/* ── Tab bar: иконки ─────────────────────────────────────────────── */
.tab { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; font-size:13px; font-weight:700; }
.tab-icon { font-size:14px; opacity:.7; line-height:1; flex-shrink:0; }
.tab.active .tab-icon { opacity:1; }
.tab:hover .tab-icon { opacity:1; }

/* ── ARM Shell Header ────────────────────────────────────────────── */
/* BUG-05b fix: removed stale margin-bottom:16px — sticky header (below) is the canonical def */
.arm-shell-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding: 14px 18px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow-1);
}
.arm-shell-header__brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.arm-shell-header__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 4px var(--brand-light);
  flex-shrink: 0;
}
.arm-shell-header__title {
  font-weight: 900;
  font-size: 17px;
  letter-spacing: -.02em;
}
.arm-shell-header__sub {
  font-size: 13px;
  margin-top: 2px;
}
.arm-shell-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.arm-user-pill {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  background: rgba(11,18,32,.04);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 12px;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── ARM Dashboard: обновлённый header ───────────────────────────── */
.arm-dash-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.arm-dash-header__title {
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -.02em;
}

/* ── ARM KPI Cards — улучшенные метрики ──────────────────────────── */
.arm-kpi-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 20px;
  text-align: center;
  box-shadow: var(--shadow-1);
  transition: transform .15s var(--ease), box-shadow .15s var(--ease);
  position: relative;
  overflow: hidden;
}
.arm-kpi-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 16px 16px 0 0;
}
.arm-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
}
.arm-kpi-card__val {
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin-bottom: 6px;
}
.arm-kpi-card__label {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
  letter-spacing: .01em;
}
.arm-kpi-card--brand::before { background: var(--brand); }
.arm-kpi-card--brand .arm-kpi-card__val { color: var(--brand); }
.arm-kpi-card--warn::before { background: var(--warn); }
.arm-kpi-card--warn .arm-kpi-card__val { color: var(--warn); }
.arm-kpi-card--danger::before { background: var(--bad); }
.arm-kpi-card--danger .arm-kpi-card__val { color: var(--bad); }
.arm-kpi-card--ok::before { background: var(--ok); }
.arm-kpi-card--ok .arm-kpi-card__val { color: var(--ok); }
.arm-kpi-card--muted::before { background: var(--muted); }
.arm-kpi-card--muted .arm-kpi-card__val { color: var(--muted); }

/* ── Import hint banner ──────────────────────────────────────────── */
.arm-import-hint {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--brand-light);
  border: 1px solid rgba(12,122,69,.18);
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 18px;
}
.arm-import-hint__icon {
  font-size: 20px;
  color: var(--brand);
  font-weight: 900;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ── Секции расценок — визуальное разделение ─────────────────────── */
.card + .card { margin-top: 14px; }

/* ── Тёмная тема: ARM cards ──────────────────────────────────────── */
:root[data-theme="dark"] .arm-kpi-card,
:root[data-theme="auto"] .arm-kpi-card { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .arm-shell-header__top,
:root[data-theme="auto"] .arm-shell-header__top { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .arm-user-pill,
:root[data-theme="auto"] .arm-user-pill { background: rgba(255,255,255,.06); border-color: var(--border); color: var(--muted); }
:root[data-theme="dark"] .arm-import-hint,
:root[data-theme="auto"] .arm-import-hint { background: rgba(12,122,69,.12); border-color: rgba(12,122,69,.25); }

@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .arm-kpi-card { background: var(--surface); border-color: var(--border); }
  :root[data-theme="auto"] .arm-shell-header__top { background: var(--surface); border-color: var(--border); }
  :root[data-theme="auto"] .arm-user-pill { background: rgba(255,255,255,.06); border-color: var(--border); color: var(--muted); }
  :root[data-theme="auto"] .arm-import-hint { background: rgba(12,122,69,.12); border-color: rgba(12,122,69,.25); }
}

/* ── Таблицы DLQ/OPS/Outbox — читаемость ────────────────────────── */
.tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.tbl th { text-align: left; color: var(--muted); font-weight: 700; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 8px 10px; border-bottom: 2px solid var(--border); white-space: nowrap; }
.tbl td { padding: 10px 10px; border-bottom: 1px solid var(--border); vertical-align: top; }
.tbl tr:last-child td { border-bottom: none; }
.tbl tr:hover td { background: rgba(11,18,32,.025); }
:root[data-theme="dark"] .tbl tr:hover td,
:root[data-theme="auto"] .tbl tr:hover td { background: rgba(255,255,255,.03); }

/* ── Kanban bar ──────────────────────────────────────────────────── */
.kanbanBar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding: 10px 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
}
.kanbanBar .left, .kanbanBar .right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ── HZ таблица улучшения ────────────────────────────────────────── */
.hz-table-wrap { overflow-x: auto; border-radius: 10px; border: 1px solid var(--border); }
.hz-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.hz-table th { text-align: left; color: var(--muted); font-weight: 700; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; padding: 10px 12px; border-bottom: 2px solid var(--border); background: rgba(11,18,32,.02); white-space: nowrap; }
.hz-table td { padding: 11px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.hz-table tr:last-child td { border-bottom: none; }
.hz-table tr:hover td { background: rgba(11,18,32,.025); }
:root[data-theme="dark"] .hz-table th { background: rgba(255,255,255,.03); }
:root[data-theme="dark"] .hz-table tr:hover td { background: rgba(255,255,255,.03); }

/* ═══════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════
   ARM v1.2.18 — UI IMPROVEMENTS
   ═══════════════════════════════════════════════════════════════════ */

/* ── ARM Shell: новый layout с sidebar ─────────────────────────────── */
.arm-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  min-height: calc(100vh - 0px);
  gap: 0;
}
@media (max-width: 900px) {
  .arm-layout { grid-template-columns: 1fr; }
  .arm-sidebar { display: none; }
  .arm-topnav { display: flex !important; }
}

/* ── Sidebar ─────────────────────────────────────────────────────── */
.arm-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  background: var(--surface);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0;
  z-index: 20;
  scrollbar-width: thin;
}
.arm-sidebar::-webkit-scrollbar { width: 4px; }
.arm-sidebar::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }

.arm-sidebar__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 18px 16px;
  border-bottom: 1px solid var(--border);
}
.arm-sidebar__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-light);
  flex-shrink: 0;
}
.arm-sidebar__title {
  font-weight: 900;
  font-size: 14px;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.arm-sidebar__sub {
  font-size: 11px;
  color: var(--muted);
  margin-top: 1px;
}

.arm-sidebar__nav {
  flex: 1;
  padding: 10px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.arm-sidebar__group-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 10px 8px 4px;
  opacity: .6;
}

.arm-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 10px;
  cursor: pointer;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  transition: background .12s, color .12s, transform .1s;
  user-select: none;
  border: 1px solid transparent;
  position: relative;
}
.arm-nav-item:hover {
  background: rgba(11,18,32,.04);
  color: var(--text);
}
.arm-nav-item.active {
  background: rgba(12,122,69,.09);
  color: var(--brand);
  font-weight: 800;
  border-color: rgba(12,122,69,.15);
}
.arm-nav-item.active .arm-nav-item__icon {
  opacity: 1;
}
.arm-nav-item__icon {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .55;
  flex-shrink: 0;
  font-size: 14px;
}
.arm-nav-item.active .arm-nav-item__icon { opacity: 1; }
.arm-nav-item__badge {
  margin-left: auto;
  background: var(--bad);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 999px;
  min-width: 18px;
  text-align: center;
  display: none;
}
.arm-nav-item__badge.show { display: block; }

.arm-sidebar__footer {
  padding: 12px 10px 16px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.arm-sidebar__user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
}
.arm-sidebar__avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--brand-light);
  border: 1px solid rgba(12,122,69,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
  color: var(--brand);
  flex-shrink: 0;
}
.arm-sidebar__email {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

/* ── Mobile top nav (fallback for < 900px) ─────────────────────── */
.arm-topnav {
  display: none;
  gap: 6px;
  overflow-x: auto;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  position: sticky;
  top: 0;
  z-index: 20;
  scrollbar-width: none;
}
.arm-topnav::-webkit-scrollbar { display: none; }
.arm-topnav .arm-nav-item {
  flex-shrink: 0;
  padding: 7px 12px;
  font-size: 12px;
}

/* ── ARM Content area ───────────────────────────────────────────── */
.arm-content {
  min-height: 100vh;
  padding: 24px 28px;
  overflow-x: hidden;
}
@media (max-width: 600px) {
  .arm-content { padding: 16px; }
}

/* ── Page header (внутри каждого раздела) ──────────────────────── */
.arm-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.arm-page-title {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.025em;
  line-height: 1.15;
}
.arm-page-sub {
  font-size: 13px;
  color: var(--muted);
  margin-top: 3px;
}
.arm-page-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* ── KPI Cards — улучшенные ─────────────────────────────────────── */
.arm-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}
.arm-kpi-card2 {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 18px 16px;
  box-shadow: var(--shadow-1);
  position: relative;
  overflow: hidden;
  transition: transform .14s var(--ease), box-shadow .14s var(--ease);
}
.arm-kpi-card2:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
}
.arm-kpi-card2__accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 16px 16px 0 0;
}
.arm-kpi-card2__val {
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1;
  margin-bottom: 6px;
  font-variant-numeric: tabular-nums;
}
.arm-kpi-card2__label {
  font-size: 11px;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.arm-kpi-card2__trend {
  font-size: 11px;
  font-weight: 700;
  margin-top: 6px;
}
/* color variants */
.arm-kpi-card2--brand .arm-kpi-card2__val { color: var(--brand); }
.arm-kpi-card2--brand .arm-kpi-card2__accent { background: var(--brand); }
.arm-kpi-card2--warn .arm-kpi-card2__val { color: var(--warn); }
.arm-kpi-card2--warn .arm-kpi-card2__accent { background: var(--warn); }
.arm-kpi-card2--danger .arm-kpi-card2__val { color: var(--bad); }
.arm-kpi-card2--danger .arm-kpi-card2__accent { background: var(--bad); }
.arm-kpi-card2--ok .arm-kpi-card2__val { color: var(--ok); }
.arm-kpi-card2--ok .arm-kpi-card2__accent { background: var(--ok); }
.arm-kpi-card2--neutral .arm-kpi-card2__val { color: var(--text); }
.arm-kpi-card2--neutral .arm-kpi-card2__accent { background: var(--muted); }

/* ── Skeleton shimmer ───────────────────────────────────────────── */
@keyframes arm-shimmer {
  0%   { background-position: -600px 0; }
  100% { background-position: 600px 0; }
}
.arm-skeleton {
  background: linear-gradient(90deg,
    rgba(11,18,32,.05) 25%,
    rgba(11,18,32,.10) 50%,
    rgba(11,18,32,.05) 75%
  );
  background-size: 600px 100%;
  animation: arm-shimmer 1.4s ease-in-out infinite;
  border-radius: 8px;
}
:root[data-theme="dark"] .arm-skeleton,
:root[data-theme="auto"] .arm-skeleton {
  background: linear-gradient(90deg,
    rgba(255,255,255,.05) 25%,
    rgba(255,255,255,.10) 50%,
    rgba(255,255,255,.05) 75%
  );
  background-size: 600px 100%;
}

/* ── Dashboard secondary grid ──────────────────────────────────── */
.arm-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}
.arm-stat-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 12px;
  text-align: center;
  box-shadow: var(--shadow-1);
}
.arm-stat-card__val {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.arm-stat-card__label {
  font-size: 11px;
  color: var(--muted);
  font-weight: 600;
  margin-top: 4px;
  line-height: 1.3;
}

/* ── Quick actions bar ──────────────────────────────────────────── */
.arm-quick-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 14px 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
}

/* ── Import drop-zone ───────────────────────────────────────────── */
.arm-dropzone {
  border: 2px dashed rgba(12,122,69,.25);
  border-radius: 16px;
  background: rgba(12,122,69,.03);
  padding: 40px 24px;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  position: relative;
}
.arm-dropzone:hover,
.arm-dropzone.is-over {
  border-color: var(--brand);
  background: rgba(12,122,69,.07);
}
.arm-dropzone__icon {
  font-size: 32px;
  margin-bottom: 12px;
  display: block;
  opacity: .5;
}
.arm-dropzone__title {
  font-weight: 800;
  font-size: 15px;
  margin-bottom: 4px;
}
.arm-dropzone__sub {
  font-size: 12px;
  color: var(--muted);
}
.arm-dropzone input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

/* ── Progress steps ─────────────────────────────────────────────── */
.arm-steps {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 16px 0;
}
.arm-step {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.arm-step.done { color: var(--ok); }
.arm-step.active { color: var(--brand); }
.arm-step__num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 900;
  flex-shrink: 0;
  transition: background .15s, color .15s;
}
.arm-step.done .arm-step__num {
  background: var(--ok);
  color: #fff;
  border-color: var(--ok);
}
.arm-step.active .arm-step__num {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}
.arm-step__connector {
  flex: 1;
  height: 1px;
  background: var(--border);
  margin: 0 6px;
  min-width: 20px;
}

/* ── Sub-tabs (внутри разделов) ─────────────────────────────────── */
.arm-subtabs {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
  overflow-x: auto;
  scrollbar-width: none;
}
.arm-subtabs::-webkit-scrollbar { display: none; }
.arm-subtab {
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .12s, border-color .12s;
  white-space: nowrap;
  user-select: none;
}
.arm-subtab:hover { color: var(--text); }
.arm-subtab.active {
  color: var(--brand);
  border-bottom-color: var(--brand);
}

/* ── Auto-refresh indicator ─────────────────────────────────────── */
.arm-refresh-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  background: rgba(11,18,32,.04);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 4px 10px;
  user-select: none;
}
.arm-refresh-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ok);
  animation: arm-pulse 2s ease-in-out infinite;
}
@keyframes arm-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .3; }
}

/* ── Empty state ─────────────────────────────────────────────────── */
.arm-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
  text-align: center;
  gap: 8px;
}
.arm-empty__icon {
  font-size: 36px;
  opacity: .25;
  margin-bottom: 4px;
}
.arm-empty__title {
  font-weight: 800;
  font-size: 16px;
}
.arm-empty__sub {
  font-size: 13px;
  color: var(--muted);
  max-width: 280px;
}

/* ── Section separator ──────────────────────────────────────────── */
.arm-section-sep {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 28px 0 16px;
}
.arm-section-sep__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
  opacity: .7;
}
.arm-section-sep__line {
  flex: 1;
  height: 1px;
  background: var(--border);
}

/* ── DLQ badge on nav ──────────────────────────────────────────── */
.arm-nav-item[data-tab="dlq"] .arm-nav-item__badge {
  background: var(--bad);
}
.arm-nav-item[data-tab="outbox"] .arm-nav-item__badge {
  background: var(--warn);
}

/* ── Dark theme overrides для новых компонентов ─────────────────── */
:root[data-theme="dark"] .arm-sidebar,
:root[data-theme="auto"] .arm-sidebar {
  background: var(--surface);
  border-color: var(--border);
}
:root[data-theme="dark"] .arm-kpi-card2,
:root[data-theme="auto"] .arm-kpi-card2 {
  background: var(--surface);
  border-color: var(--border);
}
:root[data-theme="dark"] .arm-stat-card,
:root[data-theme="auto"] .arm-stat-card {
  background: var(--surface);
  border-color: var(--border);
}
:root[data-theme="dark"] .arm-dropzone,
:root[data-theme="auto"] .arm-dropzone {
  border-color: rgba(12,122,69,.3);
  background: rgba(12,122,69,.05);
}
:root[data-theme="dark"] .arm-quick-actions,
:root[data-theme="auto"] .arm-quick-actions {
  background: var(--surface);
  border-color: var(--border);
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .arm-sidebar { background: var(--surface); border-color: var(--border); }
  :root[data-theme="auto"] .arm-kpi-card2 { background: var(--surface); border-color: var(--border); }
  :root[data-theme="auto"] .arm-stat-card { background: var(--surface); border-color: var(--border); }
}

/* ═══════════════════════════════════════════════════════════════════
   ARM v1.2.19 — PREMIUM COHESIVE UI
   ═══════════════════════════════════════════════════════════════════ */

/* ── Status badge system — единый язык статусов ──────────────────── */
.hz-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}
.hz-status::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}
.hz-status--draft      { color:#64748b; background:rgba(100,116,139,.10); border:1px solid rgba(100,116,139,.2); }
.hz-status--calculated { color:#0891b2; background:rgba(8,145,178,.10);   border:1px solid rgba(8,145,178,.2);  }
.hz-status--submitted  { color:#7c3aed; background:rgba(124,58,237,.10);  border:1px solid rgba(124,58,237,.2); }
.hz-status--pay_pend   { color:#d97706; background:rgba(217,119,6,.10);   border:1px solid rgba(217,119,6,.2);  }
.hz-status--paid       { color:#059669; background:rgba(5,150,105,.10);   border:1px solid rgba(5,150,105,.2);  }
.hz-status--in_work    { color:#0c7a45; background:rgba(12,122,69,.10);   border:1px solid rgba(12,122,69,.2);  }
.hz-status--ready      { color:#16a34a; background:rgba(22,163,74,.13);   border:1px solid rgba(22,163,74,.25); }
.hz-status--shipped    { color:#0284c7; background:rgba(2,132,199,.10);   border:1px solid rgba(2,132,199,.2);  }
.hz-status--closed     { color:#6b7280; background:rgba(107,114,128,.09); border:1px solid rgba(107,114,128,.2);}
.hz-status--cancelled  { color:#dc2626; background:rgba(220,38,38,.08);   border:1px solid rgba(220,38,38,.18); }

/* Status pulse для активных */
.hz-status--in_work::before { animation: arm-pulse 2s ease-in-out infinite; }
.hz-status--submitted::before { animation: arm-pulse 2.5s ease-in-out infinite; }

/* ── Flag chips ───────────────────────────────────────────────────── */
.hz-flag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hz-flag--overdue   { background: rgba(220,38,38,.12);  color: #dc2626;  border: 1px solid rgba(220,38,38,.25); }
.hz-flag--pay       { background: rgba(217,119,6,.12);  color: #d97706;  border: 1px solid rgba(217,119,6,.25); }
.hz-flag--stale     { background: rgba(100,116,139,.1); color: #64748b;  border: 1px solid rgba(100,116,139,.2);}
.hz-flag--override  { background: rgba(124,58,237,.1);  color: #7c3aed;  border: 1px solid rgba(124,58,237,.2); }

/* ── Kanban upgrades ──────────────────────────────────────────────── */
.kanban-col-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
  gap: 8px;
  position: sticky;
  top: 0;
  background: var(--surface);
  z-index: 2;
  border-radius: 16px 16px 0 0;
}
.kanban-col-header__title {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kanban-col-header__count {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 8px;
  color: var(--muted);
  flex-shrink: 0;
}
.kanban-col-header__wip {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 5px;
  flex-shrink: 0;
}
.kanban-col-header__wip--ok   { background: rgba(12,122,69,.1);  color: var(--ok);  }
.kanban-col-header__wip--warn { background: rgba(217,119,6,.1);  color: var(--warn); }
.kanban-col-header__wip--over { background: rgba(220,38,38,.1);  color: var(--bad);  }

/* Ticket upgrades */
.ticket {
  border-left: 3px solid transparent;
  transition: transform .13s var(--ease), box-shadow .13s var(--ease), border-color .13s;
}
.ticket--overdue  { border-left-color: var(--bad); }
.ticket--pay      { border-left-color: var(--warn); }
.ticket--stale    { border-left-color: #94a3b8; }
.ticket--paid     { border-left-color: var(--ok); }
.ticket--in_work  { border-left-color: var(--brand); }

.ticket__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.ticket__money {
  font-size: 12px;
  font-weight: 900;
  color: var(--brand);
  margin-top: 4px;
}
.ticket__age {
  font-size: 10px;
  color: var(--muted);
  font-weight: 600;
}

/* Kanban header bar */
.kanban-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 0 16px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 16px;
}
.kanban-topbar__title {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.025em;
  margin-right: 4px;
}

/* ── Orders table upgrades ────────────────────────────────────────── */
.hz-preset-bar {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 14px;
}
.hz-preset {
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface);
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  transition: background .12s, color .12s, border-color .12s;
  user-select: none;
}
.hz-preset:hover { color: var(--text); border-color: rgba(11,18,32,.18); }
.hz-preset.active {
  background: var(--brand);
  color: #fff;
  border-color: transparent;
}
.hz-preset--danger.active { background: var(--bad); }
.hz-preset--warn.active   { background: var(--warn); }

/* Filter panel collapsible */
.hz-filter-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 14px;
  transition: max-height .22s var(--ease);
}
.hz-filter-panel__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  user-select: none;
  transition: color .12s;
}
.hz-filter-panel__toggle:hover { color: var(--text); }
.hz-filter-panel__caret {
  margin-left: auto;
  transition: transform .18s var(--ease);
  font-style: normal;
}
.hz-filter-panel.open .hz-filter-panel__caret { transform: rotate(180deg); }
.hz-filter-panel__body {
  display: none;
  padding: 12px 14px;
  border-top: 1px solid var(--border);
}
.hz-filter-panel.open .hz-filter-panel__body { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }

/* Order row hover */
.hz-row-overdue .ag-cell { background: rgba(220,38,38,.04) !important; }
.hz-row-paid    .ag-cell { background: rgba(5,150,105,.04)  !important; }

/* ── KPI chart upgrade ────────────────────────────────────────────── */
.kpi-chart-wrap {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 14px;
}
.kpi-chart-wrap__inner {
  padding: 16px;
  width: 100%;
  height: 220px;
}
.kpi-summary-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  background: rgba(11,18,32,.02);
}
.kpi-summary-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.kpi-summary-item__val {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.02em;
}
.kpi-summary-item__label {
  font-size: 11px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ── Order detail drawer — улучшения ─────────────────────────────── */
.order-detail-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 18px 0;
  flex-wrap: wrap;
}
.order-detail-num {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -.03em;
}
.order-detail-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 8px;
}

/* ── Contextual empty states ──────────────────────────────────────── */
.arm-empty--orders { --icon: '📋'; }
.arm-empty--kanban { --icon: '📊'; }
.arm-empty--dlq    { --icon: '✅'; }
.arm-empty--outbox { --icon: '📤'; }

/* ── Floating action hint ─────────────────────────────────────────── */
@keyframes hint-float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-4px); }
}
.arm-hint-float {
  animation: hint-float 2.5s ease-in-out infinite;
  display: inline-block;
}

/* ── Rates import success state ───────────────────────────────────── */
.rates-preview-ok {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: rgba(12,122,69,.06);
  border: 1px solid rgba(12,122,69,.18);
  border-radius: 10px;
  margin-top: 10px;
}
.rates-preview-ok__icon { font-size: 20px; }
.rates-preview-ok__stats { font-size: 13px; font-weight: 700; }
.rates-preview-ok__stats span { color: var(--muted); font-weight: 600; }

/* ── Connection between screens — breadcrumb trail ───────────────── */
.arm-trail {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.arm-trail a {
  color: var(--brand);
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
}
.arm-trail a:hover { text-decoration: underline; }
.arm-trail__sep { opacity: .4; }
.arm-trail__cur { font-weight: 700; color: var(--text); }

/* ── DLQ empty state (all good) ──────────────────────────────────── */
.arm-dlq-ok {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 24px;
  text-align: center;
  gap: 6px;
}
.arm-dlq-ok__icon {
  font-size: 48px;
  margin-bottom: 8px;
}
.arm-dlq-ok__title { font-weight: 900; font-size: 18px; color: var(--ok); }
.arm-dlq-ok__sub   { color: var(--muted); font-size: 14px; }

/* ── Sidebar active indicator ─────────────────────────────────────── */
.arm-nav-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  border-radius: 0 2px 2px 0;
  background: var(--brand);
}

/* ── Rates import stats ───────────────────────────────────────────── */
.rates-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 12px 0;
}
.rates-stat {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px;
  text-align: center;
}
.rates-stat__val { font-size: 22px; font-weight: 900; color: var(--brand); }
.rates-stat__label { font-size: 11px; color: var(--muted); font-weight: 600; margin-top: 2px; }

/* ── Toolbar group dividers ───────────────────────────────────────── */
.hz-toolbar-sep {
  width: 1px;
  height: 24px;
  background: var(--border);
  flex-shrink: 0;
  margin: 0 4px;
}

/* ── Dark mode for new components ────────────────────────────────── */
:root[data-theme="dark"] .kpi-chart-wrap,
:root[data-theme="auto"] .kpi-chart-wrap { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .hz-filter-panel,
:root[data-theme="auto"] .hz-filter-panel { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .hz-preset,
:root[data-theme="auto"] .hz-preset { background: var(--surface-2); border-color: var(--border); }
:root[data-theme="dark"] .rates-stat,
:root[data-theme="auto"] .rates-stat { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .kanban-col-header,
:root[data-theme="auto"] .kanban-col-header { background: var(--surface); border-color: var(--border); }

@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .kpi-chart-wrap { background: var(--surface); }
  :root[data-theme="auto"] .hz-filter-panel { background: var(--surface); }
  :root[data-theme="auto"] .hz-preset { background: var(--surface-2); }
}

/* ═══════════════════════════════════════════════════════════════════
   ARM v1.2.19 — PART 2: CONNECTIVITY + WOW + POLISH
   ═══════════════════════════════════════════════════════════════════ */

/* ── Clickable KPI cards (drilldown) ─────────────────────────────── */
.arm-kpi-card2[data-goto] {
  cursor: pointer;
}
.arm-kpi-card2[data-goto]:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-2);
  border-color: rgba(12,122,69,.25);
}
.arm-kpi-card2[data-goto]:active {
  transform: translateY(-1px);
}
.arm-kpi-card2__link-hint {
  position: absolute;
  bottom: 10px;
  right: 12px;
  font-size: 10px;
  color: var(--muted);
  opacity: 0;
  transition: opacity .15s;
  font-weight: 700;
  letter-spacing: .03em;
}
.arm-kpi-card2[data-goto]:hover .arm-kpi-card2__link-hint {
  opacity: 1;
}

/* ── Закупки (Proc) upgrade ───────────────────────────────────────── */
.proc-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}
.proc-summary-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
}
.proc-summary-card__val {
  font-size: 22px;
  font-weight: 900;
  color: var(--brand);
  letter-spacing: -.025em;
}
.proc-summary-card__label {
  font-size: 11px;
  color: var(--muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-top: 3px;
}

/* ── Exports status badges ───────────────────────────────────────── */
.hz-export-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hz-export-status--queued   { background: rgba(100,116,139,.1); color: #64748b; }
.hz-export-status--running  { background: rgba(12,122,69,.1);   color: var(--brand); }
.hz-export-status--running::before { content: ''; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--brand); animation: arm-pulse 1.2s ease-in-out infinite; }
.hz-export-status--done     { background: rgba(5,150,105,.1);   color: #059669; }
.hz-export-status--failed   { background: rgba(220,38,38,.08);  color: #dc2626; }

/* ── Ops / Journal upgrade ───────────────────────────────────────── */
.ops-kind-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  background: rgba(12,122,69,.08);
  color: var(--brand);
  text-transform: uppercase;
}

/* ── Kanban ticket — click affordance ───────────────────────────── */
.ticket[data-id] {
  cursor: pointer;
}
.ticket[data-id]:hover {
  box-shadow: 0 4px 16px rgba(11,18,32,.14);
  transform: translateY(-1px);
}
.ticket[data-id]:active {
  transform: translateY(0);
}

/* ── Auto-refresh countdown ──────────────────────────────────────── */
.arm-auto-refresh {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--muted);
  font-weight: 700;
}
.arm-auto-refresh__circle {
  width: 28px;
  height: 28px;
  position: relative;
  flex-shrink: 0;
}
.arm-auto-refresh__svg {
  transform: rotate(-90deg);
  width: 28px;
  height: 28px;
}
.arm-auto-refresh__track {
  fill: none;
  stroke: var(--border);
  stroke-width: 2.5;
}
.arm-auto-refresh__fill {
  fill: none;
  stroke: var(--brand);
  stroke-width: 2.5;
  stroke-linecap: round;
  transition: stroke-dashoffset 1s linear;
}

/* ── Outbox storm badge upgrade ──────────────────────────────────── */
.arm-storm-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .03em;
  background: rgba(220,38,38,.1);
  color: #dc2626;
  border: 1px solid rgba(220,38,38,.2);
  animation: arm-pulse 1.5s ease-in-out infinite;
}

/* ── Order open button in kanban ──────────────────────────────────── */
.ticket__open-btn {
  display: none;
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 800;
  border-radius: 6px;
  background: var(--brand);
  color: #fff;
  border: none;
  cursor: pointer;
}
.ticket:hover .ticket__open-btn {
  display: block;
}
.ticket {
  position: relative;
}

/* ── Dashboard connected quick links ──────────────────────────────── */
.arm-quick-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  cursor: pointer;
  transition: background .12s, border-color .12s, transform .12s;
  text-decoration: none;
  color: var(--text);
  gap: 10px;
}
.arm-quick-link:hover {
  background: rgba(12,122,69,.04);
  border-color: rgba(12,122,69,.2);
  transform: translateX(2px);
}
.arm-quick-link__icon { font-size: 18px; flex-shrink: 0; }
.arm-quick-link__text { flex: 1; }
.arm-quick-link__title { font-weight: 800; font-size: 13px; }
.arm-quick-link__sub { font-size: 11px; color: var(--muted); margin-top: 1px; }
.arm-quick-link__arrow { color: var(--muted); font-size: 14px; }

.arm-quick-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 8px;
  margin-top: 4px;
}

/* ── Дашборд: алерт-стрипа ──────────────────────────────────────── */
.arm-alert-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
  border: 1px solid;
}
.arm-alert-strip--danger {
  background: rgba(220,38,38,.07);
  border-color: rgba(220,38,38,.2);
  color: #dc2626;
}
.arm-alert-strip--warn {
  background: rgba(217,119,6,.07);
  border-color: rgba(217,119,6,.2);
  color: #d97706;
}
.arm-alert-strip--ok {
  background: rgba(5,150,105,.07);
  border-color: rgba(5,150,105,.2);
  color: #059669;
}
.arm-alert-strip__icon { font-size: 16px; flex-shrink: 0; }
.arm-alert-strip__text { flex: 1; }
.arm-alert-strip__action {
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  white-space: nowrap;
}
.arm-alert-strip__action:hover { opacity: .8; }

/* ── Import: success screen ──────────────────────────────────────── */
.import-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 24px;
  gap: 12px;
}
.import-success__icon {
  font-size: 56px;
  animation: hint-float 2s ease-in-out infinite;
}
.import-success__title {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -.03em;
  color: var(--ok);
}
.import-success__sub { color: var(--muted); font-size: 14px; }
.import-success__actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }

/* ── Rates sub-tab active state ──────────────────────────────────── */
.arm-subtabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--border);
  margin-bottom: 20px;
  overflow-x: auto;
}
.arm-subtab {
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: color .12s, border-color .12s;
  user-select: none;
}
.arm-subtab:hover { color: var(--text); }
.arm-subtab.active {
  color: var(--brand);
  border-bottom-color: var(--brand);
}

/* ── Table: total count badge ────────────────────────────────────── */
.hz-total-count {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  padding: 5px 12px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 999px;
}

/* ── Contextual toast upgrade — wider ────────────────────────────── */
.hz-toast { min-width: 260px; max-width: 480px; }

/* ── Skeleton shimmer: fix for inline-block ──────────────────────── */
.arm-skeleton {
  display: inline-block;
  min-width: 20px;
  min-height: 16px;
  vertical-align: middle;
}

/* ── Dark ────────────────────────────────────────────────────────── */
:root[data-theme="dark"] .arm-quick-link,
:root[data-theme="auto"] .arm-quick-link { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .proc-summary-card,
:root[data-theme="auto"] .proc-summary-card { background: var(--surface); border-color: var(--border); }

@media(prefers-color-scheme:dark){
  :root[data-theme="auto"] .arm-quick-link { background: var(--surface); }
  :root[data-theme="auto"] .proc-summary-card { background: var(--surface); }
}

/* ═══════════════════════════════════════════════════════════════════
   ARM v1.2.20 — COMMAND PALETTE + DEEP-LINKS
   ═══════════════════════════════════════════════════════════════════ */

/* ── Sidebar Cmd+K trigger ───────────────────────────────────────── */
.arm-cmd-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 10px 4px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  cursor: pointer;
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
  transition: background .12s, border-color .12s, color .12s;
  user-select: none;
}
.arm-cmd-trigger:hover {
  background: var(--surface);
  border-color: rgba(12,122,69,.25);
  color: var(--text);
}
.arm-cmd-trigger span { flex: 1; }
.arm-cmd-trigger__kbd {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  padding: 2px 5px;
  border-radius: 4px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--muted);
  flex-shrink: 0;
}

/* ── Command Palette overlay ─────────────────────────────────────── */
#hzCmdPalette {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  grid-template-columns: minmax(24px,1fr) minmax(280px,580px) minmax(24px,1fr);
  grid-template-rows: minmax(80px,1fr) auto minmax(24px,1fr);
  background: rgba(11,18,32,.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.hz-cmd-backdrop,
.hz-cmd-backdrop-zone {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: rgba(15,23,42,0.001);
  opacity: 1;
  cursor: pointer;
}
.hz-cmd-backdrop--top { grid-column: 1 / 4; grid-row: 1 / 2; }
.hz-cmd-backdrop-zone--left { grid-column: 1 / 2; grid-row: 2 / 3; }
.hz-cmd-backdrop-zone--right { grid-column: 3 / 4; grid-row: 2 / 3; }
.hz-cmd-backdrop-zone--bottom { grid-column: 1 / 4; grid-row: 3 / 4; }
.hz-cmd-modal {
  position: relative;
  z-index: 1;
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  width: 100%;
  max-width: 580px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(11,18,32,.35), 0 4px 16px rgba(11,18,32,.15);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 160px);
  animation: cmd-in .15s cubic-bezier(.16,1,.3,1);
}
@keyframes cmd-in {
  from { opacity: 0; transform: scale(.97) translateY(-8px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
.hz-cmd-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.hz-cmd-search-icon {
  color: var(--muted);
  flex-shrink: 0;
}
.hz-cmd-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
  font-family: inherit;
  min-width: 0;
}
.hz-cmd-input::placeholder { color: var(--muted); }
.hz-cmd-esc {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  padding: 3px 7px;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--muted);
  flex-shrink: 0;
}
.hz-cmd-results {
  flex: 1;
  overflow-y: auto;
  padding: 6px 6px;
  min-height: 0;
}
.hz-cmd-section {
  padding: 8px 10px 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.hz-cmd-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 10px;
  cursor: pointer;
  transition: background .08s;
}
.hz-cmd-row:hover,
.hz-cmd-row--active {
  background: rgba(12,122,69,.08);
}
.hz-cmd-row--active {
  background: rgba(12,122,69,.10);
}
.hz-cmd-row__icon {
  font-size: 16px;
  width: 24px;
  text-align: center;
  flex-shrink: 0;
}
.hz-cmd-row__text { flex: 1; min-width: 0; }
.hz-cmd-row__label {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hz-cmd-row__sub {
  font-size: 11px;
  color: var(--muted);
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hz-cmd-empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}
.hz-cmd-footer {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 8px 16px;
  border-top: 1px solid var(--border);
  background: rgba(11,18,32,.02);
  flex-shrink: 0;
}
.hz-cmd-footer span {
  font-size: 11px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 4px;
}
.hz-cmd-footer kbd {
  font-family: ui-monospace, monospace;
  font-size: 10px;
  padding: 2px 5px;
  border-radius: 4px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--muted);
}

/* ── Dark mode ───────────────────────────────────────────────────── */
:root[data-theme="dark"] .hz-cmd-modal,
:root[data-theme="auto"] .hz-cmd-modal { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .arm-cmd-trigger,
:root[data-theme="auto"] .arm-cmd-trigger { background: var(--surface-2); border-color: var(--border); }

@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .hz-cmd-modal { background: var(--surface); }
  :root[data-theme="auto"] .arm-cmd-trigger { background: var(--surface-2); }
}

/* ── Mobile: command palette full-width ──────────────────────────── */
@media (max-width: 640px) {
  #hzCmdPalette { padding-top: 16px; padding-left: 10px; padding-right: 10px; }
  .hz-cmd-modal { max-height: calc(100vh - 32px); }
}

/* ── Delivery Center tabs ────────────────────────────────────────── */
.dc-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 16px;
  padding: 4px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  width: fit-content;
}
.dc-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  transition: background .12s, color .12s;
  user-select: none;
  white-space: nowrap;
}
.dc-tab:hover { color: var(--text); background: var(--surface-2); }
.dc-tab.active {
  background: var(--brand);
  color: #fff;
}
.dc-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
}
.dc-badge--danger { background: rgba(220,38,38,.18); color: #dc2626; }
.dc-badge--warn   { background: rgba(217,119,6,.18);  color: #d97706; }
.dc-tab.active .dc-badge--danger { background: rgba(255,255,255,.2); color: #fff; }
.dc-tab.active .dc-badge--warn   { background: rgba(255,255,255,.2); color: #fff; }

/* ── Delivery Center: strip page headers from sub-views ─────────── */
#dcBody .arm-page-header { display: none; }
#dcBody .arm-page-title  { display: none; }

/* ── v1.2.21: Command Palette alert rows ──────────────────────────── */
.hz-cmd-row--alert {
  background: rgba(220,38,38,.04);
  border: 1px solid rgba(220,38,38,.12);
  margin-bottom: 2px;
}
.hz-cmd-row--alert:hover,
.hz-cmd-row--alert.hz-cmd-row--active {
  background: rgba(220,38,38,.1);
}

/* ── v1.2.21: breadcrumbs ARM tab label ──────────────────────────── */
.arm-breadcrumb-tab {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 5px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  margin-left: 4px;
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.23 — ACTION DRAWER + ARM DOCK + SCREEN TRANSITIONS
   ═══════════════════════════════════════════════════════════════════ */

/* ── hzConfirmDrawer ────────────────────────────────────────────── */
.hz-cd-overlay {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 0 0;
  opacity: 0;
  pointer-events: none;
}
.hz-cd-overlay--in {
  opacity: 1;
  pointer-events: all;
  animation: hz-cd-in .22s cubic-bezier(.16,1,.3,1) forwards;
}
.hz-cd-overlay--out {
  animation: hz-cd-out .18s ease-in forwards;
}
@keyframes hz-cd-in  { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes hz-cd-out { from { opacity:1; } to { opacity:0; transform:translateY(16px); } }
.hz-cd-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(11,18,32,.48);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.hz-cd-sheet {
  position: relative;
  width: 100%;
  max-width: 480px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -12px 48px rgba(11,18,32,.18), 0 -2px 8px rgba(11,18,32,.08);
  padding-bottom: env(safe-area-inset-bottom, 0);
  overflow: hidden;
}
@media (min-width: 640px) {
  .hz-cd-overlay { align-items: center; }
  .hz-cd-sheet { border-radius: 16px; margin: 16px; }
}
.hz-cd-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px 16px;
  border-bottom: 1px solid var(--border);
}
.hz-cd-sev-icon { font-size: 20px; flex-shrink: 0; }
.hz-cd-title {
  font-size: 15px;
  font-weight: 900;
  color: var(--text);
  line-height: 1.3;
}
.hz-cd-body {
  padding: 14px 20px 2px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.55;
}
.hz-cd-items {
  margin: 10px 20px;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}
.hz-cd-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  font-size: 12px;
  border-bottom: 1px solid var(--border);
}
.hz-cd-item:last-child { border-bottom: none; }
.hz-cd-item__label { color: var(--muted); font-weight: 600; }
.hz-cd-item__val   { font-weight: 800; color: var(--text); font-family: ui-monospace, monospace; }
.hz-cd-field {
  padding: 12px 20px 4px;
}
.hz-cd-label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  margin-bottom: 6px;
  letter-spacing: .04em;
}
.hz-cd-textarea {
  width: 100%;
  min-height: 72px;
  padding: 10px 12px;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--text);
  font-size: 13px;
  font-family: inherit;
  resize: vertical;
  transition: border-color .12s;
  box-sizing: border-box;
}
.hz-cd-textarea:focus { outline: none; border-color: var(--brand); }
.hz-cd-textarea--error { border-color: #ef4444; animation: hz-cd-shake .25s ease; }
@keyframes hz-cd-shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }
.hz-cd-actions {
  display: flex;
  gap: 10px;
  padding: 16px 20px 20px;
}
.hz-cd-cancel { flex: 1; }
.hz-cd-confirm { flex: 2; font-weight: 800; }
.hz-cd-confirm--warn   { background: #d97706; color: #fff; border-color: #d97706; }
.hz-cd-confirm--danger { background: #ef4444; color: #fff; border-color: #ef4444; }
.hz-cd-confirm--info   { background: var(--brand); color: #fff; border-color: var(--brand); }
.hz-cd-confirm--warn:hover   { background: #b45309; }
.hz-cd-confirm--danger:hover { background: #dc2626; }

/* ── ARM View screen transitions ────────────────────────────────── */
.arm-view--transitioning {
  animation: arm-view-in .14s cubic-bezier(.16,1,.3,1);
}
@keyframes arm-view-in {
  from { opacity:.4; transform:translateY(6px); }
  to   { opacity:1;  transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .arm-view--transitioning { animation: none; }
  .hz-cd-overlay--in, .hz-cd-overlay--out { animation: none; opacity:1; }
}

/* ── ARM Dock ───────────────────────────────────────────────────── */
:root[data-hz-arm-dock-hidden="1"] #hzArmDock,
:root[data-hz-arm-dock-hidden="1"] .arm-dock {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#hzArmDock, .arm-dock {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(120%);
  z-index: 8888;
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 8px 6px 14px;
  box-shadow: 0 8px 32px rgba(11,18,32,.14), 0 2px 8px rgba(11,18,32,.07);
  transition: transform .25s cubic-bezier(.16,1,.3,1), opacity .2s;
  opacity: 0;
  visibility: hidden;
  user-select: none;
  pointer-events: none;
  white-space: nowrap;
}
.arm-dock--visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}
.arm-dock--hidden {
  transform: translateX(-50%) translateY(140%);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.arm-dock--alert {
  border-color: rgba(220,38,38,.3);
  background: rgba(255,250,250,1);
}
:root[data-theme="dark"] .arm-dock--alert,
:root[data-theme="auto"] .arm-dock--alert {
  background: rgba(40,12,12,.9);
}
.arm-dock__label {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  padding-right: 6px;
  border-right: 1px solid var(--border);
  margin-right: 2px;
}
.arm-dock__actions {
  display: flex;
  gap: 2px;
  align-items: center;
}
.arm-dock__btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  font-family: inherit;
  transition: background .1s, color .1s;
  white-space: nowrap;
}
.arm-dock__btn:hover {
  background: var(--surface-2);
}
.arm-dock__btn-icon { font-size: 14px; }
.arm-dock__btn-label { font-size: 12px; }
.dock-btn--alert { color: #dc2626; }
.dock-btn--alert:hover { background: rgba(220,38,38,.1); }
.arm-dock__cmd {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1.5px solid var(--border);
  background: var(--surface-2);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  font-family: ui-monospace, monospace;
  transition: background .1s, border-color .1s;
  margin-left: 4px;
  flex-shrink: 0;
}
.arm-dock__cmd:hover {
  background: var(--surface);
  border-color: var(--brand);
  color: var(--brand);
}
@media (max-width: 640px) {
  .arm-dock { bottom: 16px; padding: 5px 6px 5px 10px; }
  .arm-dock__label { display: none; }
  .arm-dock__btn-label { display: none; }
  .arm-dock__btn { padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .arm-dock { transition: none; }
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.24 — ARM ORDER SIDE PANEL + SAVED VIEWS + KANBAN SLA
   ═══════════════════════════════════════════════════════════════════ */

/* ── ARM Order Side Panel ───────────────────────────────────────── */
.arm-order-panel {
  position: fixed;
  inset: 0;
  z-index: 9000;
  pointer-events: none;
  visibility: hidden;
}
.arm-order-panel.open {
  pointer-events: all;
  visibility: visible;
}
.arm-order-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11,18,32,.3);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity .22s ease;
}
.arm-order-panel.open .arm-order-panel__backdrop {
  opacity: 1;
}
.arm-order-panel__sheet {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(680px, 96vw);
  background: var(--surface);
  border-left: 1px solid var(--border);
  box-shadow: -8px 0 40px rgba(11,18,32,.12);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .24s cubic-bezier(.16,1,.3,1);
}
.arm-order-panel.open .arm-order-panel__sheet {
  transform: translateX(0);
}
.arm-order-panel__header {
  flex-shrink: 0;
  border-bottom: 1px solid var(--border);
  padding: 14px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.arm-order-panel__nav {
  display: flex;
  align-items: center;
  gap: 12px;
}
.arm-order-panel__close {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  transition: background .1s, color .1s;
  flex-shrink: 0;
}
.arm-order-panel__close:hover { background: var(--surface); color: var(--text); }
.arm-order-panel__title {
  font-size: 16px;
  font-weight: 900;
  color: var(--text);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.arm-order-panel__actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.arm-order-panel__body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 20px 32px;
}
/* Within ARM layout on wide screens: shift content left */
@media (min-width: 1100px) {
  .arm-order-panel.open ~ * .arm-content,
  body:has(.arm-order-panel.open) .arm-content {
    margin-right: min(680px, 96vw);
    transition: margin-right .24s cubic-bezier(.16,1,.3,1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .arm-order-panel__sheet { transition: none; }
  .arm-order-panel__backdrop { transition: none; }
}

/* ── Saved Views ─────────────────────────────────────────────────── */
.hz-saved-sep {
  display: flex;
  align-items: center;
  padding: 0 6px;
  color: var(--border);
  font-size: 16px;
  user-select: none;
}
.hz-preset--saved {
  background: rgba(12,122,69,.06);
  border-color: rgba(12,122,69,.2);
  color: var(--brand);
  display: flex;
  align-items: center;
  gap: 4px;
}
.hz-preset--saved span:first-child { cursor: pointer; }
.hz-preset--saved__del {
  font-size: 14px;
  opacity: .5;
  cursor: pointer;
  line-height: 1;
  padding-left: 2px;
}
.hz-preset--saved__del:hover { opacity: 1; color: var(--bad); }
.hz-save-view-btn {
  opacity: .65;
  border-style: dashed;
  font-size: 11px;
}
.hz-save-view-btn:hover { opacity: 1; border-style: solid; }

/* ── ARM Skeleton ────────────────────────────────────────────────── */
.arm-skeleton {
  background: linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);
  background-size: 200% 100%;
  animation: arm-skeleton-shimmer 1.4s ease-in-out infinite;
  border-radius: 10px;
}
.arm-skeleton--lines::after {
  content: '';
  display: block;
  height: 120px;
}
@keyframes arm-skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .arm-skeleton { animation: none; background: var(--surface-2); }
}

/* ── Kanban ticket v1.2.24 ──────────────────────────────────────── */
.ticket__top {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.ticket__sel-wrap {
  flex-shrink: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.ticket__id {
  font-weight: 900;
  font-size: 13px;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ticket__sla {
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
}
.ticket__sla--med  { color: #d97706; }
.ticket__sla--warn { color: #ef4444; }
.ticket__sla--crit { color: #dc2626; font-weight: 900; }
.ticket__client {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ticket--blocked {
  border-color: rgba(220,38,38,.35) !important;
  background: rgba(220,38,38,.03);
}
.ticket__block-reason {
  margin: 4px 0;
  padding: 4px 8px;
  background: rgba(220,38,38,.07);
  border: 1px solid rgba(220,38,38,.18);
  border-radius: 6px;
  font-size: 11px;
  color: #dc2626;
  font-weight: 600;
  line-height: 1.4;
}
.hz-flag--block {
  background: rgba(220,38,38,.12);
  color: #dc2626;
  border: 1px solid rgba(220,38,38,.25);
}
.ticket__footer {
  display: flex;
  gap: 10px;
  margin-top: 6px;
}
.ticket__sheets,
.ticket__waste {
  font-size: 11px;
  color: var(--muted);
}

/* ── Rates diff panel ───────────────────────────────────────────── */
.rates-diff-panel {
  margin-top: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}
.rates-diff-panel__title {
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 800;
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  letter-spacing: .04em;
}
.rates-diff-section { padding: 10px 14px 4px; border-bottom: 1px solid var(--border); }
.rates-diff-section:last-child { border-bottom: none; }
.rates-diff-section__label { font-size: 11px; font-weight: 800; color: var(--muted); margin-bottom: 6px; }
.rates-diff-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  font-size: 12px;
}
.rates-diff-op {
  font-weight: 800;
  font-size: 11px;
  min-width: 70px;
  flex-shrink: 0;
}
.rates-diff-row--add .rates-diff-op { color: #059669; }
.rates-diff-row--del .rates-diff-op { color: #dc2626; }
.rates-diff-row--upd .rates-diff-op { color: #d97706; }
.rates-diff-key { font-family: ui-monospace, monospace; font-size: 11px; flex: 1; }
.rates-diff-old { color: var(--muted); text-decoration: line-through; font-size: 11px; }
.rates-diff-arrow { color: var(--muted); }
.rates-diff-new { font-weight: 800; font-size: 11px; }
.rates-diff-more { font-size: 11px; color: var(--muted); padding: 4px 0 8px; }
.rates-diff-nochange {
  padding: 12px 14px;
  font-size: 12px;
  color: var(--muted);
  font-style: italic;
}
.rates-receipt {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(5,150,105,.06);
  border: 1px solid rgba(5,150,105,.2);
  border-radius: 12px;
  margin-top: 14px;
}
.rates-receipt__icon { font-size: 22px; flex-shrink: 0; }
.rates-receipt__title { font-weight: 900; font-size: 14px; }
.rates-receipt__sub { font-size: 12px; color: var(--muted); margin-top: 4px; display: flex; align-items: center; gap: 8px; }
.rates-receipt__comment { font-size: 12px; font-style: italic; color: var(--muted); margin-top: 4px; }
.rates-receipt__rollback { font-size: 11px; padding: 2px 8px; }

/* Calc Groups rollback hint */
.cg-rollback-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  background: rgba(12,122,69,.06);
  border: 1px solid rgba(12,122,69,.2);
  border-radius: 8px;
  font-size: 12px;
  color: var(--muted);
}
.cg-rollback-btn { font-size: 11px; padding: 3px 8px; }

/* ── Delivery Center correlation ────────────────────────────────── */
.dc-corr-header {
  margin-bottom: 14px;
  padding: 12px 16px;
  background: var(--surface-2);
  border-radius: 12px;
}
.dc-corr-list { display: flex; flex-direction: column; gap: 10px; }
.dc-corr-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color .1s, background .1s;
  flex-wrap: wrap;
}
.dc-corr-row:hover { border-color: var(--brand); background: rgba(12,122,69,.03); }
.dc-corr-row__order { display: flex; flex-direction: column; gap: 2px; min-width: 120px; }
.dc-corr-row__id { font-weight: 900; font-size: 14px; }
.dc-corr-row__count { font-size: 11px; color: var(--muted); }
.dc-corr-row__layers { display: flex; gap: 6px; flex: 1; flex-wrap: wrap; }
.dc-corr-row__actions { display: flex; gap: 6px; }
.dc-corr-chip {
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}
.dc-corr-chip--dlq    { background: rgba(220,38,38,.1); color: #dc2626; }
.dc-corr-chip--outbox { background: rgba(217,119,6,.1); color: #d97706; }
.dc-corr-chip--export { background: rgba(59,130,246,.1); color: #3b82f6; }

/* ── Remediation Drawer ─────────────────────────────────────────── */
.rem-overlay {
  position: fixed;
  inset: 0;
  z-index: 99997;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
}
.rem-overlay--in  { opacity: 1; pointer-events: all; animation: hz-cd-in .22s cubic-bezier(.16,1,.3,1) forwards; }
.rem-overlay--out { animation: hz-cd-out .18s ease-in forwards; }
.rem-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(11,18,32,.5);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.rem-sheet {
  position: relative;
  width: 100%;
  max-width: 560px;
  max-height: 85vh;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -16px 60px rgba(11,18,32,.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media (min-width: 640px) {
  .rem-overlay { align-items: center; }
  .rem-sheet { border-radius: 16px; margin: 16px; }
}
.rem-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.rem-severity { font-size: 11px; font-weight: 800; color: #dc2626; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
.rem-title { font-size: 16px; font-weight: 900; }
.rem-close {
  width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--border);
  background: var(--surface-2); cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: var(--muted); flex-shrink: 0; transition: background .1s;
}
.rem-close:hover { background: var(--surface); color: var(--text); }
.rem-body { flex: 1; overflow-y: auto; padding: 0 20px 20px; }
.rem-section { margin-top: 18px; }
.rem-section__title { font-size: 11px; font-weight: 800; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 10px; }
.rem-impact-grid { display: flex; gap: 10px; flex-wrap: wrap; }
.rem-impact {
  padding: 10px 16px; border-radius: 10px; text-align: center;
  min-width: 70px;
}
.rem-impact__num { font-size: 22px; font-weight: 900; }
.rem-impact__label { font-size: 11px; font-weight: 700; margin-top: 2px; }
.rem-impact--dlq    { background: rgba(220,38,38,.08); color: #dc2626; }
.rem-impact--outbox { background: rgba(217,119,6,.08);  color: #d97706; }
.rem-impact--export { background: rgba(59,130,246,.08); color: #3b82f6; }
.rem-rows { display: flex; flex-direction: column; gap: 8px; }
.rem-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  transition: opacity .2s;
}
.rem-row--done { opacity: .4; pointer-events: none; }
.rem-row__icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.rem-row__info { flex: 1; }
.rem-row__title { font-size: 13px; font-weight: 700; }
.rem-row__sub { font-size: 11px; color: var(--muted); margin-top: 2px; }
.rem-row__actions { display: flex; gap: 6px; flex-shrink: 0; }
.rem-row__btn { font-size: 11px; padding: 3px 8px; }
.rem-row--dlq    { border-color: rgba(220,38,38,.2); }
.rem-row--outbox { border-color: rgba(217,119,6,.2); }
.rem-row--export { border-color: rgba(59,130,246,.2); }
.rem-steps { margin: 0; padding-left: 20px; }
.rem-step { font-size: 13px; color: var(--muted); padding: 3px 0; line-height: 1.5; }
.rem-footer {
  display: flex;
  gap: 8px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}
.rem-footer__refresh { margin-left: auto; }

/* ═══════════════════════════════════════════════════════════════════
   v1.2.25 — drag ghost · hover cards · micro-motion · lane summaries
             decision hub · aria · dock states
   ═══════════════════════════════════════════════════════════════════ */

/* ── Kanban lane summaries ────────────────────────────────────────── */
.kanban-col-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.kanban-col-header__right {
  display: flex;
  align-items: center;
  gap: 6px;
}
.kanban-col-header__summary {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  margin-top: 3px;
  letter-spacing: .02em;
}

/* ── Premium Kanban drag ghost (CSS-only) ─────────────────────────── */
.ticket[draggable="true"] {
  cursor: grab;
  transition: box-shadow .12s, transform .12s, opacity .12s;
}
.ticket[draggable="true"]:active {
  cursor: grabbing;
}
/* When dragging starts the browser creates a ghost from the element.
   We pre-style the element so the ghost looks premium: */
.ticket.dragging-source {
  opacity: .35;
  transform: scale(.97);
}
/* Drop target highlight */
.col.drag-over > .cl {
  background: rgba(12,122,69,.06);
  border: 2px dashed rgba(12,122,69,.3);
  border-radius: 10px;
  transition: background .15s, border-color .15s;
}
/* Selected ticket lift */
.ticket.selected {
  box-shadow: 0 4px 16px rgba(12,122,69,.18), 0 0 0 2px rgba(12,122,69,.3);
  transform: translateY(-1px);
}

/* ── Intelligent hover — KPI cards ───────────────────────────────── */
/* BUG-05 fix: merged into single block; overflow:visible only on hover (preserves accent clip) */
.arm-kpi-card2::after {
  content: attr(title);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: var(--text);
  color: var(--surface);
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 8px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s, transform .15s;
  z-index: 100;
}
.arm-kpi-card2:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
  overflow: visible; /* allow tooltip to show */
}
.arm-kpi-card2:hover::after {
  opacity: .95;
  transform: translateX(-50%) translateY(0);
}

/* ── Intelligent hover — outbox / DLQ rows ───────────────────────── */
.hz-row-hoverable {
  transition: background .1s, box-shadow .1s;
}
.hz-row-hoverable:hover {
  background: var(--surface-2);
  box-shadow: inset 3px 0 0 var(--brand);
}

/* ── Intelligent hover — rates rows ─────────────────────────────── */
.hz-rate-row-hover:hover {
  background: rgba(12,122,69,.04);
  box-shadow: inset 2px 0 0 rgba(12,122,69,.4);
}

/* ── Status-aware micro-motion ───────────────────────────────────── */

/* Critical alert: single-shot pulse (runs once, stops) */
.arm-alert-strip--danger {
  animation: hz-pulse-crit 2s ease-out 1;
}
.arm-alert-strip--warn {
  animation: hz-pulse-warn 2.5s ease-out 1;
}
@keyframes hz-pulse-crit {
  0%   { box-shadow: 0 0 0 0 rgba(220,38,38,.35); }
  40%  { box-shadow: 0 0 0 6px rgba(220,38,38,.0); }
  100% { box-shadow: none; }
}
@keyframes hz-pulse-warn {
  0%   { box-shadow: 0 0 0 0 rgba(217,119,6,.3); }
  40%  { box-shadow: 0 0 0 5px rgba(217,119,6,.0); }
  100% { box-shadow: none; }
}

/* Receipt / success glide-in */
.hz-receipt-glide {
  animation: hz-receipt-in .3s cubic-bezier(.16,1,.3,1);
}
@keyframes hz-receipt-in {
  from { opacity:0; transform: translateY(-8px) scale(.98); }
  to   { opacity:1; transform: translateY(0) scale(1); }
}

/* Save action flash on dock */
.arm-dock--unsaved .arm-dock__label {
  color: #d97706;
  animation: hz-unsaved-blink 2s ease-in-out infinite;
}
@keyframes hz-unsaved-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: .55; }
}

/* Dock bulk-mode pulse border */
.arm-dock--bulk {
  border-color: var(--brand);
  animation: hz-dock-bulk-in .2s cubic-bezier(.16,1,.3,1);
}
@keyframes hz-dock-bulk-in {
  from { transform: translateX(-50%) translateY(8px); opacity:.6; }
  to   { transform: translateX(-50%) translateY(0); opacity:1; }
}
.arm-dock__label--bulk {
  color: var(--brand);
  font-weight: 900;
}
.dock-btn--save {
  background: var(--brand) !important;
  color: #fff !important;
  font-weight: 900;
}
.dock-btn--cancel { opacity: .7; }
.arm-dock__btn--desel {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: transparent;
  font-size: 12px;
  cursor: pointer;
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .1s, color .1s;
}
.arm-dock__btn--desel:hover { background: rgba(220,38,38,.1); color: #dc2626; }

/* DLQ badge on dock button */
.arm-dock__btn .arm-dock__dlq-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #dc2626;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  min-width: 16px;
  height: 16px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  animation: hz-badge-pop .2s cubic-bezier(.16,1,.3,1);
}
.arm-dock__btn { position: relative; }
@keyframes hz-badge-pop {
  from { transform: scale(0); }
  to   { transform: scale(1); }
}

/* ── Decision Hub ─────────────────────────────────────────────────── */
.dash-decision-hub {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}
@media (max-width: 860px) {
  .dash-decision-hub { grid-template-columns: 1fr; }
}
.dash-hub-col {
  border: 1.5px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  background: var(--surface);
}
.dash-hub-col--attention { border-color: rgba(220,38,38,.25); }
.dash-hub-col--next      { border-color: rgba(12,122,69,.2); }
.dash-hub-col__title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
}
.dash-hub-col__icon { font-size: 15px; }
.dash-hub-col__body { padding: 10px 12px; }
.dash-hub-ok {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ok, #059669);
  font-weight: 700;
  padding: 6px 0;
}
.dash-hub-empty { font-size: 13px; color: var(--muted); padding: 6px 0; }
.dash-hub-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 10px;
  margin-bottom: 5px;
  font-size: 12px;
  animation: hz-receipt-in .25s cubic-bezier(.16,1,.3,1);
}
.dash-hub-item--crit { background: rgba(220,38,38,.07); }
.dash-hub-item--warn { background: rgba(217,119,6,.07); }
.dash-hub-item--info { background: rgba(59,130,246,.06); }
.dash-hub-item__icon { font-size: 14px; flex-shrink: 0; }
.dash-hub-item__text { flex: 1; font-weight: 600; }
.dash-hub-item__cta {
  font-size: 11px;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface);
  cursor: pointer;
  white-space: nowrap;
  transition: background .1s;
}
.dash-hub-item__cta:hover { background: var(--surface-2); }
.dash-hub-metric {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 10px;
  margin-bottom: 4px;
  cursor: pointer;
  font-size: 12px;
  transition: background .1s;
}
.dash-hub-metric:hover { background: var(--surface-2); }
.dash-hub-metric__icon { font-size: 14px; }
.dash-hub-metric__label { flex: 1; font-weight: 600; color: var(--muted); }
.dash-hub-metric__val { font-size: 18px; font-weight: 900; }
.dash-hub-next-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0;
  animation: hz-receipt-in .3s cubic-bezier(.16,1,.3,1);
}
.dash-hub-next-card__icon { font-size: 28px; }
.dash-hub-next-card__body {}
.dash-hub-next-card__title { font-size: 14px; font-weight: 900; }
.dash-hub-next-card__sub { font-size: 12px; color: var(--muted); margin-top: 3px; }
.dash-hub-next-card__cta { margin-top: 6px; align-self: flex-start; font-weight: 800; }
.dash-hub-skeleton {
  height: 80px;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--surface-2) 25%, var(--border) 50%, var(--surface-2) 75%);
  background-size: 200% 100%;
  animation: arm-skeleton-shimmer 1.4s ease-in-out infinite;
}

/* ── Accessibility — focus rings ─────────────────────────────────── */
.arm-nav-item[role="button"]:focus-visible,
.dc-tab[role="tab"]:focus-visible,
.hz-preset[role="button"]:focus-visible,
.hz-cmd-row[role="option"]:focus-visible,
.arm-dock__btn:focus-visible,
.dash-hub-item__cta:focus-visible {
  outline: 2.5px solid var(--brand);
  outline-offset: 2px;
  border-radius: 8px;
}

/* ── reduced-motion overrides ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .arm-alert-strip--danger,
  .arm-alert-strip--warn,
  .dash-hub-item,
  .dash-hub-next-card,
  .hz-receipt-glide,
  .arm-dock--bulk,
  .arm-dock--unsaved .arm-dock__label,
  .arm-kpi-card2,
  .arm-kpi-card2:hover,
  .ticket[draggable="true"],
  .ticket.selected {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.27 — ARM shell header · persona chips · dock persona config
   ═══════════════════════════════════════════════════════════════════ */

/* ── ARM layout: content column must fill remaining space ─────────── */
/* BUG-01 fix: removed conflicting display:flex — .arm-layout uses grid (line ~1761) */
.arm-layout > div {
  min-width: 0;
  overflow: hidden;
}

/* ── ARM Shell Header ─────────────────────────────────────────────── */
.arm-shell-header {
  position: sticky;
  top: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  height: 48px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 0 rgba(11,18,32,.04);
}

.arm-shell-header__left {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.arm-shell-header__center {
  flex: 1;
  display: flex;
  justify-content: center;
}
.arm-shell-header__right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Breadcrumb */
.arm-shell-header__breadcrumb {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
}
.arm-shell-header__sep {
  color: var(--muted);
  opacity: .5;
  font-size: 14px;
}
.arm-shell-header__page {
  font-weight: 700;
  color: var(--text);
  font-size: 12px;
}

/* Persona chip */
.arm-shell-header__persona-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 3px 9px;
  border-radius: 999px;
  cursor: default;
  user-select: none;
}
.arm-shell-header__persona-chip--admin {
  background: rgba(12,122,69,.1);
  color: #057a43;
  border: 1px solid rgba(12,122,69,.2);
}
.arm-shell-header__persona-chip--manager {
  background: rgba(59,130,246,.09);
  color: #1d4ed8;
  border: 1px solid rgba(59,130,246,.18);
}
.arm-shell-header__persona-chip--ops {
  background: rgba(217,119,6,.1);
  color: #b45309;
  border: 1px solid rgba(217,119,6,.22);
}

/* Search button */
.arm-shell-header__search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color .12s, background .12s, color .12s;
  max-width: 320px;
  width: 100%;
}
.arm-shell-header__search:hover {
  border-color: var(--brand);
  color: var(--text);
  background: var(--surface);
}
.arm-shell-header__search kbd {
  margin-left: auto;
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--muted);
  font-family: inherit;
}

/* Refresh indicator */
.arm-shell-header__refresh {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--muted);
  font-weight: 600;
}

/* Tenant scope badge */
.arm-shell-header__tenant {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--muted);
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Needs-attention chip */
.arm-shell-header__alert-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(220,38,38,.09);
  color: #dc2626;
  border: 1px solid rgba(220,38,38,.22);
  cursor: pointer;
  transition: background .12s;
  animation: hz-pulse-crit 2s ease-out 1;
}
.arm-shell-header__alert-chip:hover {
  background: rgba(220,38,38,.16);
}

/* Remove top padding from arm-content since shell header takes that role */
.arm-content {
  flex: 1;
  min-height: auto; /* BUG-02 fix: reset 100vh from line ~1946 — parent already handles viewport height */
}

/* ── Persona sidebar sub-title ────────────────────────────────────── */
.arm-sidebar__sub {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 140px;
}

/* ── Ops persona sidebar accent ───────────────────────────────────── */
.arm-sidebar[data-persona="ops"] .arm-sidebar__dot {
  background: #d97706;
}
.arm-sidebar[data-persona="ops"] .arm-sidebar__title {
  color: #b45309;
}
.arm-sidebar[data-persona="manager"] .arm-sidebar__dot {
  background: #3b82f6;
}

/* ── Mobile: hide shell header search on very narrow screens ─────── */
@media (max-width: 600px) {
  .arm-shell-header__center { display: none; }
  .arm-shell-header { padding: 0 12px; gap: 8px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.28 — Summary strip · Risk chips · Skeletons · Overflow menus
             Glide receipt · Button noise reduction
   ═══════════════════════════════════════════════════════════════════ */

/* ── Orders summary strip ─────────────────────────────────────────── */
.hz-orders-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 0 4px;
  min-height: 36px;
}

.hz-sum-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  white-space: nowrap;
  cursor: default;
  user-select: none;
  animation: hz-receipt-glide .28s ease-out both;
}
.hz-sum-chip--neutral {
  background: var(--surface-2);
  color: var(--muted);
  border: 1px solid var(--border);
}
.hz-sum-chip--money {
  background: rgba(12,122,69,.08);
  color: #057a43;
  border: 1px solid rgba(12,122,69,.18);
}
.hz-sum-chip--danger {
  background: rgba(220,38,38,.08);
  color: #dc2626;
  border: 1px solid rgba(220,38,38,.2);
}
.hz-sum-chip--warn {
  background: rgba(217,119,6,.09);
  color: #b45309;
  border: 1px solid rgba(217,119,6,.22);
}

/* ── Risk chips (inline in order number cell) ─────────────────────── */
.hz-risk-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 900;
  flex-shrink: 0;
  cursor: default;
}
.hz-risk-chip--danger {
  background: rgba(220,38,38,.12);
  color: #dc2626;
  border: 1px solid rgba(220,38,38,.25);
  font-size: 8px;
}
.hz-risk-chip--block {
  background: rgba(107,33,168,.1);
  color: #7c3aed;
  border: 1px solid rgba(107,33,168,.2);
}
.hz-risk-chip--stale {
  background: rgba(217,119,6,.1);
  color: #b45309;
  border: 1px solid rgba(217,119,6,.2);
}

/* ── Glide receipt (status transition micro-motion) ───────────────── */
.hz-glide-receipt {
  position: fixed;
  bottom: 88px;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  background: var(--brand);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 9999;
  white-space: nowrap;
  opacity: 1;
  box-shadow: 0 4px 16px rgba(0,0,0,.18);
}
.hz-glide-receipt--fly {
  animation: hz-glide-fly .85s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes hz-glide-fly {
  0%   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
  60%  { opacity: .9; transform: translateX(-50%) translateY(-28px) scale(1.03); }
  100% { opacity: 0; transform: translateX(-50%) translateY(-52px) scale(.95); }
}

/* ── Overflow menus ───────────────────────────────────────────────── */
.hz-overflow-menu {
  position: relative;
  display: inline-flex;
}
.hz-overflow-menu__trigger {
  min-width: 0;
}
.hz-overflow-menu__dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 180px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  z-index: 200;
  padding: 4px;
  animation: hz-receipt-glide .15s ease-out both;
}
.hz-overflow-menu.open .hz-overflow-menu__dropdown {
  display: flex;
  flex-direction: column;
}
.hz-overflow-menu__item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 7px;
  border: none;
  background: none;
  color: var(--text);
  cursor: pointer;
  transition: background .1s;
}
.hz-overflow-menu__item:hover {
  background: var(--surface-2);
  color: var(--brand);
}

/* ── Per-screen skeletons ─────────────────────────────────────────── */
.hz-page-skeleton {
  padding: 24px 0 12px;
  animation: hz-sk-pulse 1.4s ease-in-out infinite;
}
@keyframes hz-sk-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .55; }
}
@media (prefers-reduced-motion: reduce) {
  .hz-page-skeleton { animation: none; }
}

.sk-line {
  background: var(--surface-2);
  border: 1px solid var(--border);
  display: inline-block;
}
.sk-line--btn {
  display: inline-block;
  vertical-align: middle;
}
.sk-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.sk-presets {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.sk-grid {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  padding: 2px;
}
.sk-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 12px;
  background: var(--surface-2);
  border-radius: 6px;
}
.sk-row > div { flex: 1; }

.sk-card {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}
.sk-kpi-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.sk-kpi-chart {
  border-radius: 10px;
  overflow: hidden;
}
.sk-kpi-chart .sk-line {
  display: block;
  width: 100%;
}

.sk-kanban {
  display: flex;
  gap: 12px;
  overflow: hidden;
}
.sk-col {
  flex: 0 0 220px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sk-col-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.sk-badge {
  width: 28px;
  height: 20px;
  border-radius: 999px;
  background: var(--surface-2);
  border: 1px solid var(--border);
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.28 — Summary strip risk chips · micro-motion glide · skeletons
   ═══════════════════════════════════════════════════════════════════ */

/* ── Summary strip: clickable risk chips ─────────────────────────── */
.hz-sum-chip--click {
  cursor: pointer;
  transition: filter .12s, transform .1s, box-shadow .12s;
}
.hz-sum-chip--click:hover {
  filter: brightness(.93);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
}
.hz-sum-chip--click:active {
  transform: translateY(0);
  filter: brightness(.87);
}

/* entrance animation on load */
.hz-orders-summary {
  animation: hz-sum-strip-in .22s ease-out;
}
@keyframes hz-sum-strip-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}

/* ── Skeleton: ensure hz-page-skeleton hides cleanly ─────────────── */
.hz-page-skeleton {
  transition: opacity .15s;
}
.hz-page-skeleton.hz-sk-fade-out {
  opacity: 0;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.29 — Scenario cards + context banner
   ═══════════════════════════════════════════════════════════════════ */

/* ── Scenario strip ───────────────────────────────────────────────── */
.dash-scenarios {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
@media (max-width: 700px) {
  .dash-scenarios { grid-template-columns: 1fr; }
}

.dash-scenario-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1.5px solid var(--border);
  background: var(--surface);
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, transform .12s, background .15s;
  user-select: none;
  position: relative;
  overflow: hidden;
}
.dash-scenario-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  transition: opacity .15s;
}
.dash-scenario-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.09);
}
.dash-scenario-card:active {
  transform: translateY(0);
}
.dash-scenario-card:focus-visible {
  outline: 2.5px solid var(--brand);
  outline-offset: 2px;
}

/* Has-work state: glowing border */
.dash-scenario-card--has-work {
  border-color: transparent;
  box-shadow: 0 0 0 1.5px var(--brand), 0 4px 16px rgba(0,0,0,.07);
}

/* Draft variant */
.dash-scenario-card--draft.dash-scenario-card--has-work {
  box-shadow: 0 0 0 1.5px rgba(59,130,246,.5), 0 4px 16px rgba(59,130,246,.1);
  background: rgba(59,130,246,.03);
}
.dash-scenario-card--draft:hover {
  border-color: rgba(59,130,246,.4);
}

/* Pay variant */
.dash-scenario-card--pay.dash-scenario-card--has-work {
  box-shadow: 0 0 0 1.5px rgba(217,119,6,.5), 0 4px 16px rgba(217,119,6,.1);
  background: rgba(217,119,6,.03);
}
.dash-scenario-card--pay:hover {
  border-color: rgba(217,119,6,.4);
}

/* Incident variant */
.dash-scenario-card--incident.dash-scenario-card--has-work {
  box-shadow: 0 0 0 1.5px rgba(220,38,38,.5), 0 4px 16px rgba(220,38,38,.1);
  background: rgba(220,38,38,.03);
  animation: hz-pulse-crit 2.5s ease-out 1;
}
.dash-scenario-card--incident:hover {
  border-color: rgba(220,38,38,.4);
}

/* Card internals */
.dash-scenario-card__icon {
  font-size: 24px;
  flex-shrink: 0;
  line-height: 1;
}
.dash-scenario-card__body {
  flex: 1;
  min-width: 0;
}
.dash-scenario-card__title {
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dash-scenario-card__sub {
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Badge — count or checkmark */
.dash-scenario-card__badge {
  flex-shrink: 0;
  min-width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 900;
  background: var(--surface-2);
  color: var(--muted);
  border: 1px solid var(--border);
  transition: background .2s, color .2s, border-color .2s;
}
.dash-scenario-card__badge--alert {
  background: rgba(220,38,38,.1);
  color: #dc2626;
  border-color: rgba(220,38,38,.25);
  animation: hz-dock-bulk-in .25s ease-out;
}
.dash-scenario-card__badge--ok {
  background: rgba(12,122,69,.08);
  color: #057a43;
  border-color: rgba(12,122,69,.2);
}

/* ── Scenario context banner in table ─────────────────────────────── */
.hz-scenario-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 10px;
  margin-bottom: 10px;
  font-size: 13px;
  border: 1px solid transparent;
  animation: hz-receipt-glide .25s ease-out;
}
.hz-scenario-banner--new {
  background: rgba(59,130,246,.07);
  border-color: rgba(59,130,246,.2);
  color: #1d4ed8;
}
.hz-scenario-banner--pay {
  background: rgba(217,119,6,.07);
  border-color: rgba(217,119,6,.22);
  color: #92400e;
}
.hz-scenario-banner__icon { font-size: 18px; flex-shrink: 0; }
.hz-scenario-banner__body {
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.hz-scenario-banner__title { font-weight: 800; }
.hz-scenario-banner__sub   { font-size: 12px; opacity: .75; }
.hz-scenario-banner__close {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  opacity: .5;
  font-size: 14px;
  padding: 2px 6px;
  border-radius: 6px;
  transition: opacity .12s, background .12s;
}
.hz-scenario-banner__close:hover { opacity: 1; background: rgba(0,0,0,.06); }

/* ═══════════════════════════════════════════════════════════════════
   v1.2.30 — Kanban drag column hints
   ═══════════════════════════════════════════════════════════════════ */

/* Base transition for all hint states */
.kanban-col {
  transition: opacity .18s ease, box-shadow .18s ease, outline .15s ease;
}

/* ── Column that is the drag ORIGIN ──────────────────────────────── */
.kanban-col.kbn-drag-origin {
  opacity: .45;
  outline: 2px dashed var(--border);
  outline-offset: -2px;
}

/* ── Column where drop IS allowed ───────────────────────────────── */
.kanban-col.kbn-drag-allowed {
  outline: 2px solid rgba(16, 185, 129, .45);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, .08), inset 0 0 0 1px rgba(16,185,129,.12);
}
/* Intensify when actually hovered */
.kanban-col.kbn-drag-allowed.drag-over {
  outline-color: rgba(16, 185, 129, .85);
  box-shadow: 0 0 0 6px rgba(16, 185, 129, .14), inset 0 0 0 1px rgba(16,185,129,.2);
  background: rgba(16, 185, 129, .04);
}

/* ── Column where drop is BLOCKED ───────────────────────────────── */
.kanban-col.kbn-drag-blocked {
  opacity: .28;
  filter: grayscale(.65) brightness(.95);
  cursor: not-allowed;
  /* pointer-events kept: ON so dragover fires and we can set dropEffect=none */
}
.kanban-col.kbn-drag-blocked .cl {
  pointer-events: none;
}

/* Tooltip-like label on blocked column header */
.kanban-col.kbn-drag-blocked .kanban-col-header::after {
  content: '⊘';
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  color: var(--bad);
  font-weight: 700;
  opacity: .6;
}

/* ── Drag-over on allowed: green drop zone line at top ───────────── */
.kanban-col.kbn-drag-allowed.drag-over .kanban-col-list,
.kanban-col.kbn-drag-allowed.drag-over .cl {
  border-top: 2.5px solid rgba(16, 185, 129, .7);
  padding-top: calc(var(--kanban-card-gap, 8px) - 2.5px);
}

/* ── Dark mode adjustments ───────────────────────────────────────── */
[data-theme="dark"] .kanban-col.kbn-drag-allowed {
  outline-color: rgba(52, 211, 153, .5);
  box-shadow: 0 0 0 4px rgba(52,211,153,.07), inset 0 0 0 1px rgba(52,211,153,.1);
}
[data-theme="dark"] .kanban-col.kbn-drag-allowed.drag-over {
  outline-color: rgba(52, 211, 153, .9);
  background: rgba(52, 211, 153, .05);
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.30 — Kanban drag FSM hints
   ═══════════════════════════════════════════════════════════════════ */

/* Smooth transition into drag states */
.kanban-col {
  transition: opacity .18s, filter .18s, outline-color .15s, box-shadow .15s, background .15s;
}

/* Allowed: subtle entrance pulse */
.kanban-col.kbn-drag-allowed {
  animation: kbn-allowed-in .2s ease-out;
}
@keyframes kbn-allowed-in {
  from { outline-color: transparent; box-shadow: none; }
  to   { outline-color: rgba(16, 185, 129, .45); }
}

/* Allowed hover: pulsing drop line at top of list */
.kanban-col.kbn-drag-allowed.drag-over::before {
  content: '';
  display: block;
  height: 3px;
  background: rgba(16, 185, 129, .7);
  border-radius: 2px;
  margin: 0 8px 4px;
  animation: kbn-drop-line-in .12s ease-out;
}
@keyframes kbn-drop-line-in {
  from { transform: scaleX(0); opacity: 0; }
  to   { transform: scaleX(1); opacity: 1; }
}

/* Blocked: inline reason label via data attribute */
.kanban-col.kbn-drag-blocked .kanban-col-header {
  position: relative;
}
/* The ::after shows ⊘ already; on hover show the hint text */
.kanban-col.kbn-drag-blocked[data-drag-hint]:not([data-drag-hint=""]) .kanban-col-header:hover::after {
  content: attr(data-drag-hint);  /* NOTE: attr() on parent col, not header */
}
/* Simpler: just keep ⊘ icon — title attr handles tooltip */

/* Origin column label */
.kanban-col.kbn-drag-origin .kanban-col-header::before {
  content: '·';
  display: inline-block;
  margin-right: 4px;
  color: var(--muted);
  font-size: 18px;
  line-height: 0;
  vertical-align: middle;
}

/* Drag ghost improvement — slightly transparent */
.kanban-col.kbn-drag-allowed .ticket:not(.dragging-source) {
  transition: opacity .1s;
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.31 — Edge scheme SVG
   ═══════════════════════════════════════════════════════════════════ */

.hz-edge-scheme {
  cursor: default;
  border-radius: 4px;
  transition: transform .12s;
}
.hz-edge-scheme:hover {
  transform: scale(1.45);
  z-index: 10;
  position: relative;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.18));
}
.hz-edge-scheme__active {
  stroke-dasharray: none;
}

/* Scheme column in AG-Grid: compact */
.ag-cell:has(.hz-edge-scheme) {
  padding: 0 6px !important;
}

/* ── Edge scheme — standalone large preview (detail panel) ──────── */
.hz-edge-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 10px;
}
.hz-edge-preview__svg {
  flex-shrink: 0;
}
.hz-edge-preview__legend {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px 14px;
  font-size: 11px;
  color: var(--muted);
}
.hz-edge-preview__legend b {
  color: var(--text);
  font-weight: 700;
}
.hz-edge-preview__legend .has {
  color: var(--brand);
}

/* ── Items section (manager ARM order detail panel) ─────────────── */
.hz-items-section {
  margin-bottom: 16px;
}
.hz-items-section__head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
}
.hz-items-section__title {
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
}
.hz-items-section__count {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 1px 8px;
}
.hz-items-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 10px;
}
.hz-items-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  line-height: 1.4;
}
.hz-items-table thead th {
  background: var(--surface-2);
  color: var(--muted);
  font-weight: 700;
  font-size: 11px;
  padding: 6px 10px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
  position: sticky;
  top: 0;
}
.hz-items-table thead th.num,
.hz-items-table thead th.ctr { text-align: center; }

.hz-items-table tbody tr {
  border-bottom: 1px solid var(--border);
  transition: background .1s;
}
.hz-items-table tbody tr:last-child { border-bottom: none; }
.hz-items-table tbody tr:hover { background: var(--surface-2); }

.hz-items-table td {
  padding: 6px 10px;
  color: var(--text);
  vertical-align: middle;
  white-space: nowrap;
}
.hz-items-table td.num  { text-align: right; font-variant-numeric: tabular-nums; }
.hz-items-table td.ctr  { text-align: center; }
.hz-items-table td.name { min-width: 140px; white-space: normal; }
.hz-items-table td.note { color: var(--muted); font-size: 11px; max-width: 120px; white-space: normal; }

/* Edge set: highlight */
.hz-items-edge--set {
  color: var(--brand);
  font-weight: 700;
}
/* Grain */
.hz-items-grain--set { color: var(--brand); font-weight: 600; }
/* Rotate */
.hz-items-rot--yes { color: var(--ok);  font-weight: 700; }
.hz-items-rot--no  { color: var(--bad); font-weight: 700; }

/* Scheme cell — centre and don't pad */
.hz-items-scheme-cell {
  padding: 4px 8px !important;
  line-height: 0;
}

.hz-items-empty {
  padding: 12px 16px;
  font-size: 12px;
  color: var(--muted);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 16px;
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.32 — Parts table footer + row-ops dropdown
   ═══════════════════════════════════════════════════════════════════ */

.hz-parts-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}

/* Generic small dropdown reusable for row-ops */
.hz-dd { position: relative; display: inline-block; }

.hz-dd__pop {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: var(--shadow-2, 0 8px 32px rgba(0,0,0,.18));
  padding: 5px;
  z-index: 80;
  animation: hzFadeIn .12s ease;
}

.hz-dd__item {
  display: block;
  width: 100%;
  padding: 8px 12px;
  background: none;
  border: none;
  border-radius: 8px;
  text-align: left;
  font-size: 13px;
  color: var(--text);
  cursor: pointer;
  transition: background .1s;
}
.hz-dd__item:hover { background: var(--surface-2); }
.hz-dd__item--danger { color: var(--bad, #ef4444); }
.hz-dd__item--danger:hover { background: rgba(239,68,68,.08); }

.hz-dd__sep {
  height: 1px;
  background: var(--border);
  margin: 4px 6px;
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.33 — Semantic button resets for nav items & scenario cards
   ═══════════════════════════════════════════════════════════════════ */

/* ARM nav items are now <button> — reset browser defaults */
button.arm-nav-item {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}

/* Scenario cards are now <button> — reset */
button.dash-scenario-card {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  border: none;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════════════
   v1.2.37 — Drawer improvements: finprog, audit timeline, action btns
   ═══════════════════════════════════════════════════════════════════ */

/* Drawer header action buttons row */
.arm-order-panel__actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}
.hz-drawer-action-btn {
  font-size: 13px !important;
  padding: 5px 12px !important;
  white-space: nowrap;
}
.btn--danger {
  background: rgba(220,38,38,.12) !important;
  color: #ef4444 !important;
  border-color: rgba(220,38,38,.3) !important;
}
.btn--danger:hover {
  background: rgba(220,38,38,.22) !important;
}

/* Financial progress bar */
.hz-finprog {
  margin: 10px 0 6px;
}
.hz-finprog__labels {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
  font-size: 13px;
}
.hz-finprog__track {
  height: 6px;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
  overflow: hidden;
}
.hz-finprog__fill {
  height: 100%;
  border-radius: 999px;
  transition: width 0.4s ease;
  min-width: 2px;
}

/* Audit timeline */
.hz-audit-timeline {
  padding: 4px 12px 4px;
}
.hz-audit-tl-item {
  display: flex;
  gap: 12px;
  padding: 8px 0;
  position: relative;
}
.hz-audit-tl-item:not(.hz-audit-tl-item--last)::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 22px;
  bottom: -8px;
  width: 1px;
  background: rgba(255,255,255,.1);
}
.hz-audit-tl-dot {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 5px;
  border: 2px solid currentColor;
}
.hz-audit-tl-dot--draft        { color: #64748b; background: rgba(100,116,139,.2); }
.hz-audit-tl-dot--calculated   { color: #0891b2; background: rgba(8,145,178,.2); }
.hz-audit-tl-dot--submitted    { color: #7c3aed; background: rgba(124,58,237,.2); }
.hz-audit-tl-dot--pay_pend     { color: #d97706; background: rgba(217,119,6,.2); }
.hz-audit-tl-dot--paid         { color: #059669; background: rgba(5,150,105,.2); }
.hz-audit-tl-dot--in_work      { color: #0c7a45; background: rgba(12,122,69,.2); }
.hz-audit-tl-dot--ready        { color: #16a34a; background: rgba(22,163,74,.2); }
.hz-audit-tl-dot--shipped      { color: #0284c7; background: rgba(2,132,199,.2); }
.hz-audit-tl-dot--closed       { color: #6b7280; background: rgba(107,114,128,.15); }
.hz-audit-tl-dot--cancelled    { color: #dc2626; background: rgba(220,38,38,.15); }

.hz-audit-tl-body {
  flex: 1;
  min-width: 0;
}
.hz-audit-tl-transition {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: wrap;
  margin-bottom: 3px;
}
.hz-audit-tl-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 11px;
  color: var(--muted);
}
.hz-audit-tl-empty {
  padding: 12px;
  text-align: center;
}

/* ═══════════════════════════════════════════════════════════════════
   KB2 — Bitrix24-style Kanban  (v1.2.39)
   ═══════════════════════════════════════════════════════════════════ */

/* Board container */
.kb2-board-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  flex: 1;
  padding: 0 0 16px;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
.kb2-board {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: calc(100vh - 180px);
  padding: 4px 2px 24px;
  width: max-content;
  min-width: 100%;
}

/* Column */
.kb2-col {
  display: flex;
  flex-direction: column;
  width: 260px;
  min-width: 260px;
  max-width: 260px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .15s var(--ease), transform .1s var(--ease);
  flex-shrink: 0;
  min-height: 200px;
}
.kb2-col--overflow { border-color: rgba(220,38,38,.35); background: rgba(220,38,38,.03); }

/* Column header */
.kb2-col-header {
  position: relative;
  background: var(--surface-2, rgba(0,0,0,.025));
  border-bottom: 1px solid var(--border);
}
.kb2-col-header__accent-bar {
  height: 3px;
  background: var(--col-accent, var(--brand));
  opacity: .85;
  border-radius: 14px 14px 0 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.kb2-col-header__inner {
  padding: 14px 12px 10px;
}
.kb2-col-header__top {
  display: flex;
  align-items: center;
  gap: 6px;
}
.kb2-col-header__title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb2-col-header__badges {
  display: flex;
  align-items: center;
  gap: 4px;
}
.kb2-col-count {
  font-size: 11px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--muted);
}
.kb2-wip {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 5px;
}
.kb2-wip--ok   { background: rgba(5,150,105,.1);  color: var(--ok); }
.kb2-wip--warn { background: rgba(217,119,6,.1);  color: var(--warn); }
.kb2-wip--over { background: rgba(220,38,38,.1);  color: var(--bad); }
.kb2-col-header__money {
  font-size: 11px;
  font-weight: 700;
  color: var(--brand);
  margin-top: 4px;
  opacity: .85;
}

/* Column body */
.kb2-col-body {
  flex: 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 120px;
}

/* Add-order button */
.kb2-add-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 8px 10px;
  border: 1.5px dashed var(--border);
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .14s, color .14s, background .14s;
}
.kb2-add-btn:hover {
  border-color: var(--brand);
  color: var(--brand);
  background: rgba(25,164,99,.05);
}

/* Ticket card */
.kb2-ticket {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 10px 8px;
  cursor: grab;
  border-left: 3px solid var(--ticket-accent, transparent);
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: transform .12s var(--ease), box-shadow .12s var(--ease), border-color .1s;
  position: relative;
  user-select: none;
}
.kb2-ticket:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
  transform: translateY(-1px);
}
.kb2-ticket:active { cursor: grabbing; }
.kb2-ticket--blocked { opacity: .75; }
.kb2-ticket.selected {
  outline: 2px solid rgba(25,164,99,.4);
  outline-offset: 1px;
  background: rgba(25,164,99,.03);
}
.kb2-ticket.kb2-dragging {
  opacity: .5;
  cursor: grabbing;
}

/* Ticket header */
.kb2-ticket__header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.kb2-ticket__selwrap {
  display: flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}
.kb2-ticket__selwrap input[type="checkbox"] {
  display: none;
}
.kb2-ticket__selbox {
  width: 14px;
  height: 14px;
  border: 1.5px solid var(--border);
  border-radius: 3px;
  display: block;
  transition: background .1s, border-color .1s;
}
.kb2-ticket__selwrap input:checked + .kb2-ticket__selbox {
  background: var(--brand);
  border-color: var(--brand);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4L3.5 6.5L9 1' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.kb2-ticket__id {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb2-ticket__age {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.kb2-ticket__age--ok   { background: rgba(5,150,105,.08);  color: var(--ok); }
.kb2-ticket__age--med  { background: rgba(217,119,6,.1);   color: var(--warn); }
.kb2-ticket__age--warn { background: rgba(217,119,6,.15);  color: var(--warn); }
.kb2-ticket__age--crit { background: rgba(220,38,38,.12);  color: var(--bad); }

/* Ticket body fields */
.kb2-ticket__client {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb2-ticket__money {
  font-size: 13px;
  font-weight: 900;
  color: var(--brand);
  margin: 3px 0;
}
.kb2-ticket__specs {
  font-size: 11px;
  color: var(--muted);
  display: flex;
  gap: 8px;
  margin: 3px 0;
}
.kb2-ticket__block {
  font-size: 11px;
  color: var(--bad);
  font-weight: 600;
  margin: 3px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb2-ticket__flags {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin: 4px 0 2px;
}

/* Ticket footer */
.kb2-ticket__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--border);
}
.kb2-ticket__mgr {
  font-size: 10px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100px;
}
.kb2-ticket__open {
  font-size: 12px;
  color: var(--muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 6px;
  transition: background .12s, color .12s;
  line-height: 1;
}
.kb2-ticket__open:hover {
  background: var(--surface-2);
  color: var(--brand);
}

/* Flags */
.kb2-flag {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 2px 5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.kb2-flag--overdue { background: rgba(220,38,38,.12); color: var(--bad); }
.kb2-flag--pay     { background: rgba(217,119,6,.12);  color: var(--warn); }
.kb2-flag--stale   { background: rgba(148,163,184,.18); color: #64748b; }
.kb2-flag--ov      { background: rgba(25,164,99,.1);   color: var(--ok); }
.kb2-flag--block   { background: rgba(220,38,38,.1);   color: var(--bad); }

/* Drag states */
.kb2-col.kb2-drag-allowed {
  border-color: rgba(25,164,99,.5);
  background: rgba(25,164,99,.04);
}
.kb2-col.kb2-drag-blocked {
  opacity: .45;
  pointer-events: none;
}
.kb2-col.kb2-drag-origin { opacity: .8; }
.kb2-col.kb2-drag-over {
  border-color: var(--brand);
  background: rgba(25,164,99,.07);
  box-shadow: 0 0 0 2px rgba(25,164,99,.25), 0 4px 16px rgba(0,0,0,.08);
}

/* Topbar */
.kb2-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0 14px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.kb2-topbar__left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.kb2-topbar__right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.kb2-topbar__title {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.025em;
}
.kb2-sel-badge {
  font-size: 12px;
  font-weight: 700;
  background: var(--brand);
  color: #fff;
  padding: 3px 10px;
  border-radius: 999px;
}
.kb2-bulk-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.kb2-refresh-pill {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--muted);
  padding: 5px 10px;
  background: var(--surface-2, rgba(0,0,0,.04));
  border: 1px solid var(--border);
  border-radius: 999px;
}
.kb2-refresh-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ok);
}

/* ═══════════════════════════════════════════════════════════════════
   Material Operations Editor (v1.2.39)
   ═══════════════════════════════════════════════════════════════════ */

.mat-ops-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 16px;
  min-height: 500px;
}
@media (max-width: 860px) {
  .mat-ops-layout { grid-template-columns: 1fr; }
}

/* Material list panel */
.mat-ops-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.mat-ops-panel__header {
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mat-ops-panel__search {
  padding: 8px;
  border-bottom: 1px solid var(--border);
}
.mat-ops-panel__search input {
  width: 100%;
  background: var(--surface-2, rgba(0,0,0,.04));
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
  color: var(--text);
}
.mat-ops-list {
  flex: 1;
  overflow-y: auto;
}
.mat-ops-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid rgba(0,0,0,.04);
  transition: background .1s;
}
.mat-ops-item:hover { background: var(--surface-2, rgba(0,0,0,.04)); }
.mat-ops-item.active {
  background: rgba(25,164,99,.08);
  border-left: 3px solid var(--brand);
  padding-left: 11px;
}
.mat-ops-item__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.mat-ops-item__dot--ldsp { background: #3b82f6; }
.mat-ops-item__dot--mdf  { background: #8b5cf6; }
.mat-ops-item__dot--other{ background: #6b7280; }
.mat-ops-item__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mat-ops-item__sub {
  font-size: 11px;
  color: var(--muted);
}
.mat-ops-item__cnt {
  font-size: 11px;
  font-weight: 700;
  background: var(--surface-2, rgba(0,0,0,.06));
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 1px 7px;
  color: var(--muted);
  flex-shrink: 0;
}

/* Operations editor panel */
.mat-ops-editor {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.mat-ops-editor__header {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.mat-ops-editor__title {
  font-size: 15px;
  font-weight: 800;
  color: var(--text);
}
.mat-ops-editor__sub {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.mat-ops-editor__body {
  flex: 1;
  padding: 14px 16px;
  overflow-y: auto;
}
.mat-ops-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  color: var(--muted);
  text-align: center;
  gap: 10px;
}
.mat-ops-empty__icon {
  font-size: 32px;
  opacity: .4;
}

/* Ops table rows */
.mat-ops-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.mat-ops-table th {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
  padding: 6px 8px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.mat-ops-table td {
  padding: 6px 8px;
  border-bottom: 1px solid rgba(0,0,0,.05);
  vertical-align: middle;
}
.mat-ops-table tr:last-child td { border-bottom: none; }
.mat-ops-table tr:hover td { background: rgba(0,0,0,.02); }
.mat-ops-table input.input,
.mat-ops-table select.input {
  padding: 4px 8px;
  font-size: 12px;
  height: 30px;
  border-radius: 7px;
  min-width: 0;
}
.mat-ops-table .inp-rk  { width: 140px; }
.mat-ops-table .inp-nm  { width: 100%; min-width: 120px; }
.mat-ops-table .inp-un  { width: 70px; }
.mat-ops-row-del {
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  font-size: 16px;
  padding: 2px 6px;
  border-radius: 6px;
  transition: color .1s, background .1s;
  line-height: 1;
}
.mat-ops-row-del:hover { color: var(--bad); background: rgba(220,38,38,.07); }
.mat-ops-add-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 8px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  border: 1.5px dashed var(--border);
  border-radius: 8px;
  margin-top: 8px;
  background: none;
  width: 100%;
  transition: border-color .12s, background .12s;
}
.mat-ops-add-row:hover {
  border-color: var(--brand);
  background: rgba(25,164,99,.04);
}
.mat-ops-editor__footer {
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  background: var(--surface-2, rgba(0,0,0,.02));
}

/* ═══════════════════════════════════════════════════════════════════════════
   v1.2.39 — Kanban v2 (Bitrix24-style) + Calc Groups v2 (Базис-смета style)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── ARM full-width ───────────────────────────────────────────────────────── */
.arm-page-root { width:100%; min-height:calc(100vh - 56px); padding:0; margin:0; }

/* ── Kanban v2 layout ─────────────────────────────────────────────────────── */
.kb-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px 12px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  position: sticky;
  top: 56px;
  z-index: 10;
  flex-wrap: wrap;
}
.kb-bar__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -.02em;
}
.kb-bar__sel {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(25,164,99,.08);
  border: 1px solid rgba(25,164,99,.2);
  border-radius: 10px;
  padding: 4px 10px 4px 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ok);
}
.kb-bar__bulk { display: flex; align-items: center; gap: 6px; }
.kb-refresh-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  padding: 4px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
}
.kb-refresh-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--muted);
  transition: background .3s;
}
.kb-refresh-dot.alive { background: var(--ok); }

/* Board host scrolls horizontally */
.kb-board-host {
  overflow-x: auto;
  overflow-y: visible;
  padding: 16px 20px 24px;
  min-height: calc(100vh - 110px);
}
.kb-board {
  display: grid;
  grid-template-columns: repeat(var(--kb-cols, 7), minmax(240px, 1fr));
  gap: 12px;
  min-width: calc(var(--kb-cols, 7) * 252px);
  align-items: start;
}

/* ── Kanban column ────────────────────────────────────────────────────────── */
.kb-col {
  background: var(--surface-2, #f4f5f7);
  border-radius: 12px;
  border: 2px solid transparent;
  display: flex;
  flex-direction: column;
  min-height: 200px;
  transition: border-color .15s, background .15s;
}
.kb-col--over      { background: rgba(239,68,68,.04); border-color: rgba(239,68,68,.2); }
.kb-col--drag-ok   { border-color: rgba(25,164,99,.45); background: rgba(25,164,99,.04); }
.kb-col--drag-no   { opacity: .45; }
.kb-col--drag-src  { opacity: .7; }
.kb-col--drag-over { border-color: var(--ok)!important; background: rgba(25,164,99,.08)!important; }
.kb-col--skeleton  { opacity: .6; pointer-events: none; }

.kb-col__header {
  padding: 0;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: calc(56px + 57px);
  z-index: 2;
}
.kb-col__accent {
  height: 4px;
  background: var(--col-clr, #94a3b8);
  border-radius: 12px 12px 0 0;
}
.kb-col__header-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px 4px;
}
.kb-col__name {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-col__meta { display: flex; align-items: center; gap: 5px; }
.kb-col__cnt {
  background: var(--surface-2, #f4f5f7);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  padding: 1px 7px;
  color: var(--muted);
}
.kb-wip {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 5px;
  background: rgba(100,116,139,.1);
  color: var(--muted);
}
.kb-wip--warn { background: rgba(245,158,11,.12); color: #92400e; }
.kb-wip--over { background: rgba(239,68,68,.12); color: #b91c1c; }
.kb-col__money {
  font-size: 11px;
  font-weight: 700;
  color: var(--brand);
  padding: 0 12px 7px;
  white-space: nowrap;
}

.kb-col__body {
  flex: 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-height: 120px;
}

/* "New order" button */
.kb-add-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 8px 12px;
  border: 2px dashed var(--border);
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  margin-bottom: 2px;
}
.kb-add-btn:hover {
  border-color: var(--brand);
  color: var(--brand);
  background: rgba(25,164,99,.04);
}

/* ── Kanban card ──────────────────────────────────────────────────────────── */
.kb-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 10px 8px;
  cursor: grab;
  position: relative;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: box-shadow .13s, transform .13s, border-color .13s;
  overflow: hidden;
}
.kb-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,.1); transform: translateY(-1px); }
.kb-card:active { cursor: grabbing; }
.kb-card.selected {
  outline: 2px solid rgba(25,164,99,.5);
  outline-offset: 1px;
  border-color: rgba(25,164,99,.3);
}
.kb-card--dragging { opacity: .4; box-shadow: none; }
.kb-card--skel { padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }

/* Left accent bar */
.kb-card__bar {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--card-bar, transparent);
  border-radius: 10px 0 0 10px;
}

.kb-card__top {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
}
.kb-card__selwrap { cursor: pointer; display: flex; align-items: center; flex-shrink: 0; }
.kb-card__selbox {
  width: 14px; height: 14px;
  border: 1.5px solid var(--border);
  border-radius: 4px;
  display: inline-block;
  transition: background .12s, border-color .12s;
}
.kb-card input.kbSel:checked ~ .kb-card__selbox,
.kb-card__selwrap input:checked + .kb-card__selbox {
  background: var(--brand); border-color: var(--brand);
}
.kb-card__num {
  font-size: 12px;
  font-weight: 800;
  color: var(--text);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-card__age {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.kb-card__age--ok   { color: var(--muted); background: var(--surface-2, #f4f5f7); }
.kb-card__age--med  { color: #92400e; background: rgba(245,158,11,.1); }
.kb-card__age--warn { color: #b45309; background: rgba(245,158,11,.15); }
.kb-card__age--crit { color: #b91c1c; background: rgba(239,68,68,.12); }

.kb-card__client {
  font-size: 12px;
  color: var(--text);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}
.kb-card__money {
  font-size: 14px;
  font-weight: 900;
  color: var(--brand);
  margin: 3px 0;
}
.kb-card__specs {
  display: flex;
  gap: 8px;
  font-size: 11px;
  color: var(--muted);
  margin: 2px 0;
}
.kb-card__block {
  font-size: 11px;
  color: #b91c1c;
  background: rgba(239,68,68,.06);
  border-radius: 5px;
  padding: 3px 6px;
  margin: 3px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-card__badges {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin: 4px 0 2px;
}
.kb-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 2px 6px;
  border-radius: 4px;
}
.kb-badge--red    { background: rgba(239,68,68,.1);  color: #b91c1c; }
.kb-badge--yellow { background: rgba(245,158,11,.1); color: #92400e; }
.kb-badge--grey   { background: rgba(100,116,139,.1);color: var(--muted); }
.kb-badge--blue   { background: rgba(37,99,235,.1);  color: #1d4ed8; }

.kb-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  padding-top: 5px;
  border-top: 1px solid var(--border);
}
.kb-card__mgr {
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-card__open {
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 2px 7px;
  font-size: 11px;
  color: var(--muted);
  cursor: pointer;
  opacity: 0;
  transition: opacity .15s, color .15s;
  flex-shrink: 0;
}
.kb-card:hover .kb-card__open { opacity: 1; }
.kb-card__open:hover { color: var(--brand); border-color: var(--brand); }

/* Dark mode kanban */
:root[data-theme="dark"] .kb-col,
:root[data-theme="auto"] .kb-col  { background: rgba(255,255,255,.04); }
:root[data-theme="dark"] .kb-col__header,
:root[data-theme="auto"] .kb-col__header { background: var(--surface); }
:root[data-theme="dark"] .kb-card,
:root[data-theme="auto"] .kb-card  { background: var(--surface); }

/* ── Calc Groups v2 layout ────────────────────────────────────────────────── */
.cg2-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 4px;
}
@media (max-width: 1100px) { .cg2-layout { grid-template-columns: 1fr; } }

.cg2-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
}
.cg2-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.cg2-panel-title {
  font-size: 14px;
  font-weight: 800;
}
.cg2-panel-hint {
  font-size: 12px;
  color: var(--muted);
  flex: 1;
}

.cg2-group-list, .cg2-mat-list {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: calc(100vh - 260px);
  overflow-y: auto;
}
.cg2-empty {
  padding: 24px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}

/* Group card */
.cg2-group-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--surface);
  transition: opacity .2s;
}
.cg2-group-card--inactive { opacity: .55; }
.cg2-group-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--surface-2, #f8f9fa);
  border-bottom: 1px solid var(--border);
}
.cg2-group-card__name { flex: 1; min-width: 0; }
.cg2-group-key {
  font-size: 10px;
  font-family: ui-monospace, monospace;
  color: var(--muted);
  margin-top: 2px;
}
.cg2-group-card__actions { display: flex; gap: 6px; flex-shrink: 0; }

/* Toggle switch */
.cg2-toggle { cursor: pointer; display: flex; align-items: center; flex-shrink: 0; }
.cg2-toggle input { display: none; }
.cg2-toggle__track {
  width: 32px; height: 18px;
  background: var(--border);
  border-radius: 999px;
  position: relative;
  transition: background .2s;
}
.cg2-toggle__track::after {
  content: '';
  position: absolute;
  left: 2px; top: 2px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #fff;
  transition: left .2s;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.cg2-toggle input:checked ~ .cg2-toggle__track { background: var(--brand); }
.cg2-toggle input:checked ~ .cg2-toggle__track::after { left: 16px; }

/* Inline input for group title */
.cg2-inline-input {
  border: 1px solid transparent;
  background: transparent;
  border-radius: 6px;
  padding: 3px 6px;
  width: 100%;
  transition: border-color .15s, background .15s;
  color: var(--text);
}
.cg2-inline-input:hover { border-color: var(--border); background: var(--surface); }
.cg2-inline-input:focus { border-color: var(--brand); background: var(--surface); outline: none; }

/* Operation rows inside a group */
.cg2-ops-list { padding: 8px 10px; display: flex; flex-direction: column; gap: 6px; }
.cg2-op-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
}
.cg2-op-sel { min-width: 0; }

/* Material rows (right panel) */
.cg2-mat-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
}
.cg2-mat-row__info { min-width: 160px; flex-shrink: 0; }
.cg2-mat-row__name { font-size: 13px; font-weight: 700; }
.cg2-mat-row__sub  { font-size: 11px; color: var(--muted); margin-top: 2px; }
.cg2-mat-row__ops  {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  align-items: center;
  padding-top: 1px;
}

/* Operation chip (toggle) */
.cg2-op-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 7px;
  border: 1.5px solid var(--border);
  border-radius: 999px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  background: var(--surface-2, #f4f5f7);
  transition: all .15s;
  user-select: none;
}
.cg2-op-chip:hover { border-color: var(--brand); color: var(--brand); }
.cg2-op-chip--on {
  background: rgba(25,164,99,.1);
  border-color: rgba(25,164,99,.4);
  color: var(--ok, #19a463);
}
.cg2-op-chip__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  flex-shrink: 0;
  transition: background .15s;
}
.cg2-op-chip--on .cg2-op-chip__dot { background: currentColor; }

/* Shared small button variants */
.btn--sm { padding: 4px 10px; font-size: 12px; height: 28px; }
.btn--icon { min-width: 28px; }
.btn--danger { color: var(--bad, #dc2626); border-color: rgba(220,38,38,.2); }
.btn--danger:hover { background: rgba(220,38,38,.06); border-color: rgba(220,38,38,.4); }

/* Material catalog card improvements (v1.2.38+) */
.mat-edges { display: flex; gap: 4px; flex-wrap: wrap; margin: 6px 0 4px; }
.mat-edge-badge {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 999px;
  background: rgba(25,164,99,.1); color: var(--ok, #19a463);
  border: 1px solid rgba(25,164,99,.25); line-height: 1.4;
}
.mat-price { font-size: 20px; font-weight: 800; color: var(--text); margin: 8px 0 2px; line-height: 1.2; }
.mat-price-unit { font-size: 13px; font-weight: 400; color: var(--muted); }
.mat-sub { font-size: 13px; color: var(--muted); margin: 4px 0; line-height: 1.4; }

/* ═══════════════════════════════════════════════════════════════════════════
   v1.2.39 — Kanban B24 redesign + Calc Groups tile UI
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Kanban layout ──────────────────────────────────────────────────────── */
.kb-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px 14px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  flex-wrap: wrap;
  position: sticky;
  top: 0;
  z-index: 10;
}
.kb-topbar__icon { color: var(--brand); flex-shrink: 0; }
.kb-topbar__left  { display: flex; align-items: center; gap: 10px; flex: 1; flex-wrap: wrap; }
.kb-topbar__right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.kb-topbar__title { font-size: 18px; font-weight: 800; color: var(--text); letter-spacing: -.02em; }
.kb-topbar__sel   { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.kb-sel-badge {
  background: rgba(25,164,99,.12);
  color: var(--brand);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.kb-board-host {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 16px 20px 24px;
  min-height: calc(100vh - 68px);
}
.kb-board-host::-webkit-scrollbar { height: 6px; }
.kb-board-host::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }

.kb-board {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: calc(100vh - 120px);
}

/* ── Column ─────────────────────────────────────────────────────────────── */
.kb-col {
  flex: 0 0 280px;
  width: 280px;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  background: var(--surface-subtle, #f8fafc);
  border: 1px solid var(--border);
  min-height: 200px;
  max-height: calc(100vh - 120px);
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.kb-col--over { background: rgba(239,68,68,.03); border-color: rgba(239,68,68,.35); }
.kb-col--skel { opacity: .5; pointer-events: none; }

.kb-col.kb-col--drag-ok  { border-color: var(--brand); background: rgba(25,164,99,.04); box-shadow: 0 0 0 2px rgba(25,164,99,.2); }
.kb-col.kb-col--drag-no  { opacity: .4; filter: grayscale(.6); }
.kb-col.kb-col--drag-src { border-color: #94a3b8; opacity: .8; }
.kb-col.kb-col--drag-over{ background: rgba(25,164,99,.08); box-shadow: 0 0 0 2.5px var(--brand); }

/* Column header */
.kb-col__header {
  position: relative;
  border-radius: 12px 12px 0 0;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}
.kb-col__accent-bar {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--col-clr, var(--brand));
  border-radius: 12px 12px 0 0;
}
.kb-col__header-content { padding: 12px 12px 10px; }
.kb-col__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 2px;
}
.kb-col__title {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--text);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb-col__title-right { display: flex; align-items: center; gap: 5px; flex-shrink: 0; }
.kb-col__cnt {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  background: rgba(0,0,0,.06);
  border-radius: 999px;
  padding: 1px 7px;
}
.kb-col__money {
  font-size: 12px;
  font-weight: 700;
  color: var(--brand);
  margin-top: 4px;
}
.kb-wip {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,.07);
  color: var(--muted);
}
.kb-wip--warn { background: rgba(245,158,11,.15); color: #d97706; }
.kb-wip--over { background: rgba(239,68,68,.15);  color: #dc2626; }

/* Column body */
.kb-col__body {
  flex: 1;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow-y: auto;
  min-height: 60px;
}
.kb-col__body::-webkit-scrollbar { width: 3px; }
.kb-col__body::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }

/* Column footer */
.kb-col__footer {
  padding: 6px 8px 8px;
  border-top: 1px solid var(--border);
}

/* Add button */
.kb-add-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 7px 10px;
  background: transparent;
  border: 1.5px dashed var(--border);
  border-radius: 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  text-align: left;
}
.kb-add-btn:hover { background: rgba(25,164,99,.06); border-color: var(--brand); color: var(--brand); }

/* Inline create form */
.kb-inline-form {
  padding: 10px;
  background: var(--surface);
  border: 1px solid var(--brand);
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0,0,0,.1);
  animation: hzFadeIn .12s ease;
}
.kb-inline-form__title {
  font-size: 13px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}
.kb-inline-form__label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 4px;
}
.kb-inline-form__btns {
  display: flex;
  gap: 6px;
  margin-top: 2px;
}

/* Skeleton cards */
.kb-card-skel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px;
  opacity: .6;
}

/* ── Card ───────────────────────────────────────────────────────────────── */
.kb-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 0 10px 8px 13px;
  cursor: grab;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: box-shadow .12s, transform .12s;
  overflow: hidden;
}
.kb-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); transform: translateY(-1px); }
.kb-card:active { cursor: grabbing; transform: none; }
.kb-card.selected { outline: 2px solid rgba(25,164,99,.45); outline-offset: 1px; }
.kb-card--dragging { opacity: .5; transform: rotate(1.5deg) scale(.97); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.kb-card--blocked { background: rgba(239,68,68,.02); }
.kb-card--overdue { background: rgba(239,68,68,.03); }

/* Left accent bar */
.kb-card__bar {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 3px;
  background: var(--bar, transparent);
  border-radius: 10px 0 0 10px;
}

/* Card head row */
.kb-card__head {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px 0 5px;
}
.kb-card__chk-wrap {
  display: flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}
.kb-card__chk-wrap input {
  width: 14px; height: 14px;
  accent-color: var(--brand);
  cursor: pointer;
}
.kb-card__num {
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb-card__sla {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  flex-shrink: 0;
  white-space: nowrap;
}
.kb-sla--crit { color: #dc2626; font-weight: 800; }
.kb-sla--warn { color: #d97706; }
.kb-sla--med  { color: #0284c7; }
.kb-sla--ok   { color: var(--muted); }

/* Card body */
.kb-card__client {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb-card__mat {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kb-card__money {
  font-size: 16px;
  font-weight: 800;
  color: var(--text);
  letter-spacing: -.01em;
  margin: 3px 0;
}

/* Payment progress bar */
.kb-pay-bar-wrap {
  height: 3px;
  background: var(--border);
  border-radius: 999px;
  margin: 4px 0 5px;
  overflow: hidden;
}
.kb-pay-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--ok,#19a463), #34d399);
  border-radius: 999px;
  transition: width .4s ease;
  min-width: 4px;
}

.kb-card__block {
  font-size: 11px;
  color: #dc2626;
  margin: 3px 0;
  line-height: 1.4;
}

/* Badges row */
.kb-card__badges {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin: 3px 0;
}
.kb-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 2px 5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.kb-badge--red    { background: rgba(239,68,68,.12);  color: #dc2626; }
.kb-badge--amber  { background: rgba(245,158,11,.14); color: #b45309; }
.kb-badge--grey   { background: rgba(0,0,0,.08);      color: var(--muted); }
.kb-badge--blue   { background: rgba(59,130,246,.12); color: #2563eb; }

/* Card footer */
.kb-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid var(--border);
}
.kb-card__stats {
  display: flex;
  align-items: center;
  gap: 8px;
}
.kb-stat {
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
}
.kb-stat--warn { color: #d97706; font-weight: 700; }

/* Manager avatar initials */
.kb-card__avatar {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0;
}

/* Open button */
.kb-card__open {
  position: absolute;
  top: 7px; right: 7px;
  width: 22px; height: 22px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 10px;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  transition: all .12s;
}
.kb-card:hover .kb-card__open { display: flex; }
.kb-card__open:hover { background: var(--brand); color: #fff; border-color: var(--brand); }

/* Topbar helpers */
.kb-refresh-pill {
  display: flex; align-items: center; gap: 5px;
  padding: 4px 10px;
  background: rgba(0,0,0,.04);
  border-radius: 999px;
  font-size: 12px; font-weight: 600; color: var(--muted);
}
.kb-refresh-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--ok,#19a463);
  transition: background .3s;
}
.kb-refresh-dot.alive { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.25); }
.kb-wip-btn { font-size: 13px; }

/* Dark mode */
:root[data-theme="dark"] .kb-col { background: rgba(255,255,255,.04); }
:root[data-theme="dark"] .kb-col__header { background: var(--surface); }
:root[data-theme="dark"] .kb-card { background: var(--surface); }

/* ═══════════════════════════════════════════════════════════════════════════
   Calc Groups — Tile UI (v1.2.39)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Bulk bar */
.cg-bulk-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0 16px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
  flex-wrap: wrap;
}

/* Material block */
.cg-mat-block {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  margin-bottom: 16px;
  overflow: hidden;
  transition: box-shadow .15s;
}
.cg-mat-block:hover { box-shadow: 0 4px 20px rgba(0,0,0,.07); }

/* Material block header */
.cg-mat-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: linear-gradient(135deg, rgba(248,250,252,.9), rgba(241,245,249,.8));
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.cg-mat-hdr__info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}
.cg-mat-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(25,164,99,.1);
  color: var(--brand);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.cg-mat-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}
.cg-mat-sub {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.cg-mat-hdr__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.cg-mat-count {
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
}

/* Ops container */
.cg-ops-tiles {
  padding: 14px 16px;
}

/* Ops section (by category) */
.cg-ops-section {
  margin-bottom: 16px;
}
.cg-ops-section:last-child { margin-bottom: 0; }
.cg-ops-section__title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.cg-ops-section__icon { font-size: 14px; }
.cg-ops-tiles-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Operation tile (toggle card) */
.cg-op-tile {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  background: var(--surface-subtle, #f8fafc);
  border: 1.5px solid var(--border);
  border-radius: 10px;
  cursor: pointer;
  transition: all .14s;
  min-width: 160px;
  max-width: 220px;
  user-select: none;
}
.cg-op-tile input { position: absolute; opacity: 0; width: 0; height: 0; }
.cg-op-tile:hover {
  border-color: var(--brand);
  background: rgba(25,164,99,.04);
}
.cg-op-tile--on {
  border-color: var(--brand);
  background: rgba(25,164,99,.06);
  box-shadow: 0 0 0 1px rgba(25,164,99,.2);
}

/* Checkbox visual */
.cg-op-tile__check {
  width: 18px; height: 18px;
  border-radius: 5px;
  border: 1.5px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
  transition: all .12s;
  color: transparent;
}
.cg-op-tile--on .cg-op-tile__check {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.cg-op-tile__checkmark { display: block; }

/* Tile body */
.cg-op-tile__body { flex: 1; min-width: 0; }
.cg-op-tile__name {
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 2px;
}
.cg-op-tile__key {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  font-family: ui-monospace, monospace;
  margin-bottom: 2px;
}
.cg-op-tile__price {
  font-size: 11px;
  font-weight: 700;
  color: var(--brand);
}

/* Dark mode calc groups */
:root[data-theme="dark"] .cg-mat-hdr { background: rgba(255,255,255,.04); }
:root[data-theme="dark"] .cg-op-tile { background: rgba(255,255,255,.04); }
:root[data-theme="dark"] .cg-op-tile--on { background: rgba(25,164,99,.1); }

/* ═══════════════════════════════════════════════════════════════════════════
   KANBAN v2 — Битрикс24-style  (v1.2.39)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Board container: full horizontal scroll ───────────────────────────── */
.kb-board-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 16px;
  /* use full ARM content width */
  margin: 0 -28px;
  padding-left: 28px;
  padding-right: 28px;
}
.kb-board {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-width: max-content;
  padding-bottom: 4px;
}
.kb-swimlane { display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.kb-swimlane__head { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:800; color:var(--text-muted); padding:2px 2px 0; }
.kb-swimlane__body { display:flex; flex-direction:column; gap:10px; }

/* ── Column ───────────────────────────────────────────────────────────────── */
.kb-col {
  width: 264px;
  min-width: 264px;
  max-width: 264px;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  background: var(--surface-2, #f4f6f8);
  border: 1px solid var(--border);
  /* column max-height with scroll inside */
  max-height: calc(100vh - 180px);
  transition: outline .15s, background .15s;
  position: relative;
}
.kb-col--over   { outline: 2px solid var(--bad); background: rgba(239,68,68,.04); }
.kb-col--warn   { outline: 1px solid var(--warn); }
.kb-col--cancelled { opacity: .7; }

/* Drag states */
.kb-drag-allowed { outline: 2px dashed rgba(25,164,99,.5); background: rgba(25,164,99,.04) !important; }
.kb-drag-blocked { opacity: .45; pointer-events: none; }
.kb-drag-origin  { opacity: .75; }
.kb-drag-over    { outline: 2px solid var(--brand) !important; background: rgba(25,164,99,.07) !important; }

/* ── Column header ────────────────────────────────────────────────────────── */
.kb-col__head {
  display: flex;
  flex-direction: column;
  padding: 12px 12px 8px;
  border-bottom: 2px solid var(--col-h, var(--border));
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--surface-2, #f4f6f8);
  border-radius: 12px 12px 0 0;
}
.kb-col__head-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.kb-col__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--col-h, var(--muted));
}
.kb-col__title {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-col__count {
  font-size: 11px;
  font-weight: 800;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 1px 7px;
  color: var(--muted);
  flex-shrink: 0;
}
.kb-col__money {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  padding: 2px 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-wip-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 5px;
  flex-shrink: 0;
}
.kb-wip-badge--ok   { background: rgba(25,164,99,.1);   color: var(--ok); }
.kb-wip-badge--warn { background: rgba(217,119,6,.1);   color: var(--warn); }
.kb-wip-badge--over { background: rgba(220,38,38,.12);  color: var(--bad); }

/* ── Column body: scrollable card list ───────────────────────────────────── */
.kb-col__body {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px 8px 4px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  /* thin scrollbar */
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,.12) transparent;
}
.kb-col__body::-webkit-scrollbar { width: 4px; }
.kb-col__body::-webkit-scrollbar-track { background: transparent; }
.kb-col__body::-webkit-scrollbar-thumb { background: rgba(0,0,0,.12); border-radius: 4px; }

/* ── Add-card button inside column footer ────────────────────────────────── */
.kb-col__footer {
  padding: 6px 8px 8px;
  flex-shrink: 0;
}
.kb-add-card-btn {
  width: 100%;
  padding: 7px 0;
  border: 1.5px dashed var(--border);
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .13s, border-color .13s, color .13s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.kb-add-card-btn:hover {
  background: var(--surface);
  border-color: var(--brand);
  color: var(--brand);
}

/* ── Card (ticket) ────────────────────────────────────────────────────────── */
.kb-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 10px 8px;
  cursor: grab;
  position: relative;
  border-left: 3px solid var(--card-accent, transparent);
  transition: box-shadow .13s, transform .12s, border-color .12s, opacity .12s;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.kb-card:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.10);
  transform: translateY(-2px);
  z-index: 1;
}
.kb-card:active { cursor: grabbing; }
.kb-card--selected {
  outline: 2px solid var(--brand);
  outline-offset: 1px;
  background: rgba(25,164,99,.03);
}
.kb-card--blocked { border-left-color: var(--bad) !important; }
.kb-card--overdue { border-left-color: var(--bad) !important; }
.kb-card--dragging { opacity: .4; transform: scale(.97); }

/* ── Card skeleton ────────────────────────────────────────────────────────── */
.kb-card--skeleton {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px;
  pointer-events: none;
}

/* ── Card header row ──────────────────────────────────────────────────────── */
.kb-card__header {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 6px;
}
.kb-card__check-wrap {
  display: flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}
.kb-card__check-wrap input[type=checkbox] {
  width: 14px;
  height: 14px;
  accent-color: var(--brand);
  cursor: pointer;
  flex-shrink: 0;
}
.kb-card__prio {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.kb-card__prio--crit { background: var(--bad); }
.kb-card__prio--warn { background: var(--warn); }

.kb-card__num {
  font-size: 12px;
  font-weight: 800;
  color: var(--text);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kb-card__sla {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 5px;
  flex-shrink: 0;
  white-space: nowrap;
}
.kb-card__sla--ok   { background: rgba(25,164,99,.08); color: var(--ok); }
.kb-card__sla--med  { background: rgba(217,119,6,.08); color: var(--warn); }
.kb-card__sla--warn { background: rgba(217,119,6,.14); color: var(--warn); }
.kb-card__sla--crit { background: rgba(220,38,38,.1);  color: var(--bad); }

/* ── Card body content ────────────────────────────────────────────────────── */
.kb-card__client {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}
.kb-card__mat {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 3px;
}
.kb-card__money {
  font-size: 13px;
  font-weight: 900;
  color: var(--brand);
  margin-bottom: 4px;
}
.kb-card__block {
  font-size: 11px;
  color: var(--bad);
  background: rgba(220,38,38,.06);
  border-radius: 5px;
  padding: 3px 6px;
  margin: 4px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Card footer ──────────────────────────────────────────────────────────── */
.kb-card__footer {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 5px;
}
.kb-card__tag {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  background: var(--surface-2, rgba(0,0,0,.04));
  border-radius: 4px;
  padding: 2px 5px;
}
.kb-card__flag {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 2px 5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.kb-card__flag--stale    { background: rgba(148,163,184,.15); color: #64748b; }
.kb-card__flag--override { background: rgba(59,130,246,.1);   color: #3b82f6; }

/* Open ↗ button */
.kb-card__open {
  position: absolute;
  top: 8px;
  right: 8px;
  opacity: 0;
  background: var(--surface-2, rgba(0,0,0,.05));
  border: 1px solid var(--border);
  border-radius: 6px;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  cursor: pointer;
  color: var(--muted);
  transition: opacity .12s, background .12s, color .12s;
  padding: 0;
}
.kb-card:hover .kb-card__open,
.kb-card--selected .kb-card__open { opacity: 1; }
.kb-card__open:hover { background: var(--brand); color: #fff; border-color: var(--brand); }

/* ── Topbar ───────────────────────────────────────────────────────────────── */
.kb-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 14px;
}
.kb-topbar__left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}
.kb-topbar__title {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.025em;
  color: var(--text);
}
.kb-sel-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(25,164,99,.1);
  color: var(--brand);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
}
.kb-topbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.kb-topbar__sep {
  width: 1px;
  height: 22px;
  background: var(--border);
  flex-shrink: 0;
}
.kb-bulk-move {
  display: flex;
  align-items: center;
  gap: 6px;
}
.kb-bulk-sel { height: 34px; font-size: 13px; min-width: 160px; }
.kb-refresh-ts {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  white-space: nowrap;
}
.kb-refresh-ts::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ok);
  flex-shrink: 0;
}

/* Material picker in modal */
.kb-mat-pick-list {
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-top: 8px;
}
.kb-mat-pick-item {
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 1px solid var(--border);
  transition: background .1s;
}
.kb-mat-pick-item:last-child { border-bottom: none; }
.kb-mat-pick-item:hover { background: rgba(25,164,99,.07); color: var(--brand); }

/* ── Dark mode ────────────────────────────────────────────────────────────── */
:root[data-theme="dark"] .kb-col,
:root[data-theme="auto"] @media(prefers-color-scheme:dark) .kb-col {
  background: var(--surface-2);
}
:root[data-theme="dark"] .kb-col__head,
:root[data-theme="dark"] .kb-col__head { background: var(--surface-2); }
:root[data-theme="dark"] .kb-card { background: var(--surface); }

/* ═══════════════════════════════════════════════════════════════════════════
   CALC GROUPS (Группы операций) — v1.2.39
   ═══════════════════════════════════════════════════════════════════════════ */

/* Material operation block */
.cg-mat-block {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  margin-bottom: 16px;
  overflow: hidden;
}
.cg-mat-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2, rgba(0,0,0,.02));
  flex-wrap: wrap;
}
.cg-mat-hdr__left { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.cg-mat-hdr__right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.cg-mat-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 5px;
  flex-shrink: 0;
}
.cg-mat-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cg-ops-count {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.cg-save-btn { height: 32px; font-size: 13px; padding: 0 14px; }

/* Operations grid */
.cg-ops-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0;
  padding: 0;
}

/* Individual operation item (checkbox card) */
.cg-op-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  cursor: pointer;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  transition: background .12s;
  user-select: none;
  position: relative;
}
.cg-op-item:hover { background: rgba(25,164,99,.04); }
.cg-op-item--on { background: rgba(25,164,99,.06); }
.cg-op-item--on:hover { background: rgba(25,164,99,.10); }

/* Checkbox hidden, custom indicator */
.cg-op-chk { position: absolute; opacity: 0; width: 0; height: 0; }
.cg-op-item::before {
  content: '';
  width: 16px;
  height: 16px;
  border: 2px solid var(--border);
  border-radius: 4px;
  flex-shrink: 0;
  margin-top: 1px;
  transition: background .12s, border-color .12s;
  background: var(--surface);
}
.cg-op-item--on::before {
  background: var(--brand);
  border-color: var(--brand);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.cg-op-icon {
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 0;
}
.cg-op-body { flex: 1; min-width: 0; }
.cg-op-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cg-op-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cg-op-unit {
  font-size: 11px;
  font-weight: 600;
  background: rgba(0,0,0,.05);
  border-radius: 4px;
  padding: 1px 5px;
  color: var(--muted);
}
.cg-op-price {
  font-size: 11px;
  font-weight: 600;
  color: var(--brand);
}

/* Bulk actions bar */
.cg-bulk-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0 14px;
  flex-wrap: wrap;
}

/* Save all button */
.cg-save-all-btn {
  margin-top: 24px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}
.btn.is-dirty {
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}
.skip-link {
  position: absolute;
  left: 12px;
  top: -48px;
  z-index: 1000;
  padding: 10px 14px;
  border-radius: 10px;
  background: #0f172a;
  color: #fff;
  text-decoration: none;
  transition: top .12s ease;
}
.skip-link:focus {
  top: 12px;
}

/* ═══════════════════════════════════════════════════════════════
   БАЗА МАТЕРИАЛОВ И ОПЕРАЦИЙ — matdb (v1.2.40)
   ═══════════════════════════════════════════════════════════════ */

/* Root layout */
.matdb-root {
  display: flex;
  flex-direction: column;
  height: calc(100vh - var(--arm-header-h, 56px) - 48px);
  min-height: 500px;
  background: var(--bg);
  font-size: 13px;
}

/* Header tabs */
.matdb-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  height: 48px;
  flex-shrink: 0;
}
.matdb-header__tabs { display: flex; gap: 4px; }
.matdb-htab {
  padding: 6px 16px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  transition: all .15s;
}
.matdb-htab:hover { background: var(--hover); color: var(--text); }
.matdb-htab--active {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.matdb-header__actions { display: flex; gap: 8px; }
.matdb-audit-banner{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.matdb-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.matdb-audit-card{border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:14px 16px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));box-shadow:0 12px 28px rgba(15,23,42,.05)}
.matdb-audit-card__label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.matdb-audit-card__value{font-size:24px;font-weight:900;line-height:1.05;margin-top:7px}
.matdb-audit-card__sub{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}
.matdb-audit-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:rgba(248,250,252,.94)}
.matdb-audit-strip--soft{background:rgba(255,255,255,.86)}
.matdb-audit-strip__title{font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.matdb-audit-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:rgba(15,23,42,.05);font-size:12px;color:#0f172a}
.matdb-audit-chip--warn{background:rgba(245,158,11,.13);color:#92400e}

/* Body — 3 columns */
.matdb-body {
  display: grid;
  grid-template-columns: 220px 1fr 300px;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* Sidebar */
.matdb-sidebar {
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--surface);
}
.matdb-sb-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px 8px;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.matdb-sb-add {
  width: 22px; height: 22px;
  border-radius: 4px;
  border: 1px solid var(--border);
  background: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: var(--accent);
  display: flex; align-items: center; justify-content: center;
  transition: background .12s;
}
.matdb-sb-add:hover { background: var(--accent); color: #fff; }
.matdb-sb-list {
  flex: 1;
  overflow-y: auto;
  padding: 6px;
}
.matdb-sb-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .12s;
  margin-bottom: 2px;
}
.matdb-sb-item:hover { background: var(--hover); }
.matdb-sb-item--active { background: var(--accent)18 !important; border: 1px solid var(--accent)44; }
.matdb-sb-icon {
  width: 28px; height: 28px;
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}
.matdb-sb-item__body { min-width: 0; }
.matdb-sb-item__name { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.matdb-sb-item__sub { font-size: 11px; color: var(--text-muted); }
.matdb-sb-empty { padding: 16px 12px; color: var(--text-muted); font-size: 12px; }

/* Main panel */
.matdb-main {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-right: 1px solid var(--border);
}
.matdb-main-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.matdb-main-hdr__left { display: flex; align-items: center; gap: 8px; }
.matdb-main-title { font-weight: 600; font-size: 14px; }
.matdb-main-count {
  font-size: 11px;
  color: var(--text-muted);
  background: var(--hover);
  padding: 2px 7px;
  border-radius: 10px;
}
.matdb-main-hdr__right { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.matdb-filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px 0;padding:10px 12px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:rgba(248,250,252,.92)}
.matdb-filterchip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.06);font-size:12px;color:#0f172a}
.matdb-filterchip select{border:0;background:transparent;font:inherit;color:inherit;outline:none}
.matdb-filterchip input{margin:0}
.matdb-search {
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--bg);
  font-size: 12px;
  width: 160px;
  outline: none;
  color: var(--text);
}
.matdb-search:focus { border-color: var(--accent); }
.matdb-del-btn { color: #ef4444 !important; }

/* Table */
.matdb-mat-table-wrap {
  flex: 1;
  overflow: auto;
}
.matdb-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.matdb-table thead th {
  position: sticky;
  top: 0;
  background: var(--surface);
  padding: 7px 10px;
  text-align: left;
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
  z-index: 1;
}
.matdb-table tbody tr {
  border-bottom: 1px solid var(--border)44;
  cursor: pointer;
  transition: background .1s;
}
.matdb-table tbody tr:hover { background: var(--hover); }
.matdb-row--selected { background: var(--accent)10 !important; }
.matdb-table td {
  padding: 7px 10px;
  vertical-align: middle;
  white-space: nowrap;
}
.matdb-mat-name {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
}
.matdb-mat-icon {
  width: 22px; height: 22px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
}
.matdb-type-badge {
  padding: 2px 7px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}
.matdb-price { font-variant-numeric: tabular-nums; }
.matdb-ops-count { font-size: 11px; color: var(--text-muted); }
.matdb-ops-count b { color: var(--accent); }
.matdb-status-dot, .matdb-op-active-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.matdb-dot--green { background: #22c55e; }
.matdb-dot--grey  { background: #9ca3af; }
.matdb-row-edit {
  background: none; border: none; cursor: pointer;
  opacity: .4; font-size: 13px;
  padding: 2px 4px;
  border-radius: 4px;
  transition: opacity .12s, background .12s;
}
.matdb-row-edit:hover { opacity: 1; background: var(--hover); }
.matdb-empty-row { text-align: center; color: var(--text-muted); padding: 32px !important; }

/* Mode badge */
.matdb-mode-badge {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 8px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.matdb-mode--rate { background: #3b82f622; color: #3b82f6; }
.matdb-mode--norm { background: #f59e0b22; color: #b45309; }

/* Detail panel */
.matdb-detail {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--surface);
}
.matdb-det-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 13px;
  padding: 24px;
  text-align: center;
}
.matdb-det-hdr {
  padding: 12px 14px 10px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.matdb-det-title { font-weight: 600; font-size: 14px; margin-bottom: 2px; }
.matdb-det-sub { font-size: 11px; color: var(--text-muted); }
.matdb-det-body { flex: 1; overflow-y: auto; }
.matdb-det-section {
  padding: 12px 14px;
  border-bottom: 1px solid var(--border)44;
}
.matdb-det-sect-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
}

/* Operations list in detail */
.matdb-ops-list { display: flex; flex-direction: column; gap: 4px; }
.matdb-op-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 6px;
  background: var(--bg);
  border: 1px solid var(--border)44;
}
.matdb-op-row--off { opacity: .45; }
.matdb-op-row__body { flex: 1; min-width: 0; }
.matdb-op-row__name { font-weight: 500; font-size: 12px; }
.matdb-op-row__meta { font-size: 11px; color: var(--text-muted); }

/* Prices table in detail */
.matdb-det-prices {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.matdb-det-prices th {
  text-align: left;
  padding: 4px 6px;
  color: var(--text-muted);
  font-weight: 600;
  border-bottom: 1px solid var(--border);
}
.matdb-det-prices td {
  padding: 4px 6px;
  border-bottom: 1px solid var(--border)33;
  white-space: nowrap;
}

/* KV table */
.matdb-kv-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.matdb-kv-table td { padding: 5px 6px; border-bottom: 1px solid var(--border)33; }
.matdb-kv-table td:first-child { color: var(--text-muted); white-space: nowrap; width: 45%; }

/* Source badges */
.matdb-src-badge {
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 6px;
  font-weight: 600;
}
.matdb-src--material { background: #3b82f622; color: #3b82f6; }
.matdb-src--group    { background: #8b5cf622; color: #8b5cf6; }
.matdb-src--группа   { background: #8b5cf622; color: #8b5cf6; }
.matdb-src--operation{ background: #6b728022; color: #6b7280; }
.matdb-override-badge {
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 6px;
  background: #f59e0b22;
  color: #b45309;
}
.matdb-bind-badge {
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 999px;
  font-weight: 600;
  white-space: nowrap;
}
.matdb-bind--inherited { background: #6b728022; color: #4b5563; }
.matdb-bind--local { background: #2563eb22; color: #1d4ed8; }
.matdb-bind--disabled { background: #9ca3af22; color: #6b7280; }
.matdb-bind--conflict { background: #f59e0b22; color: #b45309; }
.matdb-op-audit { margin-top: 10px; padding: 10px 12px; border-radius: 10px; font-size: 12px; }
.matdb-op-audit--warn { background: #fff7ed; color: #9a3412; border: 1px solid rgba(245,158,11,.25); }
.matdb-used-in {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  font-size: 12px;
  border-radius: 5px;
  margin-bottom: 2px;
  background: var(--bg);
}
.matdb-empty-tip { font-size: 12px; color: var(--text-muted); padding: 8px 4px; }
.matdb-price-hint { font-size: 11px; color: var(--text-muted); }

/* ── Modal ─────────────────────────────────────────────── */
.matdb-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.matdb-modal {
  background: var(--surface);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
  display: flex;
  flex-direction: column;
  min-width: 380px;
  max-width: 720px;
  max-height: 88vh;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--border);
}
.matdb-modal__hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px 12px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.matdb-modal__title { font-weight: 600; font-size: 15px; }
.matdb-modal__close {
  background: none; border: none; cursor: pointer;
  font-size: 18px; color: var(--text-muted);
  width: 28px; height: 28px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  transition: background .12s;
}
.matdb-modal__close:hover { background: var(--hover); color: var(--text); }
.matdb-modal__body { flex: 1; overflow-y: auto; padding: 16px 18px; }
.matdb-modal__ftr {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 18px;
  border-top: 1px solid var(--border);
  flex-shrink: 0;
}

/* ── Forms ─────────────────────────────────────────────── */
.matdb-form { display: flex; flex-direction: column; gap: 10px; }
.matdb-form--wide { max-width: 100%; }
.matdb-form-row { display: flex; gap: 10px; flex-wrap: wrap; }
.matdb-form-row > .matdb-fld { flex: 1; min-width: 120px; }
.matdb-fld {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.matdb-fld--chk {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.matdb-fld__label { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; }
.matdb-fld__inp, .matdb-fld__sel, .matdb-fld__ta {
  padding: 7px 10px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  font-size: 13px;
  outline: none;
  transition: border-color .15s;
  width: 100%;
  box-sizing: border-box;
}
.matdb-fld__ta { min-height: 72px; resize: vertical; font-family: inherit; }
.matdb-fld__inp:focus, .matdb-fld__sel:focus, .matdb-fld__ta:focus { border-color: var(--accent); }
.matdb-fieldset {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 12px 12px;
}
.matdb-fieldset legend {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 0 6px;
}
.matdb-texture-inline {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  border: 1px dashed var(--border);
  border-radius: 10px;
  margin-bottom: 10px;
  background: var(--card);
  overflow: hidden;
}
.matdb-texture-inline img { display: block; width: 100%; max-height: 180px; object-fit: cover; }
.matdb-texture-inline--empty { color: var(--text-muted); font-size: 12px; }
.matdb-mat-profile { display: grid; grid-template-columns: 160px 1fr; gap: 14px; align-items: start; }
.matdb-mat-profile__texture {
  min-height: 140px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); background: var(--card);
  display: flex; align-items: center; justify-content: center;
}
.matdb-mat-profile__texture img { display:block; width:100%; height:100%; object-fit:cover; }
.matdb-mat-profile__texture--empty { color: var(--text-muted); font-size: 12px; }
.matdb-mat-profile__meta { display: flex; flex-direction: column; gap: 10px; }
.matdb-chip-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.matdb-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 999px;
  border: 1px solid var(--border); background: var(--hover); color: var(--text); font-size: 12px; font-weight: 600;
}
.matdb-chip--ok { color: #065f46; background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.25); }
.matdb-profile-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px 0;
  border-bottom: 1px solid var(--border);
}
.matdb-profile-tab {
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.matdb-profile-tab--active {
  color: var(--text);
  border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
  background: color-mix(in srgb, var(--accent) 12%, var(--card));
}
.matdb-inline-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.matdb-inline-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--card);
  padding: 10px 12px;
  display: grid;
  gap: 6px;
}
.matdb-inline-card__title { font-size: 12px; font-weight: 800; }
.matdb-inline-card__meta { font-size: 12px; color: var(--text-muted); }
.matdb-inline-blocks { display: grid; gap: 10px; }

.matdb-det-body--quiet {
  background: linear-gradient(180deg, color-mix(in srgb, var(--card) 82%, transparent), transparent 120px);
}
.matdb-det-section--soft {
  background: color-mix(in srgb, var(--card) 72%, transparent);
}
.matdb-soft-note {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
  color: color-mix(in srgb, var(--text-muted) 88%, var(--text) 12%);
}
.matdb-inline-card--soft {
  background: color-mix(in srgb, var(--card) 78%, transparent);
  border-color: color-mix(in srgb, var(--border) 70%, transparent);
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}

.matdb-cockpit-form { display:grid; gap:12px; }
.matdb-cockpit-actions { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.matdb-cockpit-toolbar { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:10px; }
.matdb-cockpit-toolbar > * { flex: 1 1 180px; }
.matdb-cockpit-table-wrap { overflow:auto; border:1px solid color-mix(in srgb, var(--border) 70%, transparent); border-radius:12px; background:color-mix(in srgb, var(--card) 82%, transparent); }
.matdb-cockpit-table { width:100%; border-collapse:collapse; min-width:720px; }
.matdb-cockpit-table th, .matdb-cockpit-table td { padding:8px 10px; border-bottom:1px solid color-mix(in srgb, var(--border) 68%, transparent); vertical-align:top; font-size:12px; }
.matdb-cockpit-table th { font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-muted); background:color-mix(in srgb, var(--card) 88%, transparent); position:sticky; top:0; z-index:1; }
.matdb-cockpit-table__row--off { opacity:.55; }
.matdb-cockpit-rowhead { display:flex; gap:8px; align-items:flex-start; min-width:220px; }
.matdb-cockpit-rowtitle { font-size:12px; font-weight:700; color:var(--text); }
.matdb-cockpit-rowmeta { font-size:11px; color:var(--text-muted); margin-top:2px; }
.matdb-cockpit-mini { min-width:110px; }
.matdb-cockpit-check { inline-size:16px; block-size:16px; accent-color:var(--accent); }
.matdb-cockpit-table__num { white-space:nowrap; font-variant-numeric:tabular-nums; }
@media (max-width: 1200px){
  .matdb-cockpit-toolbar > * { flex-basis: 100%; }
}
.matdb-history-list { display:grid; gap:10px; }
.matdb-history-item {
  border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
  background: color-mix(in srgb, var(--card) 84%, transparent);
  border-radius: 12px;
  padding: 12px 14px;
}
.matdb-history-item__top {
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:4px;
}
.matdb-history-item__title { font-size: 13px; font-weight: 800; }
.matdb-history-item__at { font-size: 11px; color: var(--text-muted); white-space: nowrap; }
.matdb-history-item__meta { font-size: 12px; color: var(--text-muted); }
.matdb-history-chip {
  display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px;
  border:1px solid color-mix(in srgb, var(--border) 82%, transparent);
  background: color-mix(in srgb, var(--bg) 84%, transparent);
  font-size: 11px; color: var(--text-muted);
}
.matdb-history-chip--warn {
  color: #9a3412;
  border-color: rgba(234,88,12,.22);
  background: rgba(251,146,60,.10);
}

.matdb-parity-diff-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.matdb-parity-diff-col {
  border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--card) 88%, transparent);
  padding: 8px 10px;
  display: grid;
  gap: 6px;
}
.matdb-parity-diff-col__title {
  font-size: 11px;
  font-weight: 800;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.matdb-parity-diff-item {
  font-size: 12px;
  color: var(--text);
  border-radius: 8px;
  padding: 6px 8px;
  background: color-mix(in srgb, var(--bg) 78%, transparent);
}
.matdb-parity-diff-item--add {
  border: 1px solid rgba(16,185,129,.18);
  background: rgba(16,185,129,.08);
}
.matdb-parity-diff-item--remove {
  border: 1px solid rgba(239,68,68,.18);
  background: rgba(239,68,68,.08);
}
.matdb-parity-diff-item--change {
  border: 1px solid rgba(245,158,11,.18);
  background: rgba(245,158,11,.08);
}
.matdb-parity-snapshot-card {
  border: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--card) 82%, transparent);
  padding: 12px;
  display: grid;
  gap: 8px;
}
.matdb-parity-snapshot-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.matdb-explain-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.matdb-explain-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  color: var(--text-muted);
}
.matdb-explain-form label > span { font-weight: 700; color: var(--text); }
.matdb-explain-form input,
.matdb-explain-form select {
  width: 100%;
  min-width: 0;
}
.matdb-explain-form__wide { grid-column: span 2; }
.matdb-explain-actions {
  display: flex;
  gap: 8px;
  align-items: end;
  flex-wrap: wrap;
}
@media (max-width: 980px) {
  .matdb-explain-form { grid-template-columns: 1fr; }
  .matdb-explain-form__wide { grid-column: span 1; }
}
@media (max-width: 980px) {
  .matdb-inline-grid { grid-template-columns: 1fr; }
  .matdb-mat-profile { grid-template-columns: 1fr; }
}

/* Group-ops form */
.matdb-gops-hint {
  font-size: 12px;
  color: var(--text-muted);
  padding: 8px 10px;
  background: var(--hover);
  border-radius: 6px;
  margin-bottom: 10px;
  line-height: 1.5;
}
.matdb-gops-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 420px;
  overflow-y: auto;
  padding-right: 4px;
}
.matdb-gop-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 10px;
  border-radius: 7px;
  border: 1px solid var(--border)44;
  background: var(--bg);
  transition: background .12s;
}
.matdb-gop-row:hover { background: var(--hover); }
.matdb-gop-chk {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  flex: 1;
  font-size: 12px;
  font-weight: 500;
}
.matdb-gop-price {
  width: 130px;
  padding: 5px 8px;
  border-radius: 5px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  font-size: 12px;
  text-align: right;
  flex-shrink: 0;
}
.matdb-gop-price:focus { outline: none; border-color: var(--accent); }

/* btn-xs / btn-sm */
.btn-xs { padding: 3px 8px !important; font-size: 11px !important; }
.btn-sm { padding: 5px 11px !important; font-size: 12px !important; }


/* ── Sortable table headers (v1.2.41) ────────────────── */
.matdb-sort-th {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  transition: color .12s;
}
.matdb-sort-th:hover { color: var(--accent); }
.matdb-sort-th--active { color: var(--accent); }

/* ── Detail header with actions ──────────────────────── */
.matdb-det-hdr {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px 10px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.matdb-det-hdr__main { flex: 1; min-width: 0; }
.matdb-det-hdr__actions { display: flex; gap: 4px; flex-shrink: 0; padding-top: 2px; }

/* ── Import/Export UI (v1.2.42) ──────────────────────── */
.matdb-import-wrap { display: flex; flex-direction: column; gap: 12px; }
.matdb-import-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.matdb-import-step{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.94))}
.matdb-import-step b{font-size:12px;color:var(--muted)}
.matdb-import-step span{font-size:14px;font-weight:800;color:#0f172a}
.matdb-import-step small{font-size:12px;color:var(--muted)}
.matdb-import-info { background: var(--bg2); border-radius: 6px; padding: 10px 14px; font-size: 13px; line-height: 1.6; }
.matdb-import-info code { background: var(--bg3); padding: 1px 5px; border-radius: 3px; font-size: 12px; }
.matdb-import-mode select { margin-left: 6px; padding: 3px 8px; border-radius: 4px; border: 1px solid var(--border); background: var(--bg); color: var(--text); }
.matdb-import-drop { border: 2px dashed var(--border); border-radius: 8px; padding: 32px; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.matdb-import-drop:hover, .matdb-import-drop--over { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 6%, transparent); }
.matdb-import-drop__inner { display: flex; flex-direction: column; align-items: center; gap: 8px; pointer-events: none; }
.matdb-import-drop__icon { font-size: 32px; }
.matdb-import-pick-lbl { color: var(--accent); text-decoration: underline; cursor: pointer; pointer-events: all; }
.matdb-import-result { padding: 10px 14px; border-radius: 6px; font-size: 13px; }
.matdb-import-result--ok  { background: color-mix(in srgb, #22c55e 12%, transparent); border: 1px solid #22c55e44; }
.matdb-import-result--err { background: color-mix(in srgb, #ef4444 12%, transparent); border: 1px solid #ef444444; }
.matdb-import-result pre  { margin: 8px 0 0; font-size: 11px; max-height: 200px; overflow-y: auto; }
.matdb-import-toolbar { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:end; }
.matdb-import-toolbar label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--muted); }
.matdb-import-toolbar select { min-width: 220px; padding: 8px 10px; border-radius: 8px; border:1px solid var(--border); background: var(--bg); color: var(--text); }
.matdb-checkline { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
.matdb-import-selected { font-size:12px; color:var(--muted); }
.matdb-import-actions { display:flex; gap:10px; }
.matdb-map-panel{border:1px solid var(--border);border-radius:16px;padding:14px;background:color-mix(in srgb,var(--panel) 88%, white 12%)}
.matdb-map-panel__hdr{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.matdb-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.matdb-map-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.matdb-map-field select{width:100%;min-width:0;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}
.matdb-import-mapchips{display:flex;gap:6px;flex-wrap:wrap}
.matdb-grid { display:grid; gap:10px; }
.matdb-grid--5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.matdb-stat-card { border:1px solid var(--border); border-radius: 14px; padding: 12px 14px; background: color-mix(in srgb, var(--bg2) 70%, transparent); }
.matdb-stat-card__label { font-size: 12px; color: var(--muted); }
.matdb-stat-card__value { font-size: 22px; font-weight: 700; margin-top: 6px; }
.matdb-import-preview-note { margin-top:10px; padding:10px 12px; border-radius:12px; background: color-mix(in srgb, var(--accent) 6%, transparent); color: var(--muted); font-size: 12px; }
.matdb-import-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}
.matdb-import-audit-box{border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.92);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.matdb-import-audit-box__title{width:100%;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.matdb-table--compact td, .matdb-table--compact th { padding: 8px 10px; }
.matdb-inline-form { display:flex; gap:10px; align-items:center; }
.matdb-inline-form .input { flex:1; min-width: 260px; }
.matdb-dup-card { border:1px solid var(--border); border-radius: 16px; padding: 14px; background: var(--bg2); margin-bottom: 12px; }
.matdb-dup-card__hdr, .matdb-dup-card__ftr { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.matdb-dup-card__body { display:flex; flex-direction:column; gap:8px; margin:12px 0; }
.matdb-dupe-row { display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--bg) 78%, transparent); border:1px solid color-mix(in srgb, var(--border) 72%, transparent); }
.matdb-dupe-row input { margin-top: 3px; }
.matdb-modal--xl { width:min(1180px, 96vw); }
@media (max-width: 980px) {
  .matdb-grid--5 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .matdb-import-toolbar { flex-direction: column; align-items: stretch; }
  .matdb-import-toolbar label { width: 100%; }
  .matdb-import-toolbar select { min-width: 0; width: 100%; }
  .matdb-import-steps{grid-template-columns:1fr 1fr}
}
.matdb-modal--wide { width: min(720px, 95vw); }
.matdb-rollback-btn { font-size: 11px; }
.matdb-spinner { display: inline-block; width: 20px; height: 20px; border: 2px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Material card enhancements (v1.2.45) ──────────────── */
.mat-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; font-size: 11px; }
.mat-stock { padding: 2px 7px; border-radius: 10px; font-size: 11px; }
.mat-stock--yes { background: color-mix(in srgb, #22c55e 15%, transparent); color: #16a34a; }
.mat-stock--no  { background: color-mix(in srgb, #ef4444 12%, transparent); color: #dc2626; }
.mat-supplier   { padding: 2px 7px; border-radius: 10px; background: var(--bg2); font-size: 11px; }
.mat-article    { padding: 2px 7px; border-radius: 10px; background: var(--bg3); font-size: 11px; font-family: monospace; }
.mat-group      { font-size: 12px; opacity: .6; margin-top: 4px; }
.mat-card--outofstock { opacity: .7; }
.matdb-row--warn td { background: color-mix(in srgb, #f59e0b 8%, transparent) !important; }

/* ── Cut basis premium landing polish (v1.2.45) ───────────── */
.cut-polish-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);font-size:12px;font-weight:700;color:var(--text);min-height:42px}
.cut-polish-toggle input{margin:0}
.cut-polish-bar{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 86%, transparent)}
.cut-polish-bar__title{font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.cut-polish-bar__meta{font-size:12px;color:var(--text-muted);margin-top:4px}
.cut-polish-bar__chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cut-empty{padding:22px 18px;border:1px dashed var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 82%, transparent);min-height:120px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.cut-empty__title{font-weight:900;font-size:18px}
.qe-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.qe-preset{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease}
.qe-preset:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}
@media (max-width: 980px){.cut-polish-bar{padding:10px 12px}.cut-polish-toggle{width:100%;justify-content:flex-start}}

/* Sprint P0/P1 — estimate document + cut readiness */
.arm-estdoc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.arm-estdoc-toolbar{align-items:center}
.arm-estdoc-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}
.arm-estdoc-audit-card{border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:14px 16px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));box-shadow:0 14px 32px rgba(15,23,42,.05)}
.arm-estdoc-audit-card__label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.arm-estdoc-audit-card__value{font-size:22px;font-weight:900;line-height:1.05;margin-top:7px}
.arm-estdoc-audit-card__sub{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}
.arm-estdoc-card{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 88%, white 12%)}
.arm-estdoc-card__title{font-weight:800;font-size:13px}
.arm-estdoc-card__meta{font-size:12px;color:var(--muted);margin-top:4px;margin-bottom:8px}
.arm-estdoc-line{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:12px;border-top:1px solid color-mix(in srgb,var(--border) 70%, transparent 30%)}
.arm-estdoc-line:first-of-type{border-top:0}
.cut-readiness{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.cut-readiness__chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border);background:rgba(255,255,255,.03)}
.cut-readiness__chip--ok{color:#0d6b3e;background:rgba(25,164,99,.12);border-color:rgba(25,164,99,.25)}
.cut-readiness__chip--warn{color:#8a5a00;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.25)}
.cut-readiness__chip--bad{color:#9f1239;background:rgba(244,63,94,.12);border-color:rgba(244,63,94,.24)}
.cut-readiness__meta{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.45}
.qe-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:12px}
.qe-article{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.qe-article__label{font-size:12px;color:var(--muted)}
.qe-article__value{font-size:16px;font-weight:800;margin-top:4px}
.qe-article__meta{font-size:11px;color:var(--muted);margin-top:2px}

/* Sprint v1.2.49 — premium split manager/client/admin */
.lk-split-card{position:relative;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));border-radius:22px;padding:20px 22px;margin:0 0 16px;box-shadow:0 20px 46px rgba(15,23,42,.06)}
.lk-split-card::after{content:"";position:absolute;inset:auto -30px -40px auto;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(16,185,129,.12),rgba(16,185,129,0));pointer-events:none}
.lk-split-card--manager::after{background:radial-gradient(circle,rgba(59,130,246,.12),rgba(59,130,246,0))}
.lk-split-card--admin::after{background:radial-gradient(circle,rgba(168,85,247,.12),rgba(168,85,247,0))}
.lk-split-card__eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.lk-split-card__title{font-size:26px;line-height:1.08;font-weight:900;letter-spacing:-.03em;max-width:760px}
.lk-split-card__text{max-width:760px;margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}
.lk-split-card__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media (max-width: 820px){.lk-split-card{padding:18px}.lk-split-card__title{font-size:22px}}

/* Sprint v1.2.60 — P0 logic repair + regression closure */
.hz-premium-hero{position:relative;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,252,.96));border-radius:24px;padding:22px 24px;margin:0 0 16px;box-shadow:0 18px 42px rgba(15,23,42,.06)}
.hz-premium-hero::after{content:"";position:absolute;inset:auto -32px -42px auto;width:190px;height:190px;border-radius:999px;background:radial-gradient(circle,rgba(16,185,129,.10),rgba(16,185,129,0));pointer-events:none}
.hz-premium-hero--manager::after{background:radial-gradient(circle,rgba(59,130,246,.12),rgba(59,130,246,0))}
.hz-premium-hero--admin::after{background:radial-gradient(circle,rgba(168,85,247,.13),rgba(168,85,247,0))}
.hz-premium-hero--client::after{background:radial-gradient(circle,rgba(16,185,129,.12),rgba(16,185,129,0))}
.hz-premium-hero--compact{padding:18px 20px}
.hz-premium-hero__eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.hz-premium-hero__title{font-size:28px;line-height:1.05;font-weight:900;letter-spacing:-.03em;max-width:860px}
.hz-premium-hero__text{max-width:860px;margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}
.hz-premium-hero__chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.hz-premium-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hz-premium-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.82);font-size:12px;font-weight:700;color:#0f172a}
.hz-premium-chip b{font-weight:900}
.hz-context-band{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:14px;background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.14);color:#6b21a8;font-size:12px;font-weight:700;margin-bottom:12px}
.hz-workflow-strip{display:grid;gap:10px;padding:14px 16px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.92));margin:12px 0 16px}
.hz-workflow-strip__top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.hz-workflow-strip__title{font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.hz-workflow-strip__meta{font-size:13px;color:var(--muted);max-width:760px}
.hz-workflow-strip__steps{display:flex;gap:8px;flex-wrap:wrap}
.hz-workflow-step{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.86);font-size:12px;font-weight:800;color:#334155}
.hz-workflow-step::before{content:"";width:8px;height:8px;border-radius:999px;background:#cbd5e1;box-shadow:0 0 0 4px rgba(203,213,225,.24) inset}
.hz-workflow-step--done{color:#0f766e;background:rgba(20,184,166,.10);border-color:rgba(20,184,166,.18)}
.hz-workflow-step--done::before{background:#14b8a6;box-shadow:0 0 0 4px rgba(20,184,166,.18)}
.hz-workflow-step--current{color:#1d4ed8;background:rgba(59,130,246,.10);border-color:rgba(59,130,246,.18)}
.hz-workflow-step--current::before{background:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.18)}
.hz-workflow-step--upcoming{color:#64748b;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.18)}
.hz-workflow-step--hidden{opacity:.55}
.hz-quiet-empty{display:grid;gap:8px;place-items:center;text-align:center;padding:28px 20px;border:1px dashed rgba(15,23,42,.12);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,250,252,.82))}
.hz-quiet-empty__icon{font-size:28px;opacity:.52}
.hz-quiet-empty__title{font-size:18px;font-weight:900;letter-spacing:-.02em}
.hz-quiet-empty__text{font-size:13px;line-height:1.6;color:var(--muted);max-width:420px}
.hz-estimate-card .hd{border-bottom:0;padding-bottom:0}
.hz-estimate-card .bd{padding-top:12px}
.hz-estimate-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.hz-estimate-card__stat{padding:12px 14px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,250,252,.84))}
.hz-estimate-card__label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.58}
.hz-estimate-card__value{font-size:20px;font-weight:900;margin-top:6px}
.hz-estimate-card__summary{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.hz-estimate-card__diff{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.hz-estimate-card__diffbox{padding:12px 14px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:rgba(255,255,255,.84)}
.hz-estimate-card__sections{margin-top:12px}
.hz-estimate-card__empty{margin-top:12px}
.matdb-header{min-height:56px;height:auto;padding:10px 20px;gap:12px;flex-wrap:wrap}
.matdb-header__tabs{flex-wrap:wrap}
.matdb-header__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.matdb-action-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:6px 8px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:rgba(255,255,255,.82)}
.matdb-action-group__label{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.matdb-hero{padding:14px 18px 16px;border-bottom:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.94));display:grid;gap:10px}
.matdb-hero__top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.matdb-hero__eyebrow{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.matdb-hero__title{font-size:22px;font-weight:900;letter-spacing:-.03em;line-height:1.08;max-width:760px}
.matdb-hero__text{font-size:13px;line-height:1.6;color:var(--muted);max-width:760px;margin-top:6px}
.matdb-hero__chips{display:flex;gap:8px;flex-wrap:wrap}
.matdb-hero__chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.88);font-size:12px;font-weight:700;color:#0f172a}
.matdb-hero__chip b{font-weight:900}
.matdb-hero__band{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:14px;background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.14);color:#6b21a8;font-size:12px;font-weight:700}
.matdb-empty-row{padding:20px !important;background:transparent}
.matdb-detail,.matdb-main{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.94))}
.matdb-det-hdr{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.90));border-bottom-color:rgba(15,23,42,.08)}
@media (max-width: 980px){.hz-premium-hero__title{font-size:24px}.matdb-action-group{width:100%;justify-content:flex-start}.matdb-header__actions{width:100%;justify-content:flex-start}}

/* ── Premium ARM React shell layer (v1.2.67) ─────────────────────── */
.arm-shell-react-band {
  padding: 14px 24px 0;
}
.arm-workstation {
  display: grid;
  --arm-inspector-width: 320px;
  grid-template-columns: minmax(0, 1fr) var(--arm-inspector-width);
  gap: 18px;
  align-items: start;
  padding: 14px 24px 80px; /* +80px под fixed dock чтобы не перекрывал контент */
  flex: 1;
  min-height: 0;
}
.arm-workstation__main {
  min-width: 0;
  min-height: 0;
}
.arm-workstation__inspector {
  position: sticky;
  top: 84px;
  align-self: start;
}
.arm-shell-status {
  padding: 12px 24px 18px;
}
.arm-shell-react-band,
.arm-shell-toolbar-band,
.arm-shell-selection-band,
.arm-shell-detail-band,
.arm-workstation__inspector,
.arm-shell-status { min-width: 0; }
#armSavedViewsHost, #armToolbarHost, #armSelectionHost, #armDetailHost, #armInspectorHost, #armStatusHost { display:block; min-height: 24px; }
#armSelectionHost:empty::before,
#armDetailHost:empty::before,
#armInspectorHost:empty::before,
#armSavedViewsHost:empty::before,
#armToolbarHost:empty::before,
#armStatusHost:empty::before { content: '\00a0'; display:block; min-height: 24px; }
.arm-shell-strip,
.arm-inspector-card,
.arm-shell-statusbar {
  border: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));
  box-shadow: 0 16px 40px rgba(15,23,42,.06);
}
.arm-shell-strip {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) auto;
  gap: 14px;
  align-items: start;
  border-radius: 22px;
  padding: 16px 18px;
}
.arm-shell-strip__meta { min-width: 0; }
.arm-shell-strip__eyebrow {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
}
.arm-shell-strip__title {
  font-size: 18px;
  font-weight: 900;
  color: var(--text);
  margin-top: 4px;
}
.arm-shell-strip__text {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 6px;
  line-height: 1.5;
}
.arm-shell-strip__actions { display:flex; justify-content:flex-end; flex-direction:column; gap:8px; }
.arm-shell-strip__actions-row { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.arm-shell-strip__actions-row--utility { opacity:.94; }
.arm-shell-strip__actions .btn.is-active { box-shadow: inset 0 0 0 1px rgba(15,23,42,.12); background: rgba(15,23,42,.08); }
.arm-shell-strip__chips {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.arm-shell-chipwrap { display:inline-flex; align-items:center; gap:4px; }
.arm-shell-chip,
.arm-shell-chip__del,
.arm-shell-statuspill {
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.92);
}
.arm-shell-chip {
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
}
.arm-shell-chip:hover,
.arm-shell-chip__del:hover {
  background: var(--hover);
}
.arm-shell-chip__del {
  width: 28px;
  height: 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: var(--text-muted);
}
.arm-shell-strip__empty {
  font-size: 12px;
  color: var(--text-muted);
  padding: 8px 2px;
}
.arm-inspector-card {
  border-radius: 24px;
  padding: 18px;
  display: grid;
  gap: 12px;
}
.arm-inspector-card__eyebrow {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
}
.arm-inspector-card__title {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
}
.arm-inspector-card__text {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.55;
}
.arm-inspector-chiprow,
.arm-inspector-actions,
.arm-inspector-sections {
  display:grid;
  gap:10px;
}
.arm-inspector-chiprow {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.arm-inspector-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background: rgba(15,23,42,.05);
  font-size:12px;
  font-weight:700;
}
.arm-inspector-chip--ok { background: rgba(16,185,129,.12); color:#065f46; }
.arm-inspector-chip--warn { background: rgba(245,158,11,.14); color:#92400e; }
.arm-inspector-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
.arm-inspector-section {
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  padding: 12px 14px;
}
.arm-inspector-section__title {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
  margin-bottom: 8px;
}
.arm-inspector-section__rows { display:grid; gap:8px; }
.arm-inspector-kv {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size: 12px;
}
.arm-inspector-kv__label { color: var(--text-muted); }
.arm-inspector-kv__value { color: var(--text); font-weight: 700; text-align:right; }
.arm-shell-statusbar {
  border-radius: 18px;
  padding: 10px 12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.arm-shell-statuspill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 7px 10px;
  font-size: 12px;
}
.arm-shell-statuspill span { color: var(--text-muted); }
.arm-shell-statuspill b { color: var(--text); }
@media (max-width: 1080px) {
  .arm-workstation {
    grid-template-columns: 1fr;
  }
  .arm-workstation__inspector {
    position: static;
    order: 2;
  }
}
@media (max-width: 720px) {
  .arm-shell-react-band,
  .arm-workstation,
  .arm-shell-status {
    padding-left: 16px;
    padding-right: 16px;
  }
  .arm-shell-strip {
    grid-template-columns: 1fr;
  }
  .arm-inspector-actions {
    grid-template-columns: 1fr;
  }
}

/* ── Premium ARM shell phase 2 (v1.2.67) ─────────────────────────── */
.arm-shell-toolbar-band {
  padding: 12px 24px 0;
}
.arm-shell-toolbar {
  border: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));
  box-shadow: 0 16px 40px rgba(15,23,42,.05);
  border-radius: 22px;
  padding: 16px 18px;
  display: grid;
  gap: 12px;
}
.arm-shell-toolbar__meta { min-width: 0; }
.arm-shell-toolbar__eyebrow,
.arm-shell-toolbar__section-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
}
.arm-shell-toolbar__title {
  font-size: 17px;
  font-weight: 900;
  color: var(--text);
  margin-top: 4px;
}
.arm-shell-toolbar__text {
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-muted);
  margin-top: 6px;
}
.arm-shell-toolbar__chips,
.arm-shell-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.arm-shell-toolbar__chip,
.arm-shell-toolbar__action {
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.92);
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
}
.arm-shell-toolbar__chip {
  padding: 7px 11px;
}
.arm-shell-toolbar__action {
  padding: 8px 12px;
}
.arm-shell-toolbar__action:hover { background: var(--hover); }
.arm-shell-toolbar__action.is-active {
  background: rgba(15,23,42,.08);
  border-color: rgba(15,23,42,.14);
}
.arm-shell-toolbar__sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.arm-shell-toolbar__section {
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  padding: 12px 14px;
}
.arm-shell-toolbar__rows { display: grid; gap: 8px; margin-top: 8px; }
.arm-shell-toolbar__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
}
.arm-shell-toolbar__row-label { color: var(--text-muted); }
.arm-shell-toolbar__row-value { color: var(--text); text-align:right; }
@media (max-width: 720px) {
  .arm-shell-toolbar-band {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ── Premium ARM shell phase 3 (v1.2.67) ─────────────────────────── */
.arm-shell-chip.is-active {
  background: rgba(15,23,42,.09);
  border-color: rgba(15,23,42,.16);
}
.arm-shell-toolbar__cards,
.arm-inspector-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.arm-shell-toolbar__card,
.arm-inspector-metric {
  border: 1px solid rgba(15,23,42,.06);
  background: rgba(255,255,255,.86);
  border-radius: 18px;
  padding: 12px 14px;
  display: grid;
  gap: 4px;
}
.arm-shell-toolbar__card span,
.arm-inspector-metric span {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
}
.arm-shell-toolbar__card b,
.arm-inspector-metric b {
  font-size: 18px;
  line-height: 1.1;
  color: var(--text);
}
.arm-shell-toolbar__card small,
.arm-inspector-metric small {
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-muted);
}
.arm-shell-toolbar__card--ok,
.arm-inspector-metric--ok,
.arm-shell-statuspill--ok {
  border-color: rgba(16,185,129,.18);
  background: rgba(16,185,129,.08);
}
.arm-shell-toolbar__card--warn,
.arm-inspector-metric--warn,
.arm-shell-statuspill--warn {
  border-color: rgba(245,158,11,.20);
  background: rgba(245,158,11,.09);
}
.arm-shell-toolbar__card--info,
.arm-inspector-metric--info,
.arm-shell-statuspill--info {
  border-color: rgba(59,130,246,.18);
  background: rgba(59,130,246,.08);
}
.arm-shell-toolbar__chip--warn {
  background: rgba(245,158,11,.10);
  border-color: rgba(245,158,11,.20);
}
.arm-shell-toolbar__chip--ok {
  background: rgba(16,185,129,.08);
  border-color: rgba(16,185,129,.18);
}
.arm-workstation__inspector {
  display: grid;
  gap: 14px;
}
@media (max-width: 720px) {
  .arm-shell-toolbar__cards,
  .arm-inspector-metrics {
    grid-template-columns: 1fr;
  }
}


/* ── Premium ARM shell phase 4 (v1.2.67) ─────────────────────────── */
.arm-shell-selection-band {
  padding: 0 24px 16px;
}
.arm-shell-selection {
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.88));
  box-shadow: 0 10px 32px rgba(15,23,42,.05);
  padding: 14px 16px;
  display: grid;
  gap: 12px;
}
.arm-shell-selection__meta { display:grid; gap:4px; }
.arm-shell-selection__eyebrow { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.arm-shell-selection__title { font-size:18px; font-weight:900; color:var(--text); }
.arm-shell-selection__text { font-size:13px; line-height:1.55; color:var(--text-muted); max-width:900px; }
.arm-shell-selection__chips,
.arm-shell-selection__actions { display:flex; flex-wrap:wrap; gap:8px; }
.arm-shell-selection__chip,
.arm-shell-selection__action {
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.88);
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
}
.arm-shell-selection__chip { padding: 7px 11px; }
.arm-shell-selection__action { padding: 8px 12px; }
.arm-shell-selection__action--primary {
  background: rgba(15,23,42,.92);
  color: #fff;
  border-color: rgba(15,23,42,.92);
}
.arm-shell-selection__chip--warn { background: rgba(245,158,11,.10); border-color: rgba(245,158,11,.20); }
.arm-shell-selection__chip--ok { background: rgba(16,185,129,.08); border-color: rgba(16,185,129,.18); }
.arm-shell-selection__chip--info { background: rgba(59,130,246,.08); border-color: rgba(59,130,246,.18); }
.arm-shell-selection__rows { display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:10px; }
.arm-shell-selection__row {
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  padding: 11px 12px;
  display:grid;
  gap:4px;
}
.arm-shell-selection__row-label { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); }
.arm-shell-selection__row-value { font-size:15px; color:var(--text); }
@media (max-width: 720px) {
  .arm-shell-selection-band { padding: 0 16px 14px; }
  .arm-shell-selection__rows { grid-template-columns: 1fr; }
}


.arm-shell-detail-band { padding: 0 24px 14px; }
.arm-shell-detail {
  display:grid;
  gap:14px;
  padding:16px 18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  box-shadow:0 14px 38px rgba(15,23,42,.06);
}
.arm-shell-detail__meta { display:grid; gap:4px; }
.arm-shell-detail__eyebrow { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.arm-shell-detail__title { font-size:18px; font-weight:900; color:var(--text); }
.arm-shell-detail__text { font-size:13px; line-height:1.55; color:var(--text-muted); max-width:960px; }
.arm-shell-detail__cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; }
.arm-shell-detail__card { display:grid; gap:4px; padding:12px 14px; border-radius:16px; border:1px solid rgba(15,23,42,.07); background:rgba(255,255,255,.82); }
.arm-shell-detail__card span { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); }
.arm-shell-detail__card b { font-size:16px; color:var(--text); }
.arm-shell-detail__card small { color:var(--text-muted); }
.arm-shell-detail__card--ok { background:rgba(16,185,129,.06); border-color:rgba(16,185,129,.16); }
.arm-shell-detail__card--warn { background:rgba(245,158,11,.08); border-color:rgba(245,158,11,.20); }
.arm-shell-detail__rows { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.arm-shell-detail__row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; background:rgba(248,250,252,.92); border:1px solid rgba(15,23,42,.05); }
.arm-shell-detail__row-label { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted); }
.arm-shell-detail__row-value { font-size:14px; color:var(--text); text-align:right; }
.arm-shell-detail__actions { display:flex; flex-wrap:wrap; gap:8px; }
.arm-shell-detail__action { border:1px solid rgba(15,23,42,.10); background:#fff; color:var(--text); border-radius:999px; padding:8px 12px; font-weight:700; }
.arm-shell-detail__action--primary { background:linear-gradient(180deg,#0f172a,#1e293b); color:#fff; border-color:#0f172a; }
.arm-shell-detail__sections { display:grid; gap:10px; }
.arm-shell-detail__section { padding:12px 14px; border-radius:16px; border:1px solid rgba(15,23,42,.06); background:rgba(255,255,255,.82); }
.arm-shell-detail__section-title { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; }
.arm-shell-detail__section-rows { display:grid; gap:8px; }
@media (max-width: 980px){
  .arm-shell-detail-band { padding: 0 16px 14px; }
  .arm-shell-detail__cards, .arm-shell-detail__rows { grid-template-columns:1fr; }
}

/* React heavy workstations */
.arm-react-workstation{display:flex;flex-direction:column;gap:12px}
.arm-react-table-wrap{border-radius:18px;overflow:auto;background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 50px rgba(15,23,42,.08)}
.arm-react-table__sort{background:none;border:0;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer}
.arm-react-table__sort.is-active{color:var(--accent,#0f766e)}
.arm-react-table__cell--right{text-align:right}
.arm-react-table__cell--warn{color:#9a6700;font-weight:700}
.arm-react-table__cell--danger{color:var(--bad);font-weight:800}
.kb-card__spark{display:flex;justify-content:flex-end;opacity:.72;margin-top:6px;color:var(--text-muted)}
.kb-card__spark svg{display:block}
.arm-react-detail-panel{display:flex;flex-direction:column;gap:12px}
.arm-react-estimate-cockpit .arm-estdoc-audit-grid{margin-bottom:10px}
.arm-react-estimate-cockpit .arm-estdoc-toolbar .btn{white-space:nowrap}


/* ── Premium ARM final polish (v1.2.78) ─────────────────────────── */
.arm-shell-strip__group { grid-column:1 / -1; display:grid; gap:8px; }
.arm-shell-strip__group-title { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted); }
.arm-shell-chip.is-preset { background: rgba(59,130,246,.08); border-color: rgba(59,130,246,.18); }
.arm-shell-toolbar__state, .arm-inspector-card__state { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.arm-shell-toolbar__state-chip { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; border:1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.92); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--text); }
.arm-shell-toolbar__state-chip--loading { background: rgba(59,130,246,.08); border-color: rgba(59,130,246,.18); }
.arm-shell-toolbar__state-chip--success { background: rgba(16,185,129,.08); border-color: rgba(16,185,129,.18); }
.arm-shell-toolbar__state-chip--warning { background: rgba(245,158,11,.10); border-color: rgba(245,158,11,.20); }
.arm-shell-toolbar__state-chip--error { background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.18); }
.arm-shell-toolbar__state-text { font-size:12px; color:var(--text-muted); }
.arm-shell-toolbar.is-loading, .arm-inspector-card.is-loading { box-shadow: 0 12px 40px rgba(59,130,246,.08); }
.arm-shell-toolbar.is-success, .arm-inspector-card.is-success { box-shadow: 0 12px 40px rgba(16,185,129,.08); }
.arm-shell-toolbar.is-warning, .arm-inspector-card.is-warning { box-shadow: 0 12px 40px rgba(245,158,11,.10); }
.arm-shell-toolbar.is-error, .arm-inspector-card.is-error { box-shadow: 0 12px 40px rgba(239,68,68,.10); }
.arm-shell-statuspill--neutral { background: rgba(15,23,42,.04); border-color: rgba(15,23,42,.08); }
.arm-workstation__inspector > * { min-width: 0; }

/* v1.2.86 full runtime green / live evidence */
.arm-shell-runtime-empty {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px dashed rgba(15,23,42,.12);
  background: rgba(248,250,252,.82);
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.55;
}
.arm-shell-toolbar__skeleton {
  display: grid;
  gap: 10px;
}
.arm-shell-skeleton-line {
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(226,232,240,.70) 0%, rgba(255,255,255,.92) 50%, rgba(226,232,240,.70) 100%);
  background-size: 220% 100%;
  animation: armShellSkeletonShift 1.25s ease-in-out infinite;
}
.arm-shell-skeleton-line:nth-child(2){ width: 82%; }
.arm-shell-skeleton-line:nth-child(3){ width: 64%; }
@keyframes armShellSkeletonShift {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
.arm-shell-toolbar__action kbd,
.arm-inspector-actions .btn kbd,
.arm-shell-selection__action kbd,
.arm-shell-detail__action kbd {
  margin-left: 8px;
  padding: 2px 6px;
  border-radius: 8px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.72);
  color: var(--text-muted);
  font-size: 11px;
  font-family: inherit;
}
.arm-shell-statusprogress {
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: rgba(15,23,42,.06);
  overflow: hidden;
}
.arm-shell-statusprogress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(59,130,246,.85), rgba(99,102,241,.85));
}
.arm-shell-statuspill small,
.arm-inspector-card small,
.arm-shell-toolbar small,
.arm-shell-detail small {
  color: var(--text-muted);
}
.arm-shell-strip__chips [aria-current="page"] {
  box-shadow: 0 0 0 3px rgba(59,130,246,.10);
}
.arm-shell-selection.is-loading,
.arm-shell-detail.is-loading,
.arm-shell-toolbar.is-loading,
.arm-inspector-card.is-loading {
  position: relative;
}
.arm-shell-selection.is-loading::after,
.arm-shell-detail.is-loading::after,
.arm-shell-toolbar.is-loading::after,
.arm-inspector-card.is-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(59,130,246,.10);
}
.arm-shell-selection.is-success,
.arm-shell-detail.is-success,
.arm-shell-toolbar.is-success,
.arm-inspector-card.is-success {
  background-image: radial-gradient(circle at top right, rgba(16,185,129,.10), transparent 38%);
}
.arm-shell-selection.is-error,
.arm-shell-detail.is-error,
.arm-shell-toolbar.is-error,
.arm-inspector-card.is-error {
  background-image: radial-gradient(circle at top right, rgba(239,68,68,.10), transparent 38%);
}
.arm-shell-toolbar__state-chip--idle,
.arm-shell-toolbar__state-chip--empty {
  background: rgba(15,23,42,.04);
  border-color: rgba(15,23,42,.08);
}
.arm-inspector-actions .btn,
.arm-shell-selection__action,
.arm-shell-detail__action,
.arm-shell-toolbar__action,
.arm-shell-chip,
.arm-shell-chip__del {
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
.arm-inspector-actions .btn:hover,
.arm-shell-selection__action:hover,
.arm-shell-detail__action:hover,
.arm-shell-toolbar__action:hover,
.arm-shell-chip:hover,
.arm-shell-chip__del:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(15,23,42,.08);
}
.arm-shell-statusbar,
.arm-shell-toolbar,
.arm-inspector-card,
.arm-shell-selection,
.arm-shell-detail,
.arm-shell-strip {
  backdrop-filter: blur(10px);
}

/* ── ARM full runtime green / live evidence (v1.2.86) ───────────────────────── */
.arm-shell-statuspill--action {
  appearance:none;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.78);
  cursor:pointer;
}
.arm-shell-statuspill--action:hover,
.arm-shell-statuspill--action:focus-visible {
  box-shadow:0 10px 26px rgba(15,23,42,.10);
  transform:translateY(-1px);
}
.arm-shell-statuspill__progress {
  position:relative;
  display:block;
  width:64px;
  height:5px;
  border-radius:999px;
  background:rgba(15,23,42,.08);
  overflow:hidden;
  margin-left:2px;
}
.arm-shell-statuspill__progress em {
  position:absolute;
  inset:0 auto 0 0;
  display:block;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(59,130,246,.80), rgba(16,185,129,.80));
}
.arm-shell-statuspill--warning .arm-shell-statuspill__progress em,
.arm-shell-statuspill--warn .arm-shell-statuspill__progress em {
  background:linear-gradient(90deg, rgba(245,158,11,.88), rgba(249,115,22,.88));
}
.arm-shell-statuspill--error .arm-shell-statuspill__progress em {
  background:linear-gradient(90deg, rgba(239,68,68,.90), rgba(248,113,113,.90));
}


.hz-flag--diff {
  background: rgba(249,115,22,.12);
  color: #ea580c;
  border: 1px solid rgba(249,115,22,.25);
}
.hz-risk-chip--diff {
  background: rgba(249,115,22,.14);
  color: #ea580c;
}
.kb-card__flag--diff {
  background: rgba(249,115,22,.12);
  color: #ea580c;
}
.hz-audit-span {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
}
.hz-audit-span__bar {
  height:6px;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(59,130,246,.7), rgba(14,165,233,.45));
}
.hz-audit-span__label {
  color: var(--muted);
  font-size: 11px;
}

/* ═══ Sprint 1 UI: margin column color-coding ═══ */
.hz-cell--margin-ok { color: var(--ok, #0c7a45); font-weight: 700; }
.hz-cell--margin-warn { color: var(--warn, #c2850c); font-weight: 600; }
.hz-cell--margin-danger { color: var(--bad, #be185d); font-weight: 700; }

/* ═══ Sprint 1 UI: kanban card age indicator ═══ */
.kb-card__age-bar { height: 3px; border-radius: 0 0 8px 8px; margin: 0 -10px -8px; opacity: 0.7; }
.kb-card__age-bar--fresh  { background: var(--ok, #0c7a45); }
.kb-card__age-bar--warm   { background: var(--warn, #c2850c); }
.kb-card__age-bar--hot    { background: var(--bad, #be185d); }

/* ═══ Sprint 1 UI: keyboard shortcuts overlay ═══ */
.hz-shortcuts-overlay { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.45); backdrop-filter:blur(4px); }
.hz-shortcuts-panel { background:var(--card-bg,#1c2333); border-radius:16px; padding:28px 32px; min-width:340px; max-width:480px; box-shadow:0 24px 80px rgba(0,0,0,.4); }
.hz-shortcuts-panel__title { font-weight:900; font-size:16px; margin-bottom:16px; }
.hz-shortcuts-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.hz-shortcuts-row kbd { background:rgba(255,255,255,.08); padding:3px 8px; border-radius:5px; font-size:12px; font-family:monospace; }
.hz-shortcuts-row span { font-size:13px; }

/* ═══ Sprint 1 UI: price health color-coding in MatDB ═══ */
.hz-cell--price-healthy { }
.hz-cell--price-warn { background: rgba(194, 133, 12, 0.08); }
.hz-cell--price-negative { background: rgba(190, 24, 93, 0.10); color: var(--bad, #be185d); font-weight: 700; }

.arm-shell[data-shell-detail='closed'] .arm-shell-detail-band,
.arm-shell-detail-band[data-shell-detail='closed'] { display:none; }
.arm-shell[data-shell-inspector='closed'] .arm-workstation,
.arm-workstation[data-shell-inspector='closed'] { grid-template-columns:minmax(0,1fr); }
.arm-shell[data-shell-inspector='closed'] .arm-workstation__inspector,
.arm-workstation__inspector[data-shell-inspector='closed'] { display:none; }
.arm-shell[data-shell-density='compact'] .arm-shell-strip,
.arm-shell[data-shell-density='compact'] .arm-shell-toolbar,
.arm-shell[data-shell-density='compact'] .arm-inspector-card,
.arm-shell[data-shell-density='compact'] .arm-shell-statusbar,
.arm-shell[data-shell-density='compact'] .arm-shell-selection,
.arm-shell[data-shell-density='compact'] .arm-shell-detail { border-radius:18px; }
.arm-shell[data-shell-density='compact'] .arm-shell-strip,
.arm-shell[data-shell-density='compact'] .arm-shell-toolbar,
.arm-shell[data-shell-density='compact'] .arm-inspector-card,
.arm-shell[data-shell-density='compact'] .arm-shell-selection,
.arm-shell[data-shell-density='compact'] .arm-shell-detail { padding:12px 14px; }
.arm-shell[data-shell-density='compact'] .arm-shell-strip__title,
.arm-shell[data-shell-density='compact'] .arm-inspector-card__title { font-size:16px; }
.arm-shell[data-shell-density='compact'] .arm-shell-strip__text,
.arm-shell[data-shell-density='compact'] .arm-inspector-card__text,
.arm-shell[data-shell-density='compact'] .arm-shell-statuspill { font-size:12px; }
.arm-shell[data-shell-density='compact'] .arm-shell-chip,
.arm-shell[data-shell-density='compact'] .arm-shell-chip__del { min-height:28px; }
.arm-shell[data-shell-density='compact'] [data-arm-shell-sync='synced'] { display:none; }
@media (max-width: 720px) { .arm-shell-strip__actions, .arm-shell-strip__actions-row { justify-content:flex-start; } }


/* --- P0 premium public shell + role entry fixes --- */
.landing-shell--premium{display:grid;gap:18px}
.landing-hero--premium{position:relative;overflow:hidden;border:1px solid rgba(20,28,24,.08);background:linear-gradient(135deg,rgba(252,251,247,.98),rgba(242,248,244,.96));box-shadow:0 20px 50px rgba(19,27,22,.08)}
.landing-hero--premium::before{content:"";position:absolute;inset:-20% auto auto -10%;width:340px;height:340px;border-radius:999px;background:radial-gradient(circle,rgba(25,164,99,.14),rgba(25,164,99,0));pointer-events:none}
.landing-hero--premium::after{content:"";position:absolute;inset:auto -40px -80px auto;width:280px;height:280px;border-radius:999px;background:radial-gradient(circle,rgba(201,168,106,.16),rgba(201,168,106,0));pointer-events:none}
.heroActionRow{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.heroRoleRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.heroRoleChip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(20,28,24,.1);background:rgba(255,255,255,.78);font-size:12px;font-weight:800;letter-spacing:.02em;color:#213329;backdrop-filter:blur(8px)}
.heroBulletGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:16px}
.heroBullet{padding:12px 14px;border-radius:18px;border:1px solid rgba(20,28,24,.08);background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(19,27,22,.05)}
.heroVisualMeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}
.heroMetric{padding:12px 14px;border-radius:18px;background:rgba(17,24,21,.92);color:#f5f1e8;box-shadow:0 18px 36px rgba(17,24,21,.18)}
.heroMetric b{display:block;font-size:24px;line-height:1.05;margin-top:6px}
.socialProofGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.socialProofGrid .card{min-height:100%}
.lk-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.lk-kpi-grid .kpi{padding:14px 16px;border-radius:18px;border:1px solid rgba(20,28,24,.08);background:rgba(255,255,255,.7);box-shadow:0 12px 26px rgba(19,27,22,.05)}
.lk-orders-skeleton{display:grid;gap:10px}
.lk-order-skeleton{display:grid;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid rgba(20,28,24,.08);background:rgba(255,255,255,.72);box-shadow:0 10px 24px rgba(19,27,22,.05)}
.lk-progress-cell{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hz-workflow-strip{padding:16px 18px;border-radius:22px;border:1px solid rgba(20,28,24,.08);background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(249,247,241,.92));box-shadow:0 14px 30px rgba(19,27,22,.06)}
.hz-workflow-strip__top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.hz-workflow-strip__title{font-weight:900;font-size:18px}
.hz-workflow-strip__meta{margin-top:4px;color:var(--muted);max-width:820px}
.hz-workflow-strip__steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.hz-workflow-step{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;border:1px solid rgba(20,28,24,.08);background:rgba(255,255,255,.8)}
.hz-workflow-step--done{background:rgba(25,164,99,.14);color:#176840;border-color:rgba(25,164,99,.2)}
.hz-workflow-step--current{background:rgba(201,168,106,.18);color:#6a4d15;border-color:rgba(201,168,106,.24)}
.hz-premium-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(17,24,21,.92);color:#f5f1e8;font-size:12px;font-weight:800;letter-spacing:.03em}
.hz-quiet-empty{display:grid;place-items:center;gap:8px;padding:24px 18px;border-radius:20px;border:1px dashed rgba(20,28,24,.12);background:rgba(255,255,255,.56);text-align:center}
.hz-quiet-empty__icon{font-size:32px;line-height:1}
.hz-quiet-empty__title{font-weight:900;font-size:18px}
.hz-quiet-empty__text{max-width:560px;color:var(--muted)}
@media (max-width: 760px){
  .landing-hero--premium{padding:0}
  .heroVisualMeta,.socialProofGrid,.lk-kpi-grid,.heroBulletGrid{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .heroVisualMeta,.socialProofGrid,.lk-kpi-grid,.heroBulletGrid{grid-template-columns:1fr}
  .heroActionRow,.heroRoleRow,.hz-workflow-strip__steps{gap:8px}
}

/* --- public UI curated refresh (landing/auth) --- */
.landing-shell--curated{
  position:relative;
  display:grid;
  gap:20px;
  padding:6px;
}
.landing-shell--curated::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 12%, rgba(25,164,99,.08), rgba(25,164,99,0) 28%),
    radial-gradient(circle at 92% 9%, rgba(201,168,106,.10), rgba(201,168,106,0) 30%),
    radial-gradient(circle at 75% 86%, rgba(59,130,246,.06), rgba(59,130,246,0) 24%),
    url('noise.png');
  background-size:auto,auto,auto,256px 256px;
  opacity:.42;
  z-index:0;
}
.landing-shell--curated > *{position:relative;z-index:1}
.landing-shell--curated .card{
  border-radius:28px;
  border:1px solid rgba(17,24,21,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(249,246,239,.90));
  box-shadow:0 18px 46px rgba(17,24,21,.07);
  backdrop-filter:blur(14px);
}
.heroCard__hd,.heroCard__bd,.heroVisualCard__bd{display:grid;gap:16px}
.heroLead{font-size:16px;line-height:1.72;max-width:720px;color:#465348}
.heroTrustBar{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.heroTrustPill{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 13px;border-radius:999px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(17,24,21,.08);
  color:#243328;font-size:12px;font-weight:800;letter-spacing:.03em;
  box-shadow:0 12px 24px rgba(17,24,21,.04);
}
.heroTrustPill::before{content:"";width:8px;height:8px;border-radius:999px;background:linear-gradient(180deg,#19a463,#0f7a45);box-shadow:0 0 0 4px rgba(25,164,99,.10)}
.heroQuote{
  display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;
  padding:18px 20px;border-radius:22px;
  background:linear-gradient(135deg, rgba(17,24,21,.96), rgba(32,40,34,.92));
  color:#f5f1e8;box-shadow:0 24px 40px rgba(17,24,21,.18);
}
.heroQuote b{display:block;font-size:15px;line-height:1.45}
.heroQuote span{display:block;margin-top:6px;font-size:13px;line-height:1.7;color:rgba(245,241,232,.78)}
.heroQuote__mark{font-size:44px;line-height:.8;font-weight:900;color:rgba(201,168,106,.90)}
.heroVisualCard__bd{gap:14px}
.heroVisualTop{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.heroVisualTop__title{font-size:20px;font-weight:900;letter-spacing:-.03em;line-height:1.1;color:#18241b}
.heroVisual{position:relative}
.heroVisual::after{
  content:"";position:absolute;inset:auto 12% 4% 12%;height:22px;border-radius:999px;
  background:radial-gradient(circle, rgba(17,24,21,.18), rgba(17,24,21,0));filter:blur(12px);pointer-events:none;
}
.heroSurfaceGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:12px}
.heroSurfaceCard{
  padding:16px 18px;border-radius:22px;border:1px solid rgba(17,24,21,.08);
  background:rgba(255,255,255,.74);display:grid;gap:8px;
}
.heroSurfaceCard b{font-size:16px;line-height:1.35;color:#17231a}
.heroSurfaceCard span{font-size:13px;line-height:1.68;color:#536257}
.heroSurfaceCard__eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#6a4d15}
.heroSurfaceCard--dark{
  background:linear-gradient(135deg, rgba(17,24,21,.94), rgba(28,35,30,.90));
  color:#f5f1e8;border-color:rgba(255,255,255,.06)
}
.heroSurfaceCard--dark b,.heroSurfaceCard--dark span{color:inherit}
.heroSurfaceCard--dark span{color:rgba(245,241,232,.76)}
.heroSurfaceCard--dark .heroSurfaceCard__eyebrow{color:#d7c59a}
.landing-ribbon{margin-top:-2px}
.landing-showcase{display:grid;gap:16px}
.showcaseHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap}
.showcasePills{display:flex;gap:8px;flex-wrap:wrap}
.showcaseGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.showcaseCard{overflow:hidden;padding:0;display:grid;grid-template-rows:180px 1fr;min-height:100%}
.showcaseCard__art{position:relative;overflow:hidden}
.showcaseCard__art::before,
.showcaseCard__art::after{content:"";position:absolute;inset:auto}
.showcaseCard--kitchen .showcaseCard__art{
  background:
    linear-gradient(140deg, rgba(255,255,255,.20), rgba(255,255,255,0)),
    linear-gradient(135deg, #243027 0%, #506154 56%, #d4c3a0 100%);
}
.showcaseCard--wardrobe .showcaseCard__art{
  background:
    linear-gradient(140deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    linear-gradient(135deg, #33271d 0%, #7a6351 54%, #f2ead9 100%);
}
.showcaseCard--ops .showcaseCard__art{
  background:
    linear-gradient(140deg, rgba(255,255,255,.16), rgba(255,255,255,0)),
    linear-gradient(135deg, #191d24 0%, #344154 48%, #7488a5 100%);
}
.showcaseCard__art::before{left:18px;right:18px;top:22px;height:16px;border-radius:999px;background:rgba(255,255,255,.34)}
.showcaseCard__art::after{left:18px;right:18px;bottom:24px;height:92px;border-radius:22px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.showcaseCard__body{padding:18px 18px 20px;display:grid;gap:8px}
.showcaseCard__eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#6b7280}
.showcaseCard__body b{font-size:18px;line-height:1.28;color:#17231a}
.showcaseCard__body span{font-size:13px;line-height:1.7;color:#556459}
.socialProofCard{display:grid;gap:10px;min-height:100%}
.socialProofCard__eyebrow,.priceTier__eyebrow,.faqAside__eyebrow,.demoAside__eyebrow{
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#6a4d15
}
.socialProofMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}
.socialProofPills{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.socialProofPills span{
  display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;
  background:rgba(17,24,21,.06);border:1px solid rgba(17,24,21,.08);font-size:11px;font-weight:800;color:#314038
}
.landing-demo-card{overflow:hidden}
.demoShell{display:grid;grid-template-columns:1.05fr .76fr 1fr;gap:14px;align-items:start}
.demoPane{min-width:0}
.demoPane--form,.demoPane--aside,.demoPane--result{
  padding:18px;border-radius:24px;border:1px solid rgba(17,24,21,.08);background:rgba(255,255,255,.74)
}
.demoPane--aside{
  background:linear-gradient(145deg, rgba(17,24,21,.95), rgba(29,36,31,.92));
  color:#f5f1e8;box-shadow:0 22px 36px rgba(17,24,21,.16)
}
.demoAside__title{font-size:24px;font-weight:900;line-height:1.08;letter-spacing:-.03em;margin-top:8px}
.demoAsideList{display:grid;gap:10px;margin-top:16px}
.demoAsideItem{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:flex-start}
.demoAsideItem b{
  width:28px;height:28px;display:grid;place-items:center;border-radius:999px;
  background:rgba(201,168,106,.18);color:#f7e6be;font-size:13px;font-weight:900
}
.demoAsideItem span{font-size:13px;line-height:1.7;color:rgba(245,241,232,.82)}
.demoAsidePanel{margin-top:18px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}
.demoAsidePanel__title{font-size:14px;font-weight:900;color:#f5f1e8;margin-bottom:6px}
.demoPane--result{min-height:100%}
.pricingCardWrap .trustCard{gap:10px}
.priceTier{display:grid;gap:8px}
.priceList li{position:relative;padding-left:16px}
.priceList li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:999px;background:linear-gradient(180deg,#19a463,#0f7a45)}
.faqShell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:16px;align-items:start}
.faqAside{
  padding:18px;border-radius:24px;border:1px solid rgba(17,24,21,.08);
  background:linear-gradient(135deg, rgba(250,247,240,.98), rgba(241,248,243,.92));
  box-shadow:0 18px 36px rgba(17,24,21,.05)
}
.faqAside__title{font-size:22px;font-weight:900;line-height:1.12;letter-spacing:-.03em;margin:8px 0 10px;color:#17231a}
.authShell--premium{display:grid;grid-template-columns:minmax(280px,.94fr) minmax(0,1.06fr);gap:16px;max-width:1080px;margin:0 auto}
.authAside{display:grid;align-content:start;gap:14px;padding:24px;background:linear-gradient(135deg, rgba(17,24,21,.96), rgba(30,37,31,.92));color:#f5f1e8}
.authAside .h2{color:#fff}
.authAside .p{color:rgba(245,241,232,.78)}
.authBenefitList{display:grid;gap:10px;margin-top:2px}
.authBenefit{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09);display:grid;gap:5px}
.authBenefit b{font-size:14px;color:#fff}
.authBenefit span{font-size:13px;line-height:1.62;color:rgba(245,241,232,.78)}
.authPanel{padding:6px}
.authPanel__bd{display:grid;gap:12px}
.authActionRow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.authFootNote{font-size:14px;color:var(--muted)}
.authFootNote a{font-weight:800}
.stickyCta{
  border-radius:20px;
  background:linear-gradient(135deg, rgba(17,24,21,.94), rgba(28,35,30,.92));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 26px 48px rgba(17,24,21,.22)
}
.stickyCta .input{background:rgba(255,255,255,.92)}
.demoPreset{padding:8px 12px;border-radius:999px;border:1px solid rgba(17,24,21,.10);background:rgba(255,255,255,.7);font-size:12px;font-weight:800;color:#213329}
.demoPreset.active{background:rgba(25,164,99,.12);border-color:rgba(25,164,99,.22);box-shadow:0 10px 20px rgba(25,164,99,.08)}
@media (max-width: 1120px){
  .demoShell{grid-template-columns:1fr 1fr}
  .demoPane--result{grid-column:1 / -1}
}
@media (max-width: 980px){
  .showcaseGrid,.faqShell,.authShell--premium,.heroSurfaceGrid{grid-template-columns:1fr}
  .demoShell{grid-template-columns:1fr}
  .showcaseHead,.heroVisualTop{align-items:flex-start}
}
@media (max-width: 760px){
  .landing-shell--curated{padding:0}
  .landing-shell--curated .card{border-radius:22px}
  .heroQuote{grid-template-columns:1fr}
  .socialProofMetrics{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .heroLead{font-size:15px}
  .heroVisualTop__title{font-size:18px}
  .demoAside__title,.faqAside__title{font-size:20px}
  .socialProofMetrics{grid-template-columns:1fr}
  .heroTrustBar,.showcasePills{gap:6px}
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"] .landing-shell--curated .card,
  :root[data-theme="auto"] .faqAside,
  :root[data-theme="auto"] .demoPane--form,
  :root[data-theme="auto"] .demoPane--result,
  :root[data-theme="auto"] .showcaseCard,
  :root[data-theme="auto"] .heroSurfaceCard{
    background:linear-gradient(180deg, rgba(18,22,27,.94), rgba(12,16,20,.92));
    border-color:rgba(255,255,255,.08);
    color:var(--text);
  }
  :root[data-theme="auto"] .heroLead,
  :root[data-theme="auto"] .showcaseCard__body span,
  :root[data-theme="auto"] .heroSurfaceCard span,
  :root[data-theme="auto"] .socialProofPills span,
  :root[data-theme="auto"] .authFootNote{color:var(--muted)}
  :root[data-theme="auto"] .heroVisualTop__title,
  :root[data-theme="auto"] .showcaseCard__body b,
  :root[data-theme="auto"] .faqAside__title,
  :root[data-theme="auto"] .heroSurfaceCard b{color:var(--text)}
  :root[data-theme="auto"] .heroTrustPill,
  :root[data-theme="auto"] .heroRoleChip,
  :root[data-theme="auto"] .demoPreset,
  :root[data-theme="auto"] .socialProofPills span{
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.08);
    color:var(--text);
  }
}
:root[data-theme="dark"] .landing-shell--curated .card,
:root[data-theme="dark"] .faqAside,
:root[data-theme="dark"] .demoPane--form,
:root[data-theme="dark"] .demoPane--result,
:root[data-theme="dark"] .showcaseCard,
:root[data-theme="dark"] .heroSurfaceCard{
  background:linear-gradient(180deg, rgba(18,22,27,.94), rgba(12,16,20,.92));
  border-color:rgba(255,255,255,.08);
  color:var(--text);
}
:root[data-theme="dark"] .heroLead,
:root[data-theme="dark"] .showcaseCard__body span,
:root[data-theme="dark"] .heroSurfaceCard span,
:root[data-theme="dark"] .socialProofPills span,
:root[data-theme="dark"] .authFootNote{color:var(--muted)}
:root[data-theme="dark"] .heroVisualTop__title,
:root[data-theme="dark"] .showcaseCard__body b,
:root[data-theme="dark"] .faqAside__title,
:root[data-theme="dark"] .heroSurfaceCard b{color:var(--text)}
:root[data-theme="dark"] .heroTrustPill,
:root[data-theme="dark"] .heroRoleChip,
:root[data-theme="dark"] .demoPreset,
:root[data-theme="dark"] .socialProofPills span{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.08);
  color:var(--text);
}

/* === Public Facades Studio / teaser === */
.facadesTeaserSection{
  margin-top:24px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.95fr);
  gap:18px;
  padding:22px;
  border:1px solid color-mix(in srgb, var(--border) 78%, rgba(201,168,106,.28));
  background:
    radial-gradient(circle at top right, rgba(201,168,106,.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.94));
  box-shadow:0 28px 72px rgba(15,23,42,.08);
}
.facadesTeaserSection__copy{ display:flex; flex-direction:column; gap:14px; }
.facadesTeaserPills{ display:flex; flex-wrap:wrap; gap:8px; }
.facadesTeaserSection__grid{ display:grid; gap:12px; align-content:start; }
.facadesTeaserCard{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid color-mix(in srgb, var(--border) 78%, rgba(15,23,42,.08));
  background:rgba(255,255,255,.82);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.facadesTeaserCard--accent{
  background:linear-gradient(180deg, rgba(16,185,129,.08), rgba(255,255,255,.92));
  border-color:rgba(16,185,129,.18);
}
.facadesTeaserCard__eyebrow,
.facadesStudioBlock__eyebrow,
.facadesStudioPromoCard__eyebrow,
.facadesStudioReviewCard__role{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(15,23,42,.52);
}
.facadesTeaserCard b,
.facadesStudioBlock__title,
.facadesStudioPromoCard b,
.facadesStudioContactItem b{
  font-size:18px;
  line-height:1.28;
  color:rgba(15,23,42,.92);
}
.facadesTeaserCard span,
.facadesStudioPromoCard span,
.facadesStudioReviewCard p,
.facadesStudioContactItem span{
  color:rgba(15,23,42,.68);
  line-height:1.55;
}
.facadesStudioPage{ display:flex; flex-direction:column; gap:22px; }
.facadesStudioLayout{
  display:grid;
  grid-template-columns:minmax(300px,.92fr) minmax(0,1.28fr);
  gap:18px;
  align-items:start;
}
.facadesStudioAside{ display:grid; gap:14px; align-content:start; }
.facadesStudioBlock,
.facadesStudioPromoCard,
.facadesStudioReviewCard,
.facadesStudioContactItem{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid color-mix(in srgb, var(--border) 80%, rgba(15,23,42,.08));
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 42px rgba(15,23,42,.06);
}
.facadesStudioPromoGrid,
.facadesStudioReviewGrid,
.facadesStudioContactGrid{
  display:grid;
  gap:12px;
}
.facadesStudioPromoGrid{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.facadesStudioPromoCard small{
  display:inline-flex;
  align-self:flex-start;
  margin-top:2px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  color:rgba(15,23,42,.7);
  font-weight:700;
}
.facadesStudioReviewGrid{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.facadesStudioReviewCard{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.facadesStudioReviewCard__head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.facadesStudioReviewCard__head span{ color:#c9a86a; font-size:14px; letter-spacing:.08em; }
.facadesStudioReviewCard small{ color:rgba(15,23,42,.48); }
.facadesStudioContactGrid{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.facadesStudioFrame{
  overflow:hidden;
  border:1px solid color-mix(in srgb, var(--border) 72%, rgba(201,168,106,.28));
  background:
    radial-gradient(circle at top left, rgba(16,185,129,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95));
}
.facadesStudioFrame__meta{ display:flex; flex-wrap:wrap; gap:8px; }
.facadesStudioFrame__bd{ padding:0 !important; }
.facadesStudioFrame__iframe{
  display:block;
  width:100%;
  min-height:78vh;
  border:0;
  background:#fff;
}
@media (max-width: 1120px){
  .facadesTeaserSection,
  .facadesStudioLayout{ grid-template-columns:1fr; }
}
@media (max-width: 720px){
  .facadesTeaserSection{ padding:18px; }
  .facadesStudioFrame__iframe{ min-height:68vh; }
}

/* ═══════════════════════════════════════════════════════════════════
   PREMIUM UI PASS v1.2.141 — Landing + ARM polish
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. Landing scroll reveal ──────────────────────────────────── */
.hz-reveal { opacity:0; transform:translateY(24px); transition:opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1); }
.hz-reveal.hz-visible { opacity:1; transform:translateY(0); }
.hz-reveal[data-delay="1"] { transition-delay:.12s; }
.hz-reveal[data-delay="2"] { transition-delay:.24s; }
.hz-reveal[data-delay="3"] { transition-delay:.36s; }

/* ── 2. Landing hero shimmer skeleton ──────────────────────────── */
.hz-skeleton-shimmer { position:relative; overflow:hidden; background:var(--surface,#f1f5f9); border-radius:12px; }
.hz-skeleton-shimmer::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%); animation:hz-shimmer 1.5s infinite; }
@keyframes hz-shimmer { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

/* ── 3. Magnetic button hover ──────────────────────────────────── */
.btn.primary { position:relative; overflow:hidden; }
.btn.primary::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.15),transparent 60%); opacity:0; transition:opacity .3s; pointer-events:none; }
.btn.primary:hover::before { opacity:1; }

/* ── 4. Card tilt on hover ─────────────────────────────────────── */
.showcaseCard, .heroSurfaceCard { transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s; }
.showcaseCard:hover, .heroSurfaceCard:hover { transform:translateY(-4px) scale(1.01); box-shadow:0 12px 40px rgba(0,0,0,.08); }

/* ── 5. ARM tab transitions ────────────────────────────────────── */
.arm-panel { animation:hz-fadeIn .25s ease-out; }
@keyframes hz-fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* ── 6. ARM empty states ───────────────────────────────────────── */
.arm-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:64px 24px; text-align:center; gap:12px; color:var(--text-secondary,#64748b); }
.arm-empty-state__icon { font-size:48px; opacity:.4; margin-bottom:8px; }
.arm-empty-state__title { font-size:18px; font-weight:600; color:var(--text,#1e293b); }
.arm-empty-state__sub { font-size:14px; max-width:360px; line-height:1.5; }
.arm-empty-state .btn { margin-top:12px; }

/* ── 7. ARM density picker visual ──────────────────────────────── */
.arm-density-toggle { display:inline-flex; border:1px solid var(--border,#e2e8f0); border-radius:8px; overflow:hidden; }
.arm-density-toggle__opt { padding:4px 12px; font-size:12px; cursor:pointer; background:transparent; border:none; color:var(--text-secondary); transition:all .2s; }
.arm-density-toggle__opt.active { background:var(--accent,#19a463); color:#fff; }
.arm-density-toggle__opt:hover:not(.active) { background:var(--surface-hover,#f1f5f9); }

/* ── 8. Order timeline stepper ─────────────────────────────────── */
.hz-timeline-stepper { display:flex; gap:0; align-items:flex-start; padding:16px 0; overflow-x:auto; }
.hz-timeline-step { display:flex; flex-direction:column; align-items:center; flex:1; min-width:80px; position:relative; }
.hz-timeline-step__dot { width:28px; height:28px; border-radius:50%; border:2px solid var(--border); background:var(--bg,#fff); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; z-index:1; transition:all .3s; }
.hz-timeline-step--done .hz-timeline-step__dot { background:var(--accent,#19a463); border-color:var(--accent); color:#fff; }
.hz-timeline-step--current .hz-timeline-step__dot { border-color:var(--accent); box-shadow:0 0 0 4px rgba(25,164,99,.15); }
.hz-timeline-step__label { font-size:11px; margin-top:6px; text-align:center; color:var(--text-secondary); max-width:90px; }
.hz-timeline-step--done .hz-timeline-step__label { color:var(--text); font-weight:500; }
.hz-timeline-step::after { content:''; position:absolute; top:14px; left:50%; width:100%; height:2px; background:var(--border); z-index:0; }
.hz-timeline-step:last-child::after { display:none; }
.hz-timeline-step--done::after { background:var(--accent); }

/* ── 9. Error boundary (ARM) ───────────────────────────────────── */
.arm-error-boundary { padding:32px 24px; text-align:center; color:var(--text-secondary); border:1px dashed var(--border); border-radius:12px; margin:24px; }
.arm-error-boundary::before { content:'⚠'; display:block; font-size:36px; margin-bottom:12px; opacity:.4; }

/* ── 10. Trust badges bar ──────────────────────────────────────── */
.hz-trust-bar { display:flex; align-items:center; justify-content:center; gap:32px; padding:16px 0; flex-wrap:wrap; }
.hz-trust-badge { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); }
.hz-trust-badge__num { font-size:20px; font-weight:800; color:var(--text); }

/* ── 11. Promo topbar animation ────────────────────────────────── */
.hz-promo-bar { animation:hz-slideDown .4s ease-out; }
@keyframes hz-slideDown { from{transform:translateY(-100%)} to{transform:translateY(0)} }

/* ── 12. Kanban card age — styles already in main CSS as .kb-card__age-bar ── */

/* ── 13. Glassmorphism for modals ──────────────────────────────── */
.hz-modal-backdrop { backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.hz-confirm-drawer { backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); background:rgba(var(--bg-rgb,255,255,255),.85); }

/* ── 14. Premium input focus ───────────────────────────────────── */
input:focus, select:focus, textarea:focus { outline:none; box-shadow:0 0 0 3px rgba(25,164,99,.15); border-color:var(--accent,#19a463) !important; transition:box-shadow .2s, border-color .2s; }

/* ── 15. Smooth scrollbar ──────────────────────────────────────── */
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:rgba(0,0,0,.12); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:rgba(0,0,0,.24); }

/* ── ARM Density Modes ─────────────────────────────────────────── */
.arm-shell[data-shell-density="compact"] { --arm-row-h:28px; --arm-cell-pad:2px 6px; --arm-font:12px; }
.arm-shell[data-shell-density="comfortable"] { --arm-row-h:36px; --arm-cell-pad:4px 10px; --arm-font:13px; }
.arm-shell[data-shell-density="spacious"] { --arm-row-h:44px; --arm-cell-pad:8px 14px; --arm-font:14px; }
.arm-shell .ag-row { height:var(--arm-row-h,36px) !important; }
.arm-shell .ag-cell { padding:var(--arm-cell-pad,4px 10px); font-size:var(--arm-font,13px); }
.arm-shell .kb-card { padding:var(--arm-cell-pad,8px 10px); font-size:var(--arm-font,13px); }

/* ── Page transition for boot router ───────────────────────────── */
.hz-page-enter { animation:hz-pageEnter .3s ease-out; }
@keyframes hz-pageEnter { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

/* ── Skeleton shimmer for ARM tab loading ──────────────────────── */
.arm-view--transitioning .hz-page-skeleton { opacity:1; }
.arm-view--transitioning { min-height:300px; }

/* ── KPI animated cards (from v100) ───────────────────────────── */
.kpis { display:grid; gap:10px; margin-top:16px; }
.kpi-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:12px; background:rgba(25,164,99,.08); transition:transform .3s var(--ease,cubic-bezier(.22,1,.36,1)); flex-shrink:0; }
.kpi-svg { width:28px; height:28px; color:var(--brand,#19a463); }
.kpi.kpi-ani { display:flex; flex-direction:column; cursor:default; gap:4px; padding:12px 14px; border-radius:16px; border:1px solid rgba(20,28,24,.06); background:rgba(255,255,255,.7); }
.kpi.kpi-ani:hover .kpi-icon { transform:scale(1.12) rotate(-4deg); }
.kpi-svg-path { stroke-dasharray:60; stroke-dashoffset:0; transition:stroke-dashoffset .4s var(--ease,ease); }
.kpi-svg-circle { stroke-dasharray:44; stroke-dashoffset:0; transition:stroke-dashoffset .4s var(--ease,ease); }
.kpi.kpi-ani:hover .kpi-svg-path, .kpi.kpi-ani:hover .kpi-svg-circle { stroke-dashoffset:60; }
.kpi.kpi-ani:hover .kpi-svg-circle { stroke-dashoffset:44; }
.kpi.kpi-ani b { font-size:15px; font-weight:800; }
.kpi.kpi-ani .p { font-size:13px; margin:0; }
.heroCard--premium { border:none; }
.heroVisualCard--premium { border:none; }

/* ═══════════════════════════════════════════════════════════════════
   V55 PREMIUM DESIGN SYSTEM — Editorial Warm Override
   ═══════════════════════════════════════════════════════════════════ */
:root {
  --v55-bg: #f8f6f3; --v55-bg2: #f2efe9; --v55-white: #fff;
  --v55-ink: #1a1714; --v55-ink-soft: rgba(26,23,20,.55); --v55-ink-muted: rgba(26,23,20,.30);
  --v55-accent: #8b7355; --v55-accent-rgb: 139,115,85;
  --v55-green: #3d6b4f; --v55-green-light: rgba(61,107,79,.07);
  --v55-border: rgba(26,23,20,.07);
  --v55-serif: 'Playfair Display', Georgia, serif;
  --v55-sans: 'Outfit', -apple-system, sans-serif;
  --v55-mono: 'JetBrains Mono', monospace;
  --v55-r-lg: 24px; --v55-r-xl: 28px; --v55-r-pill: 999px;
  --v55-shadow: 0 14px 44px rgba(26,23,20,.06);
  --v55-shadow-hover: 0 22px 60px rgba(26,23,20,.12);
  --v55-ease: cubic-bezier(.22,1,.36,1);
  --v55-grad: linear-gradient(135deg, #8b7355, #7a6548);
}

/* ── Body warm tone ── */
body { background: var(--v55-bg); font-family: var(--v55-sans); color: var(--v55-ink); -webkit-font-smoothing: antialiased; }
body::after { content:''; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.015; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:256px; }

/* ── Typography override ── */
.h1 { font-family: var(--v55-serif) !important; font-size: clamp(32px,4.5vw,56px) !important; font-weight: 400 !important; line-height: 1.05 !important; letter-spacing: -.03em !important; color: var(--v55-ink); }
.h2 { font-family: var(--v55-serif) !important; font-size: clamp(24px,3vw,40px) !important; font-weight: 400 !important; line-height: 1.1 !important; letter-spacing: -.02em; }
.h2::after { content:''; display:block; width:40px; height:3px; border-radius:2px; background:var(--v55-grad); margin-top:14px; }
.h3 { font-family: var(--v55-serif) !important; font-size: 22px !important; font-weight: 400 !important; }
.heroMicro { font-family: var(--v55-mono) !important; font-size: 11px !important; color: var(--v55-accent) !important; letter-spacing: .14em !important; text-transform: uppercase; font-weight: 600; }

/* ── Topbar warm glass ── */
.topbar { background: rgba(248,246,243,.88) !important; backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); border-bottom: 1px solid var(--v55-border) !important; }
.brand { font-family: var(--v55-serif); font-size: 22px; font-weight: 700; }

/* ── Cards premium ── */
.card { border-radius: var(--v55-r-lg) !important; border: 1px solid var(--v55-border) !important; box-shadow: 0 8px 32px rgba(26,23,20,.05) !important; transition: transform .4s var(--v55-ease), box-shadow .4s, border-color .4s !important; }
.card:hover { transform: translateY(-4px); box-shadow: var(--v55-shadow-hover) !important; border-color: rgba(139,115,85,.15) !important; }

/* ── Buttons V55 ── */
.btn.primary, .btn--primary { background: var(--v55-grad) !important; color: #fff !important; border: none !important; border-radius: var(--v55-r-pill) !important; box-shadow: 0 8px 24px rgba(26,23,20,.18); font-weight: 700; padding: 14px 32px; height: auto; }
.btn.primary:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(26,23,20,.22) !important; }
.btn:not(.primary) { border-radius: var(--v55-r-pill) !important; border: 1.5px solid rgba(26,23,20,.12) !important; background: var(--v55-white); font-weight: 600; }
.btn:not(.primary):hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(26,23,20,.08); border-color: rgba(26,23,20,.2) !important; }

/* ── Landing shell ── */
.landing-shell--premium { background: var(--v55-bg); }
.landing-shell--curated::before { background: radial-gradient(1100px 500px at 15% 30%, rgba(139,115,85,.04), transparent 50%); }

/* ── Hero premium ── */
.landing-hero--premium { background: var(--v55-white) !important; border: 1px solid var(--v55-border) !important; box-shadow: var(--v55-shadow) !important; border-radius: var(--v55-r-xl) !important; overflow: hidden; }
.landing-hero--premium::before, .landing-hero--premium::after { display: none; }
.heroCard--premium, .heroVisualCard--premium { border: none !important; box-shadow: none !important; background: transparent !important; }
.heroCard--premium:hover, .heroVisualCard--premium:hover { transform: none !important; box-shadow: none !important; }

/* ── KPI cards V55 style ── */
.kpi-icon { background: rgba(139,115,85,.08) !important; border-radius: 14px; }
.kpi-svg { color: var(--v55-accent) !important; }
.kpi.kpi-ani { border-radius: 18px; border: 1px solid rgba(26,23,20,.06); background: rgba(255,255,255,.7); }
.kpi.kpi-ani:hover { background: rgba(139,115,85,.04); border-color: rgba(139,115,85,.15); }
.kpi.kpi-ani:hover .kpi-icon { background: var(--v55-green-light); }
.kpi.kpi-ani:hover .kpi-svg { color: var(--v55-green) !important; }

/* ── Hero visual ── */
.heroVisual { border-radius: 20px; background: linear-gradient(155deg, #ede8df, #e6e0d5) !important; border: 1px solid rgba(26,23,20,.06) !important; box-shadow: 0 14px 44px rgba(26,23,20,.06); }

/* ── Hero surface cards ── */
.heroSurfaceCard { border-radius: 18px !important; background: var(--v55-bg2) !important; border: 1px solid var(--v55-border) !important; }
.heroSurfaceCard__eyebrow { font-family: var(--v55-mono) !important; font-size: 10px !important; color: var(--v55-accent) !important; letter-spacing: .14em !important; text-transform: uppercase; font-weight: 600; }
.heroSurfaceCard--dark { background: var(--v55-ink) !important; color: #fff !important; }
.heroSurfaceCard--dark .heroSurfaceCard__eyebrow { color: rgba(255,255,255,.5) !important; }

/* ── Trust badges V55 ── */
.hz-trust-bar { padding: 28px 0; border-bottom: 1px solid var(--v55-border); }
.hz-trust-badge__num { font-family: var(--v55-serif) !important; font-size: 28px !important; color: var(--v55-ink) !important; }

/* ── Showcase cards ── */
.showcaseCard { border-radius: var(--v55-r-lg) !important; overflow: hidden; }
.showcaseCard__eyebrow { font-family: var(--v55-mono) !important; font-size: 10px !important; color: var(--v55-accent) !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.showcaseCard:hover { transform: translateY(-6px) !important; box-shadow: 0 24px 64px rgba(26,23,20,.1) !important; }
.showcaseCard--kitchen .showcaseCard__art { background: linear-gradient(155deg, #ede8df, #e6e0d5) !important; }
.showcaseCard--wardrobe .showcaseCard__art { background: linear-gradient(155deg, #e4e4ec, #dcdce6) !important; }
.showcaseCard--ops .showcaseCard__art { background: linear-gradient(155deg, #dfe8df, #d5e0d5) !important; }

/* ── Scroll story ── */
.ssTag { font-family: var(--v55-mono) !important; font-size: 10px !important; color: var(--v55-accent) !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.ssStep b { font-family: var(--v55-serif); font-size: 24px; color: var(--v55-accent); }
.ssCard { border-radius: 20px !important; }

/* ── Pricing ── */
.priceTier__eyebrow { font-family: var(--v55-mono) !important; font-size: 10px !important; color: var(--v55-accent) !important; letter-spacing: .14em; text-transform: uppercase; }
.priceTag { font-family: var(--v55-serif) !important; font-size: 28px !important; color: var(--v55-green) !important; }
.trustCard.recommended { border-color: rgba(139,115,85,.2) !important; background: linear-gradient(180deg, rgba(139,115,85,.03), rgba(139,115,85,.01)) !important; }

/* ── FAQ V55 ── */
.faqQ { font-family: var(--v55-sans) !important; font-size: 16px !important; font-weight: 600; }
.faqAside { border-radius: 20px !important; background: var(--v55-bg2) !important; }
.faqAside__eyebrow { font-family: var(--v55-mono) !important; font-size: 10px !important; color: var(--v55-accent) !important; letter-spacing: .14em; text-transform: uppercase; }

/* ── Demo section ── */
.demoPreset.active { background: rgba(139,115,85,.1) !important; border-color: rgba(139,115,85,.2) !important; color: var(--v55-accent) !important; }

/* ── Section dividers ── */
.landing-shell--premium > section + section::before { content:''; display:block; width:48px; height:1px; background: var(--v55-accent); margin: 0 auto 32px; opacity: .3; }
.landing-shell--premium > section:first-child::before { display: none; }

/* ── Premium inputs ── */
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 4px rgba(139,115,85,.08) !important; border-color: rgba(139,115,85,.18) !important; }

/* ── Scroll reveal (keep existing) ── */
.hz-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s var(--v55-ease); }
.hz-reveal.hz-visible { opacity: 1; transform: none; }

/* ── Showcase card art SVG fix ── */
.showcaseCard__art { display:flex; align-items:center; justify-content:center; }
.showcaseCard__art svg { width:100%; height:100%; }

/* ── Fix: Scroll Story balanced layout ── */
.ss { grid-template-columns: 340px 1fr !important; gap: 24px !important; }
.ssLeft { min-width: 300px; }
.ssStep { padding: 14px 16px; border-radius: 18px; }
.ssStep b { font-family: var(--v55-serif, 'Playfair Display', serif); font-size: 22px; color: var(--v55-accent, #8b7355); background: rgba(139,115,85,.08); border-radius: 12px; width: 36px; height: 36px; }
.ssStep .t { font-size: 15px; }
.ssStep .p { font-size: 13px; }
.ssStep.is-active { border-color: rgba(139,115,85,.3); box-shadow: 0 12px 36px rgba(26,23,20,.08); background: var(--v55-white, #fff); }
.ssStep:hover { border-color: rgba(139,115,85,.2); }
.ssRail { background: rgba(139,115,85,.12) !important; }
.ssCard { border-radius: var(--v55-r-lg, 24px) !important; padding: 24px !important; min-height: 240px; }
.ssCard.is-active { border-color: rgba(139,115,85,.25); background: var(--v55-white, #fff); }
.ssCard:not(.is-active) { display: none; }
.ssCard .h3 { margin-bottom: 12px; }
.ssMock { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.ssChip, .ssExplainLine, .ssFile { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--v55-border, rgba(26,23,20,.07)); background: rgba(248,246,243,.8); display: flex; justify-content: space-between; font-size: 13px; }
.ssChip b, .ssExplainLine b, .ssFile b { font-weight: 800; color: var(--v55-ink, #1a1714); }

/* ── Fix: Demo section — 2 columns (no aside) ── */
.landing-demo-card .demoShell { grid-template-columns: 1fr 1fr !important; }
.landing-demo-card .demoPane--form { grid-column: auto; }
.landing-demo-card .demoPane--result { grid-column: auto; }
.demoSummary { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; }
.demoStat { padding: 16px; border-radius: 18px; border: 1px solid var(--v55-border, rgba(26,23,20,.07)); background: var(--v55-white, #fff); text-align: center; }
.demoStat b { font-family: var(--v55-serif, 'Playfair Display', serif); font-size: 22px; display: block; margin: 4px 0; }
.demoStatIco { font-size: 24px; display: block; margin-bottom: 4px; }
.demoForm { display: flex; flex-direction: column; gap: 0; }
.demoGrid { gap: 16px !important; }
.demoField span { font-family: var(--v55-sans, 'Outfit', sans-serif); font-weight: 700; font-size: 14px; }
.demoForm input[type="number"] { border-radius: 14px !important; padding: 14px 14px !important; border: 1.4px solid var(--v55-border) !important; background: var(--v55-bg, #f8f6f3) !important; font-family: var(--v55-sans) !important; font-weight: 600; font-size: 14px; }
.demoPreset { padding: 8px 18px; border-radius: var(--v55-r-pill, 999px); border: 1.4px solid var(--v55-border, rgba(26,23,20,.07)); font-weight: 600; font-size: 13px; }
.demoSvgHost { border-radius: 18px; overflow: hidden; border: 1px solid var(--v55-border); }

@media (max-width: 768px) {
  .ss { grid-template-columns: 1fr !important; }
  .ssCard:not(.is-active) { display: none; }
  .landing-demo-card .demoShell { grid-template-columns: 1fr !important; }
  .ssMock { grid-template-columns: 1fr; }
}

/* ── Fix: Showcase cards — fixed height, no stretch ── */
.showcaseCard { min-height: auto !important; grid-template-rows: 180px auto !important; }
.showcaseCard__body { padding: 20px !important; }
.showcaseCard:hover { transform: translateY(-4px) !important; }

/* ── Fix: Demo — placeholder in empty result pane ── */
.demoPane--result:not(:has(.demoResult[style*="block"])):not(:has(.demoError[style*="block"])) {
  display: flex; align-items: center; justify-content: center; min-height: 300px;
  border: 1.4px dashed var(--v55-border, rgba(26,23,20,.10)); border-radius: 20px;
  background: rgba(248,246,243,.6);
}
.demoPane--result:not(:has(.demoResult[style*="block"])):not(:has(.demoError[style*="block"]))::after {
  content: 'Нажмите «Рассчитать демо» — здесь появится раскладка, отход и explain';
  font-size: 14px; color: rgba(26,23,20,.30); text-align: center; padding: 24px; max-width: 240px; line-height: 1.6;
}
/* Hide placeholder children when result not shown */
.demoPane--result .demoError[style*="display:none"],
.demoPane--result .demoResult[style*="display:none"] { position: absolute; pointer-events: none; }

/* ── Fix: Demo result shown — normal layout ── */
.demoPane--result:has(.demoResult[style*="block"]) { display: block; min-height: auto; border: none; background: transparent; }
.demoPane--result:has(.demoResult[style*="block"])::after { display: none; }

/* ── Demo placeholder: SVG illustration ── */
.demoPane--result .demo-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:340px; padding:32px; text-align:center; gap:16px; }
.demoPane--result .demo-placeholder svg { width:200px; height:auto; opacity:.6; }
.demoPane--result .demo-placeholder p { font-size:14px; color:var(--v55-ink-muted, rgba(26,23,20,.30)); max-width:220px; line-height:1.6; }
.demoPane--result:has(.demoResult[style*="block"]) .demo-placeholder { display:none; }

/* ── Hotfix v3.0.47-r50: stable demo result layout without brittle :has checks ── */
.landing-demo-card .demoShell{
  grid-template-columns:1fr 1fr !important;
  align-items:start !important;
}
@media (max-width: 768px){
  .landing-demo-card .demoShell{ grid-template-columns:1fr !important; }
}
.demoPane--result{
  display:block !important;
  min-height:0 !important;
  border:1px solid var(--v55-border, rgba(26,23,20,.07)) !important;
  background:rgba(255,255,255,.74) !important;
}
.demoPane--result::after{
  content:none !important;
  display:none !important;
}
.demoPane--result .demoError[style*="display:none"],
.demoPane--result .demoResult[style*="display:none"]{
  position:static !important;
  pointer-events:none !important;
}
.demoPane--result .demoResult{
  width:100% !important;
}
.demoPane--result .demoSummary{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.demoPane--result .demo-placeholder{
  display:flex;
  min-height:340px;
}
.demoPane--result.is-ready .demo-placeholder{
  display:none !important;
}
.demoPane--result.is-ready .demoResult{
  position:relative !important;
  pointer-events:auto !important;
}

/* v3.0.1: ARM React dock — inline strip (не плавающий пузырь) */
.arm-workstation ~ #hzArmDock,
.arm-main-col #hzArmDock,
.arm-shell #hzArmDock {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background: var(--surface) !important;
  padding: 8px 16px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: all !important;
  white-space: normal !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: none !important;
}
/* Кнопка Создать заказ — accent акцент */
#armCreateOrderBtn {
  background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 1px 4px rgba(15,118,110,.25) !important;
}
#armCreateOrderBtn:hover {
  background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%) !important;
  box-shadow: 0 2px 8px rgba(15,118,110,.35) !important;
}
/* KPI обновление — статусбар pill */
.arm-shell-statuspill { gap: 5px; }

/* ═══════════════════════════════════════════════════════════════
   LDSP v3.0.3 — PREMIUM UI SYSTEM
   Анимации, эффекты, подсказки, SVG, hover, transitions
   ═══════════════════════════════════════════════════════════════ */

/* ── Keyframes ─────────────────────────────────────────────────── */
@keyframes px-fade-up   { from { opacity:0; transform:translateY(12px) } to { opacity:1; transform:translateY(0) } }
@keyframes px-fade-in   { from { opacity:0 } to { opacity:1 } }
@keyframes px-scale-in  { from { opacity:0; transform:scale(.92) } to { opacity:1; transform:scale(1) } }
@keyframes px-pulse-red { 0%,100% { box-shadow:0 0 0 0 rgba(239,68,68,.4) } 60% { box-shadow:0 0 0 6px rgba(239,68,68,0) } }
@keyframes px-spin       { to { transform:rotate(360deg) } }
@keyframes px-shimmer    { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes px-bar-grow   { from { width:0 } to { width:var(--bar-w,100%) } }
@keyframes px-count-up   { from { opacity:0; transform:translateY(6px) } to { opacity:1; transform:translateY(0) } }
@keyframes px-bounce-in  { 0%{transform:scale(.7);opacity:0} 60%{transform:scale(1.08)} 100%{transform:scale(1);opacity:1} }
@keyframes px-slide-right{ from{transform:translateX(-8px);opacity:0} to{transform:translateX(0);opacity:1} }

/* ── Page enter animations ──────────────────────────────────────── */
.arm-react-rest-screen--dash,
.arm-react-rest-screen--kanban,
.arm-react-rest-screen--kpi,
.arm-react-rest-screen--table,
.arm-react-rest-screen--analytics,
.arm-react-rest-screen--delivery,
.arm-react-rest-screen--queue,
.arm-react-rest-screen--dlq,
.arm-react-rest-screen--exports,
.arm-react-rest-screen--import,
.arm-react-rest-screen--orders {
  animation: px-fade-up .28s cubic-bezier(.16,1,.3,1) both;
}

/* ── Premium stat cards ─────────────────────────────────────────── */
.arm-stat-card {
  position: relative;
  overflow: hidden;
  cursor: default;
  transition: transform .18s cubic-bezier(.16,1,.3,1),
              box-shadow .18s cubic-bezier(.16,1,.3,1),
              border-color .15s;
  border: 1px solid rgba(15,23,42,.07);
  border-radius: 12px;
}
.arm-stat-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.6) 0%, transparent 60%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s;
}
.arm-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.06);
  border-color: rgba(15,23,42,.12);
}
.arm-stat-card:hover::before { opacity: 1; }
.arm-stat-card__val {
  animation: px-count-up .35s cubic-bezier(.16,1,.3,1) both;
}
.arm-stat-card--accent { background: linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border-color: rgba(59,130,246,.18); }
.arm-stat-card--danger { background: linear-gradient(135deg,#fff1f2 0%,#ffe4e6 100%); border-color: rgba(239,68,68,.18); }
.arm-stat-card--ok    { background: linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%); border-color: rgba(34,197,94,.18); }

/* stat card danger pulse when value > 0 */
.arm-stat-card--danger:not(:empty) { animation: px-pulse-red 2.4s ease-in-out infinite; }

/* ── Premium scenario cards ─────────────────────────────────────── */
.arm-scenario-card {
  transition: transform .18s cubic-bezier(.16,1,.3,1),
              box-shadow .18s cubic-bezier(.16,1,.3,1) !important;
  animation: px-scale-in .25s cubic-bezier(.16,1,.3,1) both;
}
.arm-scenario-card:hover {
  transform: translateY(-4px) scale(1.01) !important;
  box-shadow: 0 12px 32px rgba(15,23,42,.13) !important;
}

/* ── Premium Kanban cards ───────────────────────────────────────── */
.kbn-card {
  transition: transform .16s cubic-bezier(.16,1,.3,1),
              box-shadow .16s cubic-bezier(.16,1,.3,1);
  animation: px-slide-right .2s cubic-bezier(.16,1,.3,1) both;
}
.kbn-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(15,23,42,.12) !important;
}
.kbn-card[draggable]:active { cursor: grabbing; opacity: .85; transform: scale(.97) rotate(1deg); }

/* ── Tooltip system ─────────────────────────────────────────────── */
[data-tip] { position: relative; }
[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) scale(.92);
  background: rgba(15,23,42,.92);
  color: #f8fafc;
  font-size: 11px;
  font-weight: 500;
  padding: 5px 9px;
  border-radius: 6px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s, transform .15s;
  z-index: 9999;
}
[data-tip]:hover::after {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}

/* ── Premium buttons ────────────────────────────────────────────── */
.btn {
  transition: background .15s, box-shadow .15s, transform .1s, border-color .15s;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(15,23,42,.1); }
.btn:active { transform: translateY(0); box-shadow: none; }
.btn.primary:hover { box-shadow: 0 3px 12px rgba(59,130,246,.3); }

/* ── Premium table rows ─────────────────────────────────────────── */
.tbl tbody tr {
  transition: background .12s;
}
.tbl tbody tr:hover { background: rgba(15,23,42,.025) !important; }

/* ── Bar chart animation ────────────────────────────────────────── */
.px-bar {
  animation: px-bar-grow .6s cubic-bezier(.16,1,.3,1) both;
  animation-delay: var(--bar-delay, 0s);
}

/* ── Skeleton shimmer ───────────────────────────────────────────── */
.arm-shell-skeleton-line {
  background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: px-shimmer 1.4s ease infinite;
}

/* ── SVG spin for refresh ───────────────────────────────────────── */
.px-spin { animation: px-spin .7s linear infinite; }

/* ── Status pills ───────────────────────────────────────────────── */
.kbn-age--critical { color: #ef4444; font-weight: 700; animation: px-pulse-red 1.8s ease-in-out infinite; }
.kbn-age--warning  { color: #f59e0b; font-weight: 600; }
.kbn-age--ok       { color: #94a3b8; }

/* ── Card hover effect ──────────────────────────────────────────── */
.card {
  transition: box-shadow .18s cubic-bezier(.16,1,.3,1);
}
.card:hover { box-shadow: 0 4px 16px rgba(15,23,42,.07); }

/* ── Premium nav item ───────────────────────────────────────────── */
.arm-nav-item {
  transition: background .14s, color .14s, transform .12s;
}
.arm-nav-item:hover { transform: translateX(2px); }

/* v3.0.34 audit: mobile ARM keeps content above the fold. */
@media (max-width: 900px) {
  .arm-layout {
    grid-template-columns: 1fr;
  }
  .arm-sidebar {
    position: relative;
    top: auto;
    width: 100%;
    max-width: 100vw;
    min-width: 0;
    height: auto;
    max-height: none;
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid var(--border);
    padding: 14px 14px 10px;
  }
  .arm-sidebar__brand {
    width: 100%;
    min-width: 0;
    padding: 0 0 10px;
    margin: 0;
  }
  .arm-cmd-trigger {
    width: 100%;
    min-width: 0;
    margin: 0 0 10px;
  }
  .arm-sidebar__nav {
    display: flex;
    flex-direction: row;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 8px;
    overflow-x: auto;
    padding: 0 0 4px;
    scrollbar-width: thin;
  }
  .arm-nav__group {
    display: contents;
  }
  .arm-sidebar__group-label,
  .arm-sidebar__footer {
    display: none;
  }
  .arm-nav-item,
  button.arm-nav-item {
    flex: 0 0 auto;
    width: auto;
    max-width: max-content;
    min-height: 36px;
    padding: 8px 10px;
    white-space: nowrap;
    border: 1px solid transparent;
  }
  .arm-nav-item.active {
    border-color: var(--border);
  }
  .arm-nav-item.active::before {
    display: none;
  }
}
@media (max-width: 720px) {
  #armSavedViewsHost {
    display: none;
  }
  .arm-shell-header {
    min-height: 42px;
  }
  .arm-shell-react-band,
  .arm-toolbar-host {
    padding: 8px 12px !important;
  }
  .arm-main-col #hzArmDock,
  .arm-shell #hzArmDock {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding: 8px 12px !important;
  }
  .arm-main-col #hzArmDock .arm-shell-react-band__label {
    display: none;
  }
  .arm-workstation {
    padding-top: 12px;
  }
}

/* ── DLQ row pulse ──────────────────────────────────────────────── */
.px-dlq-row { border-left: 3px solid #ef4444; animation: px-slide-right .2s cubic-bezier(.16,1,.3,1) both; }
.px-dlq-row:hover { background: rgba(239,68,68,.03) !important; }

/* ── KPI chart bar hover ────────────────────────────────────────── */
.px-kpi-bar-btn { transition: filter .14s; }
.px-kpi-bar-btn:hover { filter: brightness(.96); }

/* ── Import dropzone ────────────────────────────────────────────── */
#impDropzone { transition: background .18s, border-color .18s, transform .15s; }
#impDropzone:hover { transform: scale(1.005); }

/* ── Delivery board card ────────────────────────────────────────── */
.px-ship-card {
  transition: transform .15s cubic-bezier(.16,1,.3,1), box-shadow .15s;
  animation: px-fade-up .22s cubic-bezier(.16,1,.3,1) both;
}
.px-ship-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(15,23,42,.1); }

/* ── Section label animate ──────────────────────────────────────── */
.arm-section-sep { animation: px-fade-in .3s ease both; }

/* ── CommandPalette bounce ──────────────────────────────────────── */
.hz-cmd-modal { animation: px-bounce-in .22s cubic-bezier(.16,1,.3,1) both; }

/* ── Outbox health strip ────────────────────────────────────────── */
.px-health-ok    { color: #22c55e; }
.px-health-warn  { color: #f59e0b; }
.px-health-error { color: #ef4444; animation: px-pulse-red 2s infinite; }

/* ── Analytics kpi cards as buttons ────────────────────────────── */
button.arm-stat-card { cursor: pointer; }
button.arm-stat-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(15,23,42,.1); }

/* ── Procurement snapshot row ───────────────────────────────────── */
.px-proc-row { transition: background .12s; animation: px-fade-up .2s both; }
.px-proc-row:hover { background: rgba(15,23,42,.025); }

/* ── OrderDetail tab transition ─────────────────────────────────── */
.px-od-tab-content { animation: px-fade-up .2s cubic-bezier(.16,1,.3,1) both; }

/* ── Badge animate ──────────────────────────────────────────────── */
.badge { transition: background .15s; animation: px-scale-in .15s both; }

/* ═══════════════════════════════════════════════════════════════════
   PREMIUM COCKPIT PASS v3.0.34-R42 — ARM + public facades
   ═══════════════════════════════════════════════════════════════════ */
:root {
  --hz-ink: #171814;
  --hz-olive: #2f6948;
  --hz-olive-2: #5b765d;
  --hz-clay: #8b7a5f;
  --hz-linen: #f4f0e8;
  --hz-paper: #fffdf8;
  --hz-line: rgba(38, 34, 25, .11);
}

body:has(.arm-shell) {
  background:
    radial-gradient(circle at 18% 0%, rgba(95,118,91,.10), transparent 32rem),
    linear-gradient(180deg, #f7f3eb 0%, #f2eee6 100%);
  color: var(--hz-ink);
}

.arm-shell {
  grid-template-columns: 250px minmax(0, 1fr);
  background: transparent;
  min-height: 100vh;
}

.arm-shell .arm-sidebar {
  background:
    linear-gradient(180deg, rgba(255,253,248,.96), rgba(247,243,235,.92)),
    repeating-linear-gradient(0deg, rgba(38,34,25,.018) 0 1px, transparent 1px 4px);
  border-right: 1px solid rgba(38,34,25,.10);
  box-shadow: 16px 0 44px rgba(38,34,25,.04);
  padding: 16px 12px;
  gap: 12px;
}

.arm-shell .arm-sidebar__brand {
  border: 0;
  padding: 10px 10px 12px;
  border-radius: 16px;
  background: rgba(255,253,248,.72);
}

.arm-shell .arm-sidebar__dot {
  width: 10px;
  height: 10px;
  background: var(--hz-olive);
  box-shadow: 0 0 0 6px rgba(47,105,72,.10);
}

.arm-shell .arm-sidebar__title {
  font-size: 15px;
  letter-spacing: -.01em;
  color: var(--hz-ink);
}

.arm-shell .arm-sidebar__sub,
.arm-shell .arm-sidebar__group-label {
  color: rgba(23,24,20,.54);
}

.arm-shell .arm-cmd-trigger {
  min-height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(38,34,25,.10);
  background: rgba(255,253,248,.82);
  color: rgba(23,24,20,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.arm-shell .arm-sidebar__nav {
  padding: 0 2px;
  gap: 3px;
}

.arm-shell .arm-nav-item {
  border-radius: 12px;
  padding: 9px 10px;
  color: rgba(23,24,20,.68);
}

.arm-shell .arm-nav-item:hover {
  background: rgba(47,105,72,.07);
  color: var(--hz-ink);
}

.arm-shell .arm-nav-item.active {
  background: rgba(47,105,72,.12);
  border-color: rgba(47,105,72,.12);
  color: var(--hz-olive);
  box-shadow: inset 3px 0 0 rgba(47,105,72,.55);
}

.arm-shell .arm-main-col {
  width: 100%;
  max-width: 1320px;
  min-width: 0;
}

.arm-shell .arm-shell-header {
  position: sticky;
  top: 0;
  z-index: 75;
  min-height: 58px;
  padding: 0 28px;
  background: rgba(247,243,235,.86);
  border-bottom: 1px solid rgba(38,34,25,.09);
  backdrop-filter: blur(18px);
}

.arm-shell .arm-shell-header__breadcrumb {
  font-size: 13px;
  letter-spacing: .01em;
  color: rgba(23,24,20,.72);
}

.arm-shell .arm-header__ts,
.arm-shell .arm-dock__cmd {
  color: rgba(23,24,20,.74);
}

.arm-shell #armSavedViewsHost {
  display: none;
}

.arm-shell #armToolbarHost {
  min-height: 0;
  padding: 14px 28px 0;
  color: rgba(23,24,20,.60);
}

.arm-shell #armToolbarHost .arm-toolbar-host__label {
  display: block;
  max-width: 980px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(23,24,20,.46);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.arm-shell #armToolbarHost > div {
  margin-top: 8px !important;
  gap: 10px !important;
}

.arm-shell #armToolbarHost > div span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 10px;
  border: 1px solid rgba(38,34,25,.09);
  border-radius: 999px;
  background: rgba(255,253,248,.64);
  font-size: 11px;
  color: rgba(23,24,20,.58);
}

.arm-shell #hzArmDock {
  margin: 14px 28px 0;
  padding: 10px 12px !important;
  border: 1px solid rgba(38,34,25,.11) !important;
  border-radius: 18px;
  background: rgba(255,253,248,.90);
  box-shadow: 0 20px 48px rgba(38,34,25,.08);
}

.arm-shell #hzArmDock .arm-shell-react-band__label {
  display: none;
}

.arm-shell #hzArmDock .arm-dock__actions,
.arm-shell #hzArmDock > div {
  gap: 6px !important;
}

.arm-shell #hzArmDock .btn,
.arm-shell .btn,
.arm-shell .arm-shell-chip {
  min-height: 34px;
  border-radius: 11px;
  border-color: rgba(38,34,25,.12);
  background: rgba(255,253,248,.84);
  color: rgba(23,24,20,.78);
  box-shadow: none;
}

.arm-shell #hzArmDock .btn.primary,
.arm-shell .btn.primary {
  background: linear-gradient(180deg, #3c8260, #2f6948);
  border-color: rgba(47,105,72,.22);
  color: #fffdf8;
  box-shadow: 0 12px 24px rgba(47,105,72,.20);
}

.arm-shell #hzArmDock .arm-dock__cmd {
  min-width: 36px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(38,34,25,.12);
  background: rgba(255,253,248,.80);
}

.arm-shell .arm-workstation {
  grid-template-columns: minmax(0, 770px) minmax(280px, 330px);
  gap: 20px;
  padding: 20px 28px 44px;
  max-width: 1168px;
}

.arm-shell[data-shell-inspector-width='L'] .arm-workstation { grid-template-columns: minmax(0, 720px) minmax(320px, 380px); }
.arm-shell[data-shell-inspector-width='XL'] .arm-workstation { grid-template-columns: minmax(0, 680px) minmax(360px, 430px); }
.arm-shell[data-shell-inspector='closed'] .arm-workstation { grid-template-columns: minmax(0, 900px); }
.arm-shell[data-shell-inspector='closed'] #armInspectorHost { display: none; }

.arm-shell #armview,
.arm-shell .arm-workstation__main {
  min-width: 0;
}

.arm-shell .card,
.arm-shell .arm-stat-card,
.arm-shell .facadesStudioFrame,
.arm-shell .kbn-card,
.arm-shell .matdb-main,
.arm-shell .matdb-detail {
  border-radius: 14px;
  border-color: rgba(38,34,25,.10);
  background: rgba(255,253,248,.82);
  box-shadow: 0 18px 42px rgba(38,34,25,.06);
}

.arm-shell #armInspectorHost {
  position: sticky;
  top: 92px;
  min-height: 164px;
  padding: 16px;
  border: 1px solid rgba(38,34,25,.10);
  border-radius: 16px;
  background: rgba(255,253,248,.82);
  box-shadow: 0 18px 44px rgba(38,34,25,.06);
  color: rgba(23,24,20,.70);
}

.arm-shell #armInspectorHost .arm-inspector-host__label {
  display: block;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
  color: var(--hz-ink);
}

.arm-shell #armInspectorHost div {
  color: rgba(23,24,20,.62);
}

.arm-shell #armSelectionHost {
  min-height: 0;
  padding: 0 28px 26px;
}

.arm-shell #armSelectionHost > div {
  display: inline-flex;
  border: 1px solid rgba(38,34,25,.09);
  border-radius: 999px;
  background: rgba(255,253,248,.68);
  color: rgba(23,24,20,.50) !important;
}

.arm-shell #armDetailHost,
.arm-shell #armStatusHost {
  display: none;
}

.arm-shell .tbl {
  background: rgba(255,253,248,.82);
  border-radius: 14px;
  overflow: hidden;
}

.arm-shell .tbl th {
  background: rgba(247,243,235,.88);
  color: rgba(23,24,20,.52);
  letter-spacing: .08em;
}

.arm-shell .h1,
.arm-shell h1 {
  color: var(--hz-ink);
  letter-spacing: -.02em;
}

.arm-shell .p,
.arm-shell p {
  color: rgba(23,24,20,.62);
}

.facadesStudioPage--cut {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.facadesStudioHero {
  min-height: min(620px, calc(100vh - 160px));
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
  gap: 44px;
  align-items: center;
  padding: clamp(34px, 5vw, 70px);
  border: 1px solid rgba(38,34,25,.10);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(244,240,232,.90)),
    repeating-linear-gradient(90deg, rgba(38,34,25,.024) 0 1px, transparent 1px 18px);
  box-shadow: 0 34px 90px rgba(38,34,25,.09);
  overflow: hidden;
  position: relative;
}

.facadesStudioHero::after {
  content: '';
  position: absolute;
  inset: auto -12% -34% 50%;
  height: 55%;
  background: linear-gradient(90deg, rgba(47,105,72,.10), rgba(139,122,95,.08));
  transform: rotate(-8deg);
  pointer-events: none;
}

.facadesStudioHero__copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.facadesStudioHero__eyebrow,
.facadesStudioFrame__eyebrow {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(47,105,72,.86);
}

.facadesStudioHero h1 {
  margin: 14px 0 18px;
  max-width: 850px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(42px, 6vw, 86px);
  line-height: .94;
  letter-spacing: 0;
  color: var(--hz-ink);
}

.facadesStudioHero p {
  max-width: 720px;
  margin: 0;
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.55;
  color: rgba(23,24,20,.62);
}

.facadesStudioHero__chips,
.facadesStudioHero__actions,
.facadesStudioFrame__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.facadesStudioHero__chips {
  margin-top: 24px;
}

.facadesStudioHero__chips span,
.facadesStudioFrame__meta span {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(38,34,25,.10);
  background: rgba(255,253,248,.70);
  color: rgba(23,24,20,.72);
  font-size: 12px;
  font-weight: 800;
}

.facadesStudioHero__actions {
  margin-top: 30px;
}

.facadesStudioHero__actions .btn {
  min-height: 44px;
  border-radius: 14px;
  padding-inline: 18px;
}

.facadesStudioHero__visual {
  position: relative;
  z-index: 1;
  min-height: 440px;
}

.facadesMaterialBoard {
  position: relative;
  height: min(56vw, 540px);
  min-height: 420px;
  border-radius: 24px;
  border: 1px solid rgba(38,34,25,.12);
  background:
    linear-gradient(135deg, rgba(255,253,248,.86), rgba(240,234,222,.82)),
    repeating-linear-gradient(0deg, rgba(38,34,25,.035) 0 1px, transparent 1px 24px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 28px 80px rgba(38,34,25,.13);
  overflow: hidden;
}

.facadesMaterialBoard__rail {
  position: absolute;
  inset: 38px auto 38px 44px;
  width: 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--hz-olive), var(--hz-clay));
}

.facadesPanel {
  position: absolute;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(38,34,25,.16);
  box-shadow: 0 22px 44px rgba(38,34,25,.14);
  overflow: hidden;
}

.facadesPanel::before {
  content: '';
  position: absolute;
  inset: 16px;
  border: 2px solid rgba(255,253,248,.55);
  border-radius: 12px;
}

.facadesPanel span {
  position: relative;
  z-index: 1;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,253,248,.75);
  color: rgba(23,24,20,.72);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.facadesPanel--sage {
  left: 78px;
  top: 38px;
  width: 48%;
  height: 42%;
  background: linear-gradient(135deg, #9ca98c, #6f7f67);
}

.facadesPanel--wood {
  right: 34px;
  top: 86px;
  width: 36%;
  height: 58%;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), rgba(0,0,0,.08)),
    repeating-linear-gradient(90deg, #b38a5e 0 10px, #a47b53 10px 18px, #c39b70 18px 28px);
}

.facadesPanel--milk {
  left: 108px;
  bottom: 46px;
  width: 40%;
  height: 36%;
  background: linear-gradient(135deg, #f1eadf, #d7ccbb);
}

.facadesPanel--dark {
  right: 88px;
  bottom: 30px;
  width: 27%;
  height: 28%;
  background: linear-gradient(135deg, #323632, #171814);
}

.facadesPanel--dark span {
  background: rgba(255,253,248,.88);
}

.facadesStudioProof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.facadesStudioProof div {
  min-height: 88px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(38,34,25,.09);
  background: rgba(255,253,248,.78);
  box-shadow: 0 18px 42px rgba(38,34,25,.05);
}

.facadesStudioProof span {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(47,105,72,.82);
}

.facadesStudioProof b {
  font-size: 17px;
  line-height: 1.3;
  color: var(--hz-ink);
}

.facadesStudioPage--cut .facadesStudioLayout {
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: 22px;
}

.facadesStudioPage--cut .facadesStudioBlock,
.facadesStudioPage--cut .facadesStudioPromoCard,
.facadesStudioPage--cut .facadesStudioReviewCard,
.facadesStudioPage--cut .facadesStudioContactItem {
  border-radius: 18px;
  border-color: rgba(38,34,25,.09);
  background: rgba(255,253,248,.78);
  box-shadow: 0 18px 42px rgba(38,34,25,.05);
}

.facadesStudioBlock--intro {
  background:
    linear-gradient(180deg, rgba(255,253,248,.92), rgba(244,240,232,.80)),
    repeating-linear-gradient(90deg, rgba(38,34,25,.025) 0 1px, transparent 1px 18px) !important;
}

.facadesStudioPage--cut .facadesStudioPromoGrid {
  grid-template-columns: 1fr;
}

.facadesStudioPage--cut .facadesStudioPromoCard {
  display: grid;
  gap: 8px;
}

.facadesStudioPage--cut .facadesStudioPromoCard small {
  border-radius: 999px;
  background: rgba(47,105,72,.10);
  color: var(--hz-olive);
}

.facadesStudioPage--cut .facadesStudioFrame {
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(38,34,25,.11);
  background: rgba(255,253,248,.84);
  box-shadow: 0 28px 76px rgba(38,34,25,.09);
}

.facadesStudioFrame__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding: 24px;
  border-bottom: 1px solid rgba(38,34,25,.09);
  background:
    linear-gradient(180deg, rgba(255,253,248,.96), rgba(247,243,235,.82));
}

.facadesStudioFrame__title {
  margin-top: 6px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1;
  color: var(--hz-ink);
}

.facadesStudioPage--cut .facadesStudioFrame__bd {
  padding: 0 !important;
}

.facadesStudioPage--cut .facadesStudioFrame__iframe {
  min-height: 82vh;
  background: #fffdf8;
}

@media (max-width: 1180px) {
  .arm-shell .arm-main-col { max-width: none; }
  .arm-shell .arm-workstation,
  .arm-shell[data-shell-inspector-width='L'] .arm-workstation,
  .arm-shell[data-shell-inspector-width='XL'] .arm-workstation {
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
  }
  .arm-shell #armInspectorHost {
    position: static;
  }
  .facadesStudioHero,
  .facadesStudioPage--cut .facadesStudioLayout {
    grid-template-columns: 1fr;
  }
  .facadesStudioHero__visual {
    min-height: 360px;
  }
  .facadesMaterialBoard {
    height: 420px;
  }
}

@media (max-width: 900px) {
  .arm-shell {
    grid-template-columns: 1fr;
  }
  .arm-shell .arm-sidebar {
    display: flex;
    position: relative;
    height: auto;
    padding: 12px;
    border-right: 0;
    border-bottom: 1px solid rgba(38,34,25,.10);
  }
  .arm-shell .arm-sidebar__brand {
    padding: 8px;
  }
  .arm-shell .arm-sidebar__nav {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 2px;
  }
  .arm-shell .arm-nav__group {
    display: contents;
  }
  .arm-shell .arm-sidebar__group-label,
  .arm-shell .arm-sidebar__footer,
  .arm-shell .arm-cmd-trigger {
    display: none;
  }
  .arm-shell .arm-nav-item {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .arm-shell .arm-shell-header {
    top: 0;
    min-height: 50px;
    padding: 0 16px;
  }
  .arm-shell #armToolbarHost {
    padding: 12px 16px 0;
  }
  .arm-shell #hzArmDock {
    margin: 12px 16px 0;
    flex-wrap: nowrap !important;
    overflow-x: auto;
  }
  .arm-shell .arm-workstation {
    padding: 16px 16px 34px;
  }
  .facadesStudioProof {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .facadesStudioHero {
    min-height: auto;
    padding: 26px 20px;
    border-radius: 22px;
    gap: 26px;
  }
  .facadesStudioHero h1 {
    font-size: 42px;
  }
  .facadesStudioHero p {
    font-size: 16px;
  }
  .facadesStudioHero__visual {
    min-height: 300px;
  }
  .facadesMaterialBoard {
    min-height: 300px;
    height: 300px;
  }
  .facadesPanel--sage { left: 42px; width: 54%; }
  .facadesPanel--wood { right: 18px; width: 40%; }
  .facadesPanel--milk { left: 58px; width: 45%; }
  .facadesPanel--dark { right: 44px; width: 32%; }
  .facadesStudioFrame__head {
    flex-direction: column;
    padding: 20px;
  }
}

/* R42 follow-up: Kanban and Material DB need the full cockpit width. */
.arm-shell[data-arm-current-tab='kanban'] .arm-workstation,
.arm-shell[data-arm-current-tab='matdb'] .arm-workstation {
  grid-template-columns: minmax(0, 1fr);
  max-width: 1280px;
}

.arm-shell[data-arm-current-tab='kanban'] #armInspectorHost,
.arm-shell[data-arm-current-tab='matdb'] #armInspectorHost {
  display: none;
}

.arm-shell[data-arm-current-tab='kanban'] .arm-react-rest-screen--kanban,
.arm-shell[data-arm-current-tab='matdb'] .arm-react-rest-screen--matdb {
  width: 100%;
  min-width: 0;
}

.arm-shell[data-arm-current-tab='kanban'] .a-kb.arm-react-rest-screen--kanban {
  display: block;
  overflow: visible;
  padding-bottom: 0;
}

.arm-shell[data-arm-current-tab='kanban'] .a-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  margin: 0 0 14px;
  border: 1px solid rgba(38,34,25,.09);
  border-radius: 16px;
  background: rgba(255,253,248,.78);
  box-shadow: 0 18px 42px rgba(38,34,25,.05);
}

.arm-shell[data-arm-current-tab='kanban'] .a-page-title {
  margin: 0;
  font-size: 26px;
  line-height: 1.05;
  color: var(--hz-ink);
}

.arm-shell[data-arm-current-tab='kanban'] .a-page-sub {
  margin: 6px 0 0;
  color: rgba(23,24,20,.58);
}

.arm-shell[data-arm-current-tab='kanban'] .a-attention {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.arm-shell[data-arm-current-tab='kanban'] .a-kb-toolbar {
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 16px;
  border-color: rgba(38,34,25,.10);
  background: rgba(255,253,248,.78);
  box-shadow: 0 18px 42px rgba(38,34,25,.05);
}

.arm-shell[data-arm-current-tab='kanban'] .a-kb-toolbar .a-search {
  flex: 1 1 300px;
}

.arm-shell[data-arm-current-tab='kanban'] .a-kb-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  overflow: visible;
  min-height: 0;
  padding: 0 0 18px;
}

.arm-shell[data-arm-current-tab='kanban'] .a-kb-col {
  min-width: 0;
  min-height: 240px;
  padding: 10px;
  border: 1px solid rgba(38,34,25,.09);
  border-radius: 16px;
  background: rgba(255,253,248,.72);
  box-shadow: 0 18px 42px rgba(38,34,25,.04);
}

.arm-shell[data-arm-current-tab='kanban'] .a-kb-col__head {
  border-radius: 12px;
  background: rgba(247,243,235,.78);
}

.arm-shell[data-arm-current-tab='kanban'] .a-kb-col__empty {
  flex: 1;
  display: grid;
  place-items: center;
  min-height: 152px;
  border-radius: 12px;
  color: rgba(23,24,20,.42);
}

.arm-shell[data-arm-current-tab='matdb'] .arm-page-header.matdb-htab {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px 20px;
  border: 1px solid rgba(38,34,25,.09);
  border-radius: 16px;
  background: rgba(255,253,248,.78);
  box-shadow: 0 18px 42px rgba(38,34,25,.05);
}

.arm-shell[data-arm-current-tab='matdb'] .arm-page-title {
  font-size: 26px;
  line-height: 1.05;
  color: var(--hz-ink);
}

.arm-shell[data-arm-current-tab='matdb'] .arm-page-sub {
  max-width: 960px;
  color: rgba(23,24,20,.58);
}

.arm-shell[data-arm-current-tab='matdb'] #matdbHeaderActions {
  width: 100%;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

.arm-shell[data-arm-current-tab='matdb'] #matdbHeaderActions .input {
  width: auto !important;
  flex: 1 1 280px;
  min-width: min(280px, 100%);
}

.arm-shell[data-arm-current-tab='matdb'] #catalogSummary,
.arm-shell[data-arm-current-tab='matdb'] #catalogStateBar {
  border-radius: 16px;
  border-color: rgba(38,34,25,.09);
  background: rgba(255,253,248,.76);
  box-shadow: 0 14px 34px rgba(38,34,25,.04);
}

.arm-shell[data-arm-current-tab='matdb'] #matdbMain {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.arm-shell[data-arm-current-tab='matdb'] .matdb-catalog-layout {
  gap: 18px !important;
  align-items: stretch !important;
}

.arm-shell[data-arm-current-tab='matdb'] .matdb-catalog-layout > div:first-child {
  width: 220px !important;
  padding: 14px !important;
  margin: 0 !important;
  border: 1px solid rgba(38,34,25,.09) !important;
  border-radius: 16px;
  background: rgba(255,253,248,.72);
  box-shadow: 0 18px 42px rgba(38,34,25,.04);
}

.arm-shell[data-arm-current-tab='matdb'] .matdb-table-wrap {
  min-width: 0;
  border: 1px solid rgba(38,34,25,.09);
  border-radius: 16px;
  background: rgba(255,253,248,.74);
  box-shadow: 0 18px 42px rgba(38,34,25,.04);
}

.arm-shell[data-arm-current-tab='matdb'] .matdb-table-wrap .tbl {
  min-width: 820px;
  margin: 0;
  box-shadow: none;
  border: 0;
  border-radius: 16px;
}

@media (max-width: 1180px) {
  .arm-shell[data-arm-current-tab='kanban'] .a-kb-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .arm-shell[data-arm-current-tab='matdb'] #matdbHeaderActions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .arm-shell[data-arm-current-tab='kanban'] .a-page-head,
  .arm-shell[data-arm-current-tab='matdb'] .arm-page-header.matdb-htab {
    padding: 14px;
  }
  .arm-shell[data-arm-current-tab='kanban'] .a-kb-board,
  .arm-shell[data-arm-current-tab='matdb'] #matdbHeaderActions {
    grid-template-columns: 1fr;
  }
  .arm-shell[data-arm-current-tab='matdb'] .matdb-catalog-layout {
    flex-direction: column;
  }
  .arm-shell[data-arm-current-tab='matdb'] .matdb-catalog-layout > div:first-child {
    width: auto !important;
  }
}

/* R49.3 e2e compatibility: keep core ARM hosts visible in React shell. */
.arm-shell #armSavedViewsHost {
  display: block !important;
}

.arm-shell #armStatusHost {
  display: block !important;
}

.arm-shell[data-shell-inspector='open'] #armInspectorHost {
  display: block !important;
}

.arm-shell[data-shell-inspector='closed'] #armInspectorHost {
  display: none !important;
}

.arm-shell[data-arm-current-tab='kanban'][data-shell-inspector='open'] #armInspectorHost {
  display: none !important;
}

/* v3.0.47-r52: landing demo is visually aligned with the main site style. */
.landing-demo-card .demoShell {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

.landing-demo-card .demoPane--form,
.landing-demo-card .demoPane--result {
  border: 1px solid rgba(38,34,25,.10) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(255,253,248,.96), rgba(249,245,238,.88)) !important;
  box-shadow: 0 16px 34px rgba(38,34,25,.06);
}

.landing-demo-card .demoPane--form {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
}

.landing-demo-card .demoPane--form .demoForm {
  display: grid !important;
  gap: 12px !important;
}

.landing-demo-card .demoPane--form .demoGrid {
  display: grid;
  gap: 12px !important;
}

.landing-demo-card .demoPane--form .demoForm > div:last-child {
  margin-top: 0 !important;
}

.landing-demo-card .demoField > span {
  font-weight: 700;
  color: rgba(23,24,20,.88);
}

.landing-demo-card .demoForm input[type="number"] {
  border: 1.4px solid rgba(38,34,25,.14) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.88) !important;
}

.landing-demo-card .demoPreset {
  border-color: rgba(38,34,25,.16) !important;
  background: rgba(255,255,255,.86) !important;
  color: rgba(23,24,20,.86) !important;
}

.landing-demo-card .demoPreset.active {
  border-color: rgba(47,105,72,.30) !important;
  background: rgba(47,105,72,.12) !important;
  color: rgba(29,75,53,.92) !important;
}

.landing-demo-card .demoPane--result {
  display: block !important;
  min-height: 0 !important;
}

.landing-demo-card .demoPane--result .demoSummary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.landing-demo-card .demoPane--result .demoStat {
  border-radius: 16px;
  border: 1px solid rgba(38,34,25,.10);
  background: rgba(255,255,255,.92);
}

.landing-demo-card .demoPane--result .demo-placeholder {
  min-height: 300px;
  border: 1.4px dashed rgba(38,34,25,.16);
  border-radius: 16px;
  background: rgba(255,255,255,.58);
}

.landing-demo-card .demoPane--result.is-ready .demo-placeholder {
  display: none !important;
}

.landing-demo-card .demoPane--result.is-ready {
  grid-column: 1 / -1;
}

.landing-demo-card .demoShell:has(.demoPane--result.is-ready) .demoPane--form {
  grid-column: 1 / -1;
}

.landing-demo-card .demoPane--result.is-ready .demoSummary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1120px) {
  .landing-demo-card .demoPane--result.is-ready .demoSummary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .landing-demo-card .demoShell {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .landing-demo-card .demoPane--result .demoSummary {
    grid-template-columns: 1fr;
  }
}

/* v3.0.47-r51: facades public page rework (clean v2). */
.facadesStudioPage--v2 {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.facadesStudioPage--v2 .facadesV2Hero {
  min-height: min(620px, calc(100vh - 160px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .94fr);
  gap: 34px;
  align-items: center;
  padding: clamp(28px, 4vw, 54px);
  border: 1px solid rgba(38,34,25,.10);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,253,248,.98), rgba(244,240,232,.90)),
    repeating-linear-gradient(90deg, rgba(38,34,25,.024) 0 1px, transparent 1px 18px);
  box-shadow: 0 28px 70px rgba(38,34,25,.08);
  overflow: hidden;
  position: relative;
}

.facadesStudioPage--v2 .facadesV2Hero::after {
  content: '';
  position: absolute;
  inset: auto -14% -35% 46%;
  height: 58%;
  background: linear-gradient(90deg, rgba(47,105,72,.10), rgba(139,122,95,.08));
  transform: rotate(-8deg);
  pointer-events: none;
}

.facadesStudioPage--v2 .facadesV2Hero__copy {
  position: relative;
  z-index: 1;
}

.facadesStudioPage--v2 .facadesV2Hero__eyebrow,
.facadesStudioPage--v2 .facadesV2Calc__eyebrow {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(47,105,72,.86);
}

.facadesStudioPage--v2 .facadesV2Hero h1 {
  margin: 14px 0 16px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(38px, 5.2vw, 74px);
  line-height: .95;
  letter-spacing: 0;
  color: var(--hz-ink);
  max-width: 13ch;
}

.facadesStudioPage--v2 .facadesV2Hero p {
  margin: 0;
  max-width: 56ch;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.52;
  color: rgba(23,24,20,.62);
}

.facadesStudioPage--v2 .facadesV2Hero__chips,
.facadesStudioPage--v2 .facadesV2Hero__actions,
.facadesStudioPage--v2 .facadesV2Calc__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.facadesStudioPage--v2 .facadesV2Hero__chips {
  margin-top: 22px;
}

.facadesStudioPage--v2 .facadesV2Hero__chips span,
.facadesStudioPage--v2 .facadesV2Calc__meta span {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(38,34,25,.10);
  background: rgba(255,253,248,.70);
  color: rgba(23,24,20,.72);
  font-size: 12px;
  font-weight: 800;
}

.facadesStudioPage--v2 .facadesV2Hero__actions {
  margin-top: 26px;
}

.facadesStudioPage--v2 .facadesV2Hero__actions .btn {
  min-height: 44px;
  border-radius: 14px;
  padding-inline: 18px;
}

.facadesStudioPage--v2 .facadesV2Hero__visual {
  position: relative;
  z-index: 1;
  min-height: 360px;
}

.facadesStudioPage--v2 .facadesV2Highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.facadesStudioPage--v2 .facadesV2Highlights__card {
  min-height: 84px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(38,34,25,.09);
  background: rgba(255,253,248,.78);
  box-shadow: 0 16px 38px rgba(38,34,25,.05);
}

.facadesStudioPage--v2 .facadesV2Highlights__card span {
  display: block;
  margin-bottom: 7px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(47,105,72,.82);
}

.facadesStudioPage--v2 .facadesV2Highlights__card b {
  font-size: 16px;
  line-height: 1.3;
  color: var(--hz-ink);
}

.facadesStudioPage--v2 .facadesV2Calc {
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(38,34,25,.10);
  background: rgba(255,253,248,.84);
  box-shadow: 0 26px 66px rgba(38,34,25,.08);
}

.facadesStudioPage--v2 .facadesV2Calc__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid rgba(38,34,25,.09);
  background: linear-gradient(180deg, rgba(255,253,248,.96), rgba(247,243,235,.82));
}

.facadesStudioPage--v2 .facadesV2Calc__head h2 {
  margin: 6px 0 8px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 3.2vw, 48px);
  line-height: .98;
  color: var(--hz-ink);
}

.facadesStudioPage--v2 .facadesV2Calc__head p {
  margin: 0;
  max-width: 64ch;
  color: rgba(23,24,20,.62);
}

.facadesStudioPage--v2 .facadesV2Calc__body {
  padding: 0;
}

.facadesStudioPage--v2 .facadesStudioFrame__iframe {
  display: block;
  width: 100%;
  min-height: 74vh;
  border: 0;
  background: #fffdf8;
}

.facadesStudioPage--v2 .facadesNativeLaunch {
  margin: 18px;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(38,34,25,.11);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,243,235,.88));
  box-shadow: 0 16px 34px rgba(38,34,25,.08);
}

.facadesStudioPage--v2 .facadesNativeLaunch__actions {
  margin-top: 12px;
}

.facadesStudioPage--v2 .facadesV2Trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.facadesStudioPage--v2 .facadesV2Trust__card {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(38,34,25,.09);
  background: rgba(255,253,248,.78);
  box-shadow: 0 16px 38px rgba(38,34,25,.05);
}

.facadesStudioPage--v2 .facadesV2Trust__card span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(47,105,72,.82);
}

.facadesStudioPage--v2 .facadesV2Trust__card b {
  font-size: 24px;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1;
  color: var(--hz-ink);
}

.facadesStudioPage--v2 .facadesV2Trust__card p {
  margin: 0;
  color: rgba(23,24,20,.62);
  line-height: 1.45;
}

.facadesStudioPage--v2 .facadesV2Trust__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid rgba(38,34,25,.08);
}

.facadesStudioPage--v2 .facadesV2Trust__line i {
  font-style: normal;
  font-size: 12px;
  color: rgba(23,24,20,.56);
}

.facadesStudioPage--v2 .facadesV2Trust__line strong {
  color: var(--hz-ink);
  font-size: 14px;
}

@media (max-width: 1180px) {
  .facadesStudioPage--v2 .facadesV2Hero {
    grid-template-columns: 1fr;
  }
  .facadesStudioPage--v2 .facadesV2Hero__visual {
    min-height: 320px;
  }
  .facadesStudioPage--v2 .facadesMaterialBoard {
    height: 380px;
    min-height: 300px;
  }
}

@media (max-width: 980px) {
  .facadesStudioPage--v2 .facadesV2Highlights,
  .facadesStudioPage--v2 .facadesV2Trust {
    grid-template-columns: 1fr;
  }
  .facadesStudioPage--v2 .facadesV2Calc__head {
    flex-direction: column;
  }
  .facadesStudioPage--v2 .facadesStudioFrame__iframe {
    min-height: 82vh;
  }
}

@media (max-width: 720px) {
  .facadesStudioPage--v2 .facadesV2Hero {
    min-height: auto;
    padding: 24px 18px;
    border-radius: 20px;
    gap: 24px;
  }
  .facadesStudioPage--v2 .facadesV2Hero h1 {
    font-size: 44px;
    max-width: none;
  }
  .facadesStudioPage--v2 .facadesV2Hero p {
    font-size: 16px;
  }
  .facadesStudioPage--v2 .facadesV2Calc__head {
    padding: 16px;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   PUBLIC PREMIUM ALIGNMENT v3.0.47-r53 — landing + facades cohesion
   ═══════════════════════════════════════════════════════════════════ */
.heroTrustBar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.facadesHeroTrustBar{margin-top:24px}
.facadesV2Shell{display:grid;gap:16px}
.facadesStudioPage--v2 .facadesV2Hero{min-height:min(680px,calc(100vh - 148px))}
.facadesStudioPage--v2 .facadesV2Hero__visual{display:grid;align-content:center;gap:16px}
.facadesStudioPage--v2 .facadesMaterialBoard{transform-style:preserve-3d;transform:perspective(1200px) rotateX(var(--facades-tilt-y, 0deg)) rotateY(var(--facades-tilt-x, 0deg));transition:transform .18s ease-out, box-shadow .24s ease;will-change:transform}
.facadesHeroBadge{max-width:320px;margin-left:auto;padding:16px 18px;border-radius:20px;border:1px solid rgba(38,34,25,.08);background:linear-gradient(135deg, rgba(17,24,21,.94), rgba(34,43,37,.90));color:#f6f2e8;box-shadow:0 26px 50px rgba(17,24,21,.18)}
.facadesHeroBadge span,.facadesBottomCta__eyebrow{display:block;margin-bottom:8px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#d8c79f}
.facadesHeroBadge b{display:block;font-size:18px;line-height:1.2}
.facadesHeroBadge p{margin:8px 0 0;color:rgba(246,242,232,.78) !important;font-size:13px !important;line-height:1.65 !important}
.facadesStudioPage--v2 .facadesV2Highlights__card,.facadesPremiumCard{display:grid;gap:10px}
.facadesStudioPage--v2 .facadesV2Highlights__card p,.facadesPremiumCard p,.facadesBottomCta p{margin:0;color:rgba(23,24,20,.62);line-height:1.62}
.facadesV2Highlights__icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;color:#20563a;background:rgba(32,86,58,.08);box-shadow:inset 0 0 0 1px rgba(32,86,58,.10)}
.facadesV2Highlights__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.facadesV2Highlights__icon path{stroke-dasharray:40;stroke-dashoffset:40;animation:facades-icon-draw 1.15s cubic-bezier(.22,1,.36,1) forwards}
.facadesV2Highlights__icon rect{stroke-dasharray:140;stroke-dashoffset:140;animation:facades-icon-draw 1.2s cubic-bezier(.22,1,.36,1) .08s forwards}
@keyframes facades-icon-draw{to{stroke-dashoffset:0}}
.facadesWorkflowStrip .heroVisualMeta{min-width:min(100%,420px)}
.facadesPremiumGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.facadesPremiumCard{min-height:100%;padding:18px 20px;border-radius:18px;border:1px solid rgba(38,34,25,.09);background:linear-gradient(180deg, rgba(255,253,248,.86), rgba(248,244,237,.76));box-shadow:0 18px 44px rgba(38,34,25,.05)}
.facadesPremiumCard span{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(47,105,72,.82)}
.facadesPremiumCard b{font-size:19px;line-height:1.28;color:var(--hz-ink, #171814)}
.facadesBottomCta{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:22px 24px;border-radius:22px;border:1px solid rgba(38,34,25,.09);background:radial-gradient(circle at right top, rgba(47,105,72,.11), transparent 34%),linear-gradient(135deg, rgba(255,253,248,.94), rgba(246,241,232,.84));box-shadow:0 24px 56px rgba(38,34,25,.08)}
.facadesBottomCta__title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px, 3vw, 42px);line-height:1.02;color:var(--hz-ink, #171814);max-width:16ch}
.facadesBottomCta__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.facadesStudioPage--v2 .facadesV2Calc__body{background:linear-gradient(180deg, rgba(248,244,236,.55), rgba(255,255,255,.92))}
.facadesStudioPage--v2 .facadesStudioFrame__iframe{min-height:84vh}
@media (max-width: 1180px){.facadesPremiumGrid{grid-template-columns:1fr}.facadesBottomCta{flex-direction:column;align-items:flex-start}.facadesBottomCta__title{max-width:none}}
@media (max-width: 720px){.heroTrustBar{gap:8px}.facadesHeroBadge{margin-left:0;max-width:none}.facadesStudioPage--v2 .facadesV2Hero__actions .btn,.facadesBottomCta__actions .btn{width:100%;justify-content:center}.facadesBottomCta{padding:18px}}


/* --- R55 unified premium public motion / cut landing polish --- */
:root{
  --hz-premium-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --hz-premium-fast: 160ms;
  --hz-premium-base: 260ms;
  --hz-premium-reveal: 520ms;
}
.landing-shell--premium{position:relative;overflow:clip;isolation:isolate}
.landing-shell--premium .landingAura{position:absolute;border-radius:999px;pointer-events:none;filter:blur(26px);opacity:.55;mix-blend-mode:multiply;animation:hzAuraFloat 14s var(--hz-premium-ease) infinite alternate;z-index:0}
.landing-shell--premium .landingAura--a{width:360px;height:360px;left:-120px;top:-30px;background:radial-gradient(circle, rgba(139,115,85,.24), rgba(139,115,85,0) 68%)}
.landing-shell--premium .landingAura--b{width:420px;height:420px;right:-120px;top:140px;background:radial-gradient(circle, rgba(61,107,79,.18), rgba(61,107,79,0) 70%);animation-delay:-4s}
.landing-shell--premium .landingAura--c{width:300px;height:300px;left:24%;bottom:12%;background:radial-gradient(circle, rgba(72,105,173,.12), rgba(72,105,173,0) 72%);animation-delay:-8s}
@keyframes hzAuraFloat{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(12px,-16px,0) scale(1.04)}100%{transform:translate3d(-14px,20px,0) scale(.98)}}
.heroCard--premium,.heroVisualCard--premium,.showcaseCard,.heroSurfaceCard,.priceTier,.faqAside,.demoPane--form,.demoPane--result,.ssStep,.ssCard{position:relative;overflow:hidden}
.heroCard--premium::after,.heroVisualCard--premium::after,.showcaseCard::after,.heroSurfaceCard::after,.priceTier::after,.faqAside::after,.demoPane--form::after,.demoPane--result::after,.ssStep::after,.ssCard::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.42), rgba(255,255,255,0) 62%);opacity:0;transition:opacity var(--hz-premium-base) var(--hz-premium-ease)}
.heroCard--premium.is-spotlit::after,.heroVisualCard--premium.is-spotlit::after,.showcaseCard.is-spotlit::after,.heroSurfaceCard.is-spotlit::after,.priceTier.is-spotlit::after,.faqAside.is-spotlit::after,.demoPane--form.is-spotlit::after,.demoPane--result.is-spotlit::after,.ssStep.is-spotlit::after,.ssCard.is-spotlit::after{opacity:1}
.heroCard--premium,.heroVisualCard--premium{backdrop-filter:blur(14px)}
.heroCard--premium .heroMicro,.heroTrustPill,.hz-trust-badge{backdrop-filter:blur(12px)}
.heroMetricStrip{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px 20px 0;border-top:1px solid rgba(26,23,20,.08)}
.heroMetricStrip > div{position:relative;padding:0 6px}
.heroMetricStrip > div::before{content:"";position:absolute;top:4px;left:-10px;bottom:4px;width:1px;background:rgba(139,115,85,.16)}
.heroMetricStrip > div:first-child::before{display:none}
.heroMetricStrip b{transition:transform var(--hz-premium-base) var(--hz-premium-ease), color var(--hz-premium-base) var(--hz-premium-ease)}
.heroMetricStrip > div:hover b{transform:translateY(-1px) scale(1.04);color:var(--v55-green,#3d6b4f)}
.heroActionRow .btn,.faqAside .btn,#demoRunBtn,.demoPreset,.segbtn{transition:transform var(--hz-premium-base) var(--hz-premium-ease), box-shadow var(--hz-premium-base) var(--hz-premium-ease), border-color var(--hz-premium-base) var(--hz-premium-ease), background var(--hz-premium-base) var(--hz-premium-ease)}
.heroActionRow .btn.primary,#demoRunBtn{box-shadow:0 18px 36px rgba(61,107,79,.22), 0 8px 16px rgba(26,23,20,.08)}
.heroActionRow .btn.primary:hover,#demoRunBtn:hover{box-shadow:0 22px 48px rgba(61,107,79,.28), 0 14px 26px rgba(26,23,20,.1)}
.heroVisual::before{content:"";position:absolute;inset:10px;border-radius:22px;background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,0));pointer-events:none;mix-blend-mode:screen}
.heroVisual::after{content:"";position:absolute;left:-20%;top:18px;width:120px;height:calc(100% - 36px);background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.38), rgba(255,255,255,0));transform:skewX(-18deg);opacity:.55;filter:blur(2px);animation:heroSheenSweep 7.5s ease-in-out infinite;pointer-events:none}
@keyframes heroSheenSweep{0%,18%{transform:translateX(0) skewX(-18deg);opacity:0}28%{opacity:.6}48%{transform:translateX(560px) skewX(-18deg);opacity:0}100%{transform:translateX(560px) skewX(-18deg);opacity:0}}
.showcaseCard__art svg,.heroVisual svg{transform-origin:center center}
.showcaseCard:hover .showcaseCard__art svg{transform:scale(1.018) translateY(-2px)}
.hz-trust-bar{position:relative;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(139,115,85,.1);box-shadow:0 16px 40px rgba(26,23,20,.06)}
.hz-trust-badge{padding:10px 14px;border-radius:999px;transition:transform var(--hz-premium-base) var(--hz-premium-ease), background var(--hz-premium-base) var(--hz-premium-ease)}
.hz-trust-badge:hover{transform:translateY(-1px);background:rgba(255,255,255,.68)}
.ssRail{position:relative;overflow:hidden}
.ssRail::after{content:"";position:absolute;left:0;top:0;bottom:0;width:calc((var(--ss-progress, .35))*100%);background:linear-gradient(90deg, rgba(139,115,85,.32), rgba(61,107,79,.22));border-radius:inherit;transition:width .48s var(--hz-premium-ease)}
.ssStep.is-active,.ssCard.is-active{transform:translateY(-2px)}
.hz-reveal{opacity:0;transform:translateY(24px) scale(.985);transition:opacity var(--hz-premium-reveal) var(--hz-premium-ease), transform var(--hz-premium-reveal) var(--hz-premium-ease)}
.hz-reveal.hz-visible{opacity:1;transform:none}
.demoPane--result,.demoPane--form{transition:transform var(--hz-premium-base) var(--hz-premium-ease), box-shadow var(--hz-premium-base) var(--hz-premium-ease)}
.demoPane--result.is-fresh{box-shadow:0 26px 60px rgba(26,23,20,.12), 0 0 0 1px rgba(61,107,79,.08);transform:translateY(-2px)}
.demoSvgHost{position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 16px 34px rgba(26,23,20,.08)}
.demoSvgHost::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 38%, rgba(61,107,79,.04) 100%);z-index:1}
.demoSvgHost::after{content:"";position:absolute;left:-25%;top:0;width:22%;height:100%;background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.42), rgba(255,255,255,0));transform:skewX(-18deg);opacity:0;pointer-events:none;z-index:1;animation:demoScanner 6.8s ease-in-out infinite}
@keyframes demoScanner{0%,20%{transform:translateX(0) skewX(-18deg);opacity:0}30%{opacity:.55}50%{transform:translateX(620%) skewX(-18deg);opacity:0}100%{transform:translateX(620%) skewX(-18deg);opacity:0}}
.cutPreviewSvg .cutRect{transition:transform var(--hz-premium-fast) var(--hz-premium-ease), filter var(--hz-premium-fast) var(--hz-premium-ease), stroke-width var(--hz-premium-fast) var(--hz-premium-ease), opacity var(--hz-premium-fast) var(--hz-premium-ease)}
.cutPreviewSvg .cutRect.isPart:hover{filter:brightness(1.03) saturate(1.03);transform:translateY(-1px) scale(1.01)}
.cutPreviewSvg .cutRect.isSelected{animation:cutRectPulse 1.8s ease-in-out infinite alternate}
@keyframes cutRectPulse{0%{filter:brightness(.98);transform:translateY(-1px) scale(1.01)}100%{filter:brightness(1.06);transform:translateY(-2px) scale(1.018)}}
.demoSummary .demoStat{transition:transform var(--hz-premium-fast) var(--hz-premium-ease), box-shadow var(--hz-premium-fast) var(--hz-premium-ease), border-color var(--hz-premium-fast) var(--hz-premium-ease)}
.demoSummary .demoStat.is-live{transform:translateY(-2px);border-color:rgba(61,107,79,.22);box-shadow:0 14px 24px rgba(61,107,79,.12)}

/* Demo state model: idle/loading/done/error must never overlap. */
.demoPane--result #landingDemoLoading{display:none}
.demoPane--result.is-loading .demo-placeholder,
.demoPane--result.is-loading #landingDemoResult,
.demoPane--result.is-loading #landingDemoError{display:none !important}
.demoPane--result.is-loading #landingDemoLoading{display:block !important}
.demoPane--result.is-ready .demo-placeholder,
.demoPane--result.is-ready #landingDemoLoading,
.demoPane--result.is-ready #landingDemoError{display:none !important}

.demoLoadingPanel{
  position:relative;
  min-height:420px;
  padding:24px;
  border-radius:22px;
  border:1px solid rgba(89,205,155,.22);
  background:
    radial-gradient(circle at 12% 6%, rgba(80,177,138,.22), transparent 40%),
    radial-gradient(circle at 88% 90%, rgba(20,69,52,.42), transparent 40%),
    linear-gradient(180deg, #0b1613 0%, #08110f 100%);
  box-shadow:inset 0 0 0 1px rgba(71,165,126,.1), 0 24px 52px rgba(8,17,14,.45);
  color:#d8f2e8;
  overflow:hidden;
}
.demoLoadingPanel::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(111,226,178,.16) 1px, transparent 1px);
  background-size:24px 24px;
  opacity:.35;
  pointer-events:none;
}
.demoLoadingPanel__head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.demoLoadingPanel__eyebrow{
  font-family:var(--v55-mono,'JetBrains Mono',monospace);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(215,247,233,.68);
}
.demoLoadingPanel__chip{
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(87,214,162,.44);
  background:rgba(14,73,54,.44);
  color:#83dfb8;
  font-weight:700;
}
.demoLoadingPanel__title{
  position:relative;
  z-index:1;
  margin-top:0;
  font-size:34px;
  line-height:1.06;
  font-weight:800;
  color:#f0faf6;
  max-width:14ch;
}
.demoLoadingPanel__subtitle{
  position:relative;
  z-index:1;
  margin-top:10px;
  max-width:56ch;
  color:rgba(207,245,228,.78);
  font-size:14px;
  line-height:1.6;
}
.demoLoadingPanel__hint{
  position:relative;
  z-index:1;
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(128,233,189,.22);
  border-radius:12px;
  padding:8px 12px;
  font-family:var(--v55-mono,'JetBrains Mono',monospace);
  color:rgba(197,241,224,.82);
  font-size:13px;
}
.demoLoadingPanel__bar{
  position:relative;
  z-index:1;
  margin-top:16px;
  height:6px;
  border-radius:999px;
  background:rgba(88,205,158,.22);
  overflow:hidden;
}
.demoLoadingPanel__bar i{
  display:block;
  width:40%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(85,223,170,.42), rgba(85,223,170,.96), rgba(85,223,170,.42));
  animation:demoLoadingBar 1.7s linear infinite;
}
@keyframes demoLoadingBar{
  from{transform:translateX(-120%)}
  to{transform:translateX(320%)}
}
.demoLoadingPanel__sheet{
  position:relative;
  z-index:1;
  margin-top:18px;
  border:1px dashed rgba(110,218,175,.34);
  border-radius:20px;
  padding:14px;
  min-height:180px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:minmax(38px,1fr);
  gap:10px;
}
.demoLoadingPanel__part{
  border:2px solid rgba(89,225,173,.9);
  border-radius:8px;
  background:linear-gradient(135deg, rgba(26,112,82,.2), rgba(16,63,47,.16));
  animation:demoLoadingPulse 1.8s ease-in-out infinite;
}
.demoLoadingPanel__part.p1{grid-column:1/span 2;grid-row:1}
.demoLoadingPanel__part.p2{grid-column:3/span 2;grid-row:1;animation-delay:.12s}
.demoLoadingPanel__part.p3{grid-column:5/span 2;grid-row:1;animation-delay:.24s}
.demoLoadingPanel__part.p4{grid-column:1/span 2;grid-row:2;animation-delay:.08s}
.demoLoadingPanel__part.p5{grid-column:3/span 2;grid-row:2;animation-delay:.18s}
.demoLoadingPanel__part.p6{grid-column:5/span 1;grid-row:2;animation-delay:.28s}
.demoLoadingPanel__part.p7{grid-column:1/span 3;grid-row:3;animation-delay:.2s}
.demoLoadingPanel__part.p8{grid-column:4/span 3;grid-row:3;animation-delay:.32s}
@keyframes demoLoadingPulse{
  0%,100%{opacity:.48;box-shadow:0 0 0 rgba(100,242,190,0)}
  50%{opacity:1;box-shadow:0 0 18px rgba(100,242,190,.28)}
}
.demoLoadingPanel__terminal{
  position:relative;
  z-index:1;
  margin-top:14px;
  border:1px solid rgba(117,223,181,.24);
  border-radius:14px;
  background:rgba(7,28,20,.62);
  padding:10px 12px;
  overflow:hidden;
}
.demoLoadingPanel__terminal::after{
  content:"";
  position:absolute;
  left:-30%;
  top:0;
  width:20%;
  height:100%;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(125,214,164,.34), rgba(255,255,255,0));
  transform:skewX(-22deg);
  animation:demoLoadingTerminalSweep 4.2s linear infinite;
  pointer-events:none;
  opacity:.7;
}
@keyframes demoLoadingTerminalSweep{
  0%{transform:translateX(0) skewX(-22deg)}
  100%{transform:translateX(760%) skewX(-22deg)}
}
.demoLoadingPanel__terminal-head{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--v55-mono,'JetBrains Mono',monospace);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(188,239,216,.82);
}
.demoLoadingPanel__terminal-lines{
  margin-top:8px;
  display:grid;
  gap:6px;
}
.demoLoadingPanel__line{
  display:grid;
  grid-template-columns:16px 60px 1fr;
  align-items:center;
  gap:8px;
  font-family:var(--v55-mono,'JetBrains Mono',monospace);
  font-size:12px;
  line-height:1.35;
  color:rgba(192,237,218,.82);
  opacity:0;
  transform:translateY(3px);
  animation:demoLoadingLineIn .5s ease forwards;
}
.demoLoadingPanel__line:nth-child(1){animation-delay:.1s}
.demoLoadingPanel__line:nth-child(2){animation-delay:.35s}
.demoLoadingPanel__line:nth-child(3){animation-delay:.6s}
.demoLoadingPanel__line:nth-child(4){animation-delay:.85s}
@keyframes demoLoadingLineIn{to{opacity:1;transform:none}}
.demoLoadingPanel__line span{font-weight:900}
.demoLoadingPanel__line b{font-weight:700;color:rgba(136,231,189,.94);text-transform:lowercase}
.demoLoadingPanel__line i{font-style:normal;color:rgba(201,240,224,.75)}
.demoLoadingPanel__line--run span{color:#d9b56f}
.demoLoadingPanel__line--ok span{color:#7dd6a4}
@media (max-width: 920px){
  .demoLoadingPanel{min-height:360px;padding:18px}
  .demoLoadingPanel__title{font-size:28px}
}
@media (max-width: 640px){
  .demoLoadingPanel__title{font-size:24px}
  .demoLoadingPanel__sheet{grid-template-columns:repeat(4,minmax(0,1fr))}
  .demoLoadingPanel__part.p1{grid-column:1/span 2}
  .demoLoadingPanel__part.p2{grid-column:3/span 2}
  .demoLoadingPanel__part.p3{grid-column:1/span 2;grid-row:2}
  .demoLoadingPanel__part.p4{grid-column:3/span 2;grid-row:2}
  .demoLoadingPanel__part.p5{grid-column:1/span 2;grid-row:3}
  .demoLoadingPanel__part.p6{grid-column:3/span 2;grid-row:3}
  .demoLoadingPanel__part.p7{grid-column:1/span 2;grid-row:4}
  .demoLoadingPanel__part.p8{grid-column:3/span 2;grid-row:4}
}
@media (max-width: 840px){.heroMetricStrip{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.landing-shell--premium .landingAura,.heroVisual::after,.demoSvgHost::after,.cutPreviewSvg .cutRect.isSelected,.demoLoadingPanel__bar i,.demoLoadingPanel__part,.demoLoadingPanel__terminal::after,.demoLoadingPanel__line{animation:none !important}.heroActionRow .btn,.faqAside .btn,#demoRunBtn,.demoPreset,.segbtn,.heroMetricStrip b,.demoPane--result,.demoPane--form{transition:none !important}.demoLoadingPanel__line{opacity:1;transform:none}}
