:root {
  --ink: #11152b;
  --ink-2: #28304d;
  --muted: #66708e;
  --subtle: #9299ad;
  --paper: #f5f6fb;
  --surface: #ffffff;
  --surface-2: #eff1fb;
  --line: #e0e3f0;
  --line-strong: #cdd2e5;
  --brand: #7057f5;
  --brand-dark: #5337d9;
  --brand-soft: #ebe8ff;
  --coral: #ff5cc8;
  --coral-soft: #ffe8f7;
  --yellow: #d8a62e;
  --yellow-soft: #fff6d9;
  --red: #c74949;
  --red-soft: #fdeaea;
  --blue: #167ea2;
  --blue-soft: #e2f8ff;
  --shadow-sm: 0 1px 2px rgba(16, 20, 43, .04), 0 8px 24px rgba(16, 20, 43, .06);
  --shadow-md: 0 20px 60px rgba(16, 20, 43, .14);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 26px;
  --container: 1200px;
  --sidebar: 244px;
  --topbar: 70px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

/* TechHeaven visual system */
.site-header { color: #f5f7ff; border-color: rgba(255,255,255,.09); background: rgba(8,11,25,.9); }
.site-header .brand__symbol i { border-color: #8c78ff; }
.site-header .site-nav > a:not(.button) { color: #c8cde2; }
.site-header .site-nav > a:not(.button):hover { color: #39d8ff; }
.site-header .button--primary, .hero .button--primary, .final-cta .button--light {
  color: #fff; background: linear-gradient(115deg, #7057f5, #9b55f5 54%, #2fcff2); border: 0;
  box-shadow: 0 12px 30px rgba(112,87,245,.32);
}
.hero { color: #f8f9ff; background: radial-gradient(circle at 78% 30%, rgba(40,204,244,.19), transparent 26%), radial-gradient(circle at 14% 74%, rgba(132,83,246,.23), transparent 30%), linear-gradient(145deg, #080b19 0%, #11152c 55%, #0c1228 100%); }
.hero::before { border-color: rgba(112,87,245,.24); box-shadow: 0 0 0 42px rgba(112,87,245,.045), 0 0 0 84px rgba(47,207,242,.025); }
.hero h1 em { color: #3bd8f7; text-shadow: 0 0 34px rgba(59,216,247,.18); }
.hero__lead { color: #aeb6d2; }
.hero__trust { color: #d7dcf0; }
.hero__trust b { color: #fff; background: rgba(112,87,245,.35); }
.hero .button--ghost { color: #f5f7ff; border-color: rgba(255,255,255,.24); }
.hero .button--ghost:hover { background: rgba(255,255,255,.08); }
.hero-studio { border-color: rgba(255,255,255,.1); background: linear-gradient(145deg, rgba(112,87,245,.25), rgba(17,24,53,.9) 48%, rgba(44,203,239,.18)); box-shadow: 0 32px 90px rgba(0,0,0,.4); }
.hero-studio__stage { border-color: rgba(103,220,255,.2); }
.shape-3d__core { background: linear-gradient(145deg, #9b70ff, #6142e8 48%, #1ac8ef); box-shadow: inset -18px -18px 36px rgba(0,0,0,.25), inset 18px 18px 30px rgba(255,255,255,.2), 0 28px 60px rgba(80,69,239,.4); }
.shape-3d__ring { border-color: rgba(78,222,255,.62); }
.floating-card { border-color: rgba(255,255,255,.14); background: rgba(19,24,51,.82); box-shadow: 0 14px 38px rgba(0,0,0,.3); }
.floating-card small, .hero-studio__caption { color: #9fa8c8; }
.floating-card__icon { color: #3bd8f7; background: rgba(47,207,242,.12); }
.progress-ring::before { background: #171c38; }
.proof-strip { border-color: #202640; color: #d4d9ee; background: #10142a; }
.proof-strip p { color: #8892b4; }
.section--tinted { background: #eceeff; }
.feature-card--accent, .responsible-card { background: linear-gradient(145deg, #11162d, #1d1741); }
.site-footer { background: #080b19; }

.app-topbar--admin { color: #f4f6ff; border-color: rgba(255,255,255,.08); background: rgba(9,12,27,.97); }
.app-topbar--admin .brand__symbol i { border-color: #8c78ff; }
.app-topbar--admin .app-topbar__context { color: #969fbe; border-color: rgba(255,255,255,.1); }
.app-topbar--admin .button--ghost { color: #dbe0f4; border-color: rgba(255,255,255,.16); }
.app-sidebar--admin { color: #d4d9ed; border-color: #202541; background: linear-gradient(180deg, #0d1022, #11142b); }
.app-sidebar--admin .app-sidebar__nav a { color: #a9b0cd; }
.app-sidebar--admin .app-sidebar__nav a.is-active { color: #fff; background: linear-gradient(90deg, rgba(112,87,245,.38), rgba(47,207,242,.1)); box-shadow: inset 2px 0 #8c78ff; }
.app-sidebar--admin .app-sidebar__label { color: #636c90; }
.page-admin .app-main { background: radial-gradient(circle at 96% 2%, rgba(112,87,245,.08), transparent 21%), var(--paper); }
.button--primary { background: linear-gradient(115deg, #6650eb, #805af5); box-shadow: 0 9px 22px rgba(102,80,235,.22); }
.button--primary:hover { background: linear-gradient(115deg, #5941de, #734cea); }
.button--soft { color: #5337d9; background: #ebe8ff; }
input:focus, select:focus, textarea:focus { border-color: #7057f5; box-shadow: 0 0 0 4px rgba(112,87,245,.13); }

/* Connections */
.connections-page { max-width: 1420px; }
.page-heading--connections { align-items: center; padding: 8px 0 4px; }
.page-heading--connections h1 { font-size: clamp(34px,3.3vw,50px); }
.page-heading--connections p { max-width: 760px; font-size: 15px; }
.connection-mode, .connection-status { display: inline-flex; align-items: center; gap: 7px; width: max-content; border-radius: 999px; font-size: 11px; font-weight: 800; }
.connection-mode { padding: 9px 13px; color: #5139ca; border: 1px solid #d9d3ff; background: #f0edff; }
.connection-mode i, .connection-status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px currentColor; opacity: .55; }
.connection-mode--locked { color: #9c4141; border-color: #f0cccc; background: #fff0f0; }
.connections-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 22px 0; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.connections-summary article { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 17px 20px; }
.connections-summary article + article { border-left: 1px solid var(--line); }
.connections-summary article > div { display: grid; min-width: 0; }
.connections-summary small { color: var(--muted); font-size: 10px; }
.connections-summary strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.connection-orb { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 12px; font-size: 11px; font-weight: 900; }
.connection-orb--ai { color: #fff; background: linear-gradient(135deg,#805fff,#c14ff2); }
.connection-orb--tool { color: #fff; background: linear-gradient(135deg,#ff8e2d,#ff5e45); }
.connection-orb--printer { color: #052534; background: linear-gradient(135deg,#62e8ff,#32c7e8); }
.connection-orb--safe { color: #176e52; background: #dff9ed; }
.connection-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 18px; }
.connection-card, .fleet-panel { border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.connection-card { min-width: 0; padding: 25px; }
.connection-card--tool { background: linear-gradient(145deg,#fff 55%,#fff6ec); }
.connection-card__head { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 13px; }
.connection-card__head h2, .fleet-panel h2 { margin: 1px 0 0; font-size: 24px; }
.connection-kicker { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.connection-logo { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: #fff; font-size: 21px; font-weight: 900; }
.connection-logo--meshy { background: linear-gradient(135deg,#7155f3,#bd53ee); box-shadow: 0 9px 22px rgba(113,85,243,.25); }
.connection-logo--blender { background: linear-gradient(135deg,#ff9b28,#f05c28); box-shadow: 0 9px 22px rgba(240,92,40,.22); }
.connection-status { padding: 6px 9px; color: #7a829c; background: #f0f1f6; }
.connection-status.is-connected { color: #187354; background: #e2f8ee; }
.connection-card__copy { margin: 20px 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.secret-state { display: flex; align-items: center; gap: 14px; margin-bottom: 15px; padding: 13px; border: 1px solid #dce0ee; border-radius: 13px; background: #f7f8fc; }
.secret-state > span { color: #7057f5; font-family: ui-monospace,monospace; font-size: 13px; font-weight: 900; letter-spacing: .08em; }
.secret-state > div { display: grid; }
.secret-state strong { font-size: 12px; }
.secret-state small { color: var(--muted); font-size: 9px; }
.connection-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; }
.connection-form label, .printer-add-form label { display: grid; gap: 6px; color: var(--ink-2); font-size: 11px; font-weight: 750; }
.connection-form label small, .printer-add-form label small { color: var(--muted); font-size: 9px; font-weight: 500; }
.connection-card__actions { display: flex; align-items: center; gap: 17px; margin-top: 14px; }
.tool-path { display: grid; gap: 5px; margin: 29px 0 16px; padding: 14px; border-radius: 13px; color: #7e3c16; background: #fff2df; }
.tool-path small { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.tool-path code { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.security-note { display: flex; align-items: center; gap: 12px; padding: 13px; border: 1px solid #d9d5fb; border-radius: 13px; background: #f2f0ff; }
.security-note span { flex: 0 0 auto; padding: 5px 7px; border-radius: 7px; color: #fff; background: #7057f5; font-size: 9px; font-weight: 850; }
.security-note p { margin: 0; color: #4f5674; font-size: 11px; }
.fleet-panel { margin-top: 18px; padding: 25px; }
.fleet-panel__head { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.fleet-panel__head p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.connection-requirements{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 18px;padding:10px;border-radius:12px;background:#f3f1ff}.connection-requirements span,.connection-requirements small{padding:5px 8px;border-radius:8px;color:#555e7d;background:#fff;font-size:9px}.connection-requirements strong{color:#5139ca}.connection-requirements small{margin-left:auto;background:transparent}
.fleet-count { height: max-content; padding: 7px 11px; border-radius: 9px; color: #5337d9; background: #ebe8ff; font-size: 11px; font-weight: 850; }
.fleet-empty { display: flex; align-items: center; justify-content: center; gap: 20px; min-height: 150px; margin-bottom: 20px; border: 1px dashed #cdd2e5; border-radius: 17px; background: #fafaff; }
.fleet-empty strong { display: block; font-size: 14px; }
.fleet-empty p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.printer-glyph { position: relative; display: block; width: 58px; height: 58px; border: 2px solid #37caeb; border-radius: 14px; background: rgba(48,204,239,.1); }
.printer-glyph::before { content:""; position:absolute; inset:12px 9px 20px; border:2px solid #7057f5; border-radius:4px; }
.printer-glyph::after { content:""; position:absolute; left:16px; right:16px; bottom:10px; height:3px; border-radius:2px; background:#37caeb; box-shadow:0 -8px #7057f5; }
.printer-glyph--large { width: 70px; height: 70px; }
.printer-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(360px,1fr)); gap: 14px; margin-bottom: 20px; }
.printer-card { overflow: hidden; width:100%;max-width:540px;border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.printer-card__visual { display: flex; align-items: flex-start; justify-content: space-between; padding: 18px; background: linear-gradient(135deg,#f0edff,#e8faff); }
.printer-card__body { padding: 17px; }
.printer-card__body h3 { margin: 0; font-size: 17px; }
.printer-card__body > p { margin: 3px 0 14px; color: var(--muted); font-size: 10px; }
.printer-card dl { display: grid; gap: 7px; margin: 0 0 14px; }
.printer-card dl div { display: flex; justify-content: space-between; gap: 10px; font-size: 10px; }
.printer-card dt { color: var(--muted); }.printer-card dd { margin:0;font-weight:750; }
.printer-card__actions { display:grid;grid-template-columns:1fr auto auto;gap:8px }.printer-card__actions form,.printer-card__actions .button{width:100%}.button--quiet-danger{color:#a13e51;border-color:#f0ced6;background:#fff5f7}
.printer-edit { margin-top:10px;border-top:1px solid var(--line);padding-top:10px }.printer-edit summary{cursor:pointer;color:#5d45d3;font-size:11px;font-weight:800}.printer-edit__form{display:grid;gap:10px;margin-top:12px;padding:12px;border-radius:12px;background:#f7f7fd}.printer-edit__form label{display:grid;gap:5px;font-size:10px;font-weight:750}.printer-edit__form label small{color:var(--muted);font-size:9px;font-weight:500}.printer-edit__clear{display:flex!important;align-items:center}.printer-edit__clear input{width:auto}.printer-edit__clear span{font-weight:600}
.printer-add-form { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)) auto; align-items: end; gap: 12px; padding: 17px; border: 1px solid #d9d5fb; border-radius: 17px; background: linear-gradient(115deg,#f5f3ff,#f2fbff); }
.printer-add-form__title { grid-column:1/-1;display: flex; align-items: center; gap: 10px; }
.printer-add-form__title > span { display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:#7057f5;font-size:19px; }
.printer-add-form__title > div { display:grid; }.printer-add-form__title strong{font-size:12px}.printer-add-form__title small{color:var(--muted);font-size:9px}
.printer-add-form label em { color: var(--muted); font-style:normal; font-weight:500; }
.connection-boundary { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 20px; margin-top: 18px; padding: 22px 27px; border-radius: 20px; color: #e9edff; background: linear-gradient(115deg,#0d1126,#171435 56%,#102a3c); }
.connection-boundary > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; }
.connection-boundary span { grid-row:1/3; display:grid;place-items:center;width:35px;height:35px;border-radius:10px;color:#58dcf7;background:rgba(47,207,242,.12);font-size:10px;font-weight:850; }
.connection-boundary strong { font-size:12px; }.connection-boundary small{color:#8f99bd;font-size:9px}.connection-boundary>i{color:#6657a8;font-style:normal}
.nav-icon--connections::before { inset: 3px 2px; border: 1.5px solid; border-radius: 3px; box-shadow: 5px -4px 0 -3px currentColor, -5px 4px 0 -3px currentColor; }

@media (max-width: 1100px) {
  .connections-summary { grid-template-columns: 1fr 1fr; }.connections-summary article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.connections-summary article:nth-child(4){border-top:1px solid var(--line)}
  .connection-grid { grid-template-columns: 1fr; }.printer-grid{grid-template-columns:1fr}
  .printer-add-form { grid-template-columns:1fr 1fr 1fr; }.printer-add-form__title{grid-column:1/-1}
}
@media (max-width: 700px) {
  .connections-summary { grid-template-columns:1fr }.connections-summary article+article{border-left:0;border-top:1px solid var(--line)}
  .connection-card__head { grid-template-columns:48px 1fr }.connection-card__head .connection-status{grid-column:2}
  .connection-form { grid-template-columns:1fr }.connection-card__actions{align-items:stretch;flex-direction:column}.connection-card__actions form,.connection-card__actions .button{width:100%}
  .printer-grid,.printer-add-form{grid-template-columns:1fr}.connection-boundary{grid-template-columns:1fr}.connection-boundary>i{display:none}.fleet-empty{align-items:flex-start;padding:22px;flex-direction:column}
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.is-locked { overflow: hidden; }
button, input, select, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img, model-viewer { display: block; max-width: 100%; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.1; letter-spacing: -.035em; }
input, select, textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  padding: 10px 13px;
  outline: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
textarea { min-height: 100px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(15, 116, 106, .12); }
input::placeholder, textarea::placeholder { color: #9aa7a2; }
input[type="checkbox"], input[type="radio"] { min-height: 0; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: 8px; left: 8px; transform: translateY(-150%); background: var(--ink); color: #fff; padding: 9px 14px; border-radius: 8px; }
.skip-link:focus { transform: none; }
.muted { color: var(--muted); }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; }
.tag, .count-pill, .privacy-pill, .environment-pill, .engine-pill {
  display: inline-flex; align-items: center; gap: 6px; width: max-content; border-radius: 999px; font-size: 12px; font-weight: 750;
}
.tag, .count-pill { padding: 5px 9px; background: var(--surface-2); color: var(--ink-2); }
.count-pill { padding: 8px 13px; border: 1px solid var(--line); background: var(--surface); }
.privacy-pill { padding: 8px 12px; color: var(--brand-dark); background: var(--brand-soft); }
.privacy-pill i { font-style: normal; }
.environment-pill { padding: 3px 8px; color: #735d10; background: var(--yellow-soft); }
.engine-pill { padding: 4px 8px; color: var(--blue); background: var(--blue-soft); text-transform: capitalize; }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; border: 1px solid transparent;
  border-radius: 11px; padding: 9px 17px; font-weight: 750; font-size: 14px; line-height: 1; transition: transform .2s var(--ease), box-shadow .2s, background .2s, border-color .2s;
}
.button:hover { transform: translateY(-1px); }
.button:focus-visible { outline: 3px solid rgba(15, 116, 106, .22); outline-offset: 2px; }
.button--primary { color: #fff; background: var(--brand); box-shadow: 0 8px 18px rgba(15, 116, 106, .18); }
.button--primary:hover { background: var(--brand-dark); box-shadow: 0 10px 24px rgba(15, 116, 106, .24); }
.button--ghost { color: var(--ink); background: transparent; border-color: var(--line-strong); }
.button--ghost:hover { background: var(--surface); border-color: #aebdb4; }
.button--soft { color: var(--brand-dark); background: var(--brand-soft); }
.button--soft:hover { background: #cbe8df; }
.button--light { color: var(--ink); background: #fff; }
.button--danger { color: #fff; background: var(--red); box-shadow: 0 8px 18px rgba(199,73,73,.18); }
.button--danger:hover { background: #a93a3a; }
.button--small { min-height: 36px; padding: 7px 12px; font-size: 12.5px; border-radius: 9px; }
.button--large { min-height: 52px; padding: 13px 21px; font-size: 15px; }
.button--block { width: 100%; }
.button[disabled] { opacity: .65; cursor: wait; transform: none; }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--brand); font-weight: 750; font-size: 14px; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(3px); }
.icon-button { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; color: var(--brand); background: var(--surface); font-weight: 800; }
.icon-button:hover { background: var(--brand-soft); }

.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 830; letter-spacing: -.025em; }
.brand__symbol { position: relative; display: inline-block; width: 31px; height: 31px; transform: rotate(30deg); }
.brand__symbol i { position: absolute; display: block; width: 17px; height: 17px; border: 2px solid var(--brand); border-radius: 4px; }
.brand__symbol i:nth-child(1) { left: 1px; top: 7px; }
.brand__symbol i:nth-child(2) { right: 0; top: 1px; opacity: .72; }
.brand__symbol i:nth-child(3) { right: 0; bottom: 0; opacity: .35; }
.brand__text { font-size: 18px; }
.brand--footer .brand__symbol i { border-color: #c9f1e8; }

.site-header { position: relative; z-index: 50; height: 76px; background: rgba(246, 247, 242, .9); border-bottom: 1px solid rgba(201, 213, 205, .7); backdrop-filter: blur(16px); }
.site-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.site-nav { display: flex; align-items: center; gap: 26px; font-size: 14px; font-weight: 650; }
.site-nav > a:not(.button) { color: var(--ink-2); }
.site-nav > a:not(.button):hover { color: var(--brand); }
.site-nav__divider { height: 22px; width: 1px; background: var(--line-strong); }
.nav-toggle { display: none; border: 0; background: transparent; width: 42px; height: 42px; padding: 10px; }
.nav-toggle > span:not(.sr-only), .sidebar-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: currentColor; border-radius: 2px; }
.user-chip { display: flex; align-items: center; gap: 9px; }
.user-chip > span:last-child { display: grid; }
.user-chip strong { font-size: 13px; line-height: 1.15; }
.user-chip small { color: var(--muted); font-size: 11px; }
.user-chip__avatar { display: inline-grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: var(--brand-soft); color: var(--brand-dark); font-weight: 850; }
.user-chip__avatar--large { width: 44px; height: 44px; border-radius: 13px; }

.flash-stack { position: fixed; z-index: 300; top: 84px; right: 20px; width: min(420px, calc(100% - 40px)); pointer-events: none; }
.flash { display: flex; align-items: flex-start; gap: 11px; padding: 13px 14px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); box-shadow: var(--shadow-md); pointer-events: auto; animation: flash-in .35s var(--ease); }
.flash p { flex: 1; margin: 1px 0 0; font-size: 13px; font-weight: 650; }
.flash button { border: 0; background: transparent; color: var(--muted); font-size: 21px; line-height: 1; }
.flash__icon { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; font-weight: 850; }
.flash--success .flash__icon { color: var(--brand-dark); background: var(--brand-soft); }
.flash--error .flash__icon { color: var(--red); background: var(--red-soft); }
@keyframes flash-in { from { opacity: 0; transform: translateY(-8px); } }
.tooltip-card { position: absolute; z-index: 100; display: block; width: min(300px, calc(100vw - 32px)); margin-top: 8px; padding: 10px 12px; border-radius: 10px; color: #fff; background: var(--ink); box-shadow: var(--shadow-md); font-size: 12px; line-height: 1.45; }

.site-footer { padding: 56px 0 32px; color: #c7d9d3; background: #102a24; }
.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.site-footer__grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.site-footer p { max-width: 390px; margin: 8px 0 0; color: #9db5ae; font-size: 14px; }
.site-footer strong { color: #f2f8f5; font-size: 13px; }
.site-footer a:not(.brand) { color: #a9c0b9; font-size: 13px; }
.site-footer a:hover { color: #fff; }
.site-footer__legal { grid-column: 1 / -1; flex-direction: row !important; justify-content: space-between; padding-top: 24px; margin-top: 14px; border-top: 1px solid rgba(255,255,255,.1); color: #819b93; font-size: 12px; }

/* Landing */
.hero { position: relative; overflow: hidden; padding: 86px 0 94px; background: radial-gradient(circle at 78% 38%, rgba(185, 224, 212, .48), transparent 30%), linear-gradient(180deg, #f9faf6, var(--paper)); }
.hero::before { content: ""; position: absolute; left: -100px; bottom: 50px; width: 260px; height: 260px; border: 1px solid rgba(15, 116, 106, .08); border-radius: 50%; box-shadow: 0 0 0 42px rgba(15,116,106,.025), 0 0 0 84px rgba(15,116,106,.018); }
.hero__grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 72px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 19px; color: var(--brand); font-size: 12px; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow > span { display: inline-block; width: 24px; height: 2px; background: currentColor; }
.eyebrow--light { color: #a6ded2; }
.hero h1 { max-width: 670px; margin-bottom: 23px; font-size: clamp(48px, 5.6vw, 78px); font-weight: 790; letter-spacing: -.065em; }
.hero h1 em { display: block; color: var(--brand); font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.hero__lead { max-width: 620px; margin-bottom: 30px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 29px; color: var(--ink-2); font-size: 12.5px; font-weight: 650; }
.hero__trust span { display: inline-flex; align-items: center; gap: 6px; }
.hero__trust b { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: var(--brand); background: var(--brand-soft); font-size: 10px; }
.hero-studio { position: relative; min-height: 500px; border: 1px solid rgba(255,255,255,.7); border-radius: 38px; background: linear-gradient(145deg, #dceee8, #f2f6f1 48%, #c5dfd7); box-shadow: var(--shadow-md); }
.hero-studio__glow { position: absolute; inset: 12% 18%; background: rgba(255,255,255,.8); filter: blur(50px); border-radius: 50%; }
.hero-studio__stage { position: absolute; inset: 55px 56px 76px; display: grid; place-items: center; border: 1px solid rgba(15,116,106,.1); border-radius: 50% 44% 48% 45%; background: radial-gradient(circle, rgba(255,255,255,.7), rgba(255,255,255,.12) 62%, transparent 63%); }
.shape-3d { position: relative; width: 230px; height: 230px; animation: float 5s ease-in-out infinite; }
.shape-3d__core { position: absolute; inset: 48px; display: block; border-radius: 38% 62% 56% 44% / 51% 39% 61% 49%; background: linear-gradient(145deg, #1a8276, #0a514a 54%, #103e39); box-shadow: inset -18px -18px 36px rgba(0,0,0,.18), inset 18px 18px 30px rgba(255,255,255,.15), 0 28px 50px rgba(17,84,76,.25); transform: rotate(18deg); }
.shape-3d__core::before { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; }
.shape-3d__ring { position: absolute; inset: 20px; display: block; border: 1px solid rgba(15,116,106,.36); border-radius: 50%; transform: rotateX(66deg) rotateZ(-12deg); }
.shape-3d__ring--two { inset: 9px 42px; transform: rotateY(63deg) rotateZ(24deg); }
.shape-3d__spark { position: absolute; width: 7px; height: 7px; border-radius: 2px; background: var(--coral); box-shadow: 0 0 0 6px rgba(239,116,66,.12); }
.shape-3d__spark--one { top: 36px; right: 35px; }
.shape-3d__spark--two { bottom: 36px; left: 28px; background: var(--brand); box-shadow: 0 0 0 6px rgba(15,116,106,.12); }
@keyframes float { 50% { transform: translateY(-10px) rotate(2deg); } }
.floating-card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; min-width: 184px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.8); border-radius: 14px; background: rgba(255,255,255,.88); box-shadow: 0 12px 30px rgba(19,48,41,.12); backdrop-filter: blur(10px); }
.floating-card--top { top: 58px; right: -25px; }
.floating-card--bottom { bottom: 74px; left: -35px; }
.floating-card__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: var(--brand); background: var(--brand-soft); font-size: 20px; }
.floating-card > span:last-child { display: grid; }
.floating-card small { color: var(--muted); font-size: 10px; }
.floating-card strong { font-size: 12px; }
.progress-ring { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: conic-gradient(var(--coral) 75%, #e5ebe7 0); }
.progress-ring::before { content: ""; grid-area: 1/1; width: 29px; height: 29px; border-radius: 50%; background: #fff; }
.progress-ring b { z-index: 1; grid-area: 1/1; font-size: 9px; }
.hero-studio__caption { position: absolute; inset: auto 26px 22px; display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; font-weight: 700; }
.hero-studio__caption span { display: inline-flex; align-items: center; gap: 6px; }
.live-dot, .system-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #26a178; box-shadow: 0 0 0 4px rgba(38,161,120,.12); }

.proof-strip { border-block: 1px solid var(--line); background: var(--surface); }
.proof-strip__inner { min-height: 72px; display: flex; align-items: center; justify-content: center; gap: 23px; color: var(--ink-2); font-size: 13px; font-weight: 750; }
.proof-strip p { margin: 0; color: var(--muted); font-weight: 500; }
.proof-strip i { width: 4px; height: 4px; border-radius: 50%; background: var(--coral); }
.section { padding: 102px 0; }
.section--tinted { background: #e9f0ea; }
.section--faq { padding-top: 84px; background: #fafbf8; }
.section-heading { max-width: 660px; margin-bottom: 44px; }
.section-heading--split { max-width: none; display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 80px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading h2, .process-copy h2, .faq-layout h2 { margin-bottom: 15px; font-size: clamp(36px, 4vw, 54px); }
.section-heading p, .process-copy > p, .faq-layout > div > p { margin-bottom: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.feature-card { position: relative; overflow: hidden; min-height: 330px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.feature-card--accent { color: #f2fbf8; border-color: transparent; background: var(--ink); }
.feature-card__number { position: absolute; top: 24px; right: 25px; color: var(--subtle); font-size: 11px; font-weight: 800; }
.feature-card--accent .feature-card__number { color: #79938c; }
.feature-card__icon { position: relative; width: 78px; height: 78px; margin: 20px 0 30px; border-radius: 22px; background: var(--brand-soft); }
.feature-card--accent .feature-card__icon { background: rgba(126,214,195,.12); }
.feature-card__icon::before, .feature-card__icon::after, .feature-card__icon i { content: ""; position: absolute; display: block; }
.feature-card__icon--file::before { inset: 16px 21px; border: 2px solid var(--brand); border-radius: 6px; background: rgba(255,255,255,.28); }
.feature-card__icon--file::after { top: 17px; right: 22px; width: 12px; height: 12px; border-left: 2px solid var(--brand); border-bottom: 2px solid var(--brand); background: var(--brand-soft); }
.feature-card__icon--file i { left: 28px; right: 28px; top: 38px; height: 2px; background: var(--coral); box-shadow: 0 9px 0 var(--brand), 0 18px 0 var(--brand); }
.feature-card__icon--image::before { inset: 19px; border: 2px solid var(--brand); border-radius: 7px; }
.feature-card__icon--image::after { left: 28px; top: 28px; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.feature-card__icon--image i { left: 24px; right: 24px; bottom: 22px; height: 16px; border-left: 2px solid var(--brand); border-top: 2px solid var(--brand); transform: rotate(45deg) skew(-8deg,-8deg); }
.feature-card__icon--idea::before { inset: 17px 22px 24px; border: 2px solid #96d8c9; border-radius: 50%; }
.feature-card__icon--idea::after { left: 32px; bottom: 16px; width: 15px; height: 8px; border-block: 2px solid #96d8c9; }
.feature-card__icon--print::before { inset: 19px 18px; border: 2px solid var(--brand); border-radius: 6px; }
.feature-card__icon--print::after { left: 28px; right: 28px; top: 28px; height: 2px; background: var(--coral); box-shadow: 0 10px 0 var(--coral), 0 20px 0 var(--coral); }
.feature-card__icon--technical::before { inset: 18px; border: 2px solid var(--brand); border-radius: 50%; }
.feature-card__icon--technical::after { left: 22px; right: 22px; top: 38px; height: 2px; background: var(--brand); }
.feature-card__icon--technical i { top: 22px; bottom: 22px; left: 38px; width: 2px; background: var(--coral); }
.feature-card__icon--batch::before { top: 19px; left: 19px; width: 16px; height: 16px; border: 2px solid var(--brand); border-radius: 4px; box-shadow: 23px 0 0 -2px var(--brand-soft), 23px 0 0 0 var(--brand), 0 23px 0 -2px var(--brand-soft), 0 23px 0 0 var(--brand), 23px 23px 0 -2px var(--brand-soft), 23px 23px 0 0 var(--coral); }
.feature-card h3 { margin-bottom: 12px; font-size: 25px; }
.feature-card p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.feature-card--accent p { color: #b2c7c1; }
.feature-card__meta { position: absolute; left: 28px; right: 28px; bottom: 26px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--brand); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.feature-card--accent .feature-card__meta { color: #94d8c9; border-color: rgba(255,255,255,.12); }
.section-action { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.section-action p { margin: 0; color: var(--muted); font-size: 14px; }

.process-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 100px; align-items: start; }
.process-copy { position: sticky; top: 110px; }
.process-copy .text-link { margin-top: 24px; }
.process-steps { margin: 0; padding: 0; list-style: none; }
.process-steps li { position: relative; display: grid; grid-template-columns: 54px 1fr; gap: 23px; padding: 0 0 38px; }
.process-steps li:not(:last-child)::after { content: ""; position: absolute; left: 26px; top: 55px; bottom: 3px; width: 1px; background: #bdccc4; }
.process-steps li > span { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid #bdd0c7; border-radius: 17px; color: var(--brand); background: rgba(255,255,255,.64); font-weight: 850; }
.process-steps h3 { margin: 4px 0 8px; font-size: 22px; }
.process-steps p { margin: 0; color: var(--muted); font-size: 14px; }
.section--audience { background: linear-gradient(180deg, #fbf7ef, #f6f7f2); }
.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.audience-card { position: relative; min-height: 190px; padding: 28px; border: 1px solid #e6ded0; border-radius: var(--radius-lg); background: rgba(255,255,255,.78); box-shadow: var(--shadow-sm); }
.audience-card__number { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 30px; border-radius: 10px; color: #9b552f; background: var(--coral-soft); font-size: 11px; font-weight: 850; }
.audience-card h3 { margin-bottom: 10px; font-size: 22px; }
.audience-card p { margin: 0; color: var(--muted); font-size: 13.5px; line-height: 1.65; }
.responsible-card { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 46px; margin-top: 22px; padding: 34px; border-radius: var(--radius-lg); color: #edf7f3; background: var(--ink); box-shadow: var(--shadow-md); }
.responsible-card__heading { display: flex; align-items: flex-start; gap: 17px; }
.responsible-card__mark { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border: 1px solid rgba(166,222,210,.28); border-radius: 13px; color: #a6ded2; background: rgba(126,214,195,.1); font-weight: 850; }
.responsible-card .eyebrow { margin-bottom: 10px; color: #a6ded2; }
.responsible-card h3 { max-width: 520px; margin: 0; font-size: clamp(23px, 2.4vw, 31px); line-height: 1.18; }
.responsible-card ul { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 22px; margin: 0; padding: 0; list-style: none; }
.responsible-card li { position: relative; padding-left: 19px; color: #b9cec8; font-size: 13px; line-height: 1.55; }
.responsible-card li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(239,116,66,.1); }
.material-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.material-card { display: flex; align-items: center; gap: 13px; min-height: 100px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.material-card > div { flex: 1; }
.material-card h3 { margin: 0 0 5px; font-size: 17px; }
.material-card p { margin: 0; color: var(--muted); font-size: 11.5px; }
.material-card > b { align-self: flex-start; padding: 3px 7px; color: var(--brand); background: var(--brand-soft); border-radius: 99px; font-size: 9px; text-transform: uppercase; }
.material-swatch { width: 45px; height: 55px; border-radius: 10px 10px 15px 15px; box-shadow: inset -7px -7px 12px rgba(0,0,0,.12), inset 5px 5px 10px rgba(255,255,255,.35); }
.material-swatch--pla { background: #e7ece7; }
.material-swatch--petg { background: #397c70; }
.material-swatch--tpu { background: #e7794f; }
.material-swatch--abs { background: #2b3331; }
.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; display: flex; justify-content: space-between; gap: 18px; padding: 23px 2px; cursor: pointer; font-weight: 750; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { outline: 3px solid rgba(15,116,106,.2); outline-offset: 4px; border-radius: 5px; }
.faq-list summary span { position: relative; flex: 0 0 auto; width: 22px; height: 22px; border: 1px solid var(--line-strong); border-radius: 50%; }
.faq-list summary span::before, .faq-list summary span::after { content: ""; position: absolute; inset: 10px 5px auto; height: 1px; background: var(--ink); }
.faq-list summary span::after { transform: rotate(90deg); transition: transform .2s; }
.faq-list details[open] summary span::after { transform: none; }
.faq-list details p { max-width: 680px; padding: 0 44px 22px 2px; margin: 0; color: var(--muted); font-size: 14px; }
.final-cta { padding: 78px 0; color: #fff; background: var(--brand-dark); }
.final-cta__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.final-cta h2 { max-width: 720px; margin: 0; font-size: clamp(36px, 4.5vw, 58px); }

/* Authentication */
.page-auth .site-header { background: #f8faf6; }
.auth-shell { min-height: calc(100vh - 76px); display: grid; grid-template-columns: minmax(380px, .9fr) minmax(520px, 1.1fr); }
.auth-shell__visual { position: relative; overflow: hidden; display: flex; align-items: center; padding: 70px clamp(36px, 5vw, 80px); color: #eef9f6; background: linear-gradient(145deg, #153f37, #092a25); }
.auth-shell__visual::before { content: ""; position: absolute; width: 520px; height: 520px; right: -260px; bottom: -250px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 60px rgba(255,255,255,.025), 0 0 0 120px rgba(255,255,255,.018); }
.auth-visual__content { position: relative; z-index: 2; max-width: 510px; }
.auth-visual__content h1 { margin-bottom: 20px; font-size: clamp(42px, 4.2vw, 62px); }
.auth-visual__content > p { max-width: 480px; color: #a9c6be; font-size: 16px; line-height: 1.7; }
.auth-visual__content blockquote { margin: 34px 0 0; padding: 20px 22px; border-left: 2px solid var(--coral); color: #c8ddd7; background: rgba(255,255,255,.05); font-family: Georgia, serif; font-size: 17px; }
.auth-visual__steps { display: grid; gap: 13px; margin-top: 34px; }
.auth-visual__steps span { display: flex; align-items: center; gap: 11px; color: #c1d6d0; font-size: 13px; }
.auth-visual__steps i { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; color: #a5dbcf; font-style: normal; font-size: 11px; }
.auth-visual__shape { position: absolute; right: 8%; bottom: 9%; width: 140px; height: 140px; opacity: .12; transform: rotate(30deg); }
.auth-visual__shape i { position: absolute; width: 76px; height: 76px; border: 2px solid #fff; border-radius: 18px; }
.auth-visual__shape i:nth-child(2) { right: 0; }
.auth-visual__shape i:nth-child(3) { right: 0; bottom: 0; }
.auth-shell__form { display: grid; place-items: center; padding: 54px 40px; background: #f8faf6; }
.auth-card { width: min(100%, 520px); }
.auth-card__heading { margin-bottom: 27px; }
.kicker { display: block; margin-bottom: 8px; color: var(--brand); font-size: 12px; font-weight: 820; text-transform: uppercase; letter-spacing: .09em; }
.auth-card__heading h1 { margin-bottom: 9px; font-size: 38px; }
.auth-card__heading p { margin: 0; color: var(--muted); }
.form-stack { display: grid; gap: 17px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.field { min-width: 0; }
.field > label, .compact-form label, .dataset-form label, .dialog label { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 7px; font-size: 12.5px; font-weight: 750; }
.field > label span, .compact-form label span, .dialog label span { color: var(--subtle); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.field__control { position: relative; }
.field__control input { padding-left: 42px; padding-right: 50px; }
.field__icon { position: absolute; z-index: 1; left: 13px; top: 50%; transform: translateY(-50%); color: var(--subtle); font-size: 14px; font-weight: 800; }
.field__icon--key { display: grid; place-items: center; width: 14px; height: 14px; border: 1px solid var(--subtle); border-radius: 50%; font-size: 0; }
.field__icon--key::after { content: ""; position: absolute; left: 12px; width: 7px; height: 1px; background: var(--subtle); }
.field__action { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); border: 0; padding: 6px 8px; color: var(--brand); background: transparent; font-size: 11px; font-weight: 800; }
.field__help { display: block; margin-top: 6px; color: var(--muted); font-size: 10.5px; }
.auth-card__switch { margin: 22px 0 0; text-align: center; color: var(--muted); font-size: 13px; }
.auth-card__switch a { color: var(--brand); font-weight: 800; }
.auth-card__security, .auth-card__terms { margin: 23px 0 0; padding-top: 18px; border-top: 1px solid var(--line); text-align: center; color: var(--subtle); font-size: 10.5px; }
.auth-card__security span { color: var(--brand); }

.reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.reveal--delay { transition-delay: .1s; }
.reveal--delay-2 { transition-delay: .2s; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .reveal { opacity: 1; transform: none; } }

/* Shared application shell */
.page-app { background: #f2f5f1; }
.app-topbar { position: fixed; z-index: 90; inset: 0 0 auto; height: var(--topbar); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.app-topbar__inner { height: 100%; display: flex; align-items: center; padding: 0 24px; gap: 21px; }
.app-topbar__context { display: flex; align-items: center; gap: 8px; padding-left: 21px; border-left: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.app-topbar__user { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.app-topbar__user-copy { display: grid; min-width: 130px; }
.app-topbar__user-copy strong { font-size: 12px; }
.app-topbar__user-copy small { max-width: 180px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-toggle { display: none; width: 40px; height: 40px; padding: 8px; border: 0; background: transparent; }
.app-layout { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); min-height: 100vh; padding-top: var(--topbar); }
.app-sidebar { position: fixed; z-index: 70; top: var(--topbar); bottom: 0; left: 0; width: var(--sidebar); display: flex; flex-direction: column; padding: 22px 14px 16px; border-right: 1px solid var(--line); background: #fbfcf9; }
.app-sidebar--admin { color: #c7d9d3; border-color: #203e37; background: #112d27; }
.sidebar-backdrop { display: none; }
.app-sidebar__profile { display: flex; align-items: center; gap: 11px; margin: 0 7px 22px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.app-sidebar__profile > div { display: grid; min-width: 0; }
.app-sidebar__profile strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.app-sidebar__profile span:last-child { color: var(--muted); font-size: 10px; }
.app-sidebar__nav { display: grid; gap: 4px; }
.app-sidebar__label { margin: 17px 12px 6px; color: #8c9b96; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.app-sidebar--admin .app-sidebar__label { color: #718d85; }
.app-sidebar__nav a { display: flex; align-items: center; gap: 11px; min-height: 43px; padding: 8px 11px; border-radius: 10px; color: #53665f; font-size: 13px; font-weight: 690; }
.app-sidebar__nav a:hover { color: var(--brand-dark); background: var(--surface-2); }
.app-sidebar__nav a.is-active { color: var(--brand-dark); background: var(--brand-soft); }
.app-sidebar--admin .app-sidebar__nav a { color: #a9c0b9; }
.app-sidebar--admin .app-sidebar__nav a:hover { color: #fff; background: rgba(255,255,255,.06); }
.app-sidebar--admin .app-sidebar__nav a.is-active { color: #effcf8; background: rgba(95,201,177,.14); }
.nav-icon { position: relative; display: inline-block; width: 18px; height: 18px; opacity: .78; }
.nav-icon::before, .nav-icon::after { content: ""; position: absolute; display: block; }
.nav-icon--orders::before { inset: 2px 3px; border: 1.5px solid currentColor; border-radius: 3px; }
.nav-icon--orders::after { left: 6px; right: 6px; top: 6px; height: 1px; background: currentColor; box-shadow: 0 4px 0 currentColor; }
.nav-icon--plus::before { inset: 1px; border: 1.5px solid currentColor; border-radius: 50%; }
.nav-icon--plus::after { left: 5px; right: 5px; top: 8px; height: 1.5px; background: currentColor; box-shadow: 0 0 0 currentColor; }
.nav-icon--plus { background: linear-gradient(currentColor,currentColor) center/1.5px 8px no-repeat; }
.nav-icon--help::before { inset: 1px; border: 1.5px solid currentColor; border-radius: 50%; }
.nav-icon--help::after { content: "?"; inset: 0; text-align: center; font-size: 12px; font-weight: 800; }
.nav-icon--dashboard::before { inset: 2px 9px 9px 2px; border: 1.5px solid; border-radius: 2px; box-shadow: 8px 0 0 -1.5px transparent, 8px 0 0 0 currentColor; }
.nav-icon--dashboard::after { inset: 10px 2px 2px; border: 1.5px solid; border-radius: 2px; }
.nav-icon--production::before { inset: 3px 2px 2px; border: 1.5px solid; border-radius: 3px; }
.nav-icon--production::after { left: 5px; right: 5px; top: 6px; height: 2px; border: 1px solid currentColor; box-shadow: 0 5px 0 -1px currentColor; }
.nav-icon--jobs::before { inset: 2px; border: 1.5px solid; border-radius: 50%; }
.nav-icon--jobs::after { left: 8px; top: 5px; width: 1.5px; height: 5px; background: currentColor; transform-origin: bottom; transform: rotate(-36deg); }
.nav-icon--dataset::before { left: 2px; right: 2px; top: 3px; height: 4px; border: 1.5px solid; border-radius: 50%; box-shadow: 0 4px 0 -1px transparent, 0 5px 0 -1px currentColor, 0 9px 0 -1px transparent, 0 10px 0 -1px currentColor; }
.nav-icon--system::before { inset: 3px; border: 1.5px solid; border-radius: 50%; box-shadow: 0 -4px 0 -2px currentColor, 0 4px 0 -2px currentColor, 4px 0 0 -2px currentColor, -4px 0 0 -2px currentColor; }
.app-sidebar__support { margin-top: auto; padding: 15px; border-radius: 14px; color: var(--brand-dark); background: var(--brand-soft); }
.app-sidebar__support > span { display: block; margin-bottom: 7px; }
.app-sidebar__support strong { display: block; font-size: 12px; }
.app-sidebar__support p { margin: 4px 0 0; color: #52766e; font-size: 10px; }
.app-sidebar__footer { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 13px 11px 3px; border-top: 1px solid rgba(255,255,255,.08); }
.app-sidebar__footer > div { display: grid; }
.app-sidebar__footer strong { font-size: 11px; }
.app-sidebar__footer small { color: #78958c; font-size: 9px; }
.app-main { grid-column: 2; min-width: 0; }
.page-container { width: min(100% - 50px, 1500px); margin-inline: auto; padding: 34px 0 70px; }
.page-container--narrow { max-width: 1060px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 25px; }
.page-heading--compact { align-items: flex-start; }
.page-heading__eyebrow { display: block; margin-bottom: 6px; color: var(--brand); font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.page-heading h1 { margin: 0 0 7px; font-size: clamp(31px, 3vw, 42px); }
.page-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.page-heading__actions { display: flex; gap: 9px; }
.breadcrumb { display: flex; gap: 8px; margin-bottom: 18px; color: var(--muted); font-size: 11px; font-weight: 650; }
.breadcrumb a:hover { color: var(--brand); }
.panel { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.panel__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.panel__header h2 { margin: 0 0 5px; font-size: 18px; }
.panel__header p { margin: 0; color: var(--muted); font-size: 11px; }
.panel--empty { padding: 55px 30px; }

.status { display: inline-flex; align-items: center; gap: 7px; width: max-content; padding: 5px 9px; border-radius: 999px; color: #566761; background: #edf1ee; font-size: 10.5px; font-weight: 780; white-space: nowrap; }
.status__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status--submitted, .status--pending { color: #8a6b12; background: var(--yellow-soft); }
.status--queued, .status--generating, .status--running { color: var(--blue); background: var(--blue-soft); }
.status--review, .status--quoted { color: #7350a1; background: #f0eafa; }
.status--changes-requested { color: #a35a2b; background: var(--coral-soft); }
.status--approved, .status--ready, .status--completed { color: var(--brand-dark); background: var(--brand-soft); }
.status--printing { color: #1c668f; background: #e3f3fa; }
.status--delivered { color: #385e4f; background: #e6f0eb; }
.status--failed, .status--cancelled { color: var(--red); background: var(--red-soft); }

.metrics-grid { display: grid; gap: 13px; margin-bottom: 20px; }
.metrics-grid--five { grid-template-columns: repeat(5, 1fr); }
.metrics-grid--four { grid-template-columns: repeat(4, 1fr); }
.metric-card { position: relative; overflow: hidden; min-height: 132px; padding: 19px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.metric-card__label, .metric-card__note { display: block; color: var(--muted); font-size: 10.5px; }
.metric-card__value { display: block; margin: 15px 0 6px; font-size: 27px; line-height: 1; letter-spacing: -.04em; }
.metric-card--accent::after, .metric-card--money::after { content: ""; position: absolute; right: -24px; bottom: -34px; width: 90px; height: 90px; border-radius: 50%; background: var(--brand-soft); }
.metric-card--money::after { background: var(--coral-soft); }
.metric-card--dark { color: #fff; border-color: transparent; background: var(--ink); }
.metric-card--dark .metric-card__label, .metric-card--dark .metric-card__note { color: #9bb3ac; }

/* Customer portal */
.summary-strip { display: grid; grid-template-columns: 180px 190px 1fr; align-items: center; min-height: 86px; padding: 13px 20px; margin-bottom: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.summary-strip > div { display: grid; gap: 2px; padding-right: 20px; }
.summary-strip > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.summary-strip span { color: var(--muted); font-size: 10px; }
.summary-strip strong { font-size: 18px; }
.summary-strip__message { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 12px !important; }
.summary-strip__message p { margin: 0; color: var(--muted); font-size: 11px; }
.table-search { position: relative; display: block; width: 260px; }
.table-search input { min-height: 38px; padding: 8px 11px 8px 35px; font-size: 11px; }
.table-search i { position: absolute; z-index: 1; left: 13px; top: 12px; width: 11px; height: 11px; border: 1.5px solid var(--subtle); border-radius: 50%; }
.table-search i::after { content: ""; position: absolute; right: -4px; bottom: -3px; width: 5px; height: 1.5px; background: var(--subtle); transform: rotate(45deg); }
.table-search--wide { width: min(440px, 100%); }
.order-list { border-top: 1px solid var(--line); }
.order-row { display: grid; grid-template-columns: 50px minmax(170px, 1.4fr) repeat(2, minmax(70px,.5fr)) minmax(130px,.8fr) minmax(110px,.7fr) 28px; align-items: center; gap: 15px; min-height: 82px; padding: 12px 4px; border-bottom: 1px solid var(--line); transition: background .2s; }
.order-row:hover { background: #f8faf7; }
.order-row__thumb { display: grid; place-items: center; width: 44px; height: 48px; border-radius: 11px; color: var(--brand); background: var(--brand-soft); font-weight: 800; }
.order-row__thumb--text { color: #875c25; background: var(--yellow-soft); font-family: Georgia, serif; }
.order-row__thumb--model { color: #6c55a2; background: #eee9f8; font-size: 20px; }
.order-row__identity, .order-row__spec, .order-row__price { display: grid; min-width: 0; }
.order-row__identity strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.order-row__identity span, .order-row__spec span, .order-row__price span { color: var(--muted); font-size: 9.5px; }
.order-row__spec strong, .order-row__price strong { font-size: 11.5px; }
.order-row__status { display: grid; gap: 5px; }
.order-row__status small { color: var(--blue); font-size: 9px; }
.order-row__arrow { color: var(--brand); font-weight: 850; }
.search-empty { margin: 24px 0 5px; color: var(--muted); text-align: center; font-size: 12px; }
.empty-state { display: grid; justify-items: center; max-width: 500px; margin: auto; text-align: center; }
.empty-state__mark { position: relative; width: 82px; height: 82px; margin-bottom: 20px; border-radius: 25px; background: var(--brand-soft); transform: rotate(8deg); }
.empty-state__mark::before, .empty-state__mark::after, .empty-state__mark span { content: ""; position: absolute; border: 2px solid var(--brand); border-radius: 7px; }
.empty-state__mark::before { inset: 21px 31px 31px 21px; }
.empty-state__mark::after { inset: 31px 21px 21px 31px; opacity: .55; }
.empty-state__mark span { inset: 27px; opacity: .25; }
.empty-state h3 { margin-bottom: 9px; font-size: 23px; }
.empty-state p { max-width: 460px; margin-bottom: 20px; color: var(--muted); font-size: 13px; }
.starter-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin-top: 16px; }
.starter-grid article { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.58); }
.starter-grid span { color: var(--coral); font-size: 10px; font-weight: 850; }
.starter-grid h3 { margin: 15px 0 7px; font-size: 16px; }
.starter-grid p { margin: 0; color: var(--muted); font-size: 11px; }

/* Order creation */
.order-form { display: grid; gap: 14px; }
.form-section { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.form-section__number { display: grid; place-items: center; align-self: start; width: 42px; height: 42px; border-radius: 13px; color: var(--brand-dark); background: var(--brand-soft); font-weight: 850; }
.form-section__heading { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.form-section__heading h2 { margin: 0 0 5px; font-size: 20px; }
.form-section__heading p { margin: 0; color: var(--muted); font-size: 11px; }
.form-section__heading > span { color: var(--coral); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.source-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; margin-bottom: 16px; }
.source-option { position: relative; display: grid; grid-template-columns: 45px 1fr; align-items: center; column-gap: 12px; min-height: 84px; padding: 13px; border: 1px solid var(--line-strong); border-radius: 13px; cursor: pointer; transition: border-color .2s, background .2s; }
.source-option:has(input:checked) { border-color: var(--brand); background: #f4faf7; box-shadow: 0 0 0 3px rgba(15,116,106,.08); }
.source-option input { position: absolute; opacity: 0; pointer-events: none; }
.source-option__visual { grid-row: 1/3; display: grid; place-items: center; width: 45px; height: 51px; border-radius: 10px; color: var(--brand); background: var(--brand-soft); font-weight: 800; }
.source-option__visual--text { color: #8d642b; background: var(--yellow-soft); font-family: Georgia, serif; }
.source-option__visual--model { color: #6c55a2; background: #eee9f8; font-size: 20px; }
.source-option strong { align-self: end; font-size: 12px; }
.source-option small { align-self: start; color: var(--muted); font-size: 9.5px; }
.source-option > b, .delivery-options label > b { position: absolute; right: 10px; top: 10px; width: 16px; height: 16px; border: 1px solid var(--line-strong); border-radius: 50%; }
.source-option:has(input:checked) > b, .delivery-options label:has(input:checked) > b { border: 5px solid var(--brand); }
.upload-zone { position: relative; display: grid; justify-items: center; padding: 30px 20px; border: 1.5px dashed #afc3b8; border-radius: 14px; background: #fafcf9; text-align: center; cursor: pointer; transition: background .2s, border-color .2s; }
.upload-zone.is-dragging { border-color: var(--brand); background: var(--brand-soft); }
.upload-zone input { position: absolute; opacity: 0; pointer-events: none; }
.upload-zone__icon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 10px; border-radius: 12px; color: var(--brand); background: var(--brand-soft); font-size: 20px; }
.upload-zone strong { font-size: 12px; }
.upload-zone small { margin: 3px 0 12px; color: var(--muted); font-size: 9.5px; }
.upload-zone__file { margin-top: 12px; padding: 6px 10px; border-radius: 8px; color: var(--brand-dark); background: var(--brand-soft); font-size: 10px; font-weight: 750; }
.upload-zone--compact { padding: 22px 15px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.form-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.field--span-2 { grid-column: span 2; }
.field__suffix { position: relative; }
.field__suffix input { padding-right: 48px; }
.field__suffix span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 10px; font-weight: 750; }
.quantity-control { display: grid; grid-template-columns: 40px 1fr 40px; }
.quantity-control input { border-radius: 0; text-align: center; -moz-appearance: textfield; }
.quantity-control input::-webkit-inner-spin-button { display: none; }
.quantity-control button { border: 1px solid var(--line-strong); background: var(--surface-2); font-size: 18px; }
.quantity-control button:first-child { border-radius: 10px 0 0 10px; border-right: 0; }
.quantity-control button:last-child { border-radius: 0 10px 10px 0; border-left: 0; }
.delivery-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; padding: 0; margin: 0 0 16px; border: 0; }
.delivery-options label { position: relative; display: grid; grid-template-columns: 36px 1fr; align-items: center; column-gap: 10px; min-height: 72px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.delivery-options label:has(input:checked) { border-color: var(--brand); background: #f5faf7; }
.delivery-options input { position: absolute; opacity: 0; }
.delivery-options label > span { grid-row: 1/3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: var(--brand); background: var(--brand-soft); }
.delivery-options strong { align-self: end; font-size: 11px; }
.delivery-options small { align-self: start; color: var(--muted); font-size: 9px; }
.delivery-details { display:grid;gap:14px;margin:0 0 16px;padding:18px;border:1px solid #d9d5fb;border-radius:14px;background:linear-gradient(135deg,#f6f4ff,#f2fbff); }
.delivery-details[hidden] { display:none; }
.delivery-details__heading { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.delivery-details__heading>div { display:grid;gap:3px; }
.delivery-details__heading strong { font-size:12px; }
.delivery-details__heading small { color:var(--muted);font-size:9px;line-height:1.5; }
.delivery-location-consent { margin:0; }
.delivery-location-status { min-height:18px;margin:0;color:#5337d9;font-size:10px;font-weight:700; }
.consent-card { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fafbf9; cursor: pointer; }
.consent-card input {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  clip-path:inset(50%);
}
.consent-card__check { position: relative; flex: 0 0 auto; width: 20px; height: 20px; margin-top: 1px; border: 1.5px solid var(--line-strong); border-radius: 6px; background: #fff; }
.consent-card:has(input:checked) .consent-card__check { border-color: var(--brand); background: var(--brand); }
.consent-card:has(input:checked) .consent-card__check::after { content: "\2713"; position: absolute; inset: 0; color: #fff; text-align: center; font-size: 13px; font-weight: 850; }
.consent-card > span:last-child { display: grid; }
.consent-card strong { font-size: 11px; }
.consent-card small { color: var(--muted); font-size: 9.5px; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.94); box-shadow: var(--shadow-sm); }
.form-actions--sticky { position: sticky; z-index: 10; bottom: 12px; backdrop-filter: blur(10px); }
.form-actions > div { display: flex; align-items: center; gap: 18px; }
.form-actions > div > span { color: var(--muted); font-size: 10px; }
.form-actions > div > span b { color: var(--brand); }

/* Order detail */
.order-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 25px; margin-bottom: 22px; }
.order-heading__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.order-heading__meta > span:not(.status) { color: var(--muted); font-size: 10px; font-weight: 700; }
.order-heading h1 { margin: 0 0 7px; font-size: clamp(30px,3vw,42px); }
.order-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.order-progress { display: flex; align-items: center; padding: 17px 20px; margin-bottom: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.order-progress > i { flex: 1; height: 1px; margin: 0 9px; background: var(--line); }
.order-progress__step { display: flex; align-items: center; gap: 8px; color: var(--subtle); }
.order-progress__step > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--line-strong); border-radius: 50%; background: #fff; }
.order-progress__step > span b { display: none; font-size: 10px; }
.order-progress__step > div { display: grid; min-width: 82px; }
.order-progress__step strong { font-size: 9.5px; white-space: nowrap; }
.order-progress__step small { font-size: 8px; white-space: nowrap; }
.order-progress__step.is-active { color: var(--brand); }
.order-progress__step.is-active > span { border: 6px solid var(--brand); }
.order-progress__step.is-complete { color: var(--ink-2); }
.order-progress__step.is-complete > span { border-color: var(--brand); color: #fff; background: var(--brand); }
.order-progress__step.is-complete > span b { display: block; }
.job-banner { display: grid; grid-template-columns: auto 1fr minmax(180px,.4fr); align-items: center; gap: 15px; padding: 15px 18px; margin-bottom: 17px; border: 1px solid #bfd8ec; border-radius: var(--radius); background: var(--blue-soft); }
.job-banner__spinner { width: 25px; height: 25px; border: 3px solid rgba(61,110,158,.2); border-top-color: var(--blue); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.job-banner strong { font-size: 12px; }
.job-banner p { margin: 2px 0 0; color: #56728c; font-size: 9.5px; }
.job-banner__progress { display: flex; align-items: center; gap: 9px; }
.job-banner__progress > span, .table-progress > span { flex: 1; height: 6px; overflow: hidden; border-radius: 99px; background: rgba(61,110,158,.16); }
.job-banner__progress i, .table-progress i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.job-banner__progress b { font-size: 10px; }
.detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 17px; align-items: start; }
.detail-layout__main, .detail-layout__aside { display: grid; gap: 17px; min-width: 0; }
.model-panel { padding-bottom: 16px; }
.model-stage { position: relative; overflow: hidden; min-height: 430px; border-radius: 13px; background: radial-gradient(circle at 50% 42%, #eef6f2, #dfeae4); }
.model-stage model-viewer { width: 100%; height: 430px; }
.model-stage__hint { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); padding: 5px 10px; border-radius: 99px; color: var(--muted); background: rgba(255,255,255,.82); font-size: 9px; backdrop-filter: blur(8px); white-space: nowrap; }
.model-placeholder { display: grid; justify-items: center; min-height: 350px; padding: 55px 20px; border-radius: 13px; background: linear-gradient(145deg,#edf4ef,#e2ebe5); text-align: center; }
.model-placeholder--compact { min-height: 310px; }
.model-placeholder__shape { position: relative; width: 105px; height: 105px; margin-bottom: 27px; transform: rotate(25deg); }
.model-placeholder__shape i { position: absolute; width: 62px; height: 62px; border: 2px solid rgba(15,116,106,.35); border-radius: 15px; }
.model-placeholder__shape i:nth-child(2) { right: 0; }
.model-placeholder__shape i:nth-child(3) { right: 0; bottom: 0; }
.model-placeholder h3 { margin-bottom: 8px; font-size: 20px; }
.model-placeholder p { max-width: 440px; margin: 0; color: var(--muted); font-size: 11px; }
.decision-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-color: #b9d9d0; background: #f5faf7; }
.decision-panel__copy { display: flex; align-items: center; gap: 13px; }
.decision-panel__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; color: #fff; background: var(--brand); font-weight: 850; }
.decision-panel h2 { margin: 0 0 4px; font-size: 15px; }
.decision-panel p { margin: 0; color: var(--muted); font-size: 10px; }
.decision-panel__actions { display: flex; gap: 8px; }
.timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.timeline::before { content: ""; position: absolute; left: 6px; top: 10px; bottom: 10px; width: 1px; background: var(--line); }
.timeline li { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: 13px; padding: 0 0 20px; }
.timeline li:last-child { padding-bottom: 0; }
.timeline__dot { z-index: 1; width: 13px; height: 13px; margin-top: 2px; border: 3px solid var(--surface); border-radius: 50%; background: #afbbb6; box-shadow: 0 0 0 1px var(--line-strong); }
.timeline__dot--accent { background: var(--brand); box-shadow: 0 0 0 1px var(--brand); }
.timeline li > div { display: grid; }
.timeline strong { font-size: 11px; }
.timeline span:not(.timeline__dot), .timeline time { color: var(--muted); font-size: 9px; }
.quote-card__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.quote-card__header > span { font-size: 11px; font-weight: 800; }
.quote-card__amount { display: flex; align-items: baseline; gap: 6px; margin-bottom: 5px; }
.quote-card__amount strong { font-size: 36px; letter-spacing: -.05em; }
.quote-card__amount span { color: var(--muted); font-size: 11px; font-weight: 800; }
.quote-card > p { color: var(--muted); font-size: 9.5px; }
.quote-card dl, .spec-card dl, .customer-card dl, .config-list { margin: 15px 0 0; }
.quote-card dl > div, .spec-card dl > div, .customer-card dl > div, .config-list > div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-top: 1px solid var(--line); }
.quote-card dt, .spec-card dt, .customer-card dt, .config-list dt { color: var(--muted); font-size: 9.5px; }
.quote-card dd, .spec-card dd, .customer-card dd, .config-list dd { margin: 0; font-size: 10.5px; font-weight: 750; text-align: right; }
.quote-card__note, .spec-card__text { padding: 11px; margin-top: 12px; border-radius: 9px; color: var(--muted); background: var(--surface-2); font-size: 9.5px; }
.quote-card__pending { display: grid; justify-items: center; padding: 17px 5px 4px; text-align: center; }
.quote-card__pending > span { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 10px; border-radius: 12px; color: #8a6b12; background: var(--yellow-soft); font-size: 20px; }
.quote-card__pending p { margin: 5px 0 0; color: var(--muted); font-size: 9.5px; }
.payment-card { display:grid;gap:10px;margin-top:17px;padding:15px;border:1px solid rgba(63,213,246,.25);border-radius:14px;color:#f4f7ff;background:radial-gradient(circle at 100% 0,rgba(55,211,245,.16),transparent 35%),linear-gradient(145deg,#10162f,#17153a);box-shadow:0 14px 34px rgba(8,11,25,.18) }
.payment-card__heading { display:flex;align-items:center;gap:10px }
.payment-card__heading>div { display:grid;gap:1px }
.payment-card__heading small { color:#54ddf8;font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase }
.payment-card__heading strong { color:#fff;font-size:14px }
.payment-card__mark { display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#07101f;background:linear-gradient(135deg,#ffd24a,#f1b928);font-size:15px;font-weight:950;box-shadow:0 8px 20px rgba(241,185,40,.2) }
.payment-card>p { margin:0!important;color:#aeb8d6!important;font-size:9px!important;line-height:1.5 }
.payment-card__number { position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center }
.payment-card__number input { position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none }
.payment-card__number>span { display:flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid #333c62;border-radius:10px;color:#fff;background:#0b1024;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;font-weight:800;letter-spacing:.08em }
.payment-card__number .button { min-height:40px;padding-inline:13px;color:#11182d;background:linear-gradient(135deg,#ffe07a,#e8b823) }
.payment-card__notice { padding-top:9px;border-top:1px solid rgba(255,255,255,.1) }
.payment-card__notice strong { color:#fff }
.spec-card__text > span { display: block; margin-bottom: 4px; color: var(--ink); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.spec-card__text p { margin: 0; white-space: pre-wrap; }
.material-dot { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: #d9dfda; }
.material-dot--petg { background: #397c70; }.material-dot--abs { background: #343a38; }.material-dot--tpu { background: #e7794f; }.material-dot--resina { background: #b999d5; }
.files-card ul, .jobs-mini-card ul, .dependencies-card ul { margin: 0; padding: 0; list-style: none; }
.files-card li { display: grid; grid-template-columns: 34px 1fr 28px; align-items: center; gap: 9px; padding: 9px 0; border-top: 1px solid var(--line); }
.file-icon { display: grid; place-items: center; width: 32px; height: 35px; border-radius: 7px; color: var(--brand); background: var(--brand-soft); font-size: 7px; font-weight: 850; }
.files-card li > div { display: grid; min-width: 0; }
.files-card li strong { overflow: hidden; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.files-card li small { color: var(--muted); font-size: 8px; }
.files-card li a { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; color: var(--brand); background: var(--surface-2); }
.feedback-panel { display: grid; grid-template-columns: .7fr 1.3fr; gap: 30px; }
.feedback-panel h2 { margin-bottom: 7px; font-size: 22px; }
.feedback-panel p { color: var(--muted); font-size: 11px; }
.feedback-panel form { display: grid; gap: 9px; }
.feedback-panel form > label { font-size: 11px; font-weight: 750; }
.rating { display: flex; flex-direction: row-reverse; justify-content: flex-end; padding: 0; border: 0; }
.rating legend { margin-bottom: 3px; font-size: 10px; font-weight: 750; }
.rating input { position: absolute; opacity: 0; }
.rating label { color: #ccd3cf; font-size: 28px; cursor: pointer; }
.rating input:checked ~ label, .rating label:hover, .rating label:hover ~ label { color: var(--yellow); }

/* Dialogs */
.dialog { width: min(540px, calc(100% - 28px)); padding: 0; border: 0; border-radius: 18px; color: var(--ink); background: var(--surface); box-shadow: 0 28px 90px rgba(4,24,20,.28); }
.dialog--small { width: min(430px, calc(100% - 28px)); }
.dialog::backdrop { background: rgba(9,32,27,.55); backdrop-filter: blur(3px); }
.dialog > form { padding: 22px; }
.dialog__header { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.dialog__header span { color: var(--brand); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.dialog__header h2 { margin: 4px 0 0; font-size: 22px; }
.dialog__header button { width: 32px; height: 32px; border: 0; border-radius: 9px; color: var(--muted); background: var(--surface-2); font-size: 21px; }
.dialog > form > p { color: var(--muted); font-size: 11px; }
.dialog__actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; }

/* Admin dashboard and tables */
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 15px; align-items: start; }
.dashboard-grid__side { display: grid; gap: 15px; }
.compact-orders { border-top: 1px solid var(--line); }
.compact-orders > a { display: grid; grid-template-columns: 34px minmax(150px,1fr) 110px 125px 22px; align-items: center; gap: 10px; min-height: 63px; border-bottom: 1px solid var(--line); }
.compact-orders > a:hover { background: #f8faf7; }
.compact-orders__initial { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; color: var(--brand-dark); background: var(--brand-soft); font-size: 10px; font-weight: 850; }
.compact-orders__main, .compact-orders__date { display: grid; min-width: 0; }
.compact-orders__main strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.compact-orders__main span, .compact-orders__date span { color: var(--muted); font-size: 8px; }
.compact-orders__date strong { font-size: 9px; }
.compact-orders__arrow { color: var(--brand); }
.queue-card__stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-bottom: 15px; }
.queue-card__stats > div { display: grid; justify-items: center; gap: 6px; padding: 12px 5px; border-radius: 10px; background: var(--surface-2); }
.queue-card__stats p { display: grid; justify-items: center; margin: 0; }
.queue-card__stats strong { font-size: 18px; }
.queue-card__stats small { color: var(--muted); font-size: 8px; }
.queue-mark { width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); }.queue-mark--running{background:var(--blue)}.queue-mark--failed{background:var(--red)}
.flow-bars { display: grid; gap: 11px; }
.flow-bars > div > span { display: flex; justify-content: space-between; margin-bottom: 4px; }
.flow-bars b { font-size: 9px; }.flow-bars em { color: var(--muted); font-size: 9px; font-style: normal; }
.flow-bars > div > i { display: block; height: 5px; overflow: hidden; border-radius: 99px; background: var(--surface-2); }
.flow-bars > div > i b { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.filter-panel { padding: 13px; margin-bottom: 14px; }
.filter-bar { display: flex; gap: 9px; }
.filter-bar > label:not(.table-search) { width: 190px; }
.filter-bar select, .filter-bar input { min-height: 40px; }
.table-panel { padding: 0; overflow: hidden; }
.table-panel > .panel__header { padding: 20px 21px 0; }
.data-table-wrap { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.data-table th { padding: 12px 14px; color: var(--muted); background: #f7f9f6; border-bottom: 1px solid var(--line); font-size: 8.5px; letter-spacing: .045em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fafcf9; }
.table-identity { display: flex; align-items: center; gap: 9px; min-width: 200px; }
.table-identity__thumb { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 39px; border-radius: 9px; color: var(--brand); background: var(--brand-soft); font-weight: 850; }
.table-identity > span:last-child, .table-link, .job-kind { display: grid; min-width: 0; }
.table-identity strong { overflow: hidden; max-width: 210px; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.table-identity small, .table-subtext, .table-link small, .job-kind small { display: block; margin-top: 2px; color: var(--muted); font-size: 8.5px; }
.table-link { color: var(--brand-dark); font-weight: 750; }
.table-date { display: grid; font-size: 9px; white-space: nowrap; }.table-date small{color:var(--muted);font-size:8px}
.segmented-filter { display: flex; width: max-content; max-width: 100%; overflow-x: auto; padding: 4px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.segmented-filter a { padding: 7px 12px; border-radius: 8px; color: var(--muted); font-size: 10px; font-weight: 750; white-space: nowrap; }
.segmented-filter a.is-active { color: var(--brand-dark); background: var(--brand-soft); }
.job-kind b { color: var(--brand); font-size: 8px; }.job-kind strong { font-size: 10px; }
.error-peek { margin-top: 4px; padding: 0; border: 0; color: var(--red); background: transparent; font-size: 8px; text-decoration: underline; }
.table-progress { display: flex; align-items: center; gap: 7px; min-width: 100px; }.table-progress b{font-size:8px}.table-progress>span{height:5px}

/* Dataset and system */
.dataset-note { display: flex; align-items: center; gap: 13px; padding: 14px 17px; margin-bottom: 15px; border: 1px solid #bcd8d0; border-radius: var(--radius); background: #f4faf7; }
.dataset-note__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--brand); background: var(--brand-soft); font-size: 18px; }
.dataset-note strong { font-size: 11px; }.dataset-note p{margin:2px 0 0;color:var(--muted);font-size:9px}
.quality-score b { color: var(--brand); font-size: 16px; }.quality-score small{color:var(--muted)}
.binary-result { font-size: 9px; font-weight: 750; }.binary-result--ok{color:var(--brand)}
.alert-card { display: flex; align-items: flex-start; gap: 12px; padding: 15px 17px; margin-bottom: 15px; border: 1px solid #eac3c3; border-radius: var(--radius); background: var(--red-soft); }
.alert-card > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #fff; background: var(--red); font-weight: 850; }
.alert-card strong { font-size: 11px; }.alert-card p{margin:2px 0 0;color:#8f5151;font-size:9.5px}
.system-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; align-items: start; }
.config-list { margin-top: 0; }
.disk-card__visual { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 24px; }
.disk-ring { display: grid; place-items: center; width: 138px; height: 138px; border-radius: 50%; background: conic-gradient(var(--brand) calc(var(--disk) * 1%), #e6ede8 0); }
.disk-ring::before { content: ""; grid-area: 1/1; width: 104px; height: 104px; border-radius: 50%; background: #fff; }
.disk-ring > span { z-index: 1; grid-area: 1/1; display: grid; text-align: center; }.disk-ring strong{font-size:24px}.disk-ring small{color:var(--muted);font-size:8px}
.disk-card dl { margin: 0; }.disk-card dl>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.disk-card dt{color:var(--muted);font-size:9px}.disk-card dd{margin:0;font-size:10px;font-weight:750}
.dependencies-card ul { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.dependencies-card li { display: grid; grid-template-columns: 26px 1fr; align-items: center; column-gap: 8px; padding: 9px; border-radius: 10px; background: var(--surface-2); }
.dependency-mark { grid-row:1/3;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;font-weight:850}.dependency-mark--ok{color:var(--brand);background:var(--brand-soft)}.dependency-mark--missing{color:var(--red);background:var(--red-soft)}
.dependencies-card strong{font-size:9.5px}.dependencies-card small{color:var(--muted);font-size:8px}
.queue-system-list { display: grid; gap: 8px; }.queue-system-list>div{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-radius:10px;background:var(--surface-2)}.queue-system-list strong{font-size:17px}

/* Private production control */
.production-safety { display: flex; align-items: flex-start; gap: 13px; padding: 15px 17px; margin-bottom: 18px; border: 1px solid #ead2a0; border-radius: var(--radius); background: var(--yellow-soft); }
.production-safety--enabled { border-color: #e6b8b8; background: var(--red-soft); }
.production-safety__mark { display: grid; place-items: center; flex: 0 0 auto; width: 31px; height: 31px; border-radius: 9px; color: #765c0d; background: rgba(216,166,46,.18); font-weight: 850; }
.production-safety--enabled .production-safety__mark { color: var(--red); background: rgba(199,73,73,.12); }
.production-safety strong { font-size: 11px; }.production-safety p{margin:2px 0 0;color:var(--muted);font-size:9.5px}
.production-overview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-bottom: 20px; }
.production-agent-list, .production-printer-list { display: grid; gap: 10px; }
.production-agent-card { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fafbf8; }
.production-agent-card__identity { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; }
.production-agent-card__identity > div { display: grid; }.production-agent-card__identity strong{font-size:11px}.production-agent-card__identity small{color:var(--muted);font-size:8.5px}
.edge-state { width: 10px; height: 10px; border-radius: 50%; background: var(--subtle); box-shadow: 0 0 0 4px rgba(139,153,148,.1); }
.edge-state--online { background: #26a178; box-shadow: 0 0 0 4px rgba(38,161,120,.12); }.edge-state--degraded{background:var(--yellow)}.edge-state--draining{background:var(--blue)}
.production-agent-card dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 13px 0 0; padding-top: 11px; border-top: 1px solid var(--line); }
.production-agent-card dl div { display: grid; }.production-agent-card dt{color:var(--muted);font-size:7.5px}.production-agent-card dd{margin:2px 0 0;font-size:9px;font-weight:750}
.capability-list { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 11px; }
.capability-list span { padding: 3px 7px; border-radius: 99px; color: var(--brand-dark); background: var(--brand-soft); font-size: 7.5px; font-weight: 750; }
.capability-list .capability-list__empty { color: var(--muted); background: var(--surface-2); }
.production-printer-card { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: #fafbf8; }
.production-printer-card__icon { position: relative; display: block; width: 36px; height: 39px; border: 1px solid #b9d0c7; border-radius: 9px; background: var(--brand-soft); }
.production-printer-card__icon::before { content:""; position:absolute; left:8px; right:8px; top:9px; height:8px; border:1px solid var(--brand); border-radius:3px; }
.production-printer-card__icon::after { content:""; position:absolute; left:10px; right:10px; bottom:7px; height:7px; border:1px solid var(--brand); border-radius:2px; }
.production-printer-card > div { display:grid; }.production-printer-card strong{font-size:10.5px}.production-printer-card small{color:var(--muted);font-size:8px}.production-printer-card p{grid-column:2/-1;margin:0;color:var(--muted);font-size:8px}
.production-job-table { min-width: 980px; }
.status--needs-reconcile { color: #a35a2b; background: var(--coral-soft); }

.production-workflow { border-color: #bed5cc; box-shadow: 0 9px 26px rgba(19,48,41,.08); }
.production-preflight { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-bottom: 16px; }
.production-preflight__item { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 9px; min-height: 62px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); }
.production-preflight__item > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: var(--subtle); background: #e2e8e3; font-size: 10px; font-weight: 850; }
.production-preflight__item > div { display:grid;min-width:0}.production-preflight__item strong{font-size:9px}.production-preflight__item small{overflow:hidden;color:var(--muted);font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}
.production-preflight__item.is-ready { border-color: #c3ddd4; background: #f2f9f6; }.production-preflight__item.is-ready>span{color:var(--brand-dark);background:var(--brand-soft)}
.production-preflight__item.is-blocked { border-color: #ead6b1; background: #fffbef; }
.production-workflow__grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: 13px; }
.production-authorization-card, .production-actions-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fafbf8; }
.production-subheading { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.production-subheading > span { display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:8px;color:var(--brand);background:var(--brand-soft);font-weight:850}
.production-subheading h3 { margin: 1px 0 3px; font-size: 13px; }.production-subheading p{margin:0;color:var(--muted);font-size:8.5px}
.production-auth-details { margin: 0 0 13px; }.production-auth-details>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.production-auth-details dt{color:var(--muted);font-size:8px}.production-auth-details dd{max-width:65%;margin:0;text-align:right;font-size:8.5px;font-weight:750}
.confirm-check { display: grid; grid-template-columns: 17px 1fr; align-items: start; gap: 8px; margin: 8px 0 12px; color: var(--muted); font-size: 8.5px; line-height: 1.45; cursor: pointer; }
.confirm-check input { width: 16px; min-height: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--brand); }
.confirm-check--critical { color: #914747; }.confirm-check--critical input{accent-color:var(--red)}
.confirmation-form { margin-top: 12px; }
.production-stage-list { display: grid; gap: 7px; }
.production-stage { display: grid; grid-template-columns: minmax(120px,1fr) minmax(135px,.85fr) auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.production-stage > div { display:grid; }.production-stage strong{font-size:9px}.production-stage small{color:var(--muted);font-size:7.5px}.production-stage select,.printer-controls select{min-height:34px;padding:6px 8px;font-size:8px}
.production-stage .confirm-check { grid-column: 1/-1; margin: 0; padding-top: 6px; border-top: 1px solid var(--line); }
.production-stage .button[disabled], .printer-controls button[disabled] { opacity: .45; cursor: not-allowed; }
.production-stage--slice { grid-template-columns:minmax(110px,.9fr) minmax(125px,.8fr) minmax(135px,.85fr) auto; }
.production-support-options { display:grid;gap:3px; }
.production-support-options > label { color:var(--muted);font-size:7.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.support-assessment { grid-column:1/-1;display:grid;gap:3px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2); }
.support-assessment strong { font-size:8.5px; }
.support-assessment small { font-size:8px;line-height:1.45; }
.support-assessment--ready { border-color:#397866;background:#102d29;color:#a6e2cd; }
.support-assessment--review { border-color:#846624;background:#302713;color:#f4d68a; }
.support-assessment--blocked { border-color:#82444b;background:#32191d;color:#f3a9b0; }
.printer-telemetry-list { display:grid;gap:8px;margin-top:10px; }
.printer-telemetry { display:grid;gap:9px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2); }
.printer-telemetry__heading { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.printer-telemetry__heading > div { display:grid;gap:2px;min-width:0; }
.printer-telemetry__heading strong { font-size:9px; }
.printer-telemetry__heading small { color:var(--muted);font-size:7.5px; }
.printer-telemetry__progress { display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px; }
.printer-telemetry__progress > span { overflow:hidden;height:6px;border-radius:99px;background:var(--line); }
.printer-telemetry__progress i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .25s ease; }
.printer-telemetry__progress b { font-size:8px; }
.printer-telemetry dl { display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0; }
.printer-telemetry dl > div { display:grid;gap:2px;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface); }
.printer-telemetry dt { color:var(--muted);font-size:7px; }
.printer-telemetry dd { margin:0;font-size:8px;font-weight:800; }
.printer-telemetry > p { overflow:hidden;margin:0;color:var(--muted);font:7.5px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap; }
.first-layer-check { display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--line); }
.first-layer-check .confirm-check { margin:0; }
.first-layer-check--confirmed { grid-template-columns:1fr;color:#86ead4; }
.first-layer-check--confirmed strong { font-size:8.5px; }
.first-layer-check--confirmed small { color:var(--muted);font-size:7.5px; }
.printer-controls { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.printer-controls form { display:grid;gap:5px}.printer-controls .tool-button{justify-content:center}.tool-button--danger{color:var(--red);background:var(--red-soft)}.tool-button--danger:hover{color:#fff;border-color:var(--red);background:var(--red)}
.production-order-jobs { margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); }
.production-order-jobs__heading { display:flex;justify-content:space-between;margin-bottom:7px}.production-order-jobs__heading strong{font-size:10px}.production-order-jobs__heading span{color:var(--muted);font-size:8px}
.production-order-jobs ol { margin: 0; padding: 0; list-style: none; }
.production-order-jobs li { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--line); }
.production-order-jobs li > div{display:grid}.production-order-jobs li strong{font-size:8.5px}.production-order-jobs li small{color:var(--muted);font-size:7.5px}.production-order-jobs li>p{grid-column:1/-1;margin:0;padding:7px;color:var(--red);background:var(--red-soft);border-radius:7px;font-size:8px}
.field-help { display:block;margin-top:5px;color:var(--muted);font-size:8px }

/* Operator order detail */
.operator-alert { display: flex; align-items: center; gap: 12px; padding: 12px 16px; margin-bottom: 15px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.operator-alert__mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: var(--brand); background: var(--brand-soft); font-weight: 850; }
.operator-alert strong { font-size: 10.5px; }.operator-alert p{margin:1px 0 0;color:var(--muted);font-size:8.5px}
.admin-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 15px; align-items: start; }
.admin-detail-grid__main, .admin-detail-grid__aside { display: grid; gap: 15px; min-width: 0; }
.model-stage--admin { min-height: 390px; }.model-stage--admin model-viewer{height:390px}
.workbench-actions { display: grid; gap: 11px; margin-top: 15px; }
.engine-form { display: grid; grid-template-columns: auto 170px auto; justify-content: start; align-items: end; gap: 8px; }
.engine-form label { grid-column: 1/-1; margin-bottom: -5px; color: var(--muted); font-size: 9px; font-weight: 800; }
.engine-form select { min-height: 40px; }
.operation-buttons { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 10px; border-top: 1px solid var(--line); }
.tool-button { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink-2); background: var(--surface-2); font-size: 9.5px; font-weight: 750; }
.tool-button:hover { color: var(--brand-dark); border-color: #b6d3c9; background: var(--brand-soft); }
.tool-button span { color: var(--brand); }
.operator-two-col { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.compact-form { display: grid; gap: 12px; }
.quote-publication-tools { display:grid;gap:12px;padding:14px;margin-top:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2); }
.quote-publication-tools__heading { display:grid;gap:3px; }
.quote-publication-tools__heading strong { font-size:12px; }
.quote-publication-tools__heading small,
.quote-publication-tools > p { margin:0;color:var(--muted);font-size:9px;line-height:1.55; }
.quote-publication-tools__actions { display:flex;flex-wrap:wrap;gap:8px; }
.quote-publication-tools__actions form,
.quote-publication-tools__actions > .button { flex:1 1 145px; }
.quote-publication-tools__actions form .button { width:100%; }
.color-dot { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border: 1px solid rgba(15,23,42,.2); border-radius: 50%; background: var(--color-dot, #b8bec9); vertical-align: -1px; }
.color-editor { display: grid; gap: 9px; padding-top: 14px; margin-top: 14px; border-top: 1px solid var(--line); }
.color-editor > label { margin: 0; font-size: 11px; font-weight: 800; }
.color-editor > small, .color-editor__locked { margin: 0; color: var(--muted); font-size: 9.5px; line-height: 1.5; }
.color-editor__control { position: relative; }
.color-editor__control select { width: 100%; padding-left: 41px; }
.color-editor__preview { position: absolute; z-index: 1; left: 13px; top: 50%; width: 16px; height: 16px; border: 1px solid rgba(15,23,42,.22); border-radius: 50%; background: var(--color-preview, #b8bec9); transform: translateY(-50%); pointer-events: none; }
.color-editor__locked { padding-top: 12px; margin-top: 12px; border-top: 1px solid var(--line); }
.edited-upload { display: grid; gap: 10px; }
.asset-summary { display: flex; align-items: center; gap: 8px; padding: 11px; margin-top: 12px; border-radius: 10px; background: var(--surface-2); }.asset-summary strong{font-size:20px}.asset-summary span{color:var(--muted);font-size:9px}
.dataset-form { display: grid; gap: 15px; }
.dataset-form__footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 13px; border-top: 1px solid var(--line); }
.dataset-form__footer p { margin: 0; color: var(--muted); font-size: 9px; }.dataset-form__footer p span{color:var(--brand)}
.consent-state { padding: 5px 8px; border-radius: 99px; font-size: 9px; font-weight: 800; }.consent-state--yes{color:var(--brand);background:var(--brand-soft)}.consent-state--no{color:var(--red);background:var(--red-soft)}
.timeline--admin li > div { grid-template-columns: 1fr auto; }.timeline--admin strong{grid-column:1}.timeline--admin span{grid-column:1}.timeline--admin time{grid-column:2;grid-row:1/3;text-align:right}
.customer-card__identity { display: flex; align-items: center; gap: 10px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.customer-card__identity > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--brand-dark); background: var(--brand-soft); font-weight: 850; }
.customer-card__identity > div { display: grid; }.customer-card__identity strong{font-size:11px}.customer-card__identity small{color:var(--muted);font-size:8px}
.customer-card dd { max-width: 180px; overflow-wrap: anywhere; }
.jobs-mini-card li { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid var(--line); }
.jobs-mini-card li > div{display:grid}.jobs-mini-card li strong{font-size:8.5px}.jobs-mini-card li small{color:var(--muted);font-size:7.5px}.jobs-mini-card li>p{grid-column:1/-1;margin:0;padding:7px;color:var(--red);background:var(--red-soft);border-radius:7px;font-size:8px}
.job-id { color: var(--brand); font-size: 8px; font-weight: 850; }

/* Error pages */
.error-page { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 60px 20px; }
.error-card { position: relative; overflow: hidden; width: min(100%, 720px); padding: 62px 45px; border: 1px solid var(--line); border-radius: 28px; background: var(--surface); box-shadow: var(--shadow-md); text-align: center; }
.error-card::before { content: attr(data-code); position: absolute; inset: -35px 0 auto; color: rgba(15,116,106,.055); font-size: 190px; font-weight: 900; line-height: 1; }
.error-card__mark { position: relative; display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 24px; border-radius: 19px; color: var(--brand); background: var(--brand-soft); font-size: 28px; font-weight: 850; }
.error-card h1 { position: relative; margin-bottom: 12px; font-size: 36px; }.error-card p{position:relative;max-width:500px;margin:0 auto 24px;color:var(--muted);font-size:14px}.error-card__actions{position:relative;display:flex;justify-content:center;gap:9px}

@media (max-width: 1240px) {
  :root { --sidebar: 220px; }
  .hero__grid { gap: 45px; }
  .floating-card--top { right: -8px; }.floating-card--bottom { left: -12px; }
  .metrics-grid--five { grid-template-columns: repeat(3,1fr); }
  .metric-card:nth-child(n+4) { min-height: 115px; }
  .order-row { grid-template-columns: 48px minmax(160px,1.4fr) 80px minmax(125px,.8fr) 110px 25px; }
  .order-row__spec:nth-of-type(3) { display: none; }
  .admin-detail-grid { grid-template-columns: minmax(0,1fr) 280px; }
}

@media (max-width: 1050px) {
  .site-nav { gap: 17px; }
  .hero { padding-top: 65px; }
  .hero__grid { grid-template-columns: 1fr 1fr; }
  .hero-studio { min-height: 440px; }.shape-3d{transform:scale(.86)}
  .section-heading--split { gap: 40px; }
  .process-layout { gap: 55px; }
  .detail-layout { grid-template-columns: minmax(0,1fr) 280px; }
  .order-progress__step small { display: none; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-grid__side { grid-template-columns: repeat(2,1fr); }
  .system-grid { grid-template-columns: 1fr; }
  .admin-detail-grid { grid-template-columns: 1fr; }
  .admin-detail-grid__aside { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
  .admin-detail-grid__aside .files-card { grid-column: 1/-1; }
}

@media (max-width: 860px) {
  :root { --topbar: 64px; }
  .container { width: min(calc(100% - 30px), var(--container)); }
  .site-header { height: 68px; }
  .nav-toggle { display: block; margin-left: auto; }
  .site-nav { position: absolute; top: 68px; left: 15px; right: 15px; display: none; flex-direction: column; align-items: stretch; gap: 5px; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow-md); }
  .site-nav.is-open { display: flex; }
  .site-nav > a { padding: 9px; }.site-nav .button{width:100%}.site-nav__divider{display:none}.site-nav .user-chip{padding:8px}
  .hero__grid { grid-template-columns: 1fr; }
  .hero__copy { text-align: center; }.hero__copy .eyebrow{justify-content:center}.hero h1,.hero__lead{margin-inline:auto}.hero__actions,.hero__trust{justify-content:center}
  .hero-studio { width: min(100%,600px); min-height: 450px; margin-inline: auto; }
  .proof-strip__inner { flex-wrap: wrap; gap: 9px 15px; padding: 15px 0; }.proof-strip p{width:100%;text-align:center}
  .section { padding: 75px 0; }
  .section-heading--split, .process-layout, .faq-layout { grid-template-columns: 1fr; gap: 35px; }
  .process-copy { position: static; }
  .feature-grid { grid-template-columns: 1fr; }.feature-card{min-height:315px}
  .audience-grid { grid-template-columns: 1fr; }
  .responsible-card { grid-template-columns: 1fr; gap: 28px; }
  .material-grid { grid-template-columns: repeat(2,1fr); }
  .final-cta__inner { align-items: flex-start; flex-direction: column; }
  .site-footer__grid { grid-template-columns: 2fr 1fr 1fr; }.site-footer__legal{grid-column:1/-1}
  .auth-shell { grid-template-columns: 1fr; }.auth-shell__visual{display:none}.auth-shell__form{min-height:calc(100vh - 68px);padding:45px 22px}

  .sidebar-toggle { display: block; }
  .app-topbar__inner { padding: 0 15px; gap: 12px; }
  .app-topbar__context { display: none; }
  .app-topbar__user-copy { display: none; }
  .app-topbar__user .button { font-size: 0; width: 36px; padding: 0; }
  .app-topbar__user .button::after { content: "\2192"; font-size: 15px; }
  .app-layout { display: block; }
  .app-sidebar { top: var(--topbar); width: min(285px, 86vw); transform: translateX(-105%); transition: transform .28s var(--ease); box-shadow: var(--shadow-md); }
  .app-sidebar.is-open { transform: none; }
  .sidebar-backdrop { position: fixed; z-index: 65; inset: var(--topbar) 0 0; display: block; opacity: 0; visibility: hidden; background: rgba(9,32,27,.38); transition: opacity .25s, visibility .25s; }
  .sidebar-backdrop.is-open { opacity: 1; visibility: visible; }
  .app-main { width: 100%; }
  .page-container { width: min(100% - 28px,1500px); padding-top: 25px; }
  .metrics-grid--five, .metrics-grid--four { grid-template-columns: repeat(2,1fr); }
  .metric-card { min-height: 115px; }
  .summary-strip { grid-template-columns: 1fr 1fr; }.summary-strip__message{grid-column:1/-1;margin-top:12px;padding:12px 0 0!important;border-left:0!important;border-top:1px solid var(--line)}
  .panel__header { flex-wrap: wrap; }.table-search{width:100%}
  .order-row { grid-template-columns: 46px minmax(150px,1fr) 125px 25px; }.order-row__spec,.order-row__price{display:none}.order-row__status{justify-self:end}
  .source-options { grid-template-columns: 1fr; }.source-option{min-height:72px}
  .form-section { grid-template-columns: 42px 1fr; padding: 20px; gap: 12px; }.form-section__number{width:36px;height:36px}
  .delivery-options { grid-template-columns: 1fr; }
  .delivery-details__heading { align-items:stretch;flex-direction:column; }
  .form-actions { position: static; }.form-actions>div>span{display:none}
  .order-progress { overflow-x: auto; }.order-progress__step>div{display:none}.order-progress>i{min-width:32px}
  .detail-layout { grid-template-columns: 1fr; }.detail-layout__aside{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout__aside .files-card{grid-column:1/-1}
  .decision-panel { align-items: flex-start; flex-direction: column; }.decision-panel__actions{width:100%}.decision-panel__actions form,.decision-panel__actions .button{flex:1}
  .feedback-panel { grid-template-columns:1fr; }
  .filter-bar { flex-wrap: wrap; }.filter-bar .table-search{flex:1 1 100%}.filter-bar>label:not(.table-search){flex:1;width:auto}
  .operator-two-col { grid-template-columns:1fr; }
  .form-grid--three { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid__side { grid-template-columns:1fr; }
  .production-overview-grid, .production-workflow__grid { grid-template-columns:1fr; }
  .production-preflight { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 590px) {
  .container { width: min(calc(100% - 24px), var(--container)); }
  .brand__text { font-size: 16px; }
  .hero { padding: 52px 0 62px; }.hero h1{font-size:47px}.hero__lead{font-size:15px}.hero__actions{display:grid}.hero__actions .button{width:100%}.hero__trust{display:grid;justify-content:start;text-align:left;width:max-content;margin-inline:auto}
  .hero-studio { min-height: 365px; border-radius: 26px; }.hero-studio__stage{inset:42px 25px 60px}.shape-3d{transform:scale(.7)}.floating-card{min-width:160px;padding:8px}.floating-card--top{top:24px}.floating-card--bottom{bottom:50px}.hero-studio__caption{inset:auto 15px 15px}.hero-studio__caption span:last-child{display:none}
  .proof-strip__inner span { font-size:11px; }
  .section { padding: 60px 0; }.section-heading h2,.process-copy h2,.faq-layout h2{font-size:36px}.section-heading--center{text-align:left}.section-heading--center .eyebrow{justify-content:flex-start}
  .section-action { align-items: stretch; flex-direction: column; }.section-action .button{width:100%}
  .audience-card { min-height: 0; padding: 24px; }.audience-card__number{margin-bottom:22px}
  .responsible-card { padding: 26px 20px; }.responsible-card__heading{display:grid}.responsible-card ul{grid-template-columns:1fr}
  .material-grid { grid-template-columns:1fr; }
  .final-cta { padding:60px 0; }.final-cta h2{font-size:37px}.final-cta .button{width:100%}
  .site-footer__grid { grid-template-columns:1fr 1fr; }.site-footer__grid>div:first-child{grid-column:1/-1}.site-footer__legal{flex-direction:column!important}
  .auth-card__heading h1{font-size:32px}.form-row{grid-template-columns:1fr}
  .flash-stack{top:72px;right:12px;width:calc(100% - 24px)}

  .page-container { width: calc(100% - 20px); padding-bottom:45px; }
  .page-heading,.order-heading { align-items:flex-start;flex-direction:column; }.page-heading>.button,.order-heading>.button{width:100%}.page-heading__actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.page-heading__actions .button{padding-inline:9px}
  .metrics-grid--five,.metrics-grid--four { grid-template-columns:1fr 1fr; gap:9px }.metric-card{min-height:105px;padding:15px}.metric-card__value{font-size:22px}
  .compact-orders > a { grid-template-columns:32px minmax(0,1fr) 22px;gap:8px;padding:8px 0 }
  .compact-orders__date { display:none }
  .compact-orders > a > .status { grid-column:2;justify-self:start }
  .compact-orders__arrow { grid-column:3;grid-row:1/3;align-self:center }
  .summary-strip { padding:12px; }.summary-strip>div{padding-right:10px}.summary-strip>div+div{padding-left:10px}
  .panel { padding:16px;border-radius:14px}.table-panel{padding:0}
  .order-row { grid-template-columns:42px minmax(120px,1fr) 24px;gap:9px}.order-row__status{grid-column:2;justify-self:start}.order-row__arrow{grid-column:3;grid-row:1/3}.order-row__thumb{width:39px;height:43px}
  .starter-grid { grid-template-columns:1fr; }
  .form-section { grid-template-columns:1fr;padding:16px}.form-section__number{margin-bottom:-2px}.form-section__heading{margin-bottom:15px}
  .form-grid,.form-grid--three { grid-template-columns:1fr}.field--span-2{grid-column:auto}
  .source-option { grid-template-columns:42px 1fr}.source-option__visual{width:40px;height:45px}
  .form-actions { align-items:stretch;flex-direction:column-reverse}.form-actions>div{display:grid}.form-actions .button{width:100%}
  .job-banner { grid-template-columns:auto 1fr}.job-banner__progress{grid-column:1/-1}
  .detail-layout__aside,.admin-detail-grid__aside { grid-template-columns:1fr}.detail-layout__aside .files-card,.admin-detail-grid__aside .files-card{grid-column:auto}
  .model-stage,.model-stage model-viewer{min-height:340px;height:340px}
  .decision-panel__actions { flex-direction:column}.decision-panel__actions form,.decision-panel__actions .button{width:100%}
  .order-progress { justify-content:space-between;padding:13px}.order-progress>i{min-width:12px;margin-inline:4px}
  .filter-bar>*{width:100%!important}.filter-bar .button{flex:1}
  .segmented-filter { width:100%; }
  .dependencies-card ul { grid-template-columns:1fr}.disk-card__visual{grid-template-columns:1fr;justify-items:center}.disk-card__visual dl{width:100%}
  .engine-form { grid-template-columns:1fr}.engine-form label{grid-column:1}.operation-buttons{display:grid;grid-template-columns:repeat(2,1fr)}.tool-button{justify-content:center}
  .dataset-form__footer { align-items:stretch;flex-direction:column}.dataset-form__footer .button{width:100%}
  .timeline--admin li>div { grid-template-columns:1fr}.timeline--admin time{grid-column:1;grid-row:auto;text-align:left}
  .production-preflight { grid-template-columns:1fr; }
  .production-stage { grid-template-columns:1fr; }.production-stage .button{width:100%}.production-stage .confirm-check{grid-column:1}
  .printer-telemetry dl { grid-template-columns:repeat(2,1fr); }
  .printer-controls { grid-template-columns:repeat(2,1fr); }
  .production-agent-card dl { grid-template-columns:1fr 1fr; }.production-agent-card dl div:last-child{grid-column:1/-1}
  .production-printer-card { grid-template-columns:38px 1fr; }.production-printer-card>.status{grid-column:2;justify-self:start}.production-printer-card p{grid-column:2}
  .error-card { padding:50px 22px}.error-card h1{font-size:29px}.error-card__actions{display:grid}.error-card__actions .button{width:100%}
}

/* Theme precedence: keep brand rules after legacy component declarations. */
.site-header { color:#f5f7ff; border-color:rgba(255,255,255,.09); background:rgba(8,11,25,.9); }
.site-header .brand__symbol i { border-color:#8c78ff; }
.site-header .site-nav > a:not(.button) { color:#c8cde2; }
.site-header .site-nav > a:not(.button):hover { color:#39d8ff; }
.hero { color:#f8f9ff; background:radial-gradient(circle at 78% 30%,rgba(40,204,244,.19),transparent 26%),radial-gradient(circle at 14% 74%,rgba(132,83,246,.23),transparent 30%),linear-gradient(145deg,#080b19 0%,#11152c 55%,#0c1228 100%); }
.hero::before { border-color:rgba(112,87,245,.24); box-shadow:0 0 0 42px rgba(112,87,245,.045),0 0 0 84px rgba(47,207,242,.025); }
.hero h1 em { color:#3bd8f7; text-shadow:0 0 34px rgba(59,216,247,.18); }
.hero__lead { color:#aeb6d2; }.hero__trust{color:#d7dcf0}.hero__trust b{color:#fff;background:rgba(112,87,245,.35)}
.hero .button--ghost { color:#f5f7ff;border-color:rgba(255,255,255,.24) }.hero .button--ghost:hover{background:rgba(255,255,255,.08)}
.site-header .button--primary,.hero .button--primary,.final-cta .button--light { color:#fff;background:linear-gradient(115deg,#7057f5,#9b55f5 54%,#2fcff2);border:0;box-shadow:0 12px 30px rgba(112,87,245,.32) }

/* Revisión comercial compartible */
.page-review { background: radial-gradient(circle at 90% 2%,rgba(47,207,242,.1),transparent 22%),#f3f4fb; }
.review-page { padding-block: 42px 64px; }
.review-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px; }
.review-heading h1 { margin:14px 0 7px;font-size:clamp(29px,4vw,44px); }
.review-heading p { margin:0;color:var(--muted); }
.review-grid { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:20px;align-items:start; }
.review-quote { position:sticky;top:88px;padding:25px; }
.review-quote>p { color:var(--muted); }
.review-quote dl { display:grid;margin:20px 0; }
.review-quote dl div { display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line); }
.review-quote dt { color:var(--muted); }.review-quote dd{margin:0;text-align:right;font-weight:750}
.review-specs { display:flex;flex-wrap:wrap;gap:7px;margin:18px 0; }
.review-specs span { padding:6px 9px;border-radius:99px;color:#5337d9;background:#ebe8ff;font-size:11px;font-weight:750; }
.review-decision { display:grid;gap:9px;margin-top:22px; }
.review-state { margin-top:22px;padding:15px;border-radius:12px;color:#404867;background:#f0edff; }
.review-state p { margin:5px 0 13px; }.review-state--warning{color:#8b5623;background:#fff4db}
.review-security { display:block;margin-top:16px;color:var(--muted);line-height:1.5; }
.share-result { display:grid;gap:15px;margin-top:28px;padding:30px; }.share-result h1{margin:0}.share-result p{margin:0;color:var(--muted);line-height:1.65}
.share-url { display:grid;grid-template-columns:1fr auto;gap:8px; }.share-url input{min-width:0;font-family:ui-monospace,monospace;font-size:12px}.share-actions{display:flex;flex-wrap:wrap;gap:9px}
@media (max-width: 850px) { .review-grid{grid-template-columns:1fr}.review-quote{position:static}.review-heading{align-items:flex-start;flex-direction:column}.share-url{grid-template-columns:1fr}.share-url .button{width:100%} }
.hero-studio { border-color:rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(112,87,245,.25),rgba(17,24,53,.9) 48%,rgba(44,203,239,.18));box-shadow:0 32px 90px rgba(0,0,0,.4) }
.shape-3d__core { background:linear-gradient(145deg,#9b70ff,#6142e8 48%,#1ac8ef);box-shadow:inset -18px -18px 36px rgba(0,0,0,.25),inset 18px 18px 30px rgba(255,255,255,.2),0 28px 60px rgba(80,69,239,.4) }
.shape-3d__ring{border-color:rgba(78,222,255,.62)}.floating-card{border-color:rgba(255,255,255,.14);background:rgba(19,24,51,.82);box-shadow:0 14px 38px rgba(0,0,0,.3)}
.floating-card small,.hero-studio__caption{color:#9fa8c8}.floating-card__icon{color:#3bd8f7;background:rgba(47,207,242,.12)}.progress-ring::before{background:#171c38}
.proof-strip{border-color:#202640;color:#d4d9ee;background:#10142a}.proof-strip p{color:#8892b4}.section--tinted{background:#eceeff}.feature-card--accent,.responsible-card{background:linear-gradient(145deg,#11162d,#1d1741)}.site-footer{background:#080b19}
.app-topbar--admin{color:#f4f6ff;border-color:rgba(255,255,255,.08);background:rgba(9,12,27,.97)}.app-topbar--admin .brand__symbol i{border-color:#8c78ff}.app-topbar--admin .app-topbar__context{color:#969fbe;border-color:rgba(255,255,255,.1)}.app-topbar--admin .button--ghost{color:#dbe0f4;border-color:rgba(255,255,255,.16)}
.app-sidebar--admin{color:#d4d9ed;border-color:#202541;background:linear-gradient(180deg,#0d1022,#11142b)}.app-sidebar--admin .app-sidebar__nav a{color:#a9b0cd}.app-sidebar--admin .app-sidebar__nav a.is-active{color:#fff;background:linear-gradient(90deg,rgba(112,87,245,.38),rgba(47,207,242,.1));box-shadow:inset 2px 0 #8c78ff}.app-sidebar--admin .app-sidebar__label{color:#636c90}.page-admin .app-main{background:radial-gradient(circle at 96% 2%,rgba(112,87,245,.08),transparent 21%),var(--paper)}
.button--primary{background:linear-gradient(115deg,#6650eb,#805af5);box-shadow:0 9px 22px rgba(102,80,235,.22)}.button--primary:hover{background:linear-gradient(115deg,#5941de,#734cea)}.button--soft{color:#5337d9;background:#ebe8ff}

/* Portal y FactoryOS oscuros — TechHeaven */
:is(.page-customer,.page-admin) {
  color-scheme: dark;
  --ink: #f3f5ff;
  --ink-2: #d9def1;
  --muted: #a3acc8;
  --subtle: #747e9f;
  --paper: #070a16;
  --surface: #10152a;
  --surface-2: #171d35;
  --line: #28304e;
  --line-strong: #3a4568;
  --brand: #8b76ff;
  --brand-dark: #b5a9ff;
  --brand-soft: #292454;
  --red-soft: #391e2b;
  --yellow-soft: #382f17;
  --blue-soft: #132f45;
  background: #070a16;
}
:is(.page-customer,.page-admin) .app-main {
  color: var(--ink);
  background:
    radial-gradient(circle at 92% 0,rgba(114,83,245,.13),transparent 25%),
    radial-gradient(circle at 12% 100%,rgba(47,207,242,.07),transparent 28%),
    var(--paper);
}
.page-customer .app-topbar,
.page-admin .app-topbar {
  color: #f6f7ff;
  border-color: rgba(255,255,255,.08);
  background: rgba(8,11,25,.97);
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.page-customer .app-topbar .brand__symbol i,
.page-admin .app-topbar .brand__symbol i { border-color: #8c78ff; }
.page-customer .app-topbar__context,
.page-admin .app-topbar__context { color:#929bb9;border-color:rgba(255,255,255,.1); }
.page-customer .app-sidebar,
.page-admin .app-sidebar {
  color:#d7dcef;
  border-color:#202744;
  background:linear-gradient(180deg,#0b0e20,#0f1328);
}
.page-customer .app-sidebar__profile { border-color:#252d4b; }
.page-customer .app-sidebar__profile span,
.page-customer .app-sidebar__support p { color:#929bb9; }
:is(.page-customer,.page-admin) .app-sidebar__nav a { color:#aeb6d1; }
:is(.page-customer,.page-admin) .app-sidebar__nav a:hover { color:#fff;background:rgba(112,87,245,.12); }
:is(.page-customer,.page-admin) .app-sidebar__nav a.is-active {
  color:#fff;
  background:linear-gradient(90deg,rgba(112,87,245,.4),rgba(47,207,242,.1));
  box-shadow:inset 2px 0 #8c78ff;
}
:is(.page-customer,.page-admin) .app-sidebar__label { color:#697397; }
.page-customer .app-sidebar__support {
  color:#d8def3;
  border-color:#293154;
  background:linear-gradient(145deg,rgba(112,87,245,.18),rgba(47,207,242,.06));
}

:is(.page-customer,.page-admin) :is(
  .panel,.summary-strip,.form-section,.order-progress,.job-banner,.model-card,
  .quote-card,.timeline-card,.spec-card,.files-card,.decision-panel,.feedback-panel,
  .metric-card,.queue-health,.dashboard-card,.dependencies-card,.disk-card,
  .admin-order-main,.admin-side-card,.production-workflow,.production-overview,
  .operator-card,.dataset-card,.connection-card,.fleet-panel,.printer-card,
  .connections-summary,.catalog-admin-create
) {
  color:var(--ink);
  border-color:var(--line);
  background:linear-gradient(145deg,rgba(18,24,47,.98),rgba(13,18,37,.98));
  box-shadow:0 15px 40px rgba(0,0,0,.18);
}
:is(.page-customer,.page-admin) :is(
  .panel__header,.form-section__heading,.summary-strip,.timeline li,
  .files-card li,.jobs-mini-card li,.customer-card__identity,.dataset-form__footer,
  .catalog-admin-edit
) { border-color:var(--line); }
:is(.page-customer,.page-admin) :is(
  p,small,.field__help,.page-heading p,.panel__header p,.breadcrumb,
  .order-row__identity span,.order-row__spec span,.order-row__price span,
  .summary-strip span,.metric-card__label,.timeline time
) { color:var(--muted); }
:is(.page-customer,.page-admin) :is(h1,h2,h3,strong,label,dt,dd) { color:var(--ink); }
:is(.page-customer,.page-admin) .page-heading__eyebrow { color:#58d9f7; }
:is(.page-customer,.page-admin) .breadcrumb a { color:#b7acff; }
:is(.page-customer,.page-admin) .breadcrumb span { color:#697397; }
:is(.page-customer,.page-admin) :is(input,select,textarea) {
  color:#eef1ff;
  border-color:#35405f;
  background:#0b1022;
}
:is(.page-customer,.page-admin) select { color-scheme:dark; }
:is(.page-customer,.page-admin) select option {
  color:#eef1ff!important;
  background:#0b1022!important;
}
:is(.page-customer,.page-admin) select option:checked {
  color:#10142a!important;
  background:#b8afff!important;
}
:is(.page-customer,.page-admin) ::selection {
  color:#fff;
  background:#6e56e8;
}
:is(.page-customer,.page-admin) :is(input,textarea)::placeholder { color:#687395;opacity:1; }
:is(.page-customer,.page-admin) :is(input,select,textarea):focus {
  border-color:#8b76ff;
  box-shadow:0 0 0 4px rgba(139,118,255,.17);
}
:is(.page-customer,.page-admin) .button--ghost {
  color:#e0e4f7;
  border-color:#3b4565;
  background:rgba(255,255,255,.015);
}
:is(.page-customer,.page-admin) .button--ghost:hover { color:#fff;background:#1b2240; }
:is(.page-customer,.page-admin) .button--soft { color:#d6ceff;background:#292454; }
:is(.page-customer,.page-admin) .button--soft:hover { color:#fff;background:#373067; }
:is(.page-customer,.page-admin) .order-row {
  color:var(--ink);
  border-color:var(--line);
}
:is(.page-customer,.page-admin) .order-row:hover { background:#171e38; }
:is(.page-customer,.page-admin) .order-row__thumb { color:#a99cff;background:#28234e; }
:is(.page-customer,.page-admin) .source-option,
:is(.page-customer,.page-admin) .delivery-options label {
  color:var(--ink);
  border-color:#303a5b;
  background:#0d1328;
}
:is(.page-customer,.page-admin) .source-option:has(input:checked),
:is(.page-customer,.page-admin) .delivery-options label:has(input:checked) {
  border-color:#7f6bf0;
  background:#211d43;
  box-shadow:0 0 0 3px rgba(127,107,240,.12);
}
:is(.page-customer,.page-admin) .upload-zone {
  color:#dfe3f7;
  border-color:#404a6b;
  background:#0b1022;
}
:is(.page-customer,.page-admin) .upload-zone:hover { border-color:#8b76ff;background:#121833; }
:is(.page-customer,.page-admin) .consent-card {
  color:#dce1f4;
  border-color:#303a5a;
  background:#11172d;
}
:is(.page-customer,.page-admin) .security-note {
  border-color:#373166;
  background:#211d43;
}
:is(.page-customer,.page-admin) .security-note p { color:#c3c9df; }
:is(.page-customer,.page-admin) .error-card {
  border-color:var(--line);
  background:#11162b;
}

/* FactoryOS: superficies oscuras del detalle de pedido */
.page-admin .production-workflow {
  border-color:#303a5d;
  background:linear-gradient(145deg,#12182f,#0d1225);
  box-shadow:0 18px 46px rgba(0,0,0,.25);
}
.page-admin .production-preflight__item {
  color:#e9ecfb;
  border-color:#303a5b;
  background:#11172d;
}
.page-admin .production-preflight__item > span {
  color:#aeb7d3;
  background:#242c48;
}
.page-admin .production-preflight__item.is-ready {
  border-color:#285f58;
  background:#102824;
}
.page-admin .production-preflight__item.is-ready > span {
  color:#7ce4cf;
  background:#173d37;
}
.page-admin .production-preflight__item.is-blocked {
  border-color:#655528;
  background:#272313;
}
.page-admin .production-preflight__item.is-blocked > span {
  color:#efd27b;
  background:#403717;
}
.page-admin .production-preflight__item small { color:#aeb6cf; }
.model-measurements {
  display:grid;
  gap:12px;
  margin-top:14px;
  padding:14px;
  color:#eef1ff;
  border:1px solid #35405f;
  border-radius:14px;
  background:#0b1022;
}
.model-measurements__heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.model-measurements__heading > div { display:grid;gap:3px; }
.model-measurements__heading span {
  color:#aeb7d3;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.model-measurements__heading strong { color:#fff;font-size:13px; }
.model-measurements__heading b {
  padding:6px 9px;
  color:#ffd98b;
  border-radius:999px;
  background:#3b2c10;
  font-size:9px;
}
.model-measurements.is-ready .model-measurements__heading b {
  color:#86ead4;
  background:#123b34;
}
.model-measurements dl {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.model-measurements dl > div {
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid #2b3555;
  border-radius:10px;
  background:#11172d;
}
.model-measurements dt { color:#9da7c5;font-size:9px; }
.model-measurements dd { margin:0;color:#fff;font-size:12px;font-weight:850; }
.model-measurements p { margin:0;color:#aeb7d3;font-size:9px;line-height:1.55; }
.model-measurements p strong { color:#fff; }
.page-admin .production-authorization-card,
.page-admin .production-actions-card {
  color:#eef1ff;
  border-color:#303a5b;
  background:linear-gradient(145deg,#151b34,#0e1429);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.page-admin .production-subheading > span {
  color:#b9afff;
  background:#2b255a;
}
.page-admin .production-stage {
  color:#eef1ff;
  border-color:#303a5b;
  background:#0b1022;
}
.page-admin .printer-telemetry {
  color:#eef1ff;
  border-color:#303a5b;
  background:#11172d;
}
.page-admin .printer-telemetry dl > div {
  border-color:#303a5b;
  background:#0b1022;
}
.page-admin .production-stage .confirm-check,
.page-admin .printer-controls,
.page-admin .production-auth-details > div {
  border-color:#303a5b;
}
.page-admin .confirm-check--critical { color:#f1a8af; }
.page-admin .production-stage .button[disabled],
.page-admin .printer-controls button[disabled] {
  color:#aeb6cf;
  border-color:#323b58;
  background:#252c43;
  opacity:.72;
}
.page-admin .tool-button {
  color:#dce1f4;
  border-color:#35405f;
  background:#171d35;
}
.page-admin .tool-button:hover {
  color:#fff;
  border-color:#7968e8;
  background:#292454;
}
.page-admin .model-stage--admin {
  border:1px solid #2d3656;
  background:
    radial-gradient(circle at 50% 42%,rgba(112,87,245,.18),transparent 35%),
    radial-gradient(circle at 50% 48%,#171d35,#080b17 72%);
  box-shadow:inset 0 0 70px rgba(0,0,0,.34);
}
.page-admin .model-stage--admin model-viewer {
  color:#eef1ff;
  background:transparent;
}
.page-admin .model-stage--admin .model-stage__hint {
  color:#d8def2;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(8,11,24,.78);
}
.page-admin .model-panel .model-placeholder {
  color:#eef1ff;
  border:1px solid #2d3656;
  background:linear-gradient(145deg,#151b34,#090d1c);
}

/* Bibliotecas del cliente */
.catalog-page { max-width:1420px; }
.catalog-heading { align-items:end; }
.catalog-heading p { max-width:720px; }
.catalog-filters { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px; }
.discovery-strip { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 20px; }
.discovery-strip>a {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:17px;
  border:1px solid var(--line);
  border-radius:17px;
  color:var(--ink);
  background:linear-gradient(125deg,#151a35,#11172d);
  transition:transform .2s var(--ease),border-color .2s;
}
.discovery-strip>a:hover { transform:translateY(-2px);border-color:#4c5882; }
.discovery-strip__visual { display:grid;place-items:center;width:47px;height:47px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#7057f5,#2fcff2);font-size:12px;font-weight:900; }
.discovery-strip__visual--play { font-size:17px;text-indent:2px; }
.discovery-strip>a>div { display:grid;min-width:0;gap:2px; }
.discovery-strip small { color:#69def6!important;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase; }
.discovery-strip strong { font-size:16px; }
.discovery-strip p { overflow:hidden;margin:0;font-size:10px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap; }
.discovery-strip>a>b { color:#9d90ff;font-size:18px; }
.catalog-filters a {
  padding:8px 13px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#b7bfd8;
  background:#10162b;
  font-size:11px;
  font-weight:750;
}
.catalog-filters a:hover,.catalog-filters a.is-active {
  color:#fff;
  border-color:#7866e7;
  background:#2a2457;
}
.catalog-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px; }
.catalog-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(150deg,#12182f,#0e1327);
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  transition:transform .22s var(--ease),border-color .22s;
}
.catalog-card:hover { transform:translateY(-3px);border-color:#4b5680; }
.catalog-card__media {
  position:relative;
  display:grid;
  place-items:center;
  min-height:220px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 45%,rgba(87,217,246,.15),transparent 30%),
    linear-gradient(145deg,#181d3b,#241e50);
}
.catalog-card__media img { width:100%;height:220px;object-fit:cover;transition:transform .35s var(--ease); }
.catalog-card:hover .catalog-card__media img { transform:scale(1.025); }
.catalog-card__media>b {
  position:absolute;
  top:13px;
  right:13px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  color:#dfe4f9;
  background:rgba(8,11,25,.72);
  font-size:9px;
}
.catalog-card__media>small { margin-top:92px;color:#b9c4df!important;font-size:10px;font-weight:750; }
.catalog-card__model-mark { position:absolute;inset:0;display:grid;place-items:center; }
.catalog-card__model-mark i {
  position:absolute;
  width:82px;
  height:82px;
  border:2px solid rgba(37,134,223,.86);
  border-radius:20px;
  transform:rotate(30deg) skew(-5deg);
  box-shadow:0 0 35px rgba(37,134,223,.22);
}
.catalog-card__model-mark i:nth-child(2) { width:61px;height:61px;border-color:rgba(88,217,247,.68);transform:rotate(76deg) skew(4deg); }
.catalog-card__model-mark i:nth-child(3) { width:40px;height:40px;border-color:rgba(255,255,255,.45);transform:rotate(12deg); }
.catalog-card__body { padding:20px; }
.catalog-card__body>span,.inspiration-card>div>span {
  color:#5adbf7;
  font-size:9px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.catalog-card__body h2 { margin:7px 0 8px;font-size:20px; }
.catalog-card__body h2 a,.inspiration-card h2 a { color:#f5f6ff; }
.catalog-card__body p { min-height:54px;margin:0 0 14px;line-height:1.55; }
.catalog-card__body dl { display:grid;gap:6px;margin:0 0 18px; }
.catalog-card__body dl div { display:flex;justify-content:space-between;gap:12px;font-size:10px; }
.catalog-card__body dt { color:#929cba!important;font-weight:500; }
.catalog-card__body dd { margin:0;color:#dde2f3!important;text-align:right;font-weight:750; }
.catalog-card__body .button { width:100%; }
.catalog-empty {
  display:grid;
  justify-items:center;
  min-height:330px;
  padding:60px 25px;
  border:1px dashed #37415f;
  border-radius:22px;
  background:linear-gradient(145deg,#10162c,#0d1224);
  text-align:center;
}
.catalog-empty>span { display:grid;place-items:center;width:60px;height:60px;border-radius:18px;color:#60def8;background:#1b2850;font-size:26px; }
.catalog-empty h2 { margin:18px 0 8px; }
.catalog-empty p { max-width:570px;margin:0 0 22px;line-height:1.65; }
.catalog-detail {
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);
  gap:24px;
  align-items:start;
}
.catalog-detail__media,.inspiration-detail__media {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 45%,rgba(47,207,242,.12),transparent 30%),
    linear-gradient(145deg,#161c38,#211b48);
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}
.catalog-detail__media>img { display:block;width:100%;max-height:620px;object-fit:contain; }
.catalog-detail__media model-viewer { display:block;width:100%;height:min(65vh,620px);min-height:440px; }
.catalog-detail__media>span { display:block;padding:12px 16px;color:#aeb8d4;border-top:1px solid var(--line);background:#0c1124;font-size:10px;text-align:center; }
.catalog-detail__copy {
  padding:30px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(145deg,#12182f,#0e1327);
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.catalog-detail__copy h1 { margin:11px 0 12px;font-size:clamp(31px,4vw,48px); }
.catalog-detail__lead { color:#d7dcef!important;font-size:16px;line-height:1.6; }
.catalog-detail__copy>p:not(.catalog-detail__lead) { line-height:1.7; }
.catalog-detail__specs { display:grid;margin:25px 0;border-top:1px solid var(--line); }
.catalog-detail__specs div { display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px; }
.catalog-detail__specs dt { color:#98a3c1!important;font-weight:550; }
.catalog-detail__specs dd { margin:0;max-width:55%;text-align:right;font-weight:750; }
.catalog-detail__actions { display:flex;flex-wrap:wrap;gap:9px; }
.catalog-detail__note { display:block;margin-top:16px;line-height:1.55; }
.catalog-selection {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
  padding:17px;
  border:1px solid #403774;
  border-radius:18px;
  background:linear-gradient(115deg,#211c45,#10273a);
}
.catalog-selection__mark {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#1268c4,#e1b83d);
  font-size:12px;
  font-weight:900;
}
.catalog-selection>div { display:grid;gap:3px; }
.catalog-selection small { color:#7fe3f8!important;font-size:9px;font-weight:800;text-transform:uppercase; }
.catalog-selection p { margin:0;font-size:11px; }
.catalog-source-locked { display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #354365;border-radius:14px;background:#101a32; }
.catalog-source-locked>span { display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#0d2130;background:#5ee1f7;font-weight:900; }
.catalog-source-locked>div { display:grid;gap:3px; }
.catalog-source-locked small { line-height:1.45; }

/* Inspiración */
.inspiration-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px; }
.inspiration-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(150deg,#12182f,#0d1225);
}
.inspiration-card__media { display:grid;place-items:center;min-height:230px;overflow:hidden;background:linear-gradient(145deg,#092b55,#10283a); }
.inspiration-card__media img { width:100%;height:230px;object-fit:cover; }
.inspiration-card__play { display:grid;place-items:center;width:70px;height:70px;border:1px solid rgba(255,255,255,.17);border-radius:50%;color:#061126;background:linear-gradient(135deg,#e1b83d,#55b8ff);box-shadow:0 15px 36px rgba(18,104,196,.32);font-size:24px;text-indent:4px; }
.inspiration-card__media>small { margin-top:12px;color:#c8d0e7!important;font-weight:750; }
.inspiration-card>div { padding:20px; }
.inspiration-card h2 { margin:7px 0;font-size:21px; }
.inspiration-card p { min-height:48px;line-height:1.55; }
.inspiration-card>div>a { color:#68b9fa;font-size:11px;font-weight:800; }
.inspiration-detail { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:22px;align-items:start; }
.inspiration-detail__media iframe,.inspiration-detail__media model-viewer { display:block;width:100%;height:min(66vh,680px);min-height:430px;border:0; }
.inspiration-detail__media img { display:block;width:100%;max-height:680px;object-fit:contain; }
.inspiration-detail__copy { padding:28px;border:1px solid var(--line);border-radius:22px;background:#11172d; }
.inspiration-detail__copy h1 { margin:11px 0 13px;font-size:clamp(30px,3.5vw,45px); }
.inspiration-detail__copy p { margin-bottom:24px;font-size:14px;line-height:1.7; }

/* Administración de biblioteca */
.catalog-admin-page { max-width:1450px; }
.catalog-admin-tabs { display:flex;gap:8px;margin:-6px 0 18px; }
.catalog-admin-tabs a { padding:9px 13px;border:1px solid var(--line);border-radius:10px;color:#c9cfe3;background:#11172d;font-size:11px;font-weight:800; }
.catalog-admin-tabs b { margin-left:5px;color:#67dff7; }
.catalog-admin-section { margin-bottom:20px; }
.catalog-admin-create { margin:18px 0;padding:0!important;overflow:hidden; }
.catalog-admin-create>summary,.catalog-admin-edit>summary { padding:14px 16px;color:#d8dcf0;cursor:pointer;font-size:11px;font-weight:850; }
.catalog-admin-create[open]>summary,.catalog-admin-edit[open]>summary { color:#fff;border-bottom:1px solid var(--line);background:#171d38; }
.catalog-admin-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px; }
.catalog-admin-form .field--span-2 { grid-column:1/-1; }
.catalog-admin-form .consent-card { align-self:end; }
.catalog-admin-form__action { grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:5px; }
.catalog-admin-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(410px,1fr));gap:13px; }
.catalog-admin-item { padding:17px;border:1px solid var(--line);border-radius:16px;background:#0e1429; }
.catalog-admin-item__identity { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px; }
.catalog-admin-item__identity>div { display:grid;min-width:0; }
.catalog-admin-item__identity strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.catalog-admin-item__identity small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.catalog-admin-item__icon { display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#061126;background:linear-gradient(135deg,#e1b83d,#31cfee);font-size:9px;font-weight:900; }
.catalog-admin-item>p { min-height:35px;margin:12px 0;line-height:1.5; }
.catalog-admin-item__actions { display:flex;flex-wrap:wrap;gap:8px; }
.catalog-admin-edit { margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#0a1022; }
.catalog-admin-empty { padding:28px;border:1px dashed var(--line);border-radius:14px;text-align:center; }
.nav-icon--library::before { inset:2px 3px;border:1.5px solid;border-radius:2px;box-shadow:4px 3px 0 -2px currentColor,-4px 3px 0 -2px currentColor; }
.nav-icon--spark::before { content:"✦";inset:-3px auto auto 1px;border:0;font-size:16px;line-height:1; }

@media (max-width: 950px) {
  .catalog-detail,.inspiration-detail { grid-template-columns:1fr; }
  .catalog-detail__media model-viewer,.inspiration-detail__media iframe,.inspiration-detail__media model-viewer { min-height:390px; }
  .catalog-admin-list { grid-template-columns:1fr; }
}
@media (max-width: 650px) {
  .discovery-strip { grid-template-columns:1fr; }
  .catalog-grid,.inspiration-grid { grid-template-columns:1fr; }
  .catalog-detail__copy,.inspiration-detail__copy { padding:20px; }
  .catalog-detail__actions { display:grid; }
  .catalog-selection { grid-template-columns:auto 1fr; }
  .catalog-selection>.button { grid-column:1/-1;width:100%; }
  .catalog-admin-form { grid-template-columns:1fr;padding:13px; }
  .catalog-admin-form .field--span-2,.catalog-admin-form__action { grid-column:auto; }
  .catalog-admin-form__action .button { width:100%; }
  .catalog-admin-item__identity { grid-template-columns:auto 1fr; }
  .catalog-admin-item__identity>.status { grid-column:2;justify-self:start; }
}

/* Cadena tipada de pedidos: visión comercial y física en una sola línea. */
.typed-flow-panel{margin:22px 0}.typed-order-list{display:grid;gap:10px}
.typed-order-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:18px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.typed-order-row__identity{display:grid;gap:4px;color:inherit;text-decoration:none}.typed-order-row__identity small{color:var(--muted)}
.typed-stage-track{display:grid;grid-template-columns:repeat(9,minmax(70px,1fr));gap:6px;margin:0;padding:0;list-style:none}
.typed-stage{display:grid;justify-items:center;gap:5px;min-width:0;color:var(--muted);text-align:center}
.typed-stage span{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper-2);font-size:11px;font-weight:850}
.typed-stage small{font-size:10px;font-weight:750;white-space:nowrap}
.typed-stage--completed{color:#25966a}.typed-stage--completed span{color:#0a6041;border-color:#a7e5cc;background:#dcf8ec}
.typed-stage--active{color:#6b53ec}.typed-stage--active span{color:#fff;border-color:#765cf1;background:#765cf1}
.typed-stage--attention{color:#b15b28}.typed-stage--attention span{color:#8e441a;border-color:#efc29f;background:#fff0e2}
.typed-stage--cancelled{opacity:.45}
@media(max-width:1050px){.typed-order-row{grid-template-columns:1fr}.typed-stage-track{overflow-x:auto;padding-bottom:6px}.typed-stage{min-width:76px}}

/* Autocotización: hace visible la capacidad usada sin mezclar fabricación y entrega. */
.self-quote{display:grid;gap:13px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}
.self-quote__heading{display:grid;gap:3px}.self-quote__heading strong{font-size:13px}.self-quote__heading small{color:var(--muted);line-height:1.45}
.self-quote__breakdown{display:grid!important;gap:0!important;margin:0!important;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}
.self-quote__breakdown div{padding:8px 0!important}.self-quote__breakdown dt,.self-quote__breakdown dd{font-size:10px!important}
.self-quote form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.self-quote form .button{min-width:0;padding-inline:10px}
.self-quote__note{margin:0!important;color:var(--muted)!important;font-size:9px!important;line-height:1.5}
@media(max-width:520px){.self-quote form{grid-template-columns:1fr}}

/* Guía operativa y cierre físico: una sola siguiente acción con evidencia. */
.operations-guide{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.7fr);gap:18px;margin:0 0 18px;padding:18px;border:1px solid #244e79;border-radius:20px;background:radial-gradient(circle at 8% 0,rgba(37,134,223,.22),transparent 34%),linear-gradient(140deg,#0b1e3b,#050d1e);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.operations-guide__next{display:grid;align-content:center;justify-items:start;gap:6px;padding:8px 10px}.operations-guide__next>span{color:#8de5f6;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.operations-guide__next h2{margin:0;color:#fff;font-size:23px}.operations-guide__next p{margin:0 0 7px;color:#bbc5e1;font-size:11px;line-height:1.5}.operations-guide__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.operations-guide__steps li{display:grid;grid-template-columns:27px 1fr;align-items:start;gap:8px;min-width:0;padding:9px;border:1px solid #293252;border-radius:12px;background:#0e152b}.operations-guide__steps li>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #455071;border-radius:9px;color:#aab4d1;font-size:9px;font-weight:900}.operations-guide__steps li>div{display:grid;min-width:0;gap:2px}.operations-guide__steps strong{color:#e7eaf6;font-size:9.5px}.operations-guide__steps small{overflow:hidden;color:#8995b5;font-size:7.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.operations-guide__steps .is-completed{border-color:#245447;background:#102922}.operations-guide__steps .is-completed>span{color:#92efd0;border-color:#2e7861;background:#184637}.operations-guide__steps .is-active{border-color:#795cf5;background:#211b49;box-shadow:0 0 0 1px rgba(120,91,245,.15)}.operations-guide__steps .is-active>span{color:#fff;border-color:#846bf5;background:#6f52e9}.operations-guide__mode{grid-column:1/-1;margin:0;padding-top:11px;color:#8e9ab8;border-top:1px solid #28304f;font-size:9px}.operations-guide__mode strong{color:#bdb4ff}

.production-closeout{scroll-margin-top:90px}.closeout-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.closeout-summary>div{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--paper-2)}.closeout-summary span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.closeout-summary strong{font-size:17px}.closeout-summary small{color:var(--muted);font-size:8px}.closeout-form{display:grid;gap:15px}.choice-fieldset{margin:0;padding:0;border:0}.choice-fieldset legend{margin-bottom:8px;font-size:10px;font-weight:850}.choice-chips{display:flex;flex-wrap:wrap;gap:7px}.choice-chips label{margin:0}.choice-chips input{position:absolute;opacity:0;pointer-events:none}.choice-chips span{display:block;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--paper-2);font-size:9px;font-weight:750;cursor:pointer}.choice-chips input:checked+span{color:#fff;border-color:#7258ef;background:#4d3ca7}.choice-chips input:focus-visible+span{outline:2px solid #55d9f3;outline-offset:2px}.closeout-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.closeout-checks .confirm-check{margin:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}

.feedback-inline{display:grid;gap:2px;margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}.feedback-inline strong{font-size:9px}.feedback-inline span{color:var(--muted);font-size:8px;line-height:1.5}.feedback-inline.is-active{border-color:#287158;background:#112d25}.feedback-inline.is-active strong{color:#8aebca}.feedback-inline.is-learning strong{color:#bcb3ff}.edit-history{display:grid;gap:7px;margin:13px 0 0;padding:13px 0 0;border-top:1px solid var(--line);list-style:none}.edit-history li{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}.edit-history strong{font-size:9px}.edit-history span,.edit-history small{color:var(--muted);font-size:8px;line-height:1.4}
.dataset-governance{display:grid;gap:12px;margin:18px 0 0;padding:18px;border:1px solid rgba(127,103,255,.28);border-radius:18px;background:rgba(10,15,35,.72)}.dataset-governance legend{padding:0 8px;color:#f3f1ff;font-weight:800}.dataset-governance>p{margin:0;color:var(--muted);font-size:.86rem}

.feedback-dashboard{display:grid;gap:15px;margin-bottom:18px}.feedback-rollup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.feedback-rollup>div{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.feedback-rollup span{color:var(--muted);font-size:8px;text-transform:uppercase}.feedback-rollup strong{font-size:17px}.feedback-materials{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.feedback-materials article{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.feedback-materials article>div{display:flex;justify-content:space-between;gap:8px}.feedback-materials article>div span{color:var(--muted);font-size:8px}.feedback-materials dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0}.feedback-materials dl div{display:grid;gap:2px}.feedback-materials dt{color:var(--muted);font-size:7px}.feedback-materials dd{margin:0;font-size:10px;font-weight:850}.feedback-materials .is-active{border-color:#287158;background:#112d25}.feedback-materials .is-learning{border-color:#35305e}

@media(max-width:1050px){.operations-guide{grid-template-columns:1fr}.operations-guide__steps{grid-template-columns:repeat(3,minmax(150px,1fr));overflow-x:auto;padding-bottom:5px}.closeout-summary{grid-template-columns:1fr}.feedback-rollup{grid-template-columns:1fr}}
@media(max-width:650px){.operations-guide{padding:13px}.operations-guide__steps{grid-template-columns:1fr;overflow:visible}.operations-guide__steps small{display:block}.closeout-checks{grid-template-columns:1fr}}

/* TechHeaven 2026: azul ingeniería + dorado de marca. */
:root {
  --ink: #ecf4ff;
  --ink-2: #c7d6ea;
  --muted: #91a7c4;
  --subtle: #6f86a6;
  --paper: #020817;
  --surface: #071329;
  --surface-2: #0b1b36;
  --line: #1b3557;
  --line-strong: #2a4c76;
  --brand: #2586df;
  --brand-dark: #55adf5;
  --brand-soft: #0d315c;
  --coral: #e1b83d;
  --coral-soft: #423612;
  --yellow: #e1b83d;
  --yellow-soft: #332b12;
  --blue: #2586df;
  --blue-soft: #0c315e;
}

.brand__logo { display:block;width:176px;height:auto;max-height:58px;object-fit:contain;object-position:left center; }
.site-footer .brand__logo { width:190px; }
.app-topbar .brand__logo { width:168px; }
.brand { min-width:0; }

:is(.page-customer,.page-admin) {
  --ink:#edf5ff;
  --ink-2:#c7d6ea;
  --muted:#91a7c4;
  --subtle:#7088a8;
  --paper:#020817;
  --surface:#071329;
  --surface-2:#0b1b36;
  --line:#1b3557;
  --line-strong:#2a4c76;
  --brand:#2586df;
  --brand-dark:#68b9fa;
  --brand-soft:#0d315c;
  background:
    radial-gradient(circle at 82% -8%,rgba(21,92,175,.19),transparent 31%),
    linear-gradient(145deg,#020817,#061126 58%,#020817);
}
:is(.page-customer,.page-admin) .app-topbar {
  border-bottom-color:#173051;
  background:rgba(2,8,23,.94);
  box-shadow:0 8px 30px rgba(0,0,0,.22);
}
:is(.page-customer,.page-admin) .app-sidebar {
  border-right-color:#173051;
  background:linear-gradient(180deg,#030b1d,#061229);
}
:is(.page-customer,.page-admin) .app-sidebar__nav a:hover {
  color:#f2c94c;
  background:#0b2446;
}
:is(.page-customer,.page-admin) .app-sidebar__nav a.is-active {
  color:#fff;
  border-color:#2b84d7;
  background:linear-gradient(105deg,#0d3d78,#0a254b);
  box-shadow:inset 3px 0 #e1b83d,0 8px 22px rgba(0,48,105,.22);
}
:is(.page-customer,.page-admin) .app-sidebar__label,
:is(.page-customer,.page-admin) .page-heading__eyebrow,
:is(.page-customer,.page-admin) .form-section__heading>span {
  color:#e1b83d;
}
:is(.page-customer,.page-admin) .user-chip__avatar,
:is(.page-customer,.page-admin) .form-section__number {
  color:#f3d86f;
  background:linear-gradient(145deg,#123f76,#09254d);
  border:1px solid #275d99;
}
:is(.page-customer,.page-admin) .button--primary {
  color:#061126;
  border-color:#f0cf63;
  background:linear-gradient(135deg,#f1d36e,#d8a925);
  box-shadow:0 10px 28px rgba(218,171,38,.2);
}
:is(.page-customer,.page-admin) .button--primary:hover {
  color:#020817;
  background:linear-gradient(135deg,#ffe58a,#e5b936);
  box-shadow:0 14px 34px rgba(218,171,38,.28);
}
:is(.page-customer,.page-admin) .button--soft {
  color:#bfe1ff;
  border-color:#23578d;
  background:#0c315e;
}
:is(.page-customer,.page-admin) .button--soft:hover { color:#fff;background:#124982; }
:is(.page-customer,.page-admin) .button--ghost:hover { color:#f2ce5e;border-color:#a98429;background:#182241; }
:is(.page-customer,.page-admin) input:focus,
:is(.page-customer,.page-admin) select:focus,
:is(.page-customer,.page-admin) textarea:focus {
  border-color:#399bf1;
  box-shadow:0 0 0 4px rgba(37,134,223,.18);
}
:is(.page-customer,.page-admin) select option { color:#eaf4ff!important;background:#071329!important; }
:is(.page-customer,.page-admin) select option:checked {
  color:#ffe27a!important;
  background:#0d467f!important;
}
:is(.page-customer,.page-admin) ::selection { color:#fff3bf;background:#145493; }

.source-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
:is(.page-customer,.page-admin) .source-option,
:is(.page-customer,.page-admin) .delivery-options label {
  border-color:#254669;
  background:#071329;
}
:is(.page-customer,.page-admin) .source-option:hover,
:is(.page-customer,.page-admin) .delivery-options label:hover {
  border-color:#3679b8;
  background:#0a1d39;
}
:is(.page-customer,.page-admin) .source-option:has(input:checked),
:is(.page-customer,.page-admin) .delivery-options label:has(input:checked) {
  color:#fff;
  border-color:#e1b83d;
  background:linear-gradient(145deg,#0c3a70,#0a2141);
  box-shadow:0 0 0 2px rgba(225,184,61,.12),0 12px 28px rgba(0,0,0,.2);
}
:is(.page-customer,.page-admin) .source-option:has(input:checked) small,
:is(.page-customer,.page-admin) .delivery-options label:has(input:checked) small { color:#bbd3ec!important; }
:is(.page-customer,.page-admin) .source-option:has(input:checked)>b,
:is(.page-customer,.page-admin) .delivery-options label:has(input:checked)>b {
  border-color:#e1b83d;
  background:#e1b83d;
  box-shadow:inset 0 0 0 3px #0a2d58;
}
.source-option__visual--parametric {
  color:#f1cc58;
  background:linear-gradient(145deg,#153e6b,#312b17);
  font-size:21px;
}

.parametric-builder {
  overflow:hidden;
  border:1px solid #21466f;
  border-radius:20px;
  background:linear-gradient(145deg,#06142b,#030b1d);
  box-shadow:0 24px 60px rgba(0,0,0,.25);
}
.parametric-builder__header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px;
  border-bottom:1px solid #1a385c;
  background:linear-gradient(100deg,rgba(18,75,135,.3),rgba(225,184,61,.06));
}
.parametric-builder__header>div { display:grid;gap:4px; }
.parametric-builder__header span { color:#e1b83d;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase; }
.parametric-builder__header h3 { margin:0;color:#f4f8ff;font-size:22px; }
.parametric-builder__header p { margin:0;color:#91a7c4;font-size:10px; }
.parametric-builder__header output {
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid #266f78;
  border-radius:999px;
  color:#9af0dc;
  background:#0b342f;
  font-size:9px;
  font-weight:800;
}
.parametric-builder__header output.is-warning { color:#ffe18a;border-color:#8b6a20;background:#3b3014; }
.parametric-builder__welcome {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  padding:0;
  border-bottom:1px solid #1a385c;
  background:#102846;
}
.parametric-builder__welcome>div {
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:9px;
  min-height:68px;
  padding:12px 18px;
  background:#07172f;
}
.parametric-builder__welcome b {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  color:#061226;
  border-radius:10px;
  background:linear-gradient(135deg,#f7de82,#d4af37);
  font-size:11px;
}
.parametric-builder__welcome span { display:grid;gap:2px; }
.parametric-builder__welcome strong { color:#eaf4ff;font-size:9px; }
.parametric-builder__welcome small { color:#7f99b8;font-size:7.5px;line-height:1.35; }
.parametric-builder__guide {
  color:#bed2e6;
  border-bottom:1px solid #1a385c;
  background:#06142a;
}
.parametric-builder__guide summary {
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 16px;
  color:#a8bdd5;
  font-size:8.5px;
  cursor:pointer;
  list-style:none;
}
.parametric-builder__guide summary::-webkit-details-marker { display:none; }
.parametric-builder__guide summary span {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  color:#061226;
  border-radius:50%;
  background:#f0c94f;
  font-size:8px;
}
.parametric-builder__guide summary strong { color:#eef6ff; }
.parametric-builder__guide>div {
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(260px,1fr);
  gap:18px;
  align-items:center;
  padding:0 16px 16px;
}
.parametric-builder__guide video {
  width:100%;
  max-height:280px;
  border:1px solid #27517d;
  border-radius:13px;
  background:#020714;
}
.parametric-builder__guide video.is-missing { display:none; }
.parametric-builder__guide p { margin:0;color:#8fa8c5;font-size:9px;line-height:1.7; }
.parametric-builder__guide p strong { color:#f0c94f; }
.parametric-builder__presets {
  display:grid;
  grid-template-columns:1.2fr repeat(4,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
  padding:13px 16px;
  border-bottom:1px solid #1a385c;
  background:#051126;
}
.parametric-builder__presets>span {
  align-self:center;
  color:#91a9c5;
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.parametric-builder__presets button {
  display:grid;
  grid-template-columns:28px 1fr;
  align-items:center;
  gap:7px;
  min-height:48px;
  padding:8px;
  color:#eaf4ff;
  border:1px solid #21466f;
  border-radius:11px;
  background:#091b35;
  text-align:left;
  cursor:pointer;
  transition:border-color .2s,background .2s,transform .2s;
}
.parametric-builder__presets button:hover {
  border-color:#d4af37;
  background:#10315a;
  transform:translateY(-1px);
}
.parametric-builder__presets button>b {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  color:#f0c94f;
  border-radius:8px;
  background:#0f345e;
}
.parametric-builder__presets button>span { display:grid;gap:1px; }
.parametric-builder__presets strong { color:inherit;font-size:8px; }
.parametric-builder__presets small { color:#7893b2;font-size:6.8px;line-height:1.25; }
.parametric-builder__workspace { display:grid;grid-template-columns:330px minmax(0,1fr);min-height:540px; }
.parametric-builder__tools { padding:16px;border-right:1px solid #1a385c;background:#061126; }
.parametric-builder__add { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px; }
.parametric-builder__add button {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2px 8px;
  align-items:center;
  min-height:58px;
  padding:10px;
  color:#eaf4ff;
  border:1px solid #28537f;
  border-radius:12px;
  background:#0a1e3a;
  text-align:left;
  cursor:pointer;
}
.parametric-builder__add button:hover { color:#ffe078;border-color:#d2a82f;background:#10315a; }
.parametric-builder__add button>span { grid-row:1/3;color:#e1b83d;font-size:19px; }
.parametric-builder__add button strong { font-size:10px; }
.parametric-builder__add button small { color:#8099b8;font-size:8px; }
.parametric-builder__list { display:grid;gap:9px;max-height:680px;overflow:auto;padding-right:3px; }
.parametric-primitive { overflow:hidden;border:1px solid #1f3d62;border-radius:13px;background:#08172f;cursor:pointer; }
.parametric-primitive.is-selected { border-color:#d8ae35;box-shadow:0 0 0 2px rgba(225,184,61,.1); }
.parametric-primitive header { display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px;border-bottom:1px solid #193453; }
.parametric-primitive header>span { display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#f0ca55;background:#10345e; }
.parametric-primitive header>div { display:grid;gap:1px; }
.parametric-primitive header strong { color:#edf5ff;font-size:10px; }
.parametric-primitive header small { color:#7891b0;font-size:7px; }
.parametric-primitive header button { width:26px;height:26px;padding:0;color:#91a7c4;border:1px solid #2a496d;border-radius:7px;background:#091a34;cursor:pointer; }
.parametric-primitive header button:hover:not(:disabled) { color:#fff;border-color:#b55b5b;background:#6b2828; }
.parametric-primitive header button:disabled { opacity:.3;cursor:not-allowed; }
.parametric-primitive__summary {
  margin:0;
  padding:8px 10px 0;
  color:#f0c94f;
  font-size:8px;
  font-weight:800;
}
.parametric-primitive__fields { display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px; }
.parametric-primitive__fields label { display:grid;gap:4px;margin:0; }
.parametric-primitive__fields label span { color:#91a7c4;font-size:7.5px;font-weight:700; }
.parametric-primitive__fields input { min-height:34px;padding:7px 8px;color:#eef6ff;border-color:#234466;background:#061225;font-size:10px; }
.parametric-builder__preview { position:relative;display:grid;align-content:start;min-width:0;padding:16px;background:#030b1d; }
.parametric-builder__toolbar {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:9px;
}
.parametric-builder__toolbar button {
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:7px 10px;
  color:#b9cee3;
  border:1px solid #24486f;
  border-radius:9px;
  background:#07182f;
  font-size:8px;
  font-weight:800;
  cursor:pointer;
}
.parametric-builder__toolbar button:hover {
  color:#f8d867;
  border-color:#b38e28;
  background:#0e2c50;
}
.parametric-builder__toolbar button:disabled { opacity:.35;cursor:not-allowed; }
.parametric-builder__toolbar button span { color:#f0c94f;font-size:12px; }
.parametric-builder__preview canvas {
  display:block;
  width:100%;
  height:auto;
  max-height:500px;
  touch-action:none;
  user-select:none;
  border:1px solid #1b3b62;
  border-radius:15px;
  background:#030b1d;
  cursor:grab;
}
.parametric-builder__preview canvas.is-dragging { cursor:grabbing; }
.parametric-builder__axis { position:absolute;left:31px;top:68px;display:flex;gap:8px;pointer-events:none; }
.parametric-builder__axis i { display:grid;place-items:center;width:22px;height:22px;border:1px solid #2d5b88;border-radius:7px;color:#74bdf7;background:#07172e;font-size:8px;font-style:normal;font-weight:850; }
.parametric-builder__axis i:last-child { color:#f3ce5c;border-color:#8b7027; }
.parametric-builder__canvas-help {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:8px 0 0;
  color:#7f9cbb;
  font-size:8px;
}
.parametric-builder__canvas-help span { color:#f0c94f;font-size:12px; }
.parametric-builder__measurements { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:11px 0 0; }
.parametric-builder__measurements>div { display:grid;gap:3px;padding:10px;border:1px solid #1e3d62;border-radius:10px;background:#07162d; }
.parametric-builder__measurements dt { color:#7f98b7;font-size:7px;text-transform:uppercase; }
.parametric-builder__measurements dd { margin:0;color:#eff6ff;font-size:11px;font-weight:850; }
.parametric-builder__notice { display:flex;gap:10px;padding:13px 20px;color:#a9bdd6;border-top:1px solid #1a385c;background:#07142a;font-size:9px;line-height:1.5; }
.parametric-builder__notice strong { flex:0 0 auto;color:#f0ca55; }

@media(max-width:1150px) {
  .source-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .parametric-builder__workspace { grid-template-columns:290px minmax(0,1fr); }
  .parametric-builder__presets { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .parametric-builder__presets>span { grid-column:1/-1; }
}
@media(max-width:760px) {
  .brand__logo,.app-topbar .brand__logo { width:142px; }
  .source-options { grid-template-columns:1fr; }
  .parametric-builder__header { align-items:flex-start;flex-direction:column; }
  .parametric-builder__welcome { grid-template-columns:1fr; }
  .parametric-builder__welcome>div { min-height:58px; }
  .parametric-builder__guide>div { grid-template-columns:1fr; }
  .parametric-builder__presets { grid-template-columns:1fr 1fr; }
  .parametric-builder__workspace { grid-template-columns:1fr; }
  .parametric-builder__tools { border-right:0;border-bottom:1px solid #1a385c; }
  .parametric-builder__list { max-height:none; }
  .parametric-builder__measurements { grid-template-columns:1fr 1fr; }
}
@media(max-width:480px) {
  .parametric-builder__presets { grid-template-columns:1fr; }
  .parametric-builder__toolbar button { flex:1 1 calc(50% - 6px);justify-content:center; }
}

/* TechHeaven Cinematic — superficie pública y acceso. */
.page-landing,
.page-auth {
  color:#f8fbff;
  background:#020714;
}
.page-landing .site-header,
.page-auth .site-header {
  color:#f8fbff;
  border-color:rgba(69,137,210,.2);
  background:rgba(2,7,20,.9);
  backdrop-filter:blur(18px);
}
.page-landing .site-nav>a:not(.button),
.page-auth .site-nav>a:not(.button) { color:#b7c6db; }
.page-landing .site-nav>a:not(.button):hover,
.page-auth .site-nav>a:not(.button):hover { color:#f0c94f; }
.page-landing .site-header .button--primary,
.page-auth .site-header .button--primary {
  color:#061226;
  border-color:#f5d56d;
  background:linear-gradient(135deg,#f7dc7a,#d4af37);
  box-shadow:0 10px 30px rgba(212,175,55,.2);
}
.page-landing .brand__logo,
.page-auth .brand__logo,
.page-customer .brand__logo,
.page-admin .brand__logo {
  width:190px;
  max-height:58px;
  object-fit:contain;
  filter:saturate(1.18) brightness(1.18) drop-shadow(0 0 18px rgba(42,168,255,.16));
}

.cinematic-3d-hero {
  position:relative;
  display:grid;
  min-height:calc(100vh - 76px);
  padding:0;
  isolation:isolate;
  background:
    radial-gradient(circle at 72% 42%,rgba(24,108,197,.3),transparent 28%),
    radial-gradient(circle at 75% 44%,rgba(212,175,55,.13),transparent 11%),
    linear-gradient(115deg,#020714 0%,#041027 52%,#061d4d 100%);
}
.cinematic-3d-hero__video {
  position:absolute;
  z-index:-4;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.7;
}
.cinematic-3d-hero__video.is-missing { display:none; }
.cinematic-3d-hero__veil {
  position:absolute;
  z-index:-3;
  inset:0;
  background:
    linear-gradient(90deg,rgba(2,7,20,.96) 0%,rgba(2,7,20,.8) 40%,rgba(2,7,20,.4) 72%,rgba(2,7,20,.73)),
    linear-gradient(180deg,transparent 62%,#020714);
}
.cinematic-3d-hero__grid {
  position:absolute;
  z-index:-2;
  inset:0;
  opacity:.18;
  background-image:
    linear-gradient(rgba(80,164,247,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(80,164,247,.13) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(circle at 72% 48%,black,transparent 65%);
}
.cinematic-3d-hero__content {
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(440px,.86fr);
  align-items:center;
  gap:clamp(50px,8vw,120px);
  width:min(calc(100% - 48px),var(--container));
  min-height:inherit;
  margin-inline:auto;
  padding-block:90px;
}
.cinematic-3d-hero__copy { max-width:780px; }
.cinematic-3d-hero .eyebrow { color:#e4bd45;letter-spacing:.22em; }
.cinematic-3d-hero h1 {
  max-width:820px;
  margin:0 0 28px;
  color:#f8fbff;
  font-size:clamp(58px,5.55vw,94px);
  font-weight:920;
  letter-spacing:-.07em;
  line-height:.87;
  text-transform:none;
  text-shadow:0 18px 60px rgba(0,0,0,.34);
}
.cinematic-3d-hero h1 em {
  display:inline;
  color:#f1ca50;
  font:inherit;
  font-style:normal;
  text-shadow:0 0 35px rgba(212,175,55,.18);
}
.cinematic-3d-hero .hero__lead { max-width:720px;color:#c1cfe0;font-size:clamp(17px,1.35vw,22px);line-height:1.65; }
.cinematic-3d-hero .button--primary {
  color:#061226;
  border:1px solid #f3d469;
  background:linear-gradient(135deg,#f7de82,#d4af37);
  box-shadow:0 13px 38px rgba(212,175,55,.24);
}
.button--glass {
  color:#e8f3ff;
  border:1px solid rgba(105,172,238,.36);
  background:rgba(7,29,63,.6);
  backdrop-filter:blur(12px);
}
.button--glass:hover { color:#ffe487;border-color:#d4af37;background:rgba(12,50,96,.75); }
.cinematic-3d-hero .hero__trust { color:#bfd0e4; }
.cinematic-3d-hero .hero__trust b {
  color:#07152b;
  border:1px solid #efce60;
  background:#e2b93e;
}
.cinematic-3d-hero__story {
  position:relative;
  display:grid;
  align-content:space-between;
  min-height:600px;
  padding:26px;
  overflow:hidden;
  border:1px solid rgba(78,151,224,.35);
  border-radius:34px;
  background:
    radial-gradient(circle at 50% 37%,rgba(47,142,226,.24),transparent 32%),
    linear-gradient(145deg,rgba(9,37,78,.76),rgba(2,10,26,.88));
  box-shadow:0 35px 100px rgba(0,0,0,.42),inset 0 0 80px rgba(42,168,255,.06);
  backdrop-filter:blur(14px);
}
.cinematic-3d-hero__status {
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  color:#cce6ff;
  border:1px solid rgba(73,156,234,.35);
  border-radius:999px;
  background:rgba(4,20,45,.75);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cinematic-3d-hero__status i { width:7px;height:7px;border-radius:50%;background:#f0c94f;box-shadow:0 0 14px #f0c94f; }
.cinematic-3d-hero__object {
  position:absolute;
  left:50%;
  top:45%;
  width:210px;
  height:210px;
  transform:translate(-50%,-50%) rotate(30deg);
}
.cinematic-3d-hero__object i {
  position:absolute;
  inset:0;
  border:2px solid rgba(75,161,244,.72);
  border-radius:40px;
  box-shadow:0 0 45px rgba(42,168,255,.18);
  animation:techheaven-orbit 10s linear infinite;
}
.cinematic-3d-hero__object i:nth-child(2) { inset:25px;border-color:rgba(212,175,55,.8);animation-direction:reverse;animation-duration:13s; }
.cinematic-3d-hero__object i:nth-child(3) { inset:55px;border-color:rgba(255,255,255,.42);animation-duration:8s; }
.cinematic-3d-hero__object span {
  position:absolute;
  inset:75px 47px;
  display:grid;
  place-items:center;
  color:#061226;
  border-radius:18px;
  background:linear-gradient(135deg,#f6d86c,#d4af37);
  font-size:13px;
  font-weight:950;
  letter-spacing:.16em;
  transform:rotate(-30deg);
}
@keyframes techheaven-orbit { to { transform:rotate(360deg); } }
.cinematic-3d-hero__cards { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto; }
.cinematic-3d-hero__cards article { display:grid;gap:3px;padding:12px;border:1px solid rgba(66,137,207,.27);border-radius:13px;background:rgba(3,17,39,.7); }
.cinematic-3d-hero__cards small { color:#7ea4ca;font-size:7.5px; }
.cinematic-3d-hero__cards strong { color:#eaf4ff;font-size:9px;line-height:1.35; }
.cinematic-3d-hero__story>p { margin:13px 0 0;color:#849ebc;font-size:8.5px;text-align:center; }

.creative-gallery {
  position:relative;
  padding:110px 0;
  overflow:hidden;
  border-top:1px solid rgba(61,132,202,.15);
  background:
    radial-gradient(circle at 50% 0,rgba(42,168,255,.15),transparent 38%),
    linear-gradient(180deg,#020714,#06142f 54%,#020714);
}
.creative-gallery__heading { display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:end;gap:50px;margin-bottom:42px; }
.creative-gallery__heading h2 { margin:0;color:#f8fbff;font-size:clamp(44px,5vw,76px);letter-spacing:-.055em;line-height:.95; }
.creative-gallery__heading p { margin:0;color:#9fb2cb;font-size:16px;line-height:1.7; }
.creative-gallery__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.creative-story {
  position:relative;
  display:grid;
  align-items:end;
  min-height:500px;
  overflow:hidden;
  color:#fff;
  border:1px solid rgba(77,151,224,.27);
  border-radius:28px;
  background:#061329;
  box-shadow:0 24px 70px rgba(0,0,0,.25);
  isolation:isolate;
  transition:transform .3s var(--ease),border-color .3s;
}
.creative-story:hover { transform:translateY(-6px);border-color:rgba(212,175,55,.68); }
.creative-story video { position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover; }
.creative-story video.is-missing { display:none; }
.creative-story__fallback {
  position:absolute;
  z-index:-2;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 65% 30%,rgba(42,168,255,.35),transparent 22%),
    linear-gradient(145deg,#07162f,#0a3264);
  font-size:180px;
  font-weight:950;
  letter-spacing:-.12em;
}
.creative-story--learn .creative-story__fallback { background:radial-gradient(circle at 35% 30%,rgba(212,175,55,.28),transparent 25%),linear-gradient(145deg,#07162f,#12294c); }
.creative-story--business .creative-story__fallback { background:radial-gradient(circle at 68% 35%,rgba(34,131,220,.38),transparent 27%),linear-gradient(145deg,#051026,#0b2343); }
.creative-story__veil { position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(2,7,20,.05) 20%,rgba(2,7,20,.94) 88%); }
.creative-story__copy { display:grid;gap:8px;padding:28px; }
.creative-story__copy small { color:#f0c94f;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase; }
.creative-story__copy strong { color:#fff;font-size:27px;letter-spacing:-.03em; }
.creative-story__copy em { color:#a9bfd8;font-size:10px;font-style:normal;line-height:1.5; }
.creative-gallery__actions { display:flex;justify-content:center;gap:10px;margin-top:32px; }
.creative-gallery .button--primary { color:#061226;background:linear-gradient(135deg,#f7de82,#d4af37); }
.creative-gallery .button--ghost { color:#d8e8f8;border-color:#2d5784;background:#07172f; }

/* Acceso completamente oscuro: elimina blanco sobre blanco. */
.page-auth .auth-shell {
  min-height:calc(100vh - 76px);
  background:#020714;
}
.page-auth .auth-shell__visual {
  position:relative;
  isolation:isolate;
  color:#f8fbff;
  border-right:1px solid rgba(59,126,196,.2);
  background:
    radial-gradient(circle at 70% 35%,rgba(42,168,255,.2),transparent 30%),
    linear-gradient(145deg,#020714,#061d4d);
}
.auth-visual__video { position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58; }
.auth-visual__video.is-missing { display:none; }
.auth-visual__veil { position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(2,7,20,.9),rgba(2,7,20,.45)),linear-gradient(180deg,transparent,#020714); }
.page-auth .auth-shell__visual::before { border-color:rgba(63,139,212,.18);box-shadow:0 0 0 60px rgba(42,168,255,.025),0 0 0 120px rgba(212,175,55,.018); }
.page-auth .auth-visual__content h1 { color:#f8fbff;font-size:clamp(44px,4.4vw,70px);letter-spacing:-.06em;line-height:.98; }
.page-auth .auth-visual__content>p { color:#abc0d8;font-size:17px; }
.page-auth .auth-visual__steps span { color:#c3d5e8; }
.page-auth .auth-visual__steps i { color:#f5d86c;border-color:#826b29;background:rgba(212,175,55,.1); }
.auth-visual__caption { position:absolute;left:clamp(36px,5vw,80px);bottom:30px;color:#7896b8;font-size:9px;letter-spacing:.1em;text-transform:uppercase; }
.page-auth .auth-shell__form {
  background:
    radial-gradient(circle at 50% 28%,rgba(17,83,156,.16),transparent 34%),
    #030a19;
}
.page-auth .auth-card {
  padding:34px;
  color:#eaf3ff;
  border:1px solid #1c3b61;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(8,27,55,.92),rgba(3,12,29,.96));
  box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.page-auth .auth-card__heading h1,
.page-auth .auth-card label,
.page-auth .auth-card strong { color:#f5f9ff; }
.page-auth .auth-card__heading p,
.page-auth .auth-card__switch,
.page-auth .auth-card__security,
.page-auth .auth-card__terms,
.page-auth .field__help { color:#91a8c4; }
.page-auth .auth-card .kicker,
.page-auth .auth-card a { color:#efc94e; }
.page-auth .auth-card input,
.page-auth .auth-card select,
.page-auth .auth-card textarea {
  color:#edf6ff;
  border-color:#28517e;
  background:#06152c;
}
.page-auth .auth-card input::placeholder { color:#6883a3; }
.page-auth .auth-card input:focus { border-color:#3e9cef;box-shadow:0 0 0 4px rgba(42,168,255,.16); }
.page-auth .field__icon { color:#62b4f8; }
.page-auth .field__action { color:#efc94e; }
.page-auth .auth-card .button--primary { color:#061226;background:linear-gradient(135deg,#f7de82,#d4af37);box-shadow:0 12px 35px rgba(212,175,55,.2); }
.page-auth .auth-card__security,
.page-auth .auth-card__terms,
.page-auth .auth-card__switch { border-color:#1b385b; }
.page-auth .auth-card .consent-card { color:#dbe9f8;border-color:#264a72;background:#07172f; }

/* El panel flotante del pedido ya no puede quedar blanco con texto blanco. */
:is(.page-customer,.page-admin) .form-actions--sticky {
  color:#dcecff;
  border:1px solid #244c78;
  background:rgba(3,13,31,.96);
  box-shadow:0 18px 50px rgba(0,0,0,.38);
}
:is(.page-customer,.page-admin) .form-actions--sticky>div>span { color:#9bb2cd; }
:is(.page-customer,.page-admin) .form-actions--sticky .button--ghost { color:#c8dbef;border-color:#3a628d;background:#07182f; }
:is(.page-customer,.page-admin) .form-actions--sticky .button--ghost:hover { color:#ffe079;border-color:#d4af37; }
:is(.page-customer,.page-admin) .source-option__visual--model {
  color:#f2ce59;
  border:1px solid #315e8c;
  background:#0a2445;
}

@media(max-width:1050px) {
  .cinematic-3d-hero__content { grid-template-columns:1fr;gap:45px;padding-block:70px; }
  .cinematic-3d-hero__copy { max-width:840px; }
  .cinematic-3d-hero__story { min-height:480px; }
  .creative-gallery__grid { grid-template-columns:1fr 1fr; }
  .creative-story:last-child { grid-column:1/-1;min-height:400px; }
}
@media(max-width:760px) {
  .page-landing .brand__logo,.page-auth .brand__logo,.page-customer .brand__logo,.page-admin .brand__logo { width:150px; }
  .cinematic-3d-hero { min-height:auto; }
  .cinematic-3d-hero__content { padding-block:60px; }
  .cinematic-3d-hero h1 { font-size:clamp(50px,15vw,76px); }
  .cinematic-3d-hero .hero__actions { display:grid; }
  .cinematic-3d-hero .hero__actions .button { width:100%; }
  .cinematic-3d-hero__story { min-height:440px;padding:18px; }
  .cinematic-3d-hero__object { top:43%;width:165px;height:165px; }
  .cinematic-3d-hero__object span { inset:57px 35px; }
  .cinematic-3d-hero__cards { grid-template-columns:1fr; }
  .cinematic-3d-hero__cards article { padding:9px; }
  .creative-gallery { padding:75px 0; }
  .creative-gallery__heading,.creative-gallery__grid { grid-template-columns:1fr; }
  .creative-story,.creative-story:last-child { grid-column:auto;min-height:420px; }
  .creative-gallery__actions { display:grid; }
  .page-auth .auth-card { padding:24px 18px; }
}

@media(prefers-reduced-motion:reduce) {
  .cinematic-3d-hero__video,.creative-story video,.auth-visual__video { display:none; }
  .cinematic-3d-hero__object i { animation:none; }
}

/* Avisos críticos visibles en móvil y coherentes con TechHeaven. */
.flash-stack {
  z-index:1200;
  top:max(82px,calc(env(safe-area-inset-top) + 72px));
  width:min(540px,calc(100% - 32px));
}
.flash {
  min-height:64px;
  padding:16px;
  color:#f7fbff;
  border:1px solid #28517e;
  border-left-width:5px;
  background:linear-gradient(145deg,#081a35,#041025);
  box-shadow:0 22px 60px rgba(0,0,0,.45),0 0 0 1px rgba(42,168,255,.08);
}
.flash:focus { outline:3px solid rgba(239,201,78,.7);outline-offset:3px; }
.flash p { margin:0;font-size:15px;font-weight:750;line-height:1.45; }
.flash button { min-width:34px;min-height:34px;color:#c8daf0;border-radius:9px; }
.flash button:hover,.flash button:focus-visible { color:#071225;background:#efc94e; }
.flash__icon { flex:0 0 auto;width:30px;height:30px;font-size:16px; }
.flash--success { border-color:#35c9f2;border-left-color:#efc94e; }
.flash--success .flash__icon { color:#061326;background:linear-gradient(135deg,#f7de82,#d4af37); }
.flash--error { border-color:#d65a67;border-left-color:#ffb545;background:linear-gradient(145deg,#35111d,#130918); }
.flash--error .flash__icon { color:#fff;background:#d33f51; }

.button--google {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#eaf4ff;
  border:1px solid #31649a;
  background:linear-gradient(145deg,#0b2344,#07162c);
  box-shadow:0 12px 30px rgba(0,0,0,.24);
}
.button--google:hover {
  color:#fff;
  border-color:#efc94e;
  background:linear-gradient(145deg,#10305a,#0a1c36);
}
.google-mark {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  color:#0a4b91;
  background:#fff;
  font-size:16px;
  font-weight:900;
}
.auth-divider {
  display:flex;
  align-items:center;
  gap:12px;
  margin:20px 0;
  color:#7892af;
  font-size:11px;
  text-align:center;
}
.auth-divider::before,.auth-divider::after { content:"";flex:1;height:1px;background:#23456c; }
.auth-divider span { white-space:nowrap; }

@media(max-width:590px) {
  .flash-stack {
    top:max(70px,calc(env(safe-area-inset-top) + 62px));
    right:10px;
    left:10px;
    width:auto;
  }
  .flash { min-height:70px;padding:15px 13px; }
  .flash p { font-size:14px; }
}

/* Flujo operativo y estados seleccionados · TechHeaven */
:is(.page-customer,.page-admin) .data-table {
  color:#eaf4ff;
  background:#061126;
}
:is(.page-customer,.page-admin) .data-table th {
  color:#8faac8;
  border-color:#214366;
  background:#0a1930;
}
:is(.page-customer,.page-admin) .data-table tbody tr {
  color:#dcecff;
  background:#071329;
  transition:background-color .16s ease,box-shadow .16s ease;
}
:is(.page-customer,.page-admin) .data-table tbody tr:hover,
:is(.page-customer,.page-admin) .data-table tbody tr:focus-within {
  color:#fff;
  background:#0d315c;
  box-shadow:inset 4px 0 #e1b83d;
}
:is(.page-customer,.page-admin) .data-table tbody tr:hover :is(strong,a),
:is(.page-customer,.page-admin) .data-table tbody tr:focus-within :is(strong,a) {
  color:#fff;
}
:is(.page-customer,.page-admin) .data-table tbody tr:hover small,
:is(.page-customer,.page-admin) .data-table tbody tr:focus-within small {
  color:#b7cee7;
}
:is(.page-customer,.page-admin) .table-identity__thumb {
  color:#f0cd59;
  background:#0c3d76;
}
:is(.page-customer,.page-admin) .compact-orders>a:hover,
:is(.page-customer,.page-admin) .compact-orders>a:focus-visible {
  color:#fff;
  background:#0d315c;
}

.operations-guide__steps li { display:block;padding:0; }
.operations-guide__steps li>a {
  display:grid;
  grid-template-columns:27px minmax(0,1fr) 14px;
  align-items:start;
  gap:8px;
  min-height:100%;
  padding:9px;
  border-radius:inherit;
}
.operations-guide__steps li>a>span {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border:1px solid #455071;
  border-radius:9px;
  color:#aab4d1;
  font-size:9px;
  font-weight:900;
}
.operations-guide__steps li>a>div { display:grid;min-width:0;gap:2px; }
.operations-guide__steps li>a>i {
  align-self:center;
  color:#5d7194;
  font-size:11px;
  font-style:normal;
}
.operations-guide__steps li>a:hover,
.operations-guide__steps li>a:focus-visible {
  background:#12345e;
  outline:2px solid #e1b83d;
  outline-offset:2px;
}
.operations-guide__steps .is-completed>a>span {
  color:#92efd0;
  border-color:#2e7861;
  background:#184637;
}
.operations-guide__steps .is-active>a>span {
  color:#061126;
  border-color:#f2d469;
  background:#e1b83d;
}
.operations-guide__steps .is-active>a>i { color:#f2d469; }
:is(#pedido,#modelo,#cotizacion,#aprobacion-pago,#preparacion,#impresion,#cierre-fabricacion,#aprendizaje,#entrega) {
  scroll-margin-top:105px;
}
:is(#pedido,#modelo,#cotizacion,#aprobacion-pago,#preparacion,#impresion,#cierre-fabricacion,#aprendizaje,#entrega):target {
  border-color:#e1b83d!important;
  box-shadow:0 0 0 3px rgba(225,184,61,.16),0 20px 48px rgba(0,0,0,.28)!important;
}

.customer-waiting-hero {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:24px;
  margin:0 0 20px;
  padding:26px;
  overflow:hidden;
  border:1px solid #2f689e;
  border-radius:24px;
  background:
    radial-gradient(circle at 86% 18%,rgba(48,185,243,.18),transparent 36%),
    linear-gradient(135deg,#0b2549,#061126 64%);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.customer-waiting-hero__copy { display:grid;align-content:center;justify-items:start;gap:10px; }
.customer-waiting-hero__copy>span {
  color:#f0ca4b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.customer-waiting-hero__copy h2 { margin:0;color:#fff;font-size:clamp(25px,3vw,42px);line-height:1.03; }
.customer-waiting-hero__copy p { max-width:720px;margin:0;color:#b8cee6;font-size:14px;line-height:1.7; }
.customer-waiting-hero__copy p strong { color:#fff; }
.customer-waiting-hero__actions { display:grid;justify-items:start;gap:7px;margin-top:6px; }
.customer-waiting-hero__actions small { color:#9eb8d4;font-size:9px; }
.generation-theater {
  display:grid;
  grid-template-columns:100px 1fr 100px;
  align-items:center;
  gap:12px;
  min-height:250px;
  padding:18px;
  border:1px solid #26527f;
  border-radius:19px;
  background:rgba(2,8,23,.72);
}
.generation-theater__source,.generation-theater__result {
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid #2b5d91;
  border-radius:18px;
  color:#f1ce59;
  background:#092044;
}
.generation-theater__source img { width:100%;height:100%;object-fit:cover; }
.generation-theater__source>span,.generation-theater__result>span { font-size:27px;font-weight:900; }
.generation-theater__source small,.generation-theater__result small { color:#a9c3de;font-size:8px; }
.generation-theater__beam { display:flex;align-items:center;justify-content:space-around; }
.generation-theater__beam i {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3cc9f0;
  box-shadow:0 0 18px #3cc9f0;
  animation:generation-pulse 1.4s ease-in-out infinite;
}
.generation-theater__beam i:nth-child(2){animation-delay:.2s}.generation-theater__beam i:nth-child(3){animation-delay:.4s}
.generation-theater__status { grid-column:1/-1;display:grid;gap:8px; }
.generation-theater__status>strong { color:#fff;font-size:11px; }
.generation-theater__status>div { display:flex;align-items:center;gap:9px; }
.generation-theater__status>div>span { flex:1;height:8px;overflow:hidden;border-radius:999px;background:#102c52; }
.generation-theater__status i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2586df,#42d5f5,#e1b83d);transition:width .35s ease; }
.generation-theater__status b { min-width:34px;color:#f1ce59;font-size:10px; }
@keyframes generation-pulse { 0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)} }

.connection-mode--server { color:#a9d9ff;border-color:#2a5e91;background:#0b284d; }
.connection-readiness {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 22px;
  padding:17px 19px;
  border:1px solid #2b5e91;
  border-radius:17px;
  background:#081a35;
}
.connection-readiness>div { display:flex;align-items:flex-start;gap:12px; }
.connection-readiness>div>span { display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;color:#071225;background:#e1b83d;font-weight:900; }
.connection-readiness strong { color:#fff; }
.connection-readiness p { margin:3px 0 0;color:#9eb7d2;font-size:10px;line-height:1.5; }
.connection-readiness.is-ready { border-color:#266855;background:#092a26; }
.connection-readiness.is-ready>div>span { background:#58d6ad; }

@media(max-width:820px) {
  .customer-waiting-hero { grid-template-columns:1fr;padding:19px; }
  .generation-theater { min-height:210px; }
  .connection-readiness { align-items:stretch;flex-direction:column; }
}
@media(max-width:470px) {
  .generation-theater { grid-template-columns:78px 1fr 78px;padding:12px; }
  .customer-waiting-hero__copy h2 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) {
  .generation-theater__beam i { animation:none; }
}

/* Revisión comercial negra · TechHeaven 3D */
.page-review {
  color-scheme:dark;
  --ink:#f3f8ff;
  --ink-2:#d8e6f5;
  --muted:#94a9c2;
  --subtle:#6f87a3;
  --paper:#020714;
  --surface:#07152b;
  --surface-2:#0b1d38;
  --line:#1c3e64;
  --line-strong:#2f6ca3;
  min-height:100vh;
  color:var(--ink);
  background:
    radial-gradient(circle at 86% 0,rgba(21,119,212,.2),transparent 28%),
    radial-gradient(circle at 8% 72%,rgba(216,179,55,.07),transparent 25%),
    #020714;
}
.page-review .site-header {
  color:#f6faff;
  border-color:rgba(55,132,204,.24);
  background:rgba(2,7,20,.95);
  box-shadow:0 12px 35px rgba(0,0,0,.28);
}
.page-review .site-nav>a:not(.button) { color:#b4c6db; }
.page-review .site-nav>a:not(.button):hover { color:#f2ce59; }
.page-review .site-footer {
  color:#b7cae0;
  border-top:1px solid #173454;
  background:#01050e;
}
.page-review .review-heading h1,
.page-review .panel h1,
.page-review .panel h2,
.page-review .panel h3 { color:#f7fbff; }
.page-review .review-heading p,
.page-review .panel__header p,
.page-review .share-result>p { color:#94a9c2; }
.page-review .panel {
  color:#eaf3ff;
  border:1px solid #1b3d63;
  background:
    radial-gradient(circle at 100% 0,rgba(31,112,188,.1),transparent 30%),
    linear-gradient(145deg,#07152b,#040d1d);
  box-shadow:0 22px 60px rgba(0,0,0,.3);
}
.page-review .privacy-pill {
  color:#f2ce59;
  border:1px solid rgba(216,179,55,.4);
  background:rgba(216,179,55,.1);
}
.page-review .tag {
  color:#7ed7ff;
  border:1px solid #285f8c;
  background:#092746;
}
.page-review .button--ghost {
  color:#d9eaff;
  border-color:#32658f;
  background:#071a31;
}
.page-review .button--ghost:hover {
  color:#ffe37c;
  border-color:#d8b337;
  background:#102846;
}
.page-review .button--primary {
  color:#041124;
  border:1px solid #f4d764;
  background:linear-gradient(135deg,#f8df7b,#d8b337);
  box-shadow:0 12px 32px rgba(216,179,55,.18);
}
.page-review .model-stage {
  min-height:520px;
  border:1px solid #173a60;
  background:
    radial-gradient(circle at 50% 44%,rgba(18,79,135,.33),transparent 35%),
    linear-gradient(145deg,#01040b,#020a17 65%,#06162b);
  box-shadow:inset 0 0 65px rgba(0,0,0,.5);
}
.page-review .model-stage model-viewer {
  height:520px;
  background:transparent;
}
.page-review .model-stage__hint {
  color:#c5d7e9;
  border:1px solid rgba(87,151,210,.36);
  background:rgba(2,9,21,.83);
}
.review-measurements {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.review-measurements>div {
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid #1c446d;
  border-radius:12px;
  background:#06182f;
}
.review-measurements span { color:#82a1c0;font-size:9px;text-transform:uppercase;letter-spacing:.08em; }
.review-measurements strong { color:#f3d45e;font-size:16px; }
.review-model-note { margin:11px 0 0;color:#91aac4;font-size:10px;line-height:1.55; }
.page-review .review-quote>p,
.page-review .review-quote dt,
.page-review .review-security { color:#91a8c1; }
.page-review .review-quote dl div { border-color:#183a5e; }
.page-review .review-quote dd { color:#f3f8ff; }
.page-review .review-quote__fixed {
  padding-inline:9px!important;
  color:#ffe078;
  border:1px solid rgba(216,179,55,.28)!important;
  border-radius:9px;
  background:rgba(216,179,55,.08);
}
.page-review .review-specs span {
  color:#9edcff;
  border:1px solid #285d89;
  background:#0a2847;
}
.review-cost-lines {
  display:grid;
  gap:0;
  margin:20px 0 8px;
  padding:14px;
  border:1px solid #1d456e;
  border-radius:13px;
  background:#041226;
}
.review-cost-lines>strong {
  margin-bottom:7px;
  color:#f2ce59;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.review-cost-lines>div {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:12px;
  padding:9px 0;
  border-top:1px solid #173654;
}
.review-cost-lines>div>span { display:grid;gap:2px; }
.review-cost-lines b { color:#eaf3ff;font-size:10px; }
.review-cost-lines small { color:#728ca8;font-size:8px; }
.review-cost-lines em { color:#f4d761;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap; }
.page-review .review-state {
  color:#cce3f9;
  border:1px solid #28557f;
  background:#09223e;
}
.page-review .review-state--warning {
  color:#ffe3a4;
  border-color:#72571e;
  background:#2a210b;
}
.page-review label { color:#dce9f7; }
.page-review textarea,
.page-review input {
  color:#eff7ff;
  border-color:#2a527c;
  background:#06162c;
}
.page-review textarea::placeholder { color:#6f89a6; }
.page-review .payment-next-step {
  display:grid;
  gap:5px;
  margin:16px 0 0;
  padding:16px;
  border:1px solid rgba(216,179,55,.4);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(216,179,55,.12),rgba(8,29,55,.9));
}
.page-review .payment-next-step>span { color:#f1c84e;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase; }
.page-review .payment-next-step p { margin:0;color:#aebfd3;line-height:1.55; }

/* Ruta progresiva del pedido: cada etapa explica solo lo necesario. */
.customer-journey {
  margin:0 0 22px;
  padding:22px;
  color:#eaf4ff;
  border:1px solid #1d4771;
  border-radius:19px;
  background:
    radial-gradient(circle at 100% 0,rgba(24,113,196,.14),transparent 32%),
    linear-gradient(145deg,#07162d,#040d1e);
  box-shadow:0 18px 46px rgba(0,0,0,.22);
}
.customer-journey>header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.customer-journey>header span { color:#f0c94f;font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase; }
.customer-journey>header h2 { margin:5px 0 3px;color:#f7fbff;font-size:22px; }
.customer-journey>header p { margin:0;color:#8fa7c2;font-size:10px; }
.customer-journey>header>b {
  padding:7px 10px;
  color:#8fdbff;
  border:1px solid #285d89;
  border-radius:99px;
  background:#092443;
  font-size:8px;
  white-space:nowrap;
}
.customer-journey ol {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  padding:0;
  margin:0;
  list-style:none;
}
.customer-journey li { min-width:0; }
.customer-journey details {
  height:100%;
  overflow:hidden;
  border:1px solid #213c5d;
  border-radius:12px;
  background:#08172e;
}
.customer-journey summary {
  display:grid;
  grid-template-columns:29px 1fr auto;
  align-items:center;
  gap:8px;
  min-height:60px;
  padding:9px;
  cursor:pointer;
  list-style:none;
}
.customer-journey summary::-webkit-details-marker { display:none; }
.customer-journey summary>span {
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  color:#8eadd0;
  border:1px solid #315579;
  border-radius:9px;
  background:#0b2442;
  font-size:9px;
  font-weight:900;
}
.customer-journey summary>div { display:grid;gap:2px;min-width:0; }
.customer-journey summary strong { overflow:hidden;color:#dceafb;font-size:9px;text-overflow:ellipsis;white-space:nowrap; }
.customer-journey summary small { color:#6f89a7;font-size:7px;text-transform:uppercase;letter-spacing:.08em; }
.customer-journey summary i { color:#6987a6;font-size:10px;font-style:normal; }
.customer-journey details>p { margin:0;padding:0 12px 13px 46px;color:#9db2ca;font-size:9px;line-height:1.55; }
.customer-journey li.is-active details {
  border-color:#d8b337;
  background:linear-gradient(145deg,rgba(216,179,55,.1),#0a1d36);
  box-shadow:0 0 0 2px rgba(216,179,55,.07);
}
.customer-journey li.is-active summary>span { color:#07152b;border-color:#f2cf59;background:#e5bd3e; }
.customer-journey li.is-active summary strong { color:#ffe479; }
.customer-journey li.is-completed summary>span { color:#041a21;border-color:#35c6c2;background:#59ddd2; }
.customer-journey li.is-completed details { border-color:#1e5a66;background:#071c2c; }
.customer-journey__safety {
  margin:14px 0 0;
  padding-top:13px;
  color:#8fa6c0;
  border-top:1px solid #1d3b5c;
  font-size:9px;
  line-height:1.55;
}
.customer-journey__safety strong { color:#f1ce5a; }
.payment-next-step {
  display:grid;
  gap:4px;
  margin-top:15px;
  padding:14px;
  border:1px solid rgba(216,179,55,.38);
  border-radius:13px;
  background:rgba(216,179,55,.08);
}
.payment-next-step>span { color:#efc94e;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase; }
.payment-next-step>strong { color:#f8fbff; }
.payment-next-step>p { margin:0!important;color:#aebdd1!important;line-height:1.5; }
.payment-next-step--verified { border-color:#258c83;background:rgba(38,153,142,.1); }
.payment-next-step--verified>span { color:#61ddd0; }

@media(max-width:1050px) {
  .customer-journey ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .page-review .model-stage,
  .page-review .model-stage model-viewer { min-height:390px;height:390px; }
  .review-measurements { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-journey { padding:17px 13px; }
  .customer-journey>header { display:grid; }
  .customer-journey>header>b { justify-self:start; }
  .customer-journey ol { grid-template-columns:1fr; }
}

/* TechHeaven: contraste final y navegación operativa de pedidos. */
:is(.page-customer,.page-admin) ::selection{color:#fff4bd!important;background:#0d467f!important}
:is(.page-customer,.page-admin) select{color:#edf6ff!important;background-color:#071329!important;color-scheme:dark}
:is(.page-customer,.page-admin) select option,
:is(.page-customer,.page-admin) select option:hover,
:is(.page-customer,.page-admin) select option:focus,
:is(.page-customer,.page-admin) select option:checked{color:#fff4bd!important;background:#0d467f!important}
:is(.page-customer,.page-admin) .data-table tbody tr:hover,
:is(.page-customer,.page-admin) .data-table tbody tr:focus-within{color:#f4f8ff!important;background:#0d315c!important;box-shadow:inset 4px 0 #f2c744!important}

/* Revisión única para portal y enlace privado: primero modelo, luego decisión. */
.review-workspace { margin-bottom:24px; }
.review-workspace .panel { overflow:visible; }
.review-workspace__model { min-width:0; }
.review-workspace .model-stage {
  min-height:500px;
  border:1px solid #24496f;
  background:
    radial-gradient(circle at 50% 43%,rgba(31,107,173,.3),transparent 38%),
    linear-gradient(145deg,#020713,#061426);
  box-shadow:inset 0 0 65px rgba(0,0,0,.45);
}
.review-workspace .model-stage model-viewer { height:500px;background:transparent; }
.review-workspace .model-stage__hint { color:#d5e5f5;border:1px solid rgba(86,151,210,.36);background:rgba(2,9,21,.86); }
.review-size-summary {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:13px;
  align-items:center;
  margin-top:15px;
  padding:16px;
  border:1px solid #295f8d;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(27,91,147,.26),rgba(11,35,66,.84));
}
.review-size-summary__mark { display:grid;place-items:center;width:42px;height:42px;color:#07162a;border-radius:12px;background:#f1cf54;font-size:20px;font-weight:900; }
.review-size-summary small { display:block;color:#87a8c8;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase; }
.review-size-summary strong { display:block;margin:3px 0;color:#f7fbff;font-size:18px; }
.review-size-summary p { margin:0;color:#a9bed3;font-size:11px;line-height:1.5; }
.review-disclosure { margin-top:12px;border:1px solid #24496e;border-radius:13px;background:#06152a;overflow:hidden; }
.review-disclosure summary {
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  min-height:52px;
  padding:11px 14px;
  color:#eff7ff;
  cursor:pointer;
  list-style:none;
  font-weight:800;
}
.review-disclosure summary::-webkit-details-marker { display:none; }
.review-disclosure summary::after { content:'+';grid-column:2;grid-row:1 / span 2;color:#f1cf54;font-size:20px; }
.review-disclosure[open] summary::after { content:'−'; }
.review-disclosure summary small { color:#7f9dbb;font-size:9px;font-weight:600; }
.review-disclosure__body { padding:0 14px 15px;border-top:1px solid #193957; }
.review-axis-editor { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding:14px;border:1px solid #2b5279;border-radius:12px;background:#091b34; }
.review-axis-editor .field { margin:0; }
.review-axis-editor__warning { grid-column:1/-1;margin:0!important;color:#d7ba63!important;font-size:10px;line-height:1.45; }
.review-axis-editor>.button { grid-column:1/-1;justify-self:start; }
.review-request-copy { display:grid;gap:12px;padding-top:14px; }
.review-request-copy>div { padding:12px;border-radius:10px;background:#091a32; }
.review-request-copy small { color:#79a2c8;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase; }
.review-request-copy p { margin:5px 0 0!important;color:#e6f0fb!important;line-height:1.6;white-space:pre-wrap; }
.review-workspace .review-decision { margin:18px 0; }
.review-action { min-height:58px!important;padding:14px 18px!important;font-size:15px!important;font-weight:900!important; }
.review-disclosure--quote { margin-top:14px; }
.review-disclosure--quote .review-disclosure__body { padding-top:5px; }
.review-disclosure--quote dl { margin:4px 0 10px; }
.review-pdf-link { margin-top:12px; }
.review-heading__help { max-width:470px;text-align:right;line-height:1.55; }
.review-change-dialog form>p { margin-top:0;line-height:1.55; }
.review-change-dialog textarea { width:100%; }

.change-request-card {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:17px;
  align-items:start;
  margin:0 0 18px;
  padding:19px;
  color:#f4f8ff;
  border:1px solid #a97725;
  border-radius:16px;
  background:linear-gradient(135deg,#2a210f,#121a2b 72%);
  box-shadow:0 14px 35px rgba(0,0,0,.2);
}
.change-request-card__mark { display:grid;place-items:center;width:44px;height:44px;color:#201708;border-radius:13px;background:#f0ca54;font-size:22px;font-weight:900; }
.change-request-card small { color:#d0ad51;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase; }
.change-request-card h2 { margin:4px 0 8px;font-size:20px; }
.change-request-card blockquote { margin:0;padding:12px 14px;color:#fff;border-left:3px solid #f0ca54;border-radius:0 9px 9px 0;background:rgba(255,255,255,.045);font-size:14px;line-height:1.55; }
.change-request-card p { margin:9px 0 0!important;color:#b6c2d6!important; }
.change-request-card__actions { display:grid;gap:8px;min-width:190px; }
.model-lock-note { flex-basis:100%;margin:4px 0 0!important;color:#d6bc69!important;font-size:10px; }
.page-admin .tool-button:disabled { color:#68738f;border-color:#2b344f;background:#11172a;cursor:not-allowed;opacity:.72; }

@media(max-width:850px) {
  .review-workspace .model-stage,
  .review-workspace .model-stage model-viewer { min-height:390px;height:390px; }
  .review-axis-editor { grid-template-columns:1fr; }
  .review-axis-editor__warning,
  .review-axis-editor>.button { grid-column:1; }
  .review-heading__help { text-align:left; }
  .change-request-card { grid-template-columns:auto 1fr; }
  .change-request-card__actions { grid-column:1/-1;grid-template-columns:1fr 1fr; }
}
@media(max-width:520px) {
  .review-workspace .model-stage,
  .review-workspace .model-stage model-viewer { min-height:330px;height:330px; }
  .review-size-summary { align-items:start; }
  .review-measurements { grid-template-columns:1fr 1fr; }
  .change-request-card { grid-template-columns:1fr; }
  .change-request-card__actions { grid-column:1;grid-template-columns:1fr; }
}
.connection-form__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.connection-test-failed{color:#ffad9f!important}
.orders-workspace{margin-top:14px}.order-accordion-list{display:grid;gap:12px}
.order-accordion{overflow:hidden;border:1px solid #21456f;border-radius:18px;color:#eaf3ff;background:#071329;box-shadow:0 14px 32px rgba(0,8,24,.16)}
.order-accordion[open]{border-color:#2d6da8;box-shadow:inset 4px 0 #f2c744,0 18px 38px rgba(0,8,24,.22)}
.order-accordion>summary{display:grid;grid-template-columns:74px minmax(220px,1.5fr) minmax(160px,1fr) auto 24px;gap:18px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;background:#09182e;transition:background-color .16s ease}
.order-accordion>summary::-webkit-details-marker{display:none}.order-accordion>summary:hover,.order-accordion>summary:focus-visible{color:#f4f8ff;background:#0d315c;outline:none}
.order-accordion__stage{display:grid;place-items:center;min-height:52px;border:1px solid #2d6da8;border-radius:12px;color:#f2c744;background:#0b3768;font-size:20px;font-weight:900}.order-accordion__stage small{color:#a9c7e6;font-size:8px;text-transform:uppercase}
.order-accordion__identity,.order-accordion__customer{display:grid;min-width:0}.order-accordion__identity strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.order-accordion__identity small,.order-accordion__customer small{margin-top:3px;color:#8fb0d1}.order-accordion__customer strong{overflow:hidden;color:#dcecff;text-overflow:ellipsis;white-space:nowrap}
.order-accordion__chevron{width:10px;height:10px;border-right:2px solid #f2c744;border-bottom:2px solid #f2c744;transform:rotate(45deg);transition:transform .18s ease}.order-accordion[open] .order-accordion__chevron{transform:rotate(225deg)}
.order-accordion__body{display:grid;grid-template-columns:1fr auto;gap:22px;padding:18px;border-top:1px solid #21456f;background:#061022}.order-accordion__facts{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.order-accordion__facts>div{display:grid;gap:4px;padding:12px;border:1px solid #18395e;border-radius:12px;background:#09182e}.order-accordion__facts small,.order-accordion__next small{color:#78a6d2;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.order-accordion__facts strong,.order-accordion__next strong{color:#fff}.order-accordion__facts span{color:#a9c7e6;font-size:10px}
.order-accordion__next{display:flex;min-width:235px;flex-direction:column;justify-content:space-between;gap:14px;padding-left:20px;border-left:1px solid #21456f}.order-accordion__next>div{display:grid;gap:5px}
@media(max-width:900px){.order-accordion>summary{grid-template-columns:58px 1fr auto;gap:12px}.order-accordion__customer{display:none}.order-accordion__status{grid-column:2}.order-accordion__chevron{grid-column:3;grid-row:1/3}.order-accordion__body{grid-template-columns:1fr}.order-accordion__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.order-accordion__next{padding:14px 0 0;border-top:1px solid #21456f;border-left:0}}
@media(max-width:560px){.order-accordion__facts{grid-template-columns:1fr}.order-accordion>summary{padding:13px}}

/* FactoryOS connections: final dark contrast overrides. */
.page-admin .connection-requirements{border:1px solid #244e79;background:#091a32}
.page-admin .connection-requirements span{color:#d8e9fb;background:#0d315c}
.page-admin .connection-requirements strong{color:#f2c744}
.page-admin .connection-requirements small{color:#9bb6d2;background:transparent}
.page-admin .fleet-empty{color:#eaf4ff;border-color:#2b5c87;background:#071329}
.page-admin .fleet-empty strong{color:#f4f8ff}
.page-admin .fleet-empty p{color:#9db8d4}
.page-admin .printer-card{color:#eaf4ff;border-color:#244e79;background:#071329}
.page-admin .printer-card__visual{background:linear-gradient(135deg,#0b2444,#092c4a)}
.page-admin :is(.printer-edit__form,.printer-add-form,.secret-state){color:#eaf4ff;border-color:#294f78;background:#09182e}
.page-admin .printer-edit{border-color:#294f78}
.page-admin .printer-edit summary{color:#f2c744}
.page-admin :is(.printer-card__body h3,.printer-card dd,.printer-add-form strong,.secret-state strong){color:#f4f8ff}
.page-admin .printer-card__body>p,.page-admin .printer-card dt{color:#9db8d4}
.page-admin .printer-card__actions--edge{grid-template-columns:1fr}
.page-admin .tool-path{color:#ffe3a4;background:#2a210b}
.page-admin .button--quiet-danger{color:#ffb6c2;border-color:#814052;background:#321523}
.page-admin .compact-orders>a:hover,.page-admin .compact-orders>a:focus-visible,.page-admin .compact-orders>a:active{color:#f4f8ff!important;background:#0d315c!important;box-shadow:inset 4px 0 #f2c744}
.page-admin .compact-orders>a:is(:hover,:focus-visible,:active) strong{color:#fff!important}
.page-admin .compact-orders>a:is(:hover,:focus-visible,:active) :is(span,.compact-orders__arrow){color:#c5dcf2!important}
.page-admin ::selection{color:#fff4bd!important;background:#0d467f!important}
.page-admin select{color:#edf6ff!important;background:#071329!important;color-scheme:dark}
.page-admin select option,.page-admin select option:checked{color:#fff4bd!important;background:#0d467f!important}

/* Tamaño solicitado: captura, confirmación y corrección operativa. */
.target-size-field {
  padding:18px;
  border:1px solid #285d89;
  border-radius:15px;
  background:linear-gradient(145deg,#081c36,#061329);
}
.target-size-field__heading,
.size-editor__heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:9px;
}
.target-size-field__heading label,
.size-editor__heading label { margin:0;color:#f4f8ff;font-weight:850; }
.target-size-field__heading label span { color:#9db8d4;font-weight:650; }
.target-size-field__requirement,
.size-editor__heading>span {
  flex:0 0 auto;
  padding:5px 8px;
  color:#f8d963;
  border:1px solid rgba(242,199,68,.38);
  border-radius:999px;
  background:rgba(242,199,68,.1);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.target-size-field:not(.is-required) .target-size-field__requirement {
  color:#9edcff;
  border-color:#285d89;
  background:#092746;
}
.target-size-control {
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  align-items:stretch;
}
.target-size-control input { min-width:0;border-radius:10px 0 0 10px; }
.target-size-control select {
  min-width:0;
  border-left:0;
  border-radius:0 10px 10px 0;
  font-weight:850;
  text-align:center;
}
.target-size-field.is-parametric .target-size-control { opacity:.86; }
.target-size-field.is-parametric input[readonly] { cursor:not-allowed; }
.target-size-field__status {
  min-height:15px;
  margin:5px 0 0;
  color:#82cfff;
  font-size:9px;
}
.target-size-suggestion {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin-top:12px;
  padding:11px;
  border:1px solid rgba(242,199,68,.42);
  border-radius:12px;
  background:rgba(242,199,68,.08);
}
.target-size-suggestion[hidden] { display:none; }
.target-size-suggestion>span {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  color:#071329;
  border-radius:10px;
  background:#f2c744;
  font-weight:900;
}
.target-size-suggestion>div { display:grid;gap:2px;min-width:0; }
.target-size-suggestion strong { color:#fff;font-size:10px; }
.target-size-suggestion p { margin:0;color:#b8cee6;font-size:9px;line-height:1.45; }
.size-editor {
  display:grid;
  gap:9px;
  margin-top:14px;
  padding:14px;
  border:1px solid #28557f;
  border-radius:13px;
  background:#071a31;
}
.size-editor__heading>div { display:grid;gap:2px; }
.size-editor__heading small,
.size-editor>small { color:#9db8d4;font-size:9px;line-height:1.5; }
.size-required-callout {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) minmax(270px,360px);
  align-items:center;
  gap:18px;
  margin:0 0 18px;
  padding:18px;
  border:1px solid #d6a928;
  border-radius:17px;
  background:
    radial-gradient(circle at 92% 0,rgba(242,199,68,.16),transparent 36%),
    linear-gradient(145deg,#211b0b,#0a1830 72%);
  box-shadow:0 15px 40px rgba(0,0,0,.2);
}
.size-required-callout__mark {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  color:#071329;
  border-radius:14px;
  background:#f2c744;
  font-size:22px;
  font-weight:900;
}
.size-required-callout__copy>span { color:#f2c744;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase; }
.size-required-callout__copy h3 { margin:4px 0 5px;color:#fff;font-size:18px;line-height:1.18; }
.size-required-callout__copy p { margin:0;color:#b8cee6;font-size:10px;line-height:1.55; }
.size-required-callout__copy strong { color:#ffe479; }
.size-required-callout form { display:grid;gap:8px; }
.size-required-callout form>label { margin:0;color:#fff;font-size:10px;font-weight:850; }
.size-required-callout form>small { color:#a9bfd7;font-size:8px; }
@media(max-width:860px) {
  .size-required-callout { grid-template-columns:44px 1fr; }
  .size-required-callout form { grid-column:1/-1; }
}
@media(max-width:560px) {
  .target-size-field { padding:14px; }
  .target-size-field__heading,.size-editor__heading { display:grid; }
  .target-size-field__requirement,.size-editor__heading>span { justify-self:start; }
  .target-size-control { grid-template-columns:minmax(0,1fr) 76px; }
  .target-size-suggestion { grid-template-columns:32px 1fr; }
  .target-size-suggestion .button { grid-column:1/-1;width:100%; }
  .size-required-callout { grid-template-columns:1fr;padding:15px; }
  .size-required-callout__mark { width:42px;height:42px; }
  .size-required-callout form { grid-column:auto; }
}
