:root{
  --bg:#f6f7f3;
  --bg-grid:rgba(42,75,104,.045);
  --card:#ffffff;
  --card-soft:#f2f6f7;
  --ink:#182230;
  --muted:#647083;
  --line:#d8e0e8;
  --line-dark:#8fa1b3;
  --cyan:#19a8b8;
  --teal:#19a8b8;
  --yellow:#f2c14e;
  --red:#df6651;
  --blue:#1f5f91;
  --green:#507c5c;
  --danger:#b94437;
  --shadow:0 18px 44px rgba(24,34,48,.10);
}
*{box-sizing:border-box}
body{
  margin:0;
  background:
    linear-gradient(var(--bg-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px),
    linear-gradient(180deg,#fbfaf6 0%,#f4f6f3 100%);
  background-size:30px 30px,30px 30px,auto;
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.45;
  font-weight:400;
}
a{color:var(--blue);font-weight:650;text-decoration-thickness:1px;text-underline-offset:3px}
.topbar{
  position:sticky;top:0;z-index:20;
  background:#17202b;
  border-bottom:4px solid var(--yellow);
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:14px 24px;
  box-shadow:0 8px 24px rgba(16,24,35,.22);
}
.brand-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;letter-spacing:.01em}
.brand strong{font-size:1.04rem;font-weight:760}
.brick{width:18px;height:18px;border-radius:4px;box-shadow:inset 0 -4px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.24)}
.cyan{background:var(--cyan)}.yellow{background:var(--yellow)}.red{background:var(--red)}
.version-badge{
  display:flex;align-items:center;gap:6px;
  border:1px solid rgba(242,193,78,.46);
  background:rgba(255,255,255,.065);
  color:#f8fafc;border-radius:999px;padding:5px 10px;
  font-size:.76rem;line-height:1;white-space:nowrap;
}
.version-label{color:#cbd5e1;font-weight:520;text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}
.version-number{font-weight:780;color:var(--yellow)}
.version-build{color:#cbd5e1;font-weight:430;border-left:1px solid rgba(242,193,78,.38);padding-left:6px}
nav{display:flex;gap:8px;flex-wrap:wrap}
nav a{
  color:#f8fafc;text-decoration:none;font-weight:580;font-size:.94rem;
  padding:7px 10px;border-radius:999px;border:1px solid transparent;
}
nav a:hover{border-color:rgba(242,193,78,.55);background:rgba(255,255,255,.09)}
.container{max-width:1260px;margin:0 auto;padding:30px 20px 64px}
.hero{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.hero h1{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:clamp(2rem,4.6vw,3.35rem);line-height:1.02;margin:8px 0;max-width:900px;
  font-weight:820;letter-spacing:-.045em;color:#111827;
}
.hero p,.muted{color:var(--muted);font-weight:420}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--cyan);font-size:.72rem}
.card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  border-top:4px solid var(--cyan);
  border-radius:18px;box-shadow:var(--shadow);padding:20px;margin-bottom:18px;
}
.card h2,.card h3,.section-head h2,.section-head h3{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:780;letter-spacing:-.025em;margin-top:0;color:#111827;
}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}
.stat{margin:0}
.stat span{display:block;font-size:1.6rem;font-weight:780;color:var(--blue)}
.stat small{color:var(--muted);font-weight:500}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 18px}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{
  border:1px solid #b8c3cf;background:#fff;border-radius:11px;padding:9px 13px;
  font-weight:700;text-decoration:none;color:var(--ink);cursor:pointer;display:inline-block;
  box-shadow:0 2px 0 rgba(31,95,145,.22);
  transition:transform .05s ease,box-shadow .05s ease,background .15s ease,border-color .15s ease;
}
.btn:hover{background:#f7fafc;border-color:#92a4b6}
.btn:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(31,95,145,.22)}
.btn.primary{background:var(--blue);border-color:#174b73;color:#fff;box-shadow:0 3px 0 #174b73}
.btn.danger{border-color:#c98d84;background:#fff7f5;color:var(--danger);box-shadow:0 2px 0 rgba(185,68,55,.22)}
.danger-text{color:var(--danger)!important}
.pill{display:inline-block;border-radius:999px;background:#eef8f5;color:#315b4b;border:1px solid #b9d4cb;padding:3px 9px;font-size:.76rem;font-weight:700}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:13px;overflow:hidden}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
th{font-size:.72rem;color:#607086;text-transform:uppercase;letter-spacing:.08em;font-weight:800;background:#f4f7fa}
td strong{font-weight:750}
.grid.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.product-card h2{font-size:1.15rem}
.split{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 0}
.mini-metrics div{background:var(--card-soft);border:1px solid #dde8ee;border-radius:12px;padding:10px}
.mini-metrics dt{font-size:.68rem;color:var(--muted);text-transform:uppercase;font-weight:700;letter-spacing:.05em}
.mini-metrics dd{margin:4px 0 0;font-weight:760;color:#1f2937}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}
label{display:block;color:#344054;font-weight:680;font-size:.94rem}
input,select,textarea{
  width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:10px 12px;
  font:inherit;font-weight:420;background:#fff;color:var(--ink);
  box-shadow:inset 0 1px 2px rgba(24,34,48,.04)
}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(25,168,184,.18);border-color:var(--cyan)}
input::placeholder,textarea::placeholder{color:#98a2b3;font-weight:420}
textarea{min-height:86px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.form-grid input,.form-grid select,.form-grid textarea{margin-top:6px}
.full{grid-column:1/-1}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.stack{display:grid;gap:10px}
.inline-form{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:16px}
.inline-form textarea{grid-column:1/-2;min-height:50px}
.inline-form button{align-self:start}
.link{border:none;background:transparent;padding:0;text-decoration:underline;cursor:pointer;font-weight:700;color:var(--blue)}
.path{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;word-break:break-all;color:#334155;background:#f5f7f9;border:1px solid #d8e0e8;border-radius:7px;padding:2px 5px;display:inline-block}
pre{white-space:pre-wrap;background:#f5f7f9;border:1px solid var(--line);padding:12px;border-radius:10px}
.flash{padding:10px 14px;border-radius:10px;margin-bottom:12px;font-weight:650;border:1px solid}
.flash.success{background:#edf7ef;color:#315343;border-color:#bad0c0}
.flash.warning{background:#fff8df;color:#725a18;border-color:#ead58f}
.page-version-strip{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:rgba(255,255,255,.95);border:1px solid var(--line);border-left:7px solid var(--yellow);
  border-radius:14px;padding:10px 13px;margin:0 0 18px;box-shadow:0 8px 22px rgba(24,34,48,.07);
}
.page-version-strip strong{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:#475467;font-weight:800}
.page-version-strip span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;color:var(--blue);font-weight:800}
.screenshot-version-stamp{
  position:fixed;right:12px;bottom:10px;z-index:999;background:rgba(23,32,43,.94);
  color:#f8fafc;border:1px solid rgba(242,193,78,.65);border-radius:999px;padding:6px 10px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:800;
  box-shadow:0 10px 22px rgba(24,34,48,.18);pointer-events:none;
}
@media(max-width:800px){
  .topbar,.hero,.section-head{align-items:flex-start;flex-direction:column}
  .brand-wrap{align-items:flex-start;flex-direction:column;gap:8px}
  .version-badge{font-size:.72rem}
  .filters,.form-grid,.two-col,.inline-form{grid-template-columns:1fr}
  .inline-form textarea{grid-column:auto}
  .container{padding:18px 12px}
  .card{border-radius:14px;padding:14px}
  .hero h1{font-size:2rem}
  nav{font-size:.92rem}
  .stats{grid-template-columns:repeat(2,1fr)}
  th,td{padding:10px 8px}
  .page-version-strip{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:14px}
  .page-version-strip span{font-size:.76rem}
  .screenshot-version-stamp{left:10px;right:auto;bottom:8px;font-size:.66rem;max-width:calc(100vw - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}


.sync-panel{display:flex;gap:22px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.sync-panel strong{font-weight:700;color:var(--ink)}
.inventory-pill.ok{background:#e7f2df;border-color:#9bb57e;color:#314a26}
.inventory-pill.sealed{background:#e6eef6;border-color:#98abc0;color:#244f7a}
.inventory-pill.missing{background:#f7e8df;border-color:#d0a08a;color:#8a3d28}
.inventory-pill.neutral{background:#f4ecd9;border-color:#d8c7a8;color:#514735}
.inventory-matches{margin-top:6px;display:grid;gap:2px;color:var(--muted);font-size:12px;line-height:1.25}
.inventory-matches small{display:block;font-weight:400}


/* Historical feature styling */
.big-action{font-size:1.02rem;padding:12px 16px;box-shadow:0 6px 14px rgba(15,163,177,.18)}
.section-head.compact{margin:0 0 12px}
.material-workbench-form{display:grid;grid-template-columns:1.2fr .8fr 1.2fr 1fr .7fr .7fr .7fr;gap:12px;align-items:end}
.material-workbench-form label{margin:0}
.material-workbench-form input,.material-workbench-form select,.material-workbench-form textarea{margin-top:6px}
.material-workbench-form .wide{grid-column:1 / -2}
.material-workbench-form button{align-self:end}
.small-text{font-size:.82rem;margin-top:3px}
code{background:#f5f1e7;border:1px solid var(--line);border-radius:6px;padding:1px 5px;color:#3d3527}
@media(max-width:1100px){.material-workbench-form{grid-template-columns:repeat(2,minmax(0,1fr))}.material-workbench-form .wide{grid-column:1/-1}}
@media(max-width:800px){.material-workbench-form{grid-template-columns:1fr}.material-workbench-form .wide{grid-column:auto}}


/* Historical feature styling */
.page-version-strip{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:#fffdf8;border:1px solid var(--line);border-left:6px solid var(--yellow);
  border-radius:12px;padding:9px 12px;margin:0 0 18px;box-shadow:0 8px 20px rgba(32,38,48,.07);
}
.page-version-strip strong{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:#586273;font-weight:700}
.page-version-strip span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;color:#2b5b89;font-weight:700}
.screenshot-version-stamp{
  position:fixed;right:12px;bottom:10px;z-index:999;background:rgba(37,49,59,.94);
  color:#fff7df;border:1px solid rgba(246,199,68,.7);border-radius:999px;padding:6px 10px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:700;
  box-shadow:0 10px 22px rgba(32,38,48,.18);pointer-events:none;
}
@media(max-width:800px){
  .page-version-strip{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:14px}
  .page-version-strip span{font-size:.76rem}
  .screenshot-version-stamp{left:10px;right:auto;bottom:8px;font-size:.66rem;max-width:calc(100vw - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Historical feature styling */
.readiness-note{display:grid;gap:4px;margin-bottom:16px}
.readiness-box{
  border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:12px 0 0;
  background:#f4ecd9;display:grid;gap:4px;
}
.readiness-main{display:flex;align-items:center;gap:8px}
.readiness-main strong{font-weight:700}
.readiness-dot{width:11px;height:11px;border-radius:999px;background:#8f7f62;display:inline-block;box-shadow:0 0 0 3px rgba(143,127,98,.16)}
.readiness-box small{display:block;color:var(--muted);font-size:.78rem;line-height:1.28}
.readiness-box.ready{background:#edf8ec;border-color:#a8c89c}.readiness-box.ready .readiness-dot{background:#4f6f52;box-shadow:0 0 0 3px rgba(79,111,82,.18)}
.readiness-box.missing{background:#fff1e8;border-color:#d09b7e}.readiness-box.missing .readiness-dot{background:#c94b3d;box-shadow:0 0 0 3px rgba(201,75,61,.18)}
.readiness-box.unmapped{background:#fff4ce;border-color:#e1c96c}.readiness-box.unmapped .readiness-dot{background:#b78318;box-shadow:0 0 0 3px rgba(183,131,24,.18)}
.readiness-box.manual{background:#f4ecd9;border-color:#d8c7a8}.readiness-box.manual .readiness-dot{background:#8f7f62}
.readiness-list{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#514735!important}
.readiness-chip{display:inline-block;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700;border:1px solid var(--line);white-space:nowrap}
.readiness-chip.ready{background:#edf8ec;color:#365038;border-color:#a8c89c}
.readiness-chip.missing{background:#fff1e8;color:#8a3d28;border-color:#d09b7e}
.readiness-chip.unmapped{background:#fff4ce;color:#725400;border-color:#e1c96c}
.readiness-chip.manual{background:#f4ecd9;color:#514735;border-color:#d8c7a8}


/* Historical feature styling */
.topbar{backdrop-filter:saturate(1.1) blur(4px)}
.hero h1,.card h2,.card h3,.section-head h2,.section-head h3{color:#1f2630}
.btn.secondary{background:#f4f7fa;border-color:#cdd7e1;box-shadow:0 2px 0 rgba(72,85,100,.28)}
.btn.secondary:hover{background:#ecf2f7}
table{border-radius:12px;overflow:hidden}
.product-card,.card{overflow:hidden}
.readiness-box.manual{background:#f5f1e7;border-color:#d8d0c2}




/* Historical feature styling */
.readiness-box,
.readiness-box.manual,
code,
.path,
pre{background:#f5f7f9!important;border-color:#d8e0e8!important;color:#334155!important}
.readiness-box.ready{background:#edf7ef!important;border-color:#bad0c0!important}
.readiness-box.missing{background:#fff4ef!important;border-color:#e4b3a8!important}
.readiness-box.unmapped{background:#fff8df!important;border-color:#ead58f!important}
.inventory-pill.neutral{background:#f5f7f9!important;border-color:#d8e0e8!important;color:#475467!important}
.inventory-pill.ok{background:#edf7ef!important;border-color:#bad0c0!important;color:#315343!important}
.inventory-pill.sealed{background:#eef5fb!important;border-color:#b7c9dc!important;color:#1f5f91!important}
.inventory-pill.missing{background:#fff4ef!important;border-color:#e4b3a8!important;color:#8f3a2f!important}
.big-action{box-shadow:0 8px 18px rgba(31,95,145,.14)}


/* Historical feature styling */
.topbar-branded{
  background:#111827 !important;
  min-height:86px !important;
}
.brand-logo-only{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.brand-logo{
  display:block !important;
  height:58px !important;
  width:auto !important;
  max-width:300px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.25));
}
.brand-app-name{
  color:#ffffff;
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.01em;
  white-space:nowrap;
}
.brand-dashboard{
  display:grid !important;
  grid-template-columns:minmax(260px,360px) 1fr !important;
  gap:28px !important;
  align-items:center !important;
  border-top-color:var(--yellow) !important;
  background:#ffffff !important;
  padding:28px !important;
}
.brand-dashboard-logo-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
}
.dashboard-logo{
  display:block;
  width:100%;
  max-width:320px;
  height:auto;
  object-fit:contain;
}
.brand-dashboard-content h1{
  margin:4px 0 8px !important;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif !important;
  font-size:clamp(2.2rem,4.5vw,4rem) !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:-.05em !important;
  color:#111827 !important;
}
.brand-dashboard-content p{
  max-width:680px;
}
.dashboard-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.hero:not(.brand-dashboard){
  display:none !important;
}
@media(max-width:900px){
  .topbar-branded{min-height:auto !important}
  .brand-logo{height:46px !important;max-width:220px !important}
  .brand-app-name{font-size:.95rem}
  .brand-dashboard{grid-template-columns:1fr !important;padding:20px !important}
  .dashboard-actions{display:grid;grid-template-columns:1fr;width:100%}
  .dashboard-actions .btn{text-align:center}
}


/* Historical feature styling */
.topbar-branded{
  min-height:74px !important;
  padding:10px 24px !important;
}
.brand-wrap{
  gap:16px !important;
}
.brand-logo{
  height:42px !important;
  max-width:185px !important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.22)) !important;
}
.brand-app-name{
  font-size:1.02rem !important;
  font-weight:780 !important;
}
.version-badge{
  padding:5px 11px !important;
  border-color:rgba(242,193,78,.44) !important;
}
nav{
  gap:10px !important;
}
nav a{
  font-weight:620 !important;
  padding:7px 9px !important;
}

.brand-dashboard{
  grid-template-columns:minmax(220px,300px) 1fr !important;
  gap:30px !important;
  padding:30px !important;
  border-top:5px solid var(--yellow) !important;
  box-shadow:0 18px 42px rgba(24,34,48,.09) !important;
}
.brand-dashboard-logo-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%) !important;
  border:1px solid #d8e0e8 !important;
  border-radius:20px !important;
  padding:20px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
}
.dashboard-logo{
  max-width:250px !important;
}
.brand-dashboard-content h1{
  font-size:clamp(2.1rem,4.1vw,3.45rem) !important;
  letter-spacing:-.055em !important;
  margin-bottom:10px !important;
}
.brand-dashboard-content .eyebrow{
  color:var(--cyan) !important;
  margin-bottom:10px !important;
}
.brand-dashboard-content .muted{
  max-width:620px !important;
  font-size:1.03rem !important;
  line-height:1.48 !important;
}
.dashboard-actions{
  margin-top:18px !important;
}
.dashboard-actions .btn{
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.page-version-strip{
  margin-top:4px !important;
}
@media(max-width:900px){
  .topbar-branded{
    padding:10px 14px !important;
  }
  .brand-logo{
    height:38px !important;
    max-width:170px !important;
  }
  .brand-app-name{
    font-size:.95rem !important;
  }
  .brand-dashboard{
    grid-template-columns:1fr !important;
    padding:20px !important;
    gap:18px !important;
  }
  .brand-dashboard-logo-panel{
    justify-content:flex-start !important;
  }
  .dashboard-logo{
    max-width:230px !important;
  }
}


/* Historical feature styling */
.kanban-help{
  display:flex;
  gap:10px;
  align-items:center;
  border-top-color:var(--cyan);
}
.kanban-board{
  display:grid;
  grid-template-columns:repeat(7,minmax(245px,1fr));
  gap:14px;
  overflow-x:auto;
  padding-bottom:16px;
}
.kanban-column{
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  border-radius:18px;
  min-width:245px;
  padding:12px;
  box-shadow:0 10px 26px rgba(24,34,48,.06);
}
.kanban-column-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
}
.kanban-column-head h2{
  margin:0;
  font-size:1rem;
  letter-spacing:-.02em;
}
.kanban-column-head span{
  background:#eef5fb;
  color:var(--blue);
  border:1px solid #b7c9dc;
  border-radius:999px;
  padding:2px 8px;
  font-weight:800;
  font-size:.8rem;
}
.kanban-cards{
  display:grid;
  gap:12px;
}
.kanban-card{
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid var(--yellow);
  border-radius:16px;
  padding:13px;
  box-shadow:0 8px 18px rgba(24,34,48,.07);
}
.kanban-card-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.kanban-card h3{
  margin:0 0 10px;
  font-size:1rem;
  line-height:1.2;
}
.kanban-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}
.kanban-meta div{
  background:#f5f7f9;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px;
}
.kanban-meta small{
  display:block;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.66rem;
  font-weight:800;
}
.kanban-meta strong{
  display:block;
  font-size:1.15rem;
  margin-top:2px;
}
.kanban-form{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.kanban-form select,
.kanban-form input{
  margin-top:4px;
  padding:8px 9px;
}
.kanban-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.kanban-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.small-btn{
  width:100%;
  padding:8px 10px;
  min-height:38px;
  text-align:center;
}
.kanban-empty{
  border:1px dashed var(--line);
  color:var(--muted);
  border-radius:14px;
  padding:18px;
  text-align:center;
  font-weight:700;
}
@media(max-width:900px){
  .kanban-help{align-items:flex-start;flex-direction:column}
  .kanban-board{grid-template-columns:repeat(7,260px)}
}


/* Historical feature styling */
.kanban-help{display:flex;gap:10px;align-items:center;border-top-color:var(--cyan)}
.kanban-board{display:grid;grid-template-columns:repeat(7,minmax(245px,1fr));gap:14px;overflow-x:auto;padding-bottom:16px}
.kanban-column{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:18px;min-width:245px;padding:12px;box-shadow:0 10px 26px rgba(24,34,48,.06)}
.kanban-column-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.kanban-column-head h2{margin:0;font-size:1rem;letter-spacing:-.02em}
.kanban-column-head span{background:#eef5fb;color:var(--blue);border:1px solid #b7c9dc;border-radius:999px;padding:2px 8px;font-weight:800;font-size:.8rem}
.kanban-cards{display:grid;gap:12px}
.kanban-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:16px;padding:13px;box-shadow:0 8px 18px rgba(24,34,48,.07)}
.kanban-card-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.kanban-card h3{margin:0 0 10px;font-size:1rem;line-height:1.2}
.kanban-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.kanban-meta div{background:#f5f7f9;border:1px solid var(--line);border-radius:12px;padding:8px}
.kanban-meta small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;font-weight:800}
.kanban-meta strong{display:block;font-size:1.15rem;margin-top:2px}
.kanban-form{display:grid;gap:8px;margin-top:12px}
.kanban-form select,.kanban-form input{margin-top:4px;padding:8px 9px}
.kanban-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kanban-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.small-btn{width:100%;padding:8px 10px;min-height:38px;text-align:center}
.kanban-empty{border:1px dashed var(--line);color:var(--muted);border-radius:14px;padding:18px;text-align:center;font-weight:700}
@media(max-width:900px){.kanban-help{align-items:flex-start;flex-direction:column}.kanban-board{grid-template-columns:repeat(7,260px)}}


/* Historical feature styling */
.simple-board{
  display:grid;
  grid-template-columns:repeat(4,minmax(260px,1fr));
  gap:16px;
  align-items:start;
  overflow-x:auto;
  padding-bottom:14px;
}
.simple-column{
  min-width:260px;
  background:rgba(255,255,255,.76);
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
  box-shadow:0 12px 28px rgba(24,34,48,.07);
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.simple-column.drag-over{
  border-color:var(--cyan);
  background:#f0fbfc;
  box-shadow:0 0 0 3px rgba(25,168,184,.16),0 12px 28px rgba(24,34,48,.08);
}
.simple-column-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.simple-column-head h2{margin:0;font-size:1.05rem}
.simple-column-head span{
  border-radius:999px;background:#eef5fb;border:1px solid #b7c9dc;color:var(--blue);
  padding:2px 9px;font-size:.82rem;font-weight:800;
}
.simple-dropzone{display:grid;gap:12px;min-height:180px}
.simple-card{
  cursor:grab;background:#fff;border:1px solid var(--line);border-left:5px solid var(--yellow);
  border-radius:16px;padding:14px;box-shadow:0 8px 18px rgba(24,34,48,.07);
}
.simple-card:active{cursor:grabbing}
.simple-card.dragging{opacity:.62;transform:scale(.99)}
.simple-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.simple-card h3{margin:0 0 10px;font-size:1.02rem;line-height:1.2}
.inventory-count{
  font-size:.78rem;font-weight:800;color:var(--muted);background:#f5f7f9;border:1px solid var(--line);
  border-radius:999px;padding:3px 8px;white-space:nowrap;
}
.simple-card-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.reorder-chip{
  display:inline-block;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:800;
  border:1px solid #ead58f;color:#725a18;background:#fff8df;
}
@media(max-width:1000px){.simple-board{grid-template-columns:repeat(4,280px)}}


/* Historical feature styling */
.sold-form{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:8px;
  align-items:end;
  margin-top:10px;
}
.sold-form input{
  padding:8px 9px;
  min-height:38px;
}
.sold-form button[disabled]{
  opacity:.45;
  cursor:not-allowed;
}
.product-sold-form{
  margin-top:14px;
}
.simple-column[data-target-status="Made"]{
  border-top:4px solid var(--green);
}
.simple-column[data-target-status="Made"] .simple-card{
  border-left-color:var(--green);
}
.kanban-empty{
  line-height:1.35;
}


/* Historical feature styling */
.simple-column[data-target-status="Made"] .simple-dropzone{
  min-height:210px;
  border:2px dashed rgba(80,124,92,.36);
  border-radius:16px;
  padding:10px;
  background:rgba(237,247,239,.42);
}
.made-drop-note{
  border-color:rgba(80,124,92,.45)!important;
  color:#315343!important;
  background:#edf7ef!important;
}
.sold-form{
  margin-top:12px!important;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.sold-form button{
  background:#fff7f5;
  border-color:#e4b3a8;
  color:#8f3a2f;
}
.sold-form button[disabled]{
  opacity:.42;
  cursor:not-allowed;
}

/* Historical feature styling */
.bom-edit-input{width:100%;min-width:90px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit;}
.bom-edit-notes{width:100%;min-width:180px;min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit;resize:vertical;}
.bom-row-actions{display:flex;gap:10px;align-items:center;justify-content:flex-start;}
.btn.small{padding:7px 12px;font-size:0.85rem;}
@media (max-width: 800px){.bom-edit-input{min-width:120px}.bom-edit-notes{min-width:220px}.bom-row-actions{min-width:150px}}

/* Historical feature styling */
.bulk-asset-map {
  display: grid;
  gap: 12px;
}
.bulk-asset-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(150px, 0.8fr) minmax(180px, 1fr) minmax(120px, 0.6fr) minmax(180px, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.bulk-file-name {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bulk-file-name strong {
  overflow-wrap: anywhere;
}
.bulk-asset-row input,
.bulk-asset-row select {
  width: 100%;
}
@media (max-width: 900px) {
  .bulk-asset-row {
    grid-template-columns: 1fr;
  }
}


/* Historical feature styling */
details.collapsible-card {
  padding: 0;
}
details.collapsible-card > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 22px 26px;
  user-select: none;
}
details.collapsible-card > summary::-webkit-details-marker { display: none; }
details.collapsible-card > summary h2 { margin: 0; }
details.collapsible-card .collapsible-body {
  padding: 0 26px 26px;
}
details.collapsible-card:not([open]) > summary {
  padding-bottom: 22px;
}
details.collapsible-card:not([open]) .collapsible-body {
  display: none;
}
.collapse-chev {
  color: var(--accent);
  font-size: 1.2rem;
  font-weight: 900;
  transition: transform .15s ease;
  order: -1;
  flex: 0 0 auto;
  width: 1.1rem;
  text-align: center;
}
details.collapsible-card:not([open]) .collapse-chev {
  transform: rotate(-90deg);
}
.section-head.embedded {
  margin: 0;
  flex: 1;
}
.btn.ghost {
  background: #fff;
  color: var(--blue);
  border: 1px solid #c8d8e6;
  box-shadow: none;
}
.btn.ghost:hover {
  background: #f2f7fb;
}


/* Version 3.1 Feature Request Log */
.feature-log-card {
  border-top: 5px solid var(--teal);
}
.feature-request-form {
  display: grid;
  gap: 1rem;
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  background: rgba(245, 248, 252, 0.85);
  border: 1px solid #d6e1eb;
  border-radius: 1rem;
}
.form-row.compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 1rem;
}
.full-width {
  width: 100%;
}
.feature-log-table th,
.feature-log-table td {
  vertical-align: top;
}
.feature-log-table .nowrap {
  white-space: nowrap;
}
.table-control,
.table-textarea {
  width: 100%;
  min-width: 130px;
  border: 1px solid #cbd8e6;
  border-radius: 0.75rem;
  padding: 0.55rem 0.65rem;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.table-textarea {
  min-width: 240px;
  resize: vertical;
}
.actions-cell {
  display: grid;
  gap: 0.45rem;
  justify-items: start;
}
.btn.small {
  padding: 0.55rem 0.9rem;
  font-size: 0.9rem;
}
.link-danger {
  border: none;
  background: transparent;
  color: #b33a2f;
  padding: 0;
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
}
.feature-log-table-wrap {
  max-height: 560px;
  overflow: auto;
}
@media (max-width: 800px) {
  .form-row.compact {
    grid-template-columns: 1fr;
  }
  .feature-log-table .nowrap {
    white-space: normal;
  }
}

/* Historical feature styling */
.button-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.order-board{grid-template-columns:repeat(6,minmax(220px,1fr));overflow-x:auto}.order-card h3{font-size:1rem}.order-config-preview{font-size:.85rem;background:#f7f7fb;border:1px solid #e6e6ef;border-radius:10px;padding:.45rem;margin:.4rem 0 0}.compact-line{margin:.25rem 0}.nested-card{border:1px solid #e6e6ef;border-radius:16px;padding:1rem;background:#fbfbfd;margin:1rem 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-stack{display:flex;flex-direction:column;gap:1rem}.btn.small{padding:.35rem .6rem;font-size:.85rem}@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.order-board{grid-template-columns:1fr}.button-row{align-items:stretch}.button-row .btn{flex:1;text-align:center}}
/* Historical feature styling */
.component-material-row td{background:#fafafc;border-top:0}
.component-material-box{border:1px dashed var(--border);border-radius:14px;padding:12px;background:#fff}
.inline-form.mini{grid-template-columns:2fr .6fr .7fr 1.5fr auto;margin:8px 0 10px}
.component-material-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.component-material-pill{display:grid;grid-template-columns:2fr .5fr .5fr 1.3fr auto auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:8px;background:#fbfbfd}
.tiny-input{width:80px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;font:inherit}
.btn.tiny{padding:5px 8px;font-size:.8rem}
.check.compact{white-space:nowrap}
.component-config-panel .form-row{align-items:start}
.component-config-panel label .small-text{display:block;margin-top:4px}
@media(max-width:900px){.inline-form.mini,.component-material-pill{grid-template-columns:1fr}.tiny-input{width:100%}}

/* Historical feature styling */
.component-add-panel{border:1px solid var(--border);background:#f8fafc;border-radius:18px;padding:18px;margin:18px 0 22px;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.component-add-panel h3{margin:0 0 12px;font-size:1rem;color:var(--ink)}
.component-add-form{display:grid;grid-template-columns:.5fr 1.8fr .7fr .9fr 1.1fr 1.6fr .9fr auto;gap:12px;align-items:end}
.component-add-form label,.component-detail-grid label,.material-link-form label,.linked-material-row label{display:flex;flex-direction:column;gap:5px;font-weight:800;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.component-add-form label.wide{grid-column:span 2}.component-add-form label.full{grid-column:1 / -2}.component-add-form .component-check{align-self:center;margin-top:18px;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--ink)}
.component-card-list{display:flex;flex-direction:column;gap:14px;margin-top:10px}.component-editor-card{border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05);overflow:hidden}.component-card-main{display:grid;grid-template-columns:74px minmax(280px,1.5fr) minmax(260px,1fr) auto;gap:16px;align-items:center;padding:16px 18px}.component-sort label,.component-title-block label,.component-material-summary label{display:block;font-weight:900;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.component-sort input{max-width:62px;text-align:center}.component-title-block input{width:100%;font-size:1.05rem;font-weight:850;color:var(--ink)}.component-meta-line{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.muted-pill{background:#f5f7fa;color:var(--muted);border-color:var(--border)}.pill.neutral{background:#eef2f7;color:#44546a;border:1px solid #dbe3ee}.component-material-summary{border-left:1px solid var(--border);padding-left:16px}.material-summary-line{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eef2f7;padding:4px 0;font-size:.9rem}.material-summary-line span{color:var(--muted);font-weight:800}.component-material-summary .btn{margin-top:8px;width:100%}.component-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.component-more{border-top:1px solid var(--border);background:#fbfcfe}.component-more summary{cursor:pointer;padding:10px 18px;font-weight:900;color:var(--brand);list-style:none}.component-more summary::-webkit-details-marker{display:none}.component-more summary:before{content:'▸';display:inline-block;margin-right:8px;transition:.15s}.component-more[open] summary:before{transform:rotate(90deg)}.component-detail-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:14px;padding:0 18px 18px}.component-detail-grid .full{grid-column:span 2}.component-detail-grid textarea{min-height:82px}.empty-state{border:1px dashed var(--border);border-radius:16px;padding:18px;color:var(--muted);background:#fbfcfe}.material-modal{border:none;padding:0;background:transparent;max-width:min(980px,92vw);width:980px}.material-modal::backdrop{background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}.modal-card{background:#fff;border-radius:22px;border:1px solid var(--border);box-shadow:0 24px 70px rgba(15,23,42,.25);padding:22px}.modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.modal-head h3{margin:0}.modal-close{border:0;background:#f1f5f9;border-radius:999px;width:36px;height:36px;font-size:1.35rem;line-height:1;cursor:pointer}.material-link-form{display:grid;grid-template-columns:2fr .7fr .7fr 1.3fr auto;gap:10px;align-items:end;background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:14px}.linked-materials-list{display:flex;flex-direction:column;gap:10px}.linked-material-row{display:grid;grid-template-columns:1.5fr .65fr .65fr 1.3fr auto auto;gap:10px;align-items:end;border:1px solid var(--border);border-radius:15px;padding:12px;background:#fff}.linked-material-name span{display:block;color:var(--muted);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.linked-material-name strong{display:block;font-size:1rem}.linked-material-row .wide{min-width:0}@media(max-width:1100px){.component-add-form{grid-template-columns:1fr 1fr}.component-add-form label.wide,.component-add-form label.full{grid-column:span 2}.component-card-main{grid-template-columns:1fr}.component-material-summary{border-left:0;border-top:1px solid var(--border);padding:12px 0 0}.component-actions{align-items:stretch}.component-detail-grid,.material-link-form,.linked-material-row{grid-template-columns:1fr}.component-detail-grid .full{grid-column:span 1}}


/* Historical feature styling */
.component-add-panel{border:1px solid #dbe3ee;background:#f8fafc;border-radius:20px;margin:20px 0 28px;box-shadow:0 10px 24px rgba(15,23,42,.045);overflow:hidden;padding:0}
.component-add-panel[open]{border-top:5px solid var(--brand2)}
.component-add-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;background:linear-gradient(180deg,#fbfdff,#f5f8fb)}
.component-add-summary::-webkit-details-marker{display:none}
.component-add-summary h3{margin:0 0 3px;font-size:1.1rem;color:var(--ink)}
.component-add-summary .small-text{margin:0}
.component-add-body{border-top:1px solid var(--border);padding:18px 22px 22px;background:#fff}
.configured-components-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:26px 0 14px;padding:18px 20px;border-top:4px solid var(--brand2);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.configured-components-header h3{margin:0 0 4px;font-size:1.15rem;color:var(--ink)}
.configured-components-header .small-text{margin:0}.count-pill{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #bad4ea;background:#eef7ff;color:var(--brand);border-radius:999px;padding:8px 12px;font-weight:900;font-size:.82rem}
.component-card-list{margin-top:0}
.component-editor-card{border:1px solid #d9e4ef;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.045)}
.component-editor-card + .component-editor-card{margin-top:12px}
@media(max-width:800px){.configured-components-header{align-items:flex-start;flex-direction:column}.count-pill{align-self:flex-start}.component-add-summary{align-items:flex-start}}


/* Historical feature styling */
.component-add-panel{border:1px solid #dbe3ee;background:#f8fafc;border-radius:22px;margin:20px 0 28px;box-shadow:0 10px 24px rgba(15,23,42,.045);overflow:hidden;padding:0}
.component-add-panel[open]{border-top:5px solid var(--brand2)}
.component-add-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;background:linear-gradient(180deg,#fbfdff,#f5f8fb)}
.component-add-body{border-top:1px solid var(--border);padding:18px 22px 22px;background:#fff}
.component-add-form{display:grid;grid-template-columns:100px minmax(280px,1.5fr) 150px 240px minmax(220px,1fr);gap:14px;align-items:end}
.component-add-form label{min-width:0}
.component-add-form label.wide{grid-column:span 2}
.component-add-form .allowed-values-field{grid-column:1 / span 3}
.component-add-form .default-value-field{grid-column:4 / span 1}
.component-add-form label.full{grid-column:1 / span 4}
.component-add-form .add-component-submit{grid-column:5;align-self:end;min-height:54px}
.toggle-field{display:grid!important;grid-template-columns:auto 52px 1fr;grid-template-areas:'label label label' 'switch knob text';align-items:center;gap:6px 10px;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;font-size:.95rem!important;font-weight:850!important;align-self:end;padding:0 0 4px}
.toggle-field > span{grid-area:label;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.toggle-field input{position:absolute;opacity:0;pointer-events:none}
.toggle-field em{grid-area:switch;position:relative;width:52px;height:30px;border-radius:999px;background:#d8e2ed;border:1px solid #c9d6e4;box-shadow:inset 0 1px 2px rgba(15,23,42,.08);transition:.18s}
.toggle-field em:after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.25);transition:.18s}
.toggle-field input:checked + em{background:#1f6b9d;border-color:#195d88}
.toggle-field input:checked + em:after{transform:translateX(22px)}
.toggle-field strong{grid-area:text;white-space:nowrap;font-size:.95rem;color:var(--ink)}
.configured-components-header{margin-top:30px}
@media(max-width:1100px){.component-add-form{grid-template-columns:1fr 1fr}.component-add-form label.wide,.component-add-form .allowed-values-field,.component-add-form .default-value-field,.component-add-form label.full,.component-add-form .add-component-submit{grid-column:1 / -1}.toggle-field{grid-template-columns:auto 52px 1fr;grid-template-areas:'label label label' 'switch knob text'}}

/* Historical feature styling */
.order-workspace-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:24px 0 24px}
.order-workspace-header h1{font-size:2.4rem;margin:0 0 6px}
.order-summary-card{display:grid;grid-template-columns:minmax(280px,.8fr) 1.4fr;gap:24px;align-items:center}
.order-summary-main{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.status-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#f8fafc;border-radius:999px;padding:8px 12px;font-weight:800;color:#334155}
.status-main{color:var(--blue);background:#eef6fb;border-color:#cde5f6}
.order-progress-block{min-width:260px}
.progress-line{display:flex;justify-content:space-between;gap:12px;font-weight:800;color:#334155;margin-bottom:8px}
.progress-track{height:12px;background:#e8eef5;border:1px solid #d4dee9;border-radius:999px;overflow:hidden}
.progress-fill{display:block;height:100%;min-width:0;background:linear-gradient(90deg, var(--cyan), var(--blue));border-radius:999px;transition:width .2s ease}
.component-workspace-card{overflow:hidden}
.component-board-per-order{grid-template-columns:repeat(4,minmax(250px,1fr));overflow-x:auto;padding-bottom:8px}
.component-column{min-width:250px}
.component-card{cursor:grab;border-left:6px solid var(--teal)}
.component-card.dragging{opacity:.55;transform:rotate(1deg)}
.component-column.drag-over{outline:3px dashed rgba(22,166,182,.45);outline-offset:-8px;background:rgba(22,166,182,.04)}
.component-card .order-config-preview{margin-top:8px}
@media(max-width:900px){.order-workspace-header,.order-summary-card{grid-template-columns:1fr;display:grid}.order-workspace-header .button-row{justify-content:flex-start}.component-board-per-order{grid-template-columns:repeat(4,260px)}}


/* v6.5 Collapsible order detail polish */
.order-details-collapse > summary { align-items: flex-start; }
.order-details-collapse > summary > div { display:flex; flex-direction:column; gap:2px; }
.order-details-collapse .small-text { font-size:.9rem; }
.order-detail-grid-clean { padding-top: 4px !important; }
.order-detail-grid-clean h2 { margin-top: 0; }


/* v6.5 Component add form button/notes alignment cleanup */
.component-add-body{padding:20px 22px 24px;background:#fff}
.component-add-form{
  display:grid !important;
  grid-template-columns:90px minmax(260px,1.45fr) 130px minmax(220px,.75fr) minmax(210px,.85fr) !important;
  gap:14px 16px !important;
  align-items:end !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.component-add-form label.wide{grid-column:2 / span 1 !important}
.component-add-form .toggle-field{grid-column:4 / span 2 !important;align-self:end !important;justify-self:start !important;min-width:0 !important}
.component-add-form .customization-type-field{grid-column:1 / span 2 !important}
.component-add-form .allowed-values-field{grid-column:3 / span 2 !important}
.component-add-form .allowed-values-field input{max-width:100% !important}
.component-add-form .default-value-field{grid-column:5 / span 1 !important}
.component-add-form label.full{grid-column:1 / span 4 !important}
.component-add-form label.full textarea{min-height:82px !important;max-width:100% !important}
.component-add-form .add-component-submit{
  grid-column:5 !important;
  align-self:end !important;
  justify-self:stretch !important;
  min-height:54px !important;
  margin:0 !important;
}
.component-add-form .customization-type-field,
.component-add-form .allowed-values-field,
.component-add-form .default-value-field{
  background:#fbfcfe;border:1px solid #e5ecf5;border-radius:14px;padding:10px 12px;
}
.component-add-form .customization-type-field span,
.component-add-form .allowed-values-field span,
.component-add-form .default-value-field span{margin-bottom:6px}
@media(max-width:1200px){
  .component-add-form{grid-template-columns:1fr 1fr !important;overflow:visible !important}
  .component-add-form label,
  .component-add-form label.wide,
  .component-add-form .toggle-field,
  .component-add-form .customization-type-field,
  .component-add-form .allowed-values-field,
  .component-add-form .default-value-field,
  .component-add-form label.full,
  .component-add-form .add-component-submit{grid-column:1 / -1 !important}
}

/* v6.6 order/component material check placement */
.component-material-chip {
  display: inline-flex;
  margin-top: 0.5rem;
  width: fit-content;
}
.product-card .readiness-box.manual small {
  line-height: 1.35;
}


/* v7.2 Responsive Kanban Workspace overrides */
.order-board.simple-board{
  display:flex !important;
  grid-template-columns:none !important;
  gap:18px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:12px 8px 22px !important;
  scroll-snap-type:x proximity;
  align-items:stretch !important;
}
.order-board .simple-column{
  flex:0 0 315px !important;
  width:315px !important;
  min-width:315px !important;
  max-width:315px !important;
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100vh - 320px);
  min-height:420px;
  background:rgba(255,255,255,.88) !important;
  border:1px solid #d7e2ec !important;
  border-radius:22px !important;
  padding:12px !important;
  box-shadow:0 14px 28px rgba(24,34,48,.08) !important;
  scroll-snap-align:start;
}
.order-board .simple-column-head{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);
  margin:-12px -12px 12px;
  padding:14px 14px 11px;
  border-radius:22px 22px 0 0;
  border-bottom:1px solid #d7e2ec;
}
.order-board .simple-column-head h2{
  font-size:1rem !important;
  line-height:1.1;
  max-width:235px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.order-board .simple-dropzone{
  flex:1 1 auto;
  min-height:260px !important;
  max-height:calc(100vh - 390px);
  overflow-y:auto;
  padding:4px 4px 8px;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  border:1px dashed rgba(155,174,196,.42);
  border-radius:18px;
  background:rgba(248,251,253,.55);
}
.order-board .simple-card.order-card{
  width:100% !important;
  box-sizing:border-box;
  flex:0 0 auto;
  padding:13px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid #dce6ef !important;
  border-left:5px solid var(--yellow) !important;
}
.order-board .simple-card-top{
  border-bottom:1px solid #eef2f6;
  padding-bottom:8px;
  margin-bottom:10px !important;
}
.order-board .simple-card-top a{
  font-size:1.02rem;
  font-weight:900;
}
.order-board .order-card h3{
  font-size:.96rem !important;
  line-height:1.18 !important;
  margin:0 0 9px !important;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.order-board .simple-card-meta{
  gap:5px !important;
  padding-bottom:8px;
  border-bottom:1px solid #eef2f6;
  margin-bottom:8px;
}
.order-board .pill,
.order-board .readiness-chip,
.order-board .inventory-count{
  font-size:.72rem !important;
  padding:4px 8px !important;
  line-height:1.1;
  max-width:100%;
}
.order-board .compact-line{
  font-size:.82rem;
  line-height:1.25;
  margin:.25rem 0 !important;
  color:#5d6c82;
}
.order-board .order-config-preview{
  font-size:.8rem !important;
  line-height:1.28;
  background:#f7f8fc !important;
  border:1px solid #e3e8f1 !important;
  border-radius:12px !important;
  padding:.5rem !important;
  margin:.45rem 0 0 !important;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.order-board .kanban-empty{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px !important;
  background:rgba(255,255,255,.72);
}
@media(max-width:900px){
  .order-board.simple-board{padding-left:4px!important;padding-right:4px!important}
  .order-board .simple-column{flex-basis:290px!important;width:290px!important;min-width:290px!important;max-width:290px!important;max-height:none;min-height:360px}
  .order-board .simple-dropzone{max-height:none}
}

/* v7.4 Data Protection */
.data-protection-card .mini-backup-list{display:grid;gap:.5rem;margin-top:.75rem}
.mini-backup-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid #e6e6ef;background:#fbfbfd;border-radius:12px;padding:.55rem .75rem;font-size:.9rem}
.mini-backup-item span{color:var(--muted)}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.info-tile{border:1px solid #e6e6ef;background:#fbfbfd;border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}
.info-tile small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.info-tile strong{font-size:1.2rem}
.info-tile span{color:var(--muted);overflow-wrap:anywhere}
@media(max-width:800px){.info-grid{grid-template-columns:1fr}.mini-backup-item{flex-direction:column;align-items:flex-start}}

/* v7.7 Materials Filtering */
.material-filter-card {
  border-left: 6px solid var(--accent, #18a8b8);
}
.material-filter-form {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(260px, 1fr) auto;
  gap: 16px;
  align-items: end;
}
.material-filter-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 800;
  color: var(--muted, #637087);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
}
.material-filter-form input,
.material-filter-form select {
  width: 100%;
}
.filter-summary {
  margin-top: 12px;
}
@media (max-width: 900px) {
  .material-filter-form {
    grid-template-columns: 1fr;
  }
}

/* v7.8 Materials Workbench Layout */
.materials-top-grid{
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);
  gap:1.25rem;
  align-items:start;
  margin:1.25rem 0;
}
.materials-top-grid > .card{margin:0; height:100%;}
.materials-source-card{margin-bottom:1.25rem;}
.compact-sync-panel{display:grid;grid-template-columns:1.2fr .7fr 1.3fr;gap:1.25rem;align-items:start;}
.material-filter-form-clean{display:grid;grid-template-columns:minmax(160px,220px) 1fr auto;gap:1rem;align-items:end;}
.material-filter-form-clean label.wide{grid-column:auto;}
.filter-button-row{display:flex;gap:.65rem;align-items:center;}
.material-add-form-clean{display:grid;grid-template-columns:1fr 1.35fr;gap:.85rem 1rem;align-items:end;}
.material-add-form-clean label.wide{grid-column:1 / -1;}
.material-add-form-clean textarea{min-height:84px;}
.material-add-form-clean .btn{justify-self:end;min-width:180px;}
.material-add-card summary,.material-filter-card summary,.materials-source-card summary{align-items:flex-start;}
.material-add-card summary p,.material-filter-card summary p,.materials-source-card summary p{margin:.25rem 0 0;}
.card.collapsible-card.table-wrap{overflow:visible;}
.card.collapsible-card.table-wrap .collapsible-body{overflow-x:auto;}
@media(max-width:1150px){
  .materials-top-grid{grid-template-columns:1fr;}
  .compact-sync-panel{grid-template-columns:1fr;}
  .material-filter-form-clean,.material-add-form-clean{grid-template-columns:1fr;}
  .material-filter-form-clean label.wide,.material-add-form-clean label.wide{grid-column:1;}
  .filter-button-row,.material-add-form-clean .btn{justify-self:stretch;}
  .filter-button-row .btn,.material-add-form-clean .btn{flex:1;text-align:center;}
}

/* v8.0 Order cancellation workflow */
.cancel-notice{border-left:6px solid var(--danger);background:#fff7f5;}
.component-workspace-card.is-disabled{opacity:.72;}
.component-workspace-card.is-disabled .component-card{cursor:not-allowed;}
.order-toolbar form,.compact-actions form{margin:0;}
.compact-actions{gap:6px;}
.status-chip.status-canceled,.pill.status-canceled{background:#fff7f5;border-color:#c98d84;color:var(--danger);}

/* v8.1 Orders grouped list cleanup */
.orders-filter-card{margin-bottom:18px;}
.orders-list-card{margin-top:18px;}
.orders-list-card > summary{align-items:center;}
.orders-section-title{display:flex;align-items:center;gap:14px;}
.orders-section-title h2{margin:0;}
.count-chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 12px;border:1px solid #bdd4e8;border-radius:999px;background:#eef7ff;color:#205d8d;font-weight:800;}
.orders-list-card .collapsible-body{padding-top:8px;}
.orders-table td{vertical-align:top;}
.orders-table .compact-actions{display:flex;flex-wrap:wrap;align-items:center;}

/* v8.2 Product clone workflow */
.product-card-actions {
  display: flex;
  gap: 0.65rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.85rem;
}
.product-card-actions .product-sold-form {
  margin: 0;
}
.clone-product-card {
  max-width: 980px;
  margin-inline: auto;
}
.clone-summary {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: flex-start;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}
.clone-copy-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}
.clone-product-form .two-field-row {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 1rem;
}
.clone-product-form label span {
  display: block;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  font-size: 0.78rem;
  margin-bottom: 0.35rem;
}
@media (max-width: 780px) {
  .clone-summary,
  .clone-product-form .two-field-row {
    display: block;
  }
  .clone-copy-list {
    justify-content: flex-start;
    margin-top: 1rem;
  }
}

/* v8.3 Product Lines Kanban */
.product-line-manager{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;border-top-color:var(--cyan)}
.product-line-manager .section-toggle{appearance:none;border:0;background:transparent;font-size:1rem;font-weight:900;color:var(--ink);padding:8px;cursor:pointer;margin-top:4px}
.product-line-manager .collapsible-header-text h2{margin:0 0 4px}
.product-line-manager .collapsible-body{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:16px}
.line-create-form{display:grid;grid-template-columns:minmax(220px,1.2fr) 100px minmax(240px,1.5fr) auto;gap:12px;align-items:end;margin-bottom:16px}
.line-create-form label,.line-edit-row label{font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.74rem}
.line-edit-list{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}
.line-edit-row{display:grid;grid-template-columns:minmax(180px,1fr) 80px minmax(220px,2fr) auto;gap:10px;align-items:center}
.product-line-board-wrap{overflow-x:auto;padding-bottom:18px;margin-top:20px}
.product-line-board{display:grid;grid-auto-flow:column;grid-auto-columns:330px;gap:18px;align-items:start;min-height:360px}
.product-line-column{background:rgba(255,255,255,.76);border:1px solid var(--line);border-top:5px solid var(--cyan);border-radius:20px;padding:14px;box-shadow:0 10px 28px rgba(24,34,48,.06);max-height:calc(100vh - 250px);min-height:360px;display:flex;flex-direction:column}
.product-line-column.unassigned-line{border-top-color:var(--yellow);background:rgba(255,250,235,.5)}
.product-line-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px;position:sticky;top:0;background:inherit;z-index:2}
.product-line-head h2{font-size:1.05rem;margin:0;line-height:1.15}
.product-line-head p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.25}
.count-pill{background:#eef5fb;color:var(--blue);border:1px solid #b7c9dc;border-radius:999px;padding:4px 10px;font-weight:900;white-space:nowrap}
.product-line-cards{display:grid;gap:12px;overflow-y:auto;padding-right:2px}
.product-line-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--yellow);border-radius:16px;padding:12px;box-shadow:0 7px 18px rgba(24,34,48,.07)}
.product-card-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.86rem;color:var(--muted);margin-bottom:7px}
.product-line-card h3{font-size:1rem;line-height:1.18;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.35em}
.product-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}
.product-card-metrics span{background:#f6f8fb;border:1px solid var(--line);border-radius:10px;padding:6px;font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.product-card-metrics strong{display:block;color:var(--ink);font-size:.9rem;letter-spacing:0;text-transform:none;margin-top:2px}
.product-line-assign{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin:8px 0}
.product-line-assign label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}
.product-line-assign select{padding:7px 8px;font-size:.85rem}
.compact-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center;margin-top:8px}
.compact-actions .product-sold-form{grid-column:1 / -1;display:grid;grid-template-columns:70px 1fr;gap:6px}
.compact-actions .btn{text-align:center;justify-content:center}
.compact-empty{min-height:160px;display:flex;align-items:center;justify-content:center}
@media(max-width:900px){.line-create-form,.line-edit-row{grid-template-columns:1fr}.line-edit-list{grid-template-columns:1fr}.product-line-board{grid-auto-columns:290px}.product-line-column{max-height:none}}

/* v8.3.1 Product line drag/drop fix */
.product-line-card {
  cursor: grab;
  user-select: none;
}
.product-line-card:active {
  cursor: grabbing;
}
.product-line-card.is-dragging {
  opacity: .55;
  transform: rotate(1deg) scale(.99);
}
.product-line-column.is-drop-target {
  outline: 2px dashed rgba(31, 87, 140, .45);
  outline-offset: -6px;
  background: rgba(31, 87, 140, .04);
}
.product-line-card.drop-saved {
  box-shadow: 0 0 0 3px rgba(46, 125, 50, .20), 0 10px 22px rgba(10, 20, 30, .10);
}
.product-line-cards {
  min-height: 120px;
}


/* v8.3.2 Full Width Product Lines Kanban */
.product-line-board-wrap{
  width:calc(100vw - 48px) !important;
  margin-left:calc(50% - 50vw + 24px) !important;
  margin-right:calc(50% - 50vw + 24px) !important;
  padding:0 18px 20px !important;
  overflow-x:auto !important;
  overflow-y:visible;
  scroll-padding-left:18px;
}
.product-line-board{
  display:flex !important;
  grid-auto-flow:unset !important;
  grid-auto-columns:unset !important;
  gap:18px !important;
  align-items:flex-start !important;
  min-width:max-content;
}
.product-line-column{
  flex:0 0 clamp(292px,18vw,345px) !important;
  min-width:292px !important;
  max-width:345px !important;
  min-height:420px;
}
.product-line-cards{
  gap:10px !important;
}
.product-line-card{
  padding:11px !important;
}
.product-card-metrics{
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.product-card-metrics span{
  padding:6px 7px;
}
.product-line-assign{
  grid-template-columns:42px 1fr;
}
.compact-actions{
  gap:7px;
}
@media (min-width:1500px){
  .product-line-column{flex-basis:clamp(305px,17vw,360px) !important;max-width:360px !important}
}
@media(max-width:900px){
  .product-line-board-wrap{width:calc(100vw - 20px) !important;margin-left:calc(50% - 50vw + 10px) !important;margin-right:calc(50% - 50vw + 10px) !important;padding:0 10px 18px !important}
  .product-line-column{flex-basis:290px !important;max-width:290px !important}
}

/* v9.0 Device Workflow Digital Twin */
.device-pill { background: #e8f0ff; color: #234078; border: 1px solid #bfd0ff; }
.device-assignment-box { margin-top: .55rem; padding: .6rem; border: 1px solid #d9e2ef; background: #f8fbff; border-radius: 12px; display: grid; gap: .45rem; }
.device-required-line { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; font-size: .84rem; color: #4b5563; }
.device-required-line strong { color: #111827; }
.device-required-line em { color: #6b7280; font-style: normal; }
.device-assign-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(120px,.65fr) auto; gap: .4rem; align-items: center; }
.device-assign-form select { min-width: 0; }
.device-board { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: .5rem; }
.device-board-column { flex: 0 0 310px; background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 18px; padding: .75rem; min-height: 170px; }
.device-work-card { margin-top: .65rem; }
@media (max-width: 760px) { .device-assign-form { grid-template-columns: 1fr; } .device-board-column { flex-basis: 280px; } }

/* v9.1 Device Assignment Visibility */
.device-assignment-card {
  padding: .72rem !important;
  background: #f8fbff;
  border-color: #cfdef0;
}
.device-header-line {
  padding-bottom: .35rem;
  border-bottom: 1px solid #e4ecf6;
}
.assigned-device-summary {
  display: grid;
  gap: .12rem;
  padding: .48rem .55rem;
  background: #fff;
  border: 1px solid #d9e5f2;
  border-radius: 10px;
}
.assigned-device-summary strong {
  color: #111827;
  font-size: .95rem;
  line-height: 1.2;
}
.mini-label,
.device-field span {
  color: #64748b;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.device-assign-form-readable {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: .45rem;
  align-items: stretch;
}
.device-field {
  display: grid;
  gap: .2rem;
  min-width: 0;
}
.device-field select {
  width: 100%;
  min-width: 0;
  font-size: .9rem;
  padding: .48rem .58rem;
}
.device-save-btn {
  width: 100%;
  justify-content: center;
}
@media (min-width: 1200px) {
  .component-card .device-assign-form-readable {
    grid-template-columns: minmax(0, 1fr) minmax(115px, .55fr) auto;
    align-items: end;
  }
  .component-card .device-save-btn { width: auto; min-width: 70px; }
}


/* v9.1.1 Device Card Layout Fix */
.component-card .device-assignment-card {
  display: grid !important;
  gap: .62rem !important;
  padding: .78rem !important;
  overflow: visible !important;
}
.component-card .device-header-line {
  display: flex !important;
  align-items: baseline !important;
  gap: .35rem !important;
  padding-bottom: .42rem !important;
  border-bottom: 1px solid #e1eaf5 !important;
  line-height: 1.25 !important;
}
.component-card .assigned-device-summary {
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  gap: .18rem !important;
  padding: .58rem .68rem !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid #d6e3f1 !important;
  border-radius: 12px !important;
  min-height: 58px !important;
}
.component-card .assigned-device-summary .mini-label,
.component-card .device-field span {
  display: block !important;
  position: static !important;
  margin: 0 0 .18rem 0 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
.component-card .assigned-device-summary strong {
  display: block !important;
  line-height: 1.2 !important;
  word-break: break-word !important;
}
.component-card .device-assign-form-readable {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .55rem !important;
  align-items: stretch !important;
}
.component-card .device-field {
  display: grid !important;
  gap: .22rem !important;
  min-width: 0 !important;
  width: 100% !important;
}
.component-card .device-field select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.component-card .device-save-btn {
  width: 100% !important;
  min-width: 0 !important;
  margin-top: .05rem !important;
}
@media (min-width: 1200px) {
  .component-card .device-assign-form-readable {
    grid-template-columns: 1fr !important;
  }
  .component-card .device-save-btn { width: 100% !important; }
}

/* v9.2 Landing/Admin cleanup */
.admin-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.data-protection-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1rem; margin:1rem 0; }
.info-tile span { display:block; word-break:break-word; }
.active-order-workbench { margin-top:1.5rem; }
.dashboard-order-list { display:grid; gap:1.25rem; }
.dashboard-order-card { border:1px solid var(--line); border-radius:24px; padding:1rem; background:rgba(255,255,255,.86); box-shadow:0 10px 25px rgba(12,35,64,.06); }
.dashboard-order-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:.75rem; }
.order-number-link { font-size:1.15rem; font-weight:900; color:var(--blue); }
.order-head-chips { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem; }
.dashboard-progress-line { margin:.4rem 0 .35rem; }
.mini-component-board { display:grid; grid-template-columns:repeat(4, minmax(160px, 1fr)); gap:.75rem; margin-top:1rem; overflow-x:auto; padding-bottom:.25rem; }
.mini-component-column { min-width:160px; border:1px solid var(--line); border-radius:18px; background:#fbfdff; padding:.65rem; }
.mini-component-head { display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding-bottom:.45rem; border-bottom:1px solid var(--line); color:var(--ink); }
.mini-component-head strong { font-size:.85rem; }
.mini-component-head span { min-width:1.65rem; height:1.65rem; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#eef7ff; border:1px solid #bdd8ef; color:var(--blue); font-weight:900; }
.mini-component-items { display:grid; gap:.5rem; min-height:74px; padding-top:.55rem; }
.mini-component-card { display:grid; gap:.2rem; text-decoration:none; color:var(--ink); border:1px solid var(--line); border-left:4px solid var(--accent, #18a8b8); background:white; border-radius:14px; padding:.55rem; }
.mini-component-card strong { font-size:.9rem; line-height:1.1; }
.mini-component-card small { color:var(--muted); line-height:1.15; }
.mini-empty { color:var(--muted); font-weight:800; text-align:center; padding:1rem .25rem; border:1px dashed #d6e2ed; border-radius:14px; }
.empty-state { border:1px dashed #cbd8e6; border-radius:18px; padding:2rem; color:var(--muted); font-weight:800; text-align:center; }
@media (max-width: 900px) { .admin-hero, .dashboard-order-head { flex-direction:column; align-items:stretch; } .data-protection-grid { grid-template-columns:1fr; } .mini-component-board { grid-template-columns:repeat(4, 180px); } }

/* v9.3 Landing page full width + device twin board */
body .container {
  max-width: min(1880px, calc(100vw - 24px));
  width: 100%;
}
.dashboard-full-width,
.active-order-workbench {
  width: 100%;
}
.dashboard-wide-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.order-device-workspace-card {
  padding: 1.15rem;
  overflow: hidden;
}
.order-device-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
}
.order-kanban-panel,
.device-twin-panel {
  min-width: 0;
}
.mini-board-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .75rem;
  margin-bottom: .6rem;
  color: var(--ink);
}
.mini-board-title span {
  color: var(--muted);
  font-size: .82rem;
  font-weight: 750;
}
.mini-component-board-large {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: .7rem;
}
.dashboard-component-card,
.device-board-card {
  cursor: grab;
}
.dashboard-component-card.dragging,
.device-board-card.dragging {
  opacity: .55;
  transform: rotate(.5deg);
}
.device-mini-line {
  color: var(--blue) !important;
  font-weight: 850;
}
.device-twin-panel {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #f8fbfd;
  padding: .85rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}
.device-board-list {
  display: grid;
  gap: .75rem;
  max-height: 560px;
  overflow-y: auto;
  padding-right: .25rem;
}
.device-board-column {
  border: 1px solid #d6e3ef;
  border-radius: 16px;
  background: #fff;
  padding: .65rem;
  transition: .12s ease;
}
.device-board-column.drag-over {
  outline: 3px dashed rgba(22,166,182,.45);
  outline-offset: -6px;
  background: rgba(22,166,182,.05);
}
.device-board-head {
  display: flex;
  justify-content: space-between;
  gap: .6rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: .45rem;
  margin-bottom: .5rem;
}
.device-board-head strong {
  display: block;
  font-size: .95rem;
  line-height: 1.1;
}
.device-board-head small {
  color: var(--muted);
  font-weight: 800;
}
.device-board-head span {
  min-width: 1.65rem;
  height: 1.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef7ff;
  border: 1px solid #bdd8ef;
  color: var(--blue);
  font-weight: 900;
}
.device-board-dropzone {
  display: grid;
  gap: .45rem;
  min-height: 72px;
}
.device-board-card {
  display: grid;
  gap: .15rem;
  text-decoration: none;
  color: var(--ink);
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  background: #fff;
  border-radius: 13px;
  padding: .5rem;
}
.device-board-card strong {
  font-size: .86rem;
  line-height: 1.1;
}
.device-board-card small {
  color: var(--muted);
  font-weight: 720;
}
.device-empty {
  font-size: .82rem;
  padding: .8rem .25rem;
}
@media (max-width: 1180px) {
  .order-device-grid { grid-template-columns: 1fr; }
  .device-board-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); max-height: none; }
}
@media (max-width: 900px) {
  body .container { max-width: 100%; padding-left: 12px; padding-right: 12px; }
  .dashboard-wide-stats { grid-template-columns: 1fr; }
  .mini-component-board-large { grid-template-columns: repeat(4, 190px); }
}

/* v9.4 Global Device Twin Board */
.global-twin-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:22px;
  align-items:start;
}
.global-orders-panel{min-width:0;}
.global-device-twin-panel{
  position:sticky;
  top:96px;
  align-self:start;
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 35px rgba(15,23,42,.08);
  max-height:calc(100vh - 130px);
  overflow:auto;
}
.sticky-workspace-title{
  margin-bottom:14px;
}
.compact-order-list{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.compact-order-workspace-card{
  margin:0;
}
.full-order-kanban-panel{
  width:100%;
  margin-top:12px;
}
.full-order-kanban-panel .mini-component-board{
  display:grid;
  grid-template-columns:repeat(4, minmax(210px,1fr));
  gap:14px;
  overflow-x:auto;
  padding-bottom:8px;
}
.global-device-board{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.global-device-column{
  min-height:160px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  padding:12px;
}
.global-device-column.drag-over{
  outline:3px solid rgba(28,166,184,.35);
  background:#f0fbfd;
}
.global-device-dropzone{
  min-height:90px;
  border:1px dashed #cfe0ef;
  border-radius:15px;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.global-device-card{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  border:1px solid var(--line);
  border-left:5px solid var(--gold);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
}
.global-device-card small,
.dashboard-component-card small{color:var(--muted);}
.device-mini-line{display:block;}
@media (max-width: 1180px){
  .global-twin-layout{grid-template-columns:1fr;}
  .global-device-twin-panel{position:relative; top:auto; max-height:none;}
  .global-device-board{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
}

/* v9.5 Device completion / failure tracking */
.device-work-card { display: flex; flex-direction: column; gap: 10px; }
.device-work-link { display: flex; flex-direction: column; gap: 4px; color: inherit; text-decoration: none; }
.device-work-link:hover strong { text-decoration: underline; }
.device-work-actions { display: grid; grid-template-columns: 1fr; gap: 8px; border-top: 1px solid var(--line, #dbe5ef); padding-top: 8px; }
.device-fail-details summary { cursor: pointer; font-weight: 800; color: #b33a2e; font-size: 0.85rem; }
.device-fail-details form { margin-top: 8px; display: grid; gap: 8px; }
.failure-reason-input { width: 100%; min-width: 0; padding: 8px 10px; border: 1px solid #ccd8e5; border-radius: 10px; font: inherit; }
.btn.tiny { padding: 7px 10px; font-size: 0.82rem; border-radius: 10px; }
.btn.success { background: #2f7d51; border-color: #2a6d47; color: #fff; }
.btn.danger { background: #fff5f3; border-color: #e4b7af; color: #a33b2f; }
.device-card-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #dbe5ef; }
.device-card-actions form { margin: 0; }
.device-failure-summary { border: 1px solid #e8c1b9; background: #fff5f3; border-radius: 12px; padding: 10px 12px; display: grid; gap: 4px; }
.device-failure-summary strong { color: #8a2f25; }
.device-status-chip { display: inline-flex; width: fit-content; border-radius: 999px; background: #eef4fb; padding: 3px 8px; font-weight: 800; }
.inline-failure-form { background: #fff8f6; border: 1px solid #f0d0ca; border-radius: 12px; padding: 8px 10px; }


/* v9.6: preserve order Kanban movement while allowing device assignment */
.dashboard-component-dropzone { min-height: 64px; border-radius: 12px; transition: background .15s ease, outline-color .15s ease; }
.dashboard-component-dropzone.drag-over { background: #eef6ff; outline: 2px dashed #4f8cff; outline-offset: 2px; }
.global-device-column.drag-over { background: #ecfdf5; outline: 2px dashed #22c55e; outline-offset: 3px; }
.dashboard-component-card.dragging, .device-board-card.dragging { opacity: .55; transform: rotate(1deg); }
.mini-component-card { cursor: grab; }
.mini-component-card:active { cursor: grabbing; }

/* v9.6.1 Compact Device Board UI */
.global-device-twin-panel {
  min-width: 0;
}
.global-device-board {
  align-items: start;
}
.global-device-column,
.device-board-column.global-device-column {
  padding: 12px;
  border-radius: 18px;
}
.global-device-dropzone,
.device-board-dropzone.global-device-dropzone {
  min-height: 74px;
  padding: 8px;
  gap: 8px;
}
.device-work-card.global-device-card,
.global-device-card.device-work-card {
  padding: 10px 12px;
  gap: 8px;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}
.device-work-link {
  gap: 2px;
}
.device-work-link strong {
  font-size: 0.98rem;
  line-height: 1.15;
}
.device-work-link small {
  font-size: 0.82rem;
  line-height: 1.25;
}
.device-status-chip {
  margin-top: 3px;
  padding: 3px 8px;
  font-size: 0.78rem;
}
.device-work-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  border-top: 1px solid #dbe5ef;
  padding-top: 8px;
}
.device-work-actions form {
  margin: 0;
}
.device-work-actions .btn.tiny {
  white-space: nowrap;
  min-height: 34px;
  padding: 7px 12px;
}
.device-fail-details {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}
.device-fail-details summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #efc5be;
  border-radius: 10px;
  background: #fff8f6;
  font-size: 0.8rem;
}
.device-fail-details summary::-webkit-details-marker {
  display: none;
}
.device-fail-details summary::before {
  content: "⚠";
  font-size: 0.8rem;
}
.device-fail-details[open] {
  flex-basis: 100%;
}
.device-fail-details[open] form {
  margin-top: 8px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  width: 100%;
}
.device-fail-details[open] .failure-reason-input {
  min-height: 36px;
  padding: 7px 10px;
}
.device-fail-details[open] .btn.danger {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .device-work-actions {
    flex-wrap: wrap;
  }
  .device-fail-details[open] form {
    grid-template-columns: 1fr;
  }
}


/* v9.6.4 Expanded Workspace Boards - remove nested scrollbars */
.active-order-workbench,
.global-twin-layout,
.global-orders-panel,
.global-device-twin-panel,
.dashboard-order-list,
.compact-order-list,
.order-kanban-panel,
.full-order-kanban-panel,
.global-device-board,
.global-device-column,
.global-device-dropzone {
  overflow: visible !important;
  max-height: none !important;
}

.global-device-twin-panel {
  position: relative !important;
  top: auto !important;
  align-self: stretch;
  height: auto !important;
}

.global-twin-layout {
  align-items: start;
}

.full-order-kanban-panel .mini-component-board,
.mini-component-board-large {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  gap: 12px;
  overflow: visible !important;
  width: 100%;
}

.dashboard-component-column,
.mini-component-column {
  min-width: 0;
}

.dashboard-component-dropzone,
.mini-component-items {
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
}

.global-device-board {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.global-device-column {
  height: auto !important;
}

.global-device-dropzone {
  min-height: 92px;
  height: auto !important;
}

@media (max-width: 1250px) {
  .global-twin-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  .full-order-kanban-panel .mini-component-board,
  .mini-component-board-large {
    grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .full-order-kanban-panel .mini-component-board,
  .mini-component-board-large {
    grid-template-columns: 1fr !important;
  }
}

/* v9.6.5 True Expanded Workspace Boards - page scroll only, no nested Kanban scrollbars */
html,
body {
  overflow-x: hidden;
}

.active-order-workbench,
.active-order-workbench .global-twin-layout,
.active-order-workbench .global-orders-panel,
.active-order-workbench .global-device-twin-panel,
.active-order-workbench .dashboard-order-list,
.active-order-workbench .compact-order-list,
.active-order-workbench .dashboard-order-card,
.active-order-workbench .order-device-workspace-card,
.active-order-workbench .order-kanban-panel,
.active-order-workbench .full-order-kanban-panel,
.active-order-workbench .mini-component-board,
.active-order-workbench .mini-component-board-large,
.active-order-workbench .mini-component-column,
.active-order-workbench .dashboard-component-column,
.active-order-workbench .mini-component-items,
.active-order-workbench .dashboard-component-dropzone,
.active-order-workbench .global-device-board,
.active-order-workbench .global-device-column,
.active-order-workbench .global-device-dropzone,
.active-order-workbench .device-board-column,
.active-order-workbench .device-board-dropzone {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}

.active-order-workbench .global-device-twin-panel {
  position: relative !important;
  top: auto !important;
  align-self: start !important;
  min-height: 0 !important;
}

.active-order-workbench .global-twin-layout {
  align-items: start !important;
}

.active-order-workbench .full-order-kanban-panel .mini-component-board,
.active-order-workbench .mini-component-board-large {
  align-items: start !important;
  grid-auto-rows: auto !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  padding-bottom: 0 !important;
}

.active-order-workbench .mini-component-column,
.active-order-workbench .dashboard-component-column,
.active-order-workbench .global-device-column,
.active-order-workbench .device-board-column.global-device-column {
  align-self: start !important;
  min-height: 0 !important;
}

.active-order-workbench .mini-component-items,
.active-order-workbench .dashboard-component-dropzone {
  min-height: 86px !important;
  align-content: start !important;
}

.active-order-workbench .global-device-board {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  align-items: start !important;
}

.active-order-workbench .global-device-dropzone,
.active-order-workbench .device-board-dropzone.global-device-dropzone {
  min-height: 92px !important;
  align-content: start !important;
}

.active-order-workbench .mini-empty,
.active-order-workbench .device-empty {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 1181px) {
  .active-order-workbench .global-twin-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 440px) !important;
  }
}

@media (max-width: 1180px) {
  .active-order-workbench .global-device-board {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  }
}


/* v9.6.6 Active Jobs Auto Expand
   The right-side Active Jobs board should grow naturally based on device/job content.
   No inner scrollbars, no fixed panel height, and no stretched empty lanes. */
.global-twin-layout{
  align-items:start !important;
}
.global-device-twin-panel{
  position:relative !important;
  top:auto !important;
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.global-device-board{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  align-content:start !important;
  gap:14px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.global-device-column,
.device-board-column.global-device-column{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.global-device-dropzone,
.device-board-dropzone.global-device-dropzone{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.global-device-dropzone .device-empty{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:72px !important;
}
.global-device-dropzone:has(.device-work-card){
  min-height:0 !important;
}
.global-device-twin-panel .mini-board-title{
  align-items:flex-start !important;
}
@media (min-width: 1181px){
  .global-device-twin-panel{
    width:100% !important;
  }
}

/* v9.6.7 Active Jobs Device Type Filter */
.active-jobs-title{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
}
.active-jobs-title > div{display:grid;gap:3px;min-width:0;}
.active-jobs-filter{
  display:grid;
  gap:4px;
  min-width:150px;
  margin:0;
}
.active-jobs-filter span{
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.active-jobs-filter select{
  width:100%;
  min-height:36px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font-weight:700;
}
@media(max-width:900px){
  .active-jobs-title{flex-direction:column !important;}
  .active-jobs-filter{width:100%;}
}

/* v9.6.9 Active Orders Product Filter */
.active-orders-title-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.active-orders-product-filter {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 260px;
  max-width: 420px;
}

.active-orders-product-filter span {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted);
  font-weight: 900;
}

.active-orders-product-filter select {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid var(--line);
  padding: .45rem .65rem;
  font-weight: 800;
  background: white;
  color: var(--ink);
}

.active-order-sku {
  margin-bottom: .1rem !important;
}

.active-order-product-name {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.15;
  font-weight: 950;
  color: var(--ink);
}

@media (max-width: 760px) {
  .active-orders-product-filter {
    min-width: 100%;
  }
  .active-order-product-name {
    font-size: 1.05rem;
  }
}

/* v9.6.10 Collapsible Active Orders */
.collapsible-dashboard-order {
  transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

.collapsible-order-head {
  align-items: flex-start;
  gap: 1rem;
}

.collapsible-order-title-wrap {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .8rem;
  align-items: start;
  min-width: 0;
}

.order-collapse-toggle {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font-weight: 950;
  font-size: 1.05rem;
  box-shadow: 0 2px 0 rgba(15, 23, 42, .12);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: .05rem;
}

.order-collapse-toggle:hover {
  border-color: rgba(31, 95, 145, .45);
  background: #f7fbff;
}

.collapsible-order-summary-line {
  margin-top: .85rem;
}

.dashboard-order-collapsible-body {
  margin-top: 1rem;
}

.collapsible-dashboard-order.is-collapsed {
  padding-bottom: 1rem;
}

.collapsible-dashboard-order.is-collapsed .collapsible-order-summary-line {
  margin-top: .5rem;
}

.collapsible-dashboard-order.is-collapsed .dashboard-progress-line {
  margin-bottom: .35rem;
}

.collapsible-dashboard-order.is-collapsed .progress-track {
  max-width: none;
}

.priority-chip {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .collapsible-order-head {
    display: grid;
    grid-template-columns: 1fr;
  }
  .order-head-chips {
    justify-content: flex-start;
  }
  .order-collapse-toggle {
    width: 34px;
    height: 34px;
  }
}

/* v9.7 Waste tracking + rework UI */
.waste-form-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(90px,.6fr) minmax(90px,.6fr);gap:.5rem;align-items:end;margin:.5rem 0;}
.waste-form-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--muted,#64748b);}
.waste-form-grid input,.waste-form-grid select{min-width:0;}
.compact-waste-grid{grid-template-columns:1fr .7fr .55fr;margin:.35rem 0;}
.device-fail-details form{display:flex;flex-direction:column;gap:.4rem;}
.waste-log-card .table-wrap{max-height:none;overflow:visible;}
.waste-log-table textarea{min-width:220px;}
.waste-log-table .number-control{max-width:90px;}
.waste-log-summary{display:flex;gap:.75rem;flex-wrap:wrap;margin:.75rem 0;}
.waste-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:.35rem .6rem;background:#fff;font-size:.85rem;}
@media (max-width:900px){.waste-form-grid,.compact-waste-grid{grid-template-columns:1fr;}}

/* v9.7.1 Waste Failure UI Cleanup */
.device-work-actions {
  display: grid !important;
  grid-template-columns: auto auto !important;
  gap: 10px !important;
  align-items: start !important;
}
.device-work-actions > form {
  margin: 0 !important;
}
.device-work-actions .btn.success,
.device-work-actions .btn.tiny.success {
  min-width: 104px;
}
.device-fail-details {
  min-width: 0 !important;
}
.device-fail-details[open] {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  flex-basis: auto !important;
}
.device-fail-details summary {
  width: fit-content !important;
}
.device-fail-details[open] summary {
  margin-bottom: 10px;
}
.device-fail-details form,
.failure-rework-form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 0 !important;
}
.failure-field {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.failure-field span {
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted, #64748b);
  line-height: 1.1;
}
.failure-field input,
.failure-field select,
.failure-rework-form input,
.failure-rework-form select {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  min-height: 38px;
  border: 1px solid #ccd8e5;
  border-radius: 10px;
  padding: 7px 9px;
  font: inherit;
  background: #fff;
}
.failure-grid {
  display: grid !important;
  grid-template-columns: minmax(120px, 1.4fr) minmax(78px, .65fr) minmax(70px, .55fr) !important;
  gap: 8px !important;
  align-items: end !important;
  min-width: 0 !important;
}
.failure-save-btn {
  width: 100% !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin-top: 2px !important;
}
.compact-failure-form .failure-grid {
  grid-template-columns: minmax(0, 1fr) 86px 74px !important;
}
.global-device-card .device-work-actions {
  border-top: 1px solid #dbe5ef !important;
  padding-top: 10px !important;
}
.global-device-card .failure-reason-input {
  min-height: 38px !important;
}
@media (max-width: 520px) {
  .device-work-actions {
    grid-template-columns: 1fr 1fr !important;
  }
  .failure-grid,
  .compact-failure-form .failure-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v9.7.3 Linked Waste Material Rows */
.linked-waste-materials {
  display: grid;
  gap: .55rem;
  margin: .65rem 0;
  padding: .65rem;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 14px;
  background: rgba(248, 250, 252, .72);
}
.linked-waste-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(90px, .45fr) minmax(80px, .38fr);
  gap: .55rem;
  align-items: end;
  padding: .45rem 0;
  border-top: 1px solid rgba(148, 163, 184, .22);
}
.linked-waste-row:first-of-type { border-top: 0; padding-top: 0; }
.linked-waste-name { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.linked-waste-name strong { font-size: .95rem; line-height: 1.15; overflow-wrap: anywhere; }
.linked-waste-name small { color: var(--muted, #64748b); font-size: .78rem; line-height: 1.2; }
.linked-waste-empty {
  padding: .65rem;
  border: 1px dashed rgba(148, 163, 184, .45);
  border-radius: 12px;
  color: var(--muted, #64748b);
  font-size: .9rem;
}
.failure-field.compact-number input { max-width: 120px; }
.failure-field.compact-unit input { max-width: 105px; }
@media (max-width: 900px) {
  .linked-waste-row { grid-template-columns: 1fr; }
  .failure-field.compact-number input,
  .failure-field.compact-unit input { max-width: none; }
}

/* v9.7.3 linked waste material rows */
.linked-waste-help {
  color: var(--muted, #64748b);
  font-size: .82rem;
  line-height: 1.25;
  margin-top: -.25rem;
  margin-bottom: .35rem;
}
.linked-waste-materials .mini-label {
  color: #334155;
}
.linked-waste-row {
  background: #fff;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 14px;
  padding: .65rem;
}
.linked-waste-row .failure-field span {
  white-space: nowrap;
}

/* v9.7.4 Waste reasons, cost tracking, and compact failure forms */
.failure-reason-select {
  appearance: auto !important;
  cursor: pointer;
}
.global-device-card .failure-rework-form,
.device-board-card .failure-rework-form {
  gap: .55rem !important;
}
.global-device-card .linked-waste-materials,
.device-board-card .linked-waste-materials {
  padding: .5rem !important;
  gap: .45rem !important;
  margin: .45rem 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.global-device-card .linked-waste-help,
.device-board-card .linked-waste-help {
  font-size: .72rem !important;
  line-height: 1.15 !important;
}
.global-device-card .linked-waste-materials .mini-label,
.device-board-card .linked-waste-materials .mini-label {
  font-size: .67rem !important;
  line-height: 1.15 !important;
}
.global-device-card .linked-waste-row,
.device-board-card .linked-waste-row {
  grid-template-columns: minmax(0, 1fr) 72px 62px !important;
  gap: .35rem !important;
  padding: .45rem !important;
  border-radius: 12px !important;
  align-items: end !important;
}
.global-device-card .linked-waste-name strong,
.device-board-card .linked-waste-name strong {
  font-size: .8rem !important;
  line-height: 1.05 !important;
}
.global-device-card .linked-waste-name small,
.device-board-card .linked-waste-name small {
  font-size: .68rem !important;
  line-height: 1.05 !important;
}
.global-device-card .failure-field span,
.device-board-card .failure-field span {
  font-size: .6rem !important;
  line-height: 1 !important;
}
.global-device-card .failure-field input,
.global-device-card .failure-field select,
.device-board-card .failure-field input,
.device-board-card .failure-field select {
  min-height: 32px !important;
  padding: 5px 7px !important;
  border-radius: 9px !important;
  font-size: .86rem !important;
}
.global-device-card .failure-field.compact-number input,
.device-board-card .failure-field.compact-number input {
  max-width: 72px !important;
}
.global-device-card .failure-field.compact-unit input,
.device-board-card .failure-field.compact-unit input {
  max-width: 62px !important;
}
.global-device-card .failure-save-btn,
.device-board-card .failure-save-btn {
  min-height: 36px !important;
  font-size: .78rem !important;
}
@media (max-width: 640px) {
  .global-device-card .linked-waste-row,
  .device-board-card .linked-waste-row {
    grid-template-columns: 1fr !important;
  }
  .global-device-card .failure-field.compact-number input,
  .global-device-card .failure-field.compact-unit input,
  .device-board-card .failure-field.compact-number input,
  .device-board-card .failure-field.compact-unit input {
    max-width: none !important;
  }
}
.failure-reason-add-form {
  display: grid;
  grid-template-columns: 90px 160px minmax(220px, 1fr) 110px minmax(200px, 1fr) auto;
  gap: .75rem;
  align-items: end;
  margin: 1rem 0 1.25rem;
}
.failure-reason-add-form label {
  display: grid;
  gap: .35rem;
  font-weight: 800;
  color: var(--text, #111827);
}
.failure-reason-add-form input {
  min-height: 38px;
  border: 1px solid #ccd8e5;
  border-radius: 10px;
  padding: 7px 10px;
  font: inherit;
}
.table-check { justify-content: flex-start; }
.waste-qty-cell {
  display: flex;
  gap: .35rem;
  align-items: center;
}
.waste-qty-cell .number-control:first-child { width: 86px; }
.waste-qty-cell .number-control:last-child { width: 70px; }
@media (max-width: 1100px) {
  .failure-reason-add-form { grid-template-columns: 1fr 1fr; }
}


/* v9.7.5 Admin collapsible sections */
.admin-collapsible-card {
  overflow: visible;
}
.admin-collapsible-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}
.admin-collapsible-card > summary::-webkit-details-marker {
  display: none;
}
.admin-collapsible-card > summary .section-head {
  flex: 1;
  margin: 0;
}
.admin-collapsible-card .collapse-chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #eef4fb;
  color: #334155;
  font-weight: 900;
  flex: 0 0 auto;
}
.admin-collapsible-card:not([open]) .collapse-chev {
  transform: rotate(-90deg);
}
.admin-collapsible-card:not([open]) {
  padding-bottom: 1rem;
}
.admin-collapsible-card > .collapsible-body {
  margin-top: 1rem;
}
.admin-hero .button-row {
  flex-wrap: wrap;
}

/* v9.8 Prototype Workbench */
.prototype-workbench { width: 100%; }
.workbench-header { align-items: flex-start; gap: 1rem; }
.workbench-grid { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(420px, 1.15fr); gap: 1.25rem; align-items: start; }
.workbench-main-grid { display: grid; grid-template-columns: minmax(420px, 1fr) minmax(520px, 1.2fr); gap: 1.25rem; align-items: start; margin-top: 1.25rem; }
.workbench-panel { overflow: visible; }
.compact-head h2 { margin-bottom: .15rem; }
.stacked-form { display: grid; gap: .8rem; }
.form-grid { display: grid; gap: .75rem; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.form-grid label, .stacked-form label, .run-history-card label, .run-create-form label { display: grid; gap: .25rem; font-weight: 650; font-size: .84rem; color: var(--text-muted, #64748b); }
.form-grid input, .form-grid select, .form-grid textarea, .stacked-form input, .stacked-form select, .stacked-form textarea, .run-history-card input, .run-history-card select, .run-history-card textarea, .run-create-form input, .run-create-form select, .run-create-form textarea, .material-link-form input, .material-link-form select { width: 100%; min-width: 0; box-sizing: border-box; }
.idea-list { display: grid; gap: .55rem; }
.idea-pill { display: grid; grid-template-columns: auto 1fr auto; gap: .55rem; align-items: center; text-decoration: none; padding: .65rem .75rem; border: 1px solid var(--border, #d9e2ec); border-radius: 14px; background: #fff; color: inherit; }
.idea-pill.active { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .10); }
.idea-pill em { font-size: .75rem; color: #64748b; font-style: normal; }
.prototype-custom-row { display: grid; grid-template-columns: 140px 170px minmax(200px, 1fr) 150px 140px; gap: .75rem; align-items: end; }
.toggle-row { align-self: center; display: flex !important; grid-template-columns: none !important; flex-direction: row; gap: .5rem !important; align-items: center; color: #0f172a !important; }
.component-stack { display: grid; gap: .9rem; }
.prototype-component-card, .run-history-card, .run-create-form { border: 1px solid var(--border, #d9e2ec); border-radius: 16px; background: #fff; padding: .9rem; box-shadow: 0 10px 24px rgba(15,23,42,.05); }
.component-card-top, .run-title-row { display: flex; justify-content: space-between; gap: 1rem; align-items: start; margin-bottom: .55rem; }
.component-card-top strong, .run-title-row strong { font-size: 1.02rem; }
.component-card-top span { display: block; color: #64748b; font-size: .82rem; margin-top: .15rem; }
.linked-materials { display: flex; flex-wrap: wrap; gap: .45rem; margin: .55rem 0; }
.linked-material-pill { display: flex; align-items: center; gap: .45rem; padding: .45rem .55rem; border-radius: 999px; background: #f1f5f9; border: 1px solid #e2e8f0; font-size: .84rem; }
.linked-material-pill small { color: #64748b; }
.mini-danger { border: 0; color: #b91c1c; background: transparent; font-weight: 900; cursor: pointer; }
.material-link-form { display: grid; grid-template-columns: minmax(190px, 1fr) 90px 110px minmax(160px, 1fr) auto; gap: .5rem; align-items: end; }
.prototype-run-panel { margin-top: 1.25rem; }
.prototype-run-grid { display: grid; grid-template-columns: minmax(420px, .95fr) minmax(540px, 1.05fr); gap: 1rem; align-items: start; }
.prototype-run-create, .prototype-run-history { display: grid; gap: .8rem; }
.run-create-form { display: grid; gap: .7rem; }
.status-chip { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: .25rem .55rem; background: #eef2ff; color: #3730a3; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.compact-muted { margin: .15rem 0 .45rem; font-size: .8rem; }
.action-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .55rem; }
@media (max-width: 1100px) { .workbench-grid, .workbench-main-grid, .prototype-run-grid { grid-template-columns: 1fr; } .form-grid.three, .form-grid.four, .prototype-custom-row, .material-link-form { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { .form-grid.two, .form-grid.three, .form-grid.four, .prototype-custom-row, .material-link-form { grid-template-columns: 1fr; } }


/* v9.8.2 Prototype Workbench Component Form Layout Fix */
.prototype-add-component-clean {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 18px;
  background: #fbfdff;
}
.prototype-component-basic-grid {
  display: grid;
  grid-template-columns: 84px minmax(240px, 1.6fr) minmax(150px, .8fr) 110px minmax(180px, .9fr) 130px;
  gap: .75rem;
  align-items: end;
}
.prototype-component-basic-grid label,
.prototype-customization-settings label,
.prototype-notes-field {
  display: grid;
  gap: .3rem;
  min-width: 0;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted, #64748b);
}
.prototype-component-basic-grid input,
.prototype-component-basic-grid select,
.prototype-customization-settings input,
.prototype-customization-settings select,
.prototype-notes-field textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 650;
  color: var(--text, #0f172a);
}
.prototype-component-basic-grid .field-name { grid-column: span 2; }
.prototype-customization-settings {
  display: grid;
  grid-template-columns: 190px minmax(170px, .8fr) minmax(220px, 1.1fr) minmax(150px, .7fr);
  gap: .75rem;
  align-items: end;
  padding: .85rem;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.prototype-toggle-card {
  display: grid;
  gap: .4rem;
  align-self: stretch;
  padding: .55rem .7rem;
  border-radius: 14px;
  border: 1px solid #d9e2ec;
  background: #f8fafc;
}
.prototype-toggle-card .mini-label {
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted, #64748b);
}
.switch-line {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: .5rem !important;
  color: var(--text, #0f172a) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: .95rem !important;
}
.switch-line input { width: auto !important; }
.prototype-form-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.prototype-material-card-list {
  display: grid;
  gap: .8rem;
}
.prototype-material-component-card {
  padding: .9rem;
}
.prototype-material-main {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.2fr);
  gap: 1rem;
  align-items: start;
}
.prototype-component-title {
  display: block;
  font-size: 1.08rem;
  line-height: 1.2;
  word-break: normal;
  overflow-wrap: anywhere;
}
.prototype-material-summary {
  min-width: 0;
}
.prototype-material-summary .btn {
  margin-top: .45rem;
  width: 100%;
}
.material-summary-line {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  padding: .25rem 0;
  border-bottom: 1px solid #edf2f7;
  font-size: .9rem;
}
@media (max-width: 1400px) {
  .prototype-component-basic-grid { grid-template-columns: 80px minmax(220px, 1.4fr) minmax(140px, .8fr) 110px minmax(170px, .9fr); }
  .prototype-component-basic-grid label:last-child { grid-column: span 1; }
}
@media (max-width: 1100px) {
  .prototype-component-basic-grid,
  .prototype-customization-settings,
  .prototype-material-main { grid-template-columns: 1fr 1fr; }
  .prototype-component-basic-grid .field-name { grid-column: span 1; }
}
@media (max-width: 720px) {
  .prototype-component-basic-grid,
  .prototype-customization-settings,
  .prototype-material-main { grid-template-columns: 1fr; }
  .prototype-form-actions { justify-content: stretch; }
  .prototype-form-actions .btn { width: 100%; }
}

/* v9.8.3 Prototype Workbench Product-Style Materials Fix */
.prototype-components-workspace {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
.prototype-component-section {
  overflow: visible;
}
.prototype-add-component-card {
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 20px;
  background: #fbfdff;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.prototype-add-component-card > summary {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: 1rem 1.1rem;
  cursor: pointer;
  list-style: none;
  background: #f8fafc;
  border-bottom: 1px solid var(--border, #d9e2ec);
}
.prototype-add-component-card > summary::-webkit-details-marker { display:none; }
.prototype-add-component-card:not([open]) > summary { border-bottom: 0; }
.prototype-add-component-card:not([open]) .collapse-chev { transform: rotate(-90deg); }
.prototype-add-component-card h3 { margin: 0; }
.prototype-product-style-add {
  display: grid;
  gap: 1rem;
  padding: 1rem 1.1rem;
}
.prototype-add-grid-primary,
.prototype-add-grid-custom {
  display: grid;
  gap: .8rem;
  align-items: end;
}
.prototype-add-grid-primary {
  grid-template-columns: 88px minmax(280px, 1.4fr) minmax(150px, .7fr) 120px minmax(180px, .8fr) 140px;
}
.prototype-add-grid-custom {
  grid-template-columns: 170px minmax(180px, .8fr) minmax(180px, .8fr) minmax(260px, 1.2fr) minmax(260px, 1.2fr);
}
.prototype-product-style-add label {
  display: grid;
  gap: .3rem;
  min-width: 0;
  font-weight: 900;
  color: var(--muted, #64748b);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.prototype-product-style-add input,
.prototype-product-style-add select,
.prototype-product-style-add textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  text-transform: none;
  letter-spacing: normal;
  font-size: .95rem;
  font-weight: 650;
  color: var(--ink, #0f172a);
}
.prototype-product-style-add .check {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: .55rem;
  min-height: 48px;
  padding: .65rem .8rem;
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 14px;
  background: #fff;
  color: var(--ink, #0f172a);
  text-transform: none;
  letter-spacing: normal;
  font-size: .95rem;
}
.prototype-product-style-add .check input { width: auto; }
.prototype-product-style-add .wide textarea { min-height: 76px; }
.prototype-product-style-materials .component-editor-card { overflow: visible; }
.prototype-product-style-materials .component-card-main {
  grid-template-columns: 74px minmax(300px, 1.25fr) minmax(340px, .95fr);
}
.prototype-product-style-materials .component-title-block input[readonly] {
  background: #fff;
  cursor: default;
}
.prototype-product-style-materials .component-material-summary { min-width: 0; }
.prototype-product-style-materials .material-summary-line { align-items: center; }
.prototype-product-style-materials .material-summary-line span { white-space: nowrap; }
.configured-components-head .count-pill {
  align-self: center;
  white-space: nowrap;
}
/* Prevent older prototype grid styles from forcing overlap */
.workbench-main-grid { display: block; }
.prototype-add-component-clean,
.prototype-component-basic-grid,
.prototype-customization-settings,
.prototype-material-main { max-width: 100%; }
@media (max-width: 1350px) {
  .prototype-add-grid-primary { grid-template-columns: 80px minmax(240px, 1fr) minmax(140px, .7fr) 110px minmax(160px, .8fr); }
  .prototype-add-grid-primary label:last-child { grid-column: 1 / span 2; }
  .prototype-add-grid-custom { grid-template-columns: 160px 1fr 1fr; }
  .prototype-add-grid-custom .wide { grid-column: span 3; }
}
@media (max-width: 1100px) {
  .prototype-add-grid-primary,
  .prototype-add-grid-custom,
  .prototype-product-style-materials .component-card-main { grid-template-columns: 1fr 1fr; }
  .prototype-add-grid-primary .field-name,
  .prototype-add-grid-custom .wide { grid-column: span 2; }
  .prototype-product-style-materials .component-material-summary { border-left: 0; border-top: 1px solid var(--border, #d9e2ec); padding: 12px 0 0; }
}
@media (max-width: 720px) {
  .prototype-add-grid-primary,
  .prototype-add-grid-custom,
  .prototype-product-style-materials .component-card-main { grid-template-columns: 1fr; }
  .prototype-add-grid-primary .field-name,
  .prototype-add-grid-custom .wide { grid-column: span 1; }
}

/* v9.8.4 Prototype Iteration Workbench */
.iteration-workbench { width: 100%; }
.proto-sticky-head { align-items: center; }
.prototype-command-strip,
.prototype-product-bar,
.proto-add-component-strip,
.proto-component-summary-strip,
.proto-kanban-panel,
.prototype-inspector { overflow: visible; }
.prototype-command-strip { display: grid; gap: 1rem; margin-bottom: 1rem; }
.proto-command-panel { border: 1px solid var(--border, #d9e2ec); border-radius: 18px; background: #f8fbff; overflow: hidden; }
.proto-command-panel > summary { list-style: none; cursor: pointer; display: flex; gap: .75rem; align-items: center; padding: 1rem 1.1rem; border-bottom: 1px solid var(--border, #d9e2ec); }
.proto-command-panel > summary::-webkit-details-marker { display: none; }
.proto-command-panel:not([open]) > summary { border-bottom: 0; }
.proto-command-panel:not([open]) .collapse-chev { transform: rotate(-90deg); }
.proto-idea-form { display: grid; grid-template-columns: 150px minmax(240px, 1fr) 180px 140px; gap: .85rem; padding: 1rem; align-items: end; }
.proto-idea-form .wide { grid-column: span 2; }
.proto-idea-form label,
.proto-edit-drawer label,
.proto-inspector-form label { display: grid; gap: .35rem; font-weight: 800; color: var(--muted, #66758a); letter-spacing: .04em; }
.proto-form-actions { display: flex; justify-content: flex-end; align-items: end; }
.compact-idea-list { display: flex; flex-wrap: wrap; gap: .6rem; }
.prototype-product-bar { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: start; margin-bottom: 1rem; }
.prototype-product-bar h2 { margin-bottom: .15rem; }
.proto-product-actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.proto-edit-drawer { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: .75rem; border-top: 1px solid var(--border, #d9e2ec); padding-top: 1rem; }
.proto-edit-drawer .wide { grid-column: span 2; }
.prototype-iteration-shell { display: grid; grid-template-columns: minmax(680px, 1fr) minmax(360px, 430px); gap: 1rem; align-items: start; }
.prototype-board-side { display: grid; gap: 1rem; min-width: 0; }
.prototype-inspector { position: sticky; top: 92px; max-height: calc(100vh - 110px); overflow-y: auto; display: grid; gap: 1rem; padding: 1rem; }
.inspector-head { border-bottom: 1px solid var(--border, #d9e2ec); padding-bottom: .75rem; }
.inspector-head h2 { margin: 0; }
.inspector-block { border: 1px solid var(--border, #d9e2ec); border-radius: 18px; padding: .9rem; background: #fff; display: grid; gap: .75rem; }
.inspector-block h3 { margin: 0; }
.proto-inspector-form { display: grid; gap: .75rem; }
.proto-component-chips { display: flex; flex-wrap: wrap; gap: .65rem; }
.proto-component-chip { border: 1px solid var(--border, #d9e2ec); background: #fff; border-radius: 16px; padding: .75rem .9rem; display: grid; min-width: 220px; text-decoration: none; color: inherit; box-shadow: 0 8px 18px rgba(15,23,42,.04); }
.proto-component-chip.active { border-color: #1aa6b7; box-shadow: inset 4px 0 0 #1aa6b7, 0 8px 18px rgba(15,23,42,.06); }
.proto-component-chip strong { font-size: 1.02rem; }
.proto-component-chip span,
.proto-component-chip em { color: var(--muted, #66758a); font-style: normal; font-weight: 700; }
.prototype-iteration-board { display: grid; grid-template-columns: repeat(6, minmax(220px, 1fr)); gap: .85rem; align-items: stretch; overflow-x: auto; padding-bottom: .25rem; }
.proto-run-lane { border: 1px solid var(--border, #d9e2ec); border-radius: 18px; background: #f8fbff; padding: .8rem; min-width: 220px; display: grid; grid-template-rows: auto 1fr; gap: .6rem; }
.proto-run-lane-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: .5rem; border-bottom: 1px solid var(--border, #d9e2ec); }
.proto-run-lane-body { display: grid; gap: .55rem; align-content: start; min-height: 140px; }
.proto-run-card { display: grid; gap: .35rem; border: 1px solid var(--border, #d9e2ec); border-radius: 16px; background: #fff; color: inherit; text-decoration: none; padding: .7rem; box-shadow: inset 4px 0 0 #1aa6b7, 0 6px 14px rgba(15,23,42,.04); }
.proto-run-card.active { outline: 3px solid rgba(26,166,183,.18); border-color: #1aa6b7; }
.proto-run-card .run-title-row { display: flex; justify-content: space-between; gap: .5rem; }
.proto-empty-lane { border: 2px dashed #d8e8f8; border-radius: 14px; color: var(--muted, #66758a); font-weight: 900; display: grid; place-items: center; min-height: 76px; }
.proto-add-component-strip .prototype-add-component-card { margin: 0; }
.proto-compact-component-form { background: #fff; }
.selected-run-block { border-color: #bde6ee; box-shadow: inset 4px 0 0 #1aa6b7; }

@media (max-width: 1280px) {
  .prototype-iteration-shell { grid-template-columns: 1fr; }
  .prototype-inspector { position: static; max-height: none; overflow: visible; }
  .prototype-iteration-board { grid-template-columns: repeat(6, minmax(220px, 260px)); }
}
@media (max-width: 900px) {
  .proto-idea-form,
  .proto-edit-drawer { grid-template-columns: 1fr 1fr; }
  .proto-idea-form .wide,
  .proto-edit-drawer .wide { grid-column: span 2; }
  .prototype-product-bar { grid-template-columns: 1fr; }
  .proto-product-actions { justify-content: flex-start; }
}
@media (max-width: 620px) {
  .proto-idea-form,
  .proto-edit-drawer { grid-template-columns: 1fr; }
  .proto-idea-form .wide,
  .proto-edit-drawer .wide { grid-column: span 1; }
}


/* v9.8.5 Prototype Inspector Layout Fix
   Keep the iteration inspector docked in normal page flow instead of floating over the workbench.
   The page itself can scroll; no inspector overlay or clipped panel. */
.prototype-iteration-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  gap: 1.25rem;
  align-items: start;
  overflow: visible;
}
.prototype-board-side,
.prototype-inspector {
  min-width: 0;
}
.prototype-inspector {
  position: static !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
  align-self: start;
  z-index: 1;
}
.prototype-inspector.card {
  margin: 0;
}
.proto-kanban-panel,
.proto-component-summary-strip,
.proto-add-component-strip {
  min-width: 0;
}
.prototype-iteration-board {
  width: 100%;
  max-width: 100%;
}
.proto-inspector-form .form-grid.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
@media (max-width: 1450px) {
  .prototype-iteration-shell {
    grid-template-columns: 1fr;
  }
  .prototype-inspector {
    order: -1;
  }
}
@media (max-width: 720px) {
  .proto-inspector-form .form-grid.two {
    grid-template-columns: 1fr;
  }
}


/* v9.8.7 Admin Options Filtering + Grouping */
.options-workbench-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(320px, .9fr);
  gap: 1rem;
  align-items: start;
  margin: 1rem 0 1.25rem;
}
.option-add-card,
.option-filter-card {
  background: rgba(248, 250, 252, .92);
  border: 1px solid #d8e3ef;
  border-radius: 18px;
  padding: 1rem;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
}
.mini-section-title {
  font-weight: 900;
  font-size: 1.05rem;
  margin-bottom: .75rem;
  color: var(--text, #111827);
}
.option-add-card {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(180px, 1.1fr) minmax(180px, 1.1fr) 90px;
  gap: .7rem;
  align-items: end;
}
.option-filter-card {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(150px, .8fr);
  gap: .7rem;
  align-items: end;
}
.option-add-card label,
.option-filter-card label {
  display: grid;
  gap: .35rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #64748b;
  font-size: .78rem;
}
.option-add-card input,
.option-add-card select,
.option-filter-card input,
.option-filter-card select {
  min-height: 40px;
  border: 1px solid #ccd8e5;
  border-radius: 10px;
  padding: 8px 10px;
  font: inherit;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text, #111827);
  background: #fff;
}
.option-active-check {
  min-height: 40px;
  align-content: center;
}
.option-notes,
.option-search {
  grid-column: 1 / -1;
}
.option-add-card .btn {
  grid-column: 1 / -1;
}
.option-filter-actions {
  display: flex;
  gap: .6rem;
  align-items: center;
}
.option-filter-count {
  margin: 0;
  align-self: center;
}
.option-group-list {
  display: grid;
  gap: .9rem;
  margin-top: .75rem;
}
.option-group-card {
  border: 1px solid #d8e3ef;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}
.option-group-card > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .9rem 1rem;
  background: rgba(241, 245, 249, .78);
  border-bottom: 1px solid #d8e3ef;
  font-weight: 900;
  color: var(--text, #111827);
}
.option-group-card > summary::-webkit-details-marker {
  display: none;
}
.option-group-card > summary::before {
  content: "▸";
  margin-right: .45rem;
  transition: transform .16s ease;
}
.option-group-card[open] > summary::before {
  transform: rotate(90deg);
}
.option-table th:first-child,
.option-table td:first-child {
  width: 90px;
}
.empty-state-card {
  border: 1px dashed #c8d8ea;
  border-radius: 16px;
  padding: 1rem;
  color: #64748b;
  font-weight: 800;
  background: #f8fafc;
}
@media (max-width: 1100px) {
  .options-workbench-grid {
    grid-template-columns: 1fr;
  }
  .option-add-card,
  .option-filter-card {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 700px) {
  .option-add-card,
  .option-filter-card {
    grid-template-columns: 1fr;
  }
}


/* v9.8.8 Admin Options + site polish */
:root {
  --control-height: 44px;
  --control-border: #cbd8e6;
  --control-radius: 12px;
}
.card, .admin-collapsible-card, .option-add-card, .option-filter-card, .option-group-card {
  box-sizing: border-box;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.table-control {
  min-height: var(--control-height);
  border: 1px solid var(--control-border);
  border-radius: var(--control-radius);
  box-sizing: border-box;
}
textarea { line-height: 1.35; }
.btn, button.btn, a.btn {
  min-height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  white-space: nowrap;
}
.options-workbench-grid {
  grid-template-columns: 1fr;
}
.option-add-card {
  grid-template-columns: 220px minmax(220px, 1fr) minmax(180px, .7fr) 100px 120px;
  align-items: end;
}
.option-add-card .mini-section-title,
.option-filter-card .mini-section-title {
  grid-column: 1 / -1;
}
.option-add-card label,
.option-filter-card label {
  min-width: 0;
}
.option-add-card input,
.option-add-card select,
.option-filter-card input,
.option-filter-card select {
  width: 100%;
  max-width: 100%;
}
.option-active-check {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .55rem !important;
  min-height: var(--control-height);
  padding: 0 .25rem;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--text, #111827) !important;
  font-size: .95rem !important;
}
.option-active-check input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  transform: none !important;
  scale: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #1f6b9f;
}
.option-notes { grid-column: 1 / -1; }
.option-add-card .btn { grid-column: 1 / -1; }
.option-filter-card {
  grid-template-columns: 220px 180px minmax(260px, 1fr) auto auto;
  align-items: end;
}
.option-search { grid-column: auto; }
.option-filter-actions { align-self: end; }
.option-filter-count { align-self: center; font-weight: 800; }
.option-group-card > summary {
  min-height: 54px;
}
.option-table input.table-control,
.option-table select.table-control {
  min-height: 38px;
  border-radius: 10px;
}
.admin-note-card {
  border-left: 5px solid #1aa6b7;
}
.section-head.embedded h2,
.card h2 {
  letter-spacing: -0.02em;
}
.count-pill {
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .option-add-card,
  .option-filter-card {
    grid-template-columns: 1fr 1fr;
  }
  .option-search { grid-column: 1 / -1; }
  .option-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .option-add-card,
  .option-filter-card {
    grid-template-columns: 1fr;
  }
  .option-notes,
  .option-search,
  .option-filter-actions {
    grid-column: 1;
  }
}


/* v9.8.9 Admin devices shortcut + nav cleanup */
.admin-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.admin-shortcut-card {
  display: grid;
  gap: .35rem;
  padding: 1rem;
  border: 1px solid #d8e3ef;
  border-radius: 16px;
  background: #f8fafc;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.admin-shortcut-card strong {
  color: #0f172a;
  font-size: 1.05rem;
}
.admin-shortcut-card span {
  color: #64748b;
  font-weight: 700;
}
.admin-shortcut-card:hover {
  border-color: #87aef2;
  transform: translateY(-1px);
}


/* v11.0 Security + Multi-Tenant Foundation */
.auth-shell {
  min-height: calc(100vh - 190px);
  display: grid;
  place-items: center;
  padding: 2rem;
}
.auth-card {
  width: min(520px, 100%);
  background: #fff;
  border: 1px solid #d8e3ef;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .12);
  padding: 2rem;
}
.auth-card h1 {
  margin-top: 0;
}
.auth-form {
  display: grid;
  gap: 1rem;
}
.auth-form label {
  display: grid;
  gap: .4rem;
  font-weight: 900;
  color: #334155;
}
.auth-form input,
.auth-form select {
  min-height: 44px;
  border: 1px solid #ccd8e5;
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
}
.password-policy,
.small-note {
  font-size: .9rem;
  color: #64748b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: .75rem;
}
.nav-user {
  color: #dbeafe;
  font-weight: 800;
  font-size: .85rem;
  padding: .3rem .55rem;
  border: 1px solid rgba(219,234,254,.35);
  border-radius: 999px;
}
.security-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 1rem;
}
.embedded-card {
  background: #fff;
  border: 1px solid #d8e3ef;
  border-radius: 18px;
  padding: 1rem;
}
.security-policy-grid,
.security-add-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: .75rem;
  align-items: end;
}
.security-policy-grid label,
.security-add-grid label {
  display: grid;
  gap: .35rem;
  font-weight: 900;
  color: #475569;
}
.security-policy-grid input,
.security-policy-grid select,
.security-add-grid input,
.security-add-grid select {
  min-height: 40px;
  border: 1px solid #ccd8e5;
  border-radius: 10px;
  padding: 8px 10px;
}
.full-span {
  grid-column: 1 / -1;
}
.security-table td {
  vertical-align: top;
}
@media (max-width: 1000px) {
  .security-admin-grid,
  .security-policy-grid,
  .security-add-grid {
    grid-template-columns: 1fr;
  }
}


/* v11.2 header user icon menu */
.user-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.user-menu-button {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(219,234,254,.45);
  background: rgba(255,255,255,.08);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 1.15rem;
}
.user-menu-button:hover {
  background: rgba(255,255,255,.16);
}
.user-menu-panel {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  min-width: 260px;
  background: #fff;
  border: 1px solid #d8e3ef;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(15, 23, 42, .2);
  padding: .9rem;
  z-index: 999;
  color: #0f172a;
}
.user-menu.open .user-menu-panel {
  display: grid;
  gap: .35rem;
}
.user-menu-panel strong {
  font-weight: 900;
}
.user-menu-panel span {
  color: #64748b;
  font-weight: 700;
  font-size: .92rem;
}
.user-menu-panel a {
  margin-top: .45rem;
  color: #b42318 !important;
  font-weight: 900;
  text-decoration: none;
}


/* v11.3 tenant isolation + audit trail */
.audit-table {
  font-size: .88rem;
}
.audit-pre {
  white-space: pre-wrap;
  max-width: 320px;
  max-height: 180px;
  overflow: auto;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: .55rem;
  margin: 0;
  color: #334155;
}
.audit-trail-card .table-wrap {
  max-height: 620px;
  overflow: auto;
}


/* v11.3.9 refined user menu */
.user-menu-panel .user-menu-admin-link {
  color: #1f6699 !important;
  font-weight: 900;
  text-decoration: none;
  border-top: 1px solid #e2e8f0;
  padding-top: .55rem;
  margin-top: .55rem;
}
.user-menu-panel .user-menu-admin-link:hover {
  text-decoration: underline;
}


/* v11.5.1 role permission matrix */
.permission-matrix-table {
  font-size: .78rem;
}
.permission-matrix-table th {
  vertical-align: bottom;
  min-width: 90px;
}
.permission-cell {
  text-align: center;
  font-weight: 900;
}
.permission-cell.allowed {
  color: #166534;
}
.permission-cell.blocked {
  color: #94a3b8;
}


/* v11.5.3 user admin polish */
.section-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: .85rem;
}
.inline-actions {
  display: flex;
  align-items: end;
  gap: .65rem;
  flex-wrap: wrap;
}
.inline-filter-form label {
  display: grid;
  gap: .25rem;
  font-weight: 800;
  color: #64748b;
}
.inline-filter-form select {
  min-width: 190px;
}
.permission-matrix-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.user-flags-panel {
  display: grid;
  gap: .55rem;
  min-width: 280px;
}
.user-flags-panel .checkbox-row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: .45rem;
}
.user-flags-panel small,
.lockout-status small {
  display: block;
  color: #64748b;
  font-weight: 650;
  line-height: 1.25;
}
.lockout-status {
  border: 1px solid #d8e3ef;
  background: #f8fafc;
  border-radius: 12px;
  padding: .5rem .65rem;
}
.temp-password-label {
  display: grid;
  gap: .25rem;
  font-weight: 800;
  color: #64748b;
}


/* v11.6.3 workflow hue + selective visual icons */
.dev-blue-workspace {
  --cyan: #38bdf8;
  --blue: #1d4ed8;
  --panel-accent: #2563eb;
}
.dev-blue-workspace .card,
.dev-blue-workspace .collapsible-card,
.dev-blue-workspace .prototype-command-strip,
.dev-blue-workspace .run-inspector-card {
  border-color: #bfdbfe !important;
  border-top-color: #2563eb !important;
  box-shadow: 0 16px 34px rgba(29, 78, 216, .09) !important;
}
.dev-blue-workspace .workbench-header,
.dev-blue-workspace .proto-sticky-head {
  background: linear-gradient(135deg, rgba(239,246,255,.96), rgba(219,234,254,.82)) !important;
  border: 1px solid #bfdbfe !important;
  border-left: 8px solid #2563eb !important;
  border-radius: 22px;
  padding: 1rem;
}
.dev-blue-workspace .eyebrow,
.dev-blue-workspace h1,
.dev-blue-workspace h2 {
  color: #1e3a8a;
}
.dev-blue-workspace .btn.primary {
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
}
.danger-admin-hero {
  background: linear-gradient(135deg, rgba(255,247,237,.96), rgba(254,226,226,.82));
  border: 1px solid #fecaca;
  border-left: 8px solid #dc2626;
  border-radius: 22px;
  padding: 1rem;
}
.admin-security-card,
.audit-trail-card,
.admin-collapsible-card {
  border-color: #fecaca !important;
  border-top-color: #dc2626 !important;
  box-shadow: 0 16px 34px rgba(185, 28, 28, .07) !important;
}
.admin-hero h1,
.admin-collapsible-card h2 {
  color: #7f1d1d;
}
.section-icon,
.entity-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  margin-right: .38rem;
  line-height: 1;
}
.entity-icon {
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  font-size: .95rem;
  border: 1px solid #d8e3ef;
  background: #fff;
  box-shadow: 0 5px 12px rgba(15,23,42,.06);
}
.product-icon { background: #eff6ff; border-color: #bfdbfe; }
.component-icon { background: #f5f3ff; border-color: #ddd6fe; }
.material-icon { background: #ecfdf5; border-color: #bbf7d0; }
.device-icon { background: #fefce8; border-color: #fde68a; }
.icon-admin {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: #fee2e2;
  border: 1px solid #fecaca;
  color: #991b1b;
}
.icon-legend-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  margin: .75rem 0 1rem;
}
.icon-legend-row span {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .38rem .55rem;
  border: 1px solid #d8e3ef;
  background: rgba(255,255,255,.86);
  border-radius: 999px;
  font-weight: 850;
  color: #475569;
}
.component-title-block label,
.configured-components-header h3,
.component-add-summary h3 {
  display: inline-flex;
  align-items: center;
}
.icon-material-zone {
  background: linear-gradient(135deg, #ffffff, #f0fdf4);
}


/* v11.6.4 icon scale normalization + role matrix polish */
.section-icon,
.entity-icon {
  box-sizing: border-box;
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: -0.18em;
  margin-right: .45rem;
  line-height: 1;
  font-size: 0 !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 950;
  text-align: center;
  overflow: hidden;
}
.entity-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  border-radius: 10px !important;
  border: 1px solid #d8e3ef;
  box-shadow: 0 6px 14px rgba(15,23,42,.07);
}
.entity-icon::before,
.section-icon::before {
  display: block;
  font-size: 15px;
  line-height: 1;
  font-weight: 950;
}
.product-icon::before { content: "P"; color: #1d4ed8; }
.component-icon::before { content: "C"; color: #6d28d9; }
.material-icon::before { content: "M"; color: #047857; }
.device-icon::before { content: "D"; color: #a16207; }
.product-icon { background: #eff6ff !important; border-color: #bfdbfe !important; }
.component-icon { background: #f5f3ff !important; border-color: #ddd6fe !important; }
.material-icon { background: #ecfdf5 !important; border-color: #bbf7d0 !important; }
.device-icon { background: #fefce8 !important; border-color: #fde68a !important; }
h1 .entity-icon,
.workbench-header h1 .section-icon,
.admin-hero h1 .section-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 12px !important;
}
h1 .entity-icon::before,
.workbench-header h1 .section-icon::before,
.admin-hero h1 .section-icon::before {
  font-size: 17px;
}
.section-icon.icon-prototype,
.section-icon.icon-admin {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  border-radius: 10px !important;
}
.icon-prototype {
  background: #dbeafe !important;
  border: 1px solid #93c5fd !important;
}
.icon-prototype::before { content: "↻"; color: #1d4ed8; }
.icon-admin {
  background: #fee2e2 !important;
  border: 1px solid #fecaca !important;
  color: #991b1b !important;
}
.icon-admin::before { content: "!"; color: #991b1b; }
.icon-legend-row .entity-icon {
  margin-right: .25rem;
}
.icon-legend-row > span {
  min-height: 42px;
  padding: .42rem .72rem;
}

.permission-matrix-panel {
  padding: 0 !important;
  overflow: hidden !important;
}
.permission-matrix-panel > summary,
.permission-matrix-panel > summary.permission-matrix-summary {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: 1rem 1.15rem !important;
  min-height: 74px !important;
  cursor: pointer;
}
.permission-matrix-panel > summary::-webkit-details-marker {
  display: none !important;
}
.permission-matrix-panel .permission-matrix-summary-text {
  text-align: left !important;
  justify-self: start !important;
  width: 100%;
}
.permission-matrix-panel h3 {
  margin: 0 0 .15rem !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left !important;
  color: #1f2937 !important;
}
.permission-matrix-panel p {
  margin: 0 !important;
  text-align: left !important;
}
.permission-matrix-panel > summary .collapse-chev {
  order: 0;
  width: 32px;
  height: 32px;
  margin: 0 !important;
  justify-self: center;
}
.permission-matrix-panel:not([open]) > summary .collapse-chev {
  transform: rotate(-90deg);
}
.permission-matrix-panel .collapsible-body {
  border-top: 1px solid #e2e8f0;
  padding: 1rem 1.15rem 1.25rem !important;
}
.permission-matrix-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: .82rem !important;
}
.permission-matrix-table th,
.permission-matrix-table td {
  padding: .62rem .7rem !important;
  vertical-align: middle !important;
}
.permission-matrix-table th {
  min-width: 96px !important;
  max-width: 128px;
  white-space: normal;
  line-height: 1.2;
}
.permission-matrix-table th:first-child,
.permission-matrix-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
  min-width: 160px !important;
  text-align: left;
}
.permission-matrix-table thead th:first-child {
  z-index: 3;
  background: #f4f7fb;
}
.permission-cell {
  text-align: center !important;
  font-size: 1rem;
}
.permission-cell.allowed::before {
  content: "";
}
.permission-cell.allowed {
  color: #15803d !important;
}
.permission-cell.blocked {
  color: #94a3b8 !important;
}

.product-card .entity-icon,
.component-editor-card .entity-icon,
.component-card-list .entity-icon,
.table-wrap .entity-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  border-radius: 8px !important;
}
.product-card .entity-icon::before,
.component-editor-card .entity-icon::before,
.component-card-list .entity-icon::before,
.table-wrap .entity-icon::before {
  font-size: 13px;
}

/* v11.7 tenant branding + order icon polish */
.brand-logo{
  height:42px !important;
  max-height:42px !important;
  max-width:185px !important;
  object-fit:contain !important;
}
.dashboard-logo{
  max-height:185px !important;
  object-fit:contain !important;
}
.tenant-logo-preview-box{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:98px;
  padding:16px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  background:#f8fafc;
  margin:.65rem 0 1rem;
}
.tenant-logo-preview-box img{
  display:block;
  max-width:260px;
  max-height:82px;
  object-fit:contain;
}
.tenant-logo-cell{
  min-width:180px;
}
.tenant-logo-cell img{
  display:block;
  max-width:140px;
  max-height:48px;
  object-fit:contain;
  margin-bottom:.5rem;
  padding:4px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
}
.nav-icon,
.btn-icon{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:20px;
  height:20px;
  min-width:20px;
  border-radius:7px;
  margin-right:.42rem;
  font-size:12px;
  line-height:1;
  font-weight:900;
  border:1px solid rgba(226,232,240,.95);
  background:#fff;
  color:#334155;
  vertical-align:-0.18em;
}
.btn-icon{width:22px;height:22px;min-width:22px;border-radius:8px;background:#f8fafc;}
nav a{display:inline-flex !important;align-items:center !important;gap:0 !important;}
.btn{display:inline-flex;align-items:center;gap:0;}
.section-icon.icon-orders,
.section-icon.icon-production{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  border-radius:10px !important;
  border:1px solid #bfdbfe !important;
  background:#eff6ff !important;
}
.section-icon.icon-orders::before{content:"O";color:#1d4ed8;font-size:15px;}
.section-icon.icon-production::before{content:"▶";color:#0f766e;font-size:14px;}
h1 .section-icon.icon-orders,
h1 .section-icon.icon-production{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  border-radius:12px !important;
}
h1 .section-icon.icon-orders::before,
h1 .section-icon.icon-production::before{font-size:17px;}
.completed-order-icon{background:#ecfdf5 !important;border-color:#bbf7d0 !important;}
.completed-order-icon::before{content:"✓" !important;color:#047857 !important;}
.canceled-order-icon{background:#fef2f2 !important;border-color:#fecaca !important;}
.canceled-order-icon::before{content:"×" !important;color:#b91c1c !important;}
.active-order-icon::before{content:"O" !important;color:#1d4ed8 !important;}
.small-order-state-icon,
.tiny-inline-icon{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  border-radius:8px !important;
  margin-right:.35rem !important;
}
.tiny-inline-icon::before,
.small-order-state-icon::before{font-size:12px !important;}
.nav-orders-icon::before,.icon-orders-mini::before{content:"O";color:#1d4ed8;}
.nav-product-icon::before,.icon-product-mini::before{content:"P";color:#1d4ed8;}
.nav-material-icon::before,.icon-material-mini::before{content:"M";color:#047857;}
.nav-prototype-icon::before,.icon-prototype-mini::before{content:"↻";color:#1d4ed8;}
.nav-production-icon::before,.icon-production-mini::before{content:"▶";color:#0f766e;}
.nav-filament-icon::before{content:"F";color:#7c3aed;}
.nav-device-icon::before,.icon-device-mini::before{content:"D";color:#a16207;}
.icon-admin-mini::before{content:"!";color:#991b1b;}
.nav-orders-icon,.icon-orders-mini{background:#eff6ff;border-color:#bfdbfe;}
.nav-key-icon::before,.icon-key-mini::before{content:"🔑";font-size:12px;line-height:1;}
.nav-key-icon,.icon-key-mini{background:#eff6ff;border-color:#bfdbfe;}
.nav-product-icon,.icon-product-mini{background:#eff6ff;border-color:#bfdbfe;}
.nav-material-icon,.icon-material-mini{background:#ecfdf5;border-color:#bbf7d0;}
.nav-prototype-icon,.icon-prototype-mini{background:#dbeafe;border-color:#93c5fd;}
.nav-production-icon,.icon-production-mini{background:#f0fdfa;border-color:#99f6e4;}
.nav-filament-icon{background:#f5f3ff;border-color:#ddd6fe;}
.nav-device-icon,.icon-device-mini{background:#fefce8;border-color:#fde68a;}
.icon-admin-mini{background:#fee2e2;border-color:#fecaca;}
@media(max-width:900px){
  .brand-logo{height:38px !important;max-height:38px !important;max-width:170px !important;}
}

/* v11.7.9 asset library polish: icon types + hidden file paths */
.asset-library-table th,
.product-assets-table th {
  white-space: nowrap;
}
.asset-library-table .asset-type-edit,
.product-assets-table .asset-type-edit {
  display: grid;
  grid-template-columns: 42px minmax(180px, 1fr);
  align-items: center;
  gap: .75rem;
  min-width: 260px;
}
.asset-type-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .88rem;
  font-weight: 950;
  letter-spacing: .02em;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  color: #334155;
  box-shadow: 0 8px 18px rgba(15,23,42,.08);
}
.asset-type-box-art { background: #fff7ed; border-color: #fed7aa; color: #c2410c; }
.asset-type-product-image { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.asset-type-model-stl { background: #f0fdfa; border-color: #99f6e4; color: #0f766e; }
.asset-type-3mf { background: #ecfeff; border-color: #a5f3fc; color: #0e7490; }
.asset-type-gcode { background: #fefce8; border-color: #fde68a; color: #a16207; }
.asset-type-svg { background: #faf5ff; border-color: #e9d5ff; color: #7e22ce; }
.asset-type-cricut { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.asset-type-instruction-sheet { background: #f8fafc; border-color: #cbd5e1; color: #475569; }
.asset-type-listing-copy { background: #fdf2f8; border-color: #fbcfe8; color: #be185d; }
.asset-type-other { background: #f1f5f9; border-color: #cbd5e1; color: #475569; }
.asset-file-cell {
  min-width: 98px;
  white-space: nowrap;
}
.asset-open-btn {
  padding: .55rem .85rem !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
}
.asset-open-btn::before {
  content: "↗";
  display: inline-block;
  margin-right: .35rem;
  font-weight: 950;
}
.asset-version-input {
  min-width: 120px;
}
.asset-library-table .bom-edit-notes,
.product-assets-table .bom-edit-notes {
  min-height: 62px;
}
@media (max-width: 900px) {
  .asset-library-table .asset-type-edit,
  .product-assets-table .asset-type-edit {
    grid-template-columns: 38px minmax(160px, 1fr);
    min-width: 220px;
  }
}


/* v12.1 dashboard cleanup: remove summary tiles and keep active orders beside quick actions */
.dashboard-action-strip{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  width:100%;
}
.dashboard-action-strip .dashboard-actions{
  margin-top:0 !important;
  flex:1 1 auto;
}
.dashboard-active-orders-inline{
  flex:0 0 190px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:10px 16px;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
  color:#1f5d88;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(15,23,42,.07);
}
.dashboard-active-orders-inline:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,23,42,.10);
  border-color:#93c5fd;
}
.dashboard-active-orders-count{
  font-size:1.55rem;
  line-height:1;
  font-weight:950;
  color:#1f5d88;
  letter-spacing:-.04em;
}
.dashboard-active-orders-label{
  color:#64748b;
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.02em;
  white-space:nowrap;
}
@media(max-width:1100px){
  .dashboard-action-strip{
    flex-direction:column;
  }
  .dashboard-active-orders-inline{
    flex:0 0 auto;
    width:100%;
    justify-content:flex-start;
  }
}
@media(max-width:900px){
  .dashboard-action-strip .dashboard-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
}


/* v12.5 desktop-style asset workspace */
.asset-library-workspace-card{padding:1.1rem;}
.asset-desktop{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem;align-items:start;}
.asset-folder{border:1px solid #d8e3ef;border-top:5px solid var(--teal);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 14px 30px rgba(15,23,42,.05);overflow:hidden;min-height:180px;}
.asset-folder-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.05rem;background:linear-gradient(135deg,#f8fbff,#fff);border-bottom:1px solid #edf2f7;}
.asset-folder-title{display:flex;align-items:center;gap:.65rem;font-size:1rem;}
.asset-folder-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;border-radius:999px;background:#0f172a;color:#fff;font-weight:900;font-size:.92rem;}
.asset-folder-dropzone{padding:1rem;display:grid;gap:.75rem;min-height:112px;align-content:start;transition:background .15s ease, outline .15s ease;}
.asset-folder-dropzone.drag-over{background:#ecfeff;outline:3px dashed #14a6b8;outline-offset:-8px;}
.asset-folder-empty{min-height:76px;border:2px dashed #cbd5e1;border-radius:18px;display:flex;align-items:center;justify-content:center;text-align:center;color:#64748b;font-weight:800;background:#f8fafc;padding:1rem;}
.asset-file-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem;border:1px solid #d8e3ef;border-radius:18px;background:#fff;box-shadow:0 10px 20px rgba(15,23,42,.045);cursor:grab;user-select:none;}
.asset-file-card:active{cursor:grabbing;}
.asset-file-card:hover{border-color:#9cc5e7;box-shadow:0 14px 26px rgba(43,91,137,.10);transform:translateY(-1px);}
.asset-file-icon{width:48px;height:48px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;font-weight:950;border:1px solid #d8e3ef;background:#f8fafc;color:#1f2937;}
.asset-file-main{min-width:0;display:flex;flex-direction:column;gap:.15rem;}
.asset-file-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;}
.asset-file-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.78rem;font-weight:750;}
.asset-card-open{font-size:.78rem;font-weight:900;color:#205f8d;text-decoration:underline;}
.asset-context-menu{position:absolute;z-index:1000;min-width:170px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.22);padding:.35rem;}
.asset-context-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:.65rem .75rem;border-radius:10px;font-weight:850;color:#1f2937;cursor:pointer;}
.asset-context-menu button:hover{background:#eef6ff;}
.asset-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;}
.asset-modal-backdrop[hidden],.asset-context-menu[hidden]{display:none!important;}
.asset-modal{width:min(560px,96vw);background:#fff;border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.32);border:1px solid #d8e3ef;overflow:hidden;}
.asset-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid #e5edf5;background:#f8fbff;}
.asset-modal-head h3{margin:0;font-size:1.25rem;}
.asset-modal-close{border:0;background:#eef2f7;border-radius:999px;width:34px;height:34px;font-size:1.4rem;font-weight:800;cursor:pointer;}
.asset-modal-form{display:grid;gap:.9rem;padding:1.2rem;}
.asset-modal-form label{display:grid;gap:.35rem;font-weight:850;color:#475569;}
.asset-modal-form input,.asset-modal-form select,.asset-modal-form textarea{width:100%;border:1px solid #cfd9e5;border-radius:12px;padding:.75rem .85rem;font:inherit;background:#fff;}
.asset-modal-form textarea{min-height:110px;resize:vertical;}
.asset-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;align-items:center;}
.asset-type-box-art,.asset-type-icon.asset-type-box-art{background:#fff7ed!important;border-color:#fed7aa!important;color:#c2410c!important;}
.asset-type-product-image,.asset-type-icon.asset-type-product-image{background:#eff6ff!important;border-color:#bfdbfe!important;color:#1d4ed8!important;}
.asset-type-model-stl,.asset-type-icon.asset-type-model-stl{background:#ecfdf5!important;border-color:#bbf7d0!important;color:#047857!important;}
.asset-type-3mf,.asset-type-icon.asset-type-3mf{background:#f0fdfa!important;border-color:#99f6e4!important;color:#0f766e!important;}
.asset-type-gcode,.asset-type-icon.asset-type-gcode{background:#fefce8!important;border-color:#fde68a!important;color:#a16207!important;}
.asset-type-svg,.asset-type-icon.asset-type-svg{background:#f5f3ff!important;border-color:#ddd6fe!important;color:#6d28d9!important;}
.asset-type-cricut,.asset-type-icon.asset-type-cricut{background:#fdf2f8!important;border-color:#fbcfe8!important;color:#be185d!important;}
.asset-type-instruction-sheet,.asset-type-icon.asset-type-instruction-sheet{background:#f8fafc!important;border-color:#cbd5e1!important;color:#334155!important;}
.asset-type-listing-copy,.asset-type-icon.asset-type-listing-copy{background:#eef2ff!important;border-color:#c7d2fe!important;color:#4338ca!important;}
@media(max-width:760px){.asset-desktop{grid-template-columns:1fr}.asset-file-card{grid-template-columns:42px minmax(0,1fr);}.asset-card-open{grid-column:2}.asset-modal-actions{flex-direction:column;align-items:stretch}.asset-modal-actions .btn,.asset-modal-actions button{width:100%;}}


/* v12.6 asset previews + delete controls */
.asset-desktop,.asset-desktop-library{display:flex;flex-direction:column;gap:1.15rem;align-items:stretch;}
.asset-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(270px,1fr));gap:1.15rem;align-items:start;width:100%;}
.asset-secondary-folders{border:1px solid #d8e3ef;border-radius:22px;background:rgba(248,250,252,.82);overflow:hidden;width:100%;}
.asset-secondary-folders>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;cursor:pointer;font-weight:900;color:#0f172a;list-style:none;}
.asset-secondary-folders>summary::-webkit-details-marker{display:none;}
.asset-secondary-folders>summary strong{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;border-radius:999px;background:#0f172a;color:#fff;font-size:.88rem;}
.asset-secondary-summary-left,.asset-secondary-summary-right{display:inline-flex;align-items:center;gap:.8rem;}
.asset-secondary-summary-right{margin-left:auto;}
.asset-secondary-chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eef2f7;color:#334155;font-size:1rem;font-weight:900;transition:transform .15s ease, background .15s ease;}
.asset-secondary-folders[open] .asset-secondary-chevron{transform:rotate(0deg);}
.asset-secondary-folders:not([open]) .asset-secondary-chevron{transform:rotate(-90deg);}
.asset-secondary-folders>summary:hover .asset-secondary-chevron{background:#e2e8f0;}

.asset-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:1rem;padding:0 1rem 1rem;width:100%;}
.asset-folder-priority{min-height:280px;}
@media(max-width:1500px){.asset-priority-grid{grid-template-columns:repeat(3,minmax(260px,1fr));}.asset-secondary-grid{grid-template-columns:repeat(2,minmax(250px,1fr));}}
@media(max-width:1100px){.asset-priority-grid{grid-template-columns:repeat(2,minmax(250px,1fr));}}
.asset-file-card-preview{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:.85rem;padding:1rem;}
.asset-file-card-preview .asset-preview{grid-row:1 / span 2;}
.asset-card-actions{display:flex;align-items:center;gap:.55rem;justify-content:flex-end;flex-wrap:wrap;}
.asset-card-delete{border:0;background:transparent;color:#b91c1c;font-weight:900;text-decoration:underline;cursor:pointer;padding:.3rem .15rem;font-size:.82rem;}
.asset-preview{width:118px;height:94px;border:1px solid #d8e3ef;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#fff);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);}
.asset-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.asset-preview object{width:100%;height:100%;border:0;display:block;}
.asset-preview-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;color:#1f2937;background:linear-gradient(135deg,#f8fafc,#e2e8f0);font-weight:950;}
.asset-preview-fallback span{font-size:1.55rem;letter-spacing:.02em;}
.asset-preview-fallback small{font-size:.74rem;color:#64748b;font-weight:900;}
.asset-preview-3mf .asset-preview-fallback{background:linear-gradient(135deg,#ecfeff,#dbeafe);color:#0f766e;}
.asset-preview-pdf .asset-preview-fallback{background:linear-gradient(135deg,#fff7ed,#fee2e2);color:#b91c1c;}
.asset-modal-actions-split{gap:.65rem;}
.asset-modal-spacer{flex:1 1 auto;}
.btn.danger{background:#fee2e2;border-color:#fecaca;color:#991b1b;box-shadow:none;}
.btn.danger:hover{background:#fecaca;}
.asset-context-menu .danger-text{color:#b91c1c;font-weight:950;}
@media(max-width:760px){.asset-desktop,.asset-desktop-library{display:block}.asset-priority-grid,.asset-secondary-grid{grid-template-columns:1fr}.asset-file-card-preview{grid-template-columns:92px minmax(0,1fr)}.asset-preview{width:92px;height:76px}.asset-card-actions{grid-column:1 / -1;justify-content:flex-start}.asset-modal-spacer{display:none}}


/* v12.10 component time-to-create clock pill */
.component-time-pill{display:inline-flex;align-items:center;gap:.42rem;padding:.32rem .62rem;border-radius:999px;background:#eef6ff;border:1px solid #bfdbfe;color:#1e3a5f;font-size:.82rem;font-weight:950;white-space:nowrap;box-shadow:0 4px 10px rgba(43,91,137,.08);}
.component-time-clock{display:inline-flex;align-items:center;justify-content:center;width:1.35em;height:1.35em;border-radius:999px;background:#fff;color:#205f8d;border:1px solid #bfdbfe;font-weight:950;font-size:1em;line-height:1;}
.component-time-text{font-variant-numeric:tabular-nums;}
.component-detail-grid input[name="estimated_runtime_hours"],.component-add-form input[name="estimated_runtime_hours"]{font-variant-numeric:tabular-nums;}


/* v13.1 switchable Products page views */
.product-filter-panel{align-items:end;}
.product-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.product-view-buttons{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;}
.product-view-btn{border:1px solid #cfd9e5;background:#fff;border-radius:999px;padding:.65rem .85rem;font-weight:900;color:#334155;cursor:pointer;box-shadow:0 6px 14px rgba(15,23,42,.04);}
.product-view-btn:hover{border-color:#9cc5e7;background:#f8fbff;}
.product-view-btn.active{background:#10324d;color:#fff;border-color:#10324d;box-shadow:0 10px 22px rgba(16,50,77,.18);}
.product-view-panel[hidden]{display:none!important;}
.product-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:1rem;align-items:start;}
.product-catalog-grid-compact{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding-top:1rem;}
.product-catalog-card{border:1px solid #d8e3ef;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 14px 30px rgba(15,23,42,.055);overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.product-catalog-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(15,23,42,.09);border-color:#9cc5e7;}
.product-catalog-thumb{height:148px;background:linear-gradient(135deg,#eff6ff,#f8fafc);display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e5edf5;text-decoration:none;overflow:hidden;}
.product-catalog-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.product-catalog-thumb-fallback{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid #d8e3ef;}
.product-catalog-body{padding:1rem;display:flex;flex-direction:column;gap:.45rem;flex:1;}
.product-catalog-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;}
.product-catalog-topline strong{color:#475569;font-size:.88rem;letter-spacing:.02em;}
.product-catalog-body h3{margin:.1rem 0 0;font-size:1.06rem;line-height:1.25;}
.product-catalog-body h3 a{text-decoration:none;color:#0f172a;}
.product-catalog-body h3 a:hover{text-decoration:underline;}
.product-catalog-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.35rem;}
.product-catalog-metrics span{display:grid;gap:.1rem;padding:.55rem;border-radius:14px;background:#f8fafc;border:1px solid #e5edf5;text-align:center;}
.product-catalog-metrics small{font-size:.68rem;color:#64748b;font-weight:850;text-transform:uppercase;letter-spacing:.03em;}
.product-catalog-metrics strong{font-size:.92rem;color:#0f172a;}
.product-catalog-actions{display:flex;gap:.45rem;flex-wrap:wrap;padding:0 1rem 1rem;align-items:center;}
.product-grouped-stack{display:grid;gap:1rem;}
.product-group-section{padding:0;overflow:hidden;}
.product-group-section>summary{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;cursor:pointer;list-style:none;border-bottom:1px solid #edf2f7;background:linear-gradient(135deg,#f8fbff,#fff);}
.product-group-section>summary::-webkit-details-marker{display:none;}
.product-group-section>summary h2{margin:0;font-size:1.15rem;}
.product-group-section>summary .count-pill{margin-left:auto;}
.product-group-section:not([open]) .section-toggle-inline{transform:rotate(-90deg);}
.section-toggle-inline{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eef2f7;color:#334155;font-weight:950;transition:transform .15s ease;}
.product-group-section .product-catalog-grid{padding:1rem;}
.product-sidebar-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;padding:1rem;align-items:start;}
.product-line-sidebar{display:grid;gap:.5rem;position:sticky;top:92px;}
.product-line-filter-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #d8e3ef;border-radius:16px;background:#fff;padding:.72rem .85rem;text-decoration:none;color:#334155;font-weight:900;}
.product-line-filter-link span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:999px;background:#eef2f7;color:#475569;font-size:.78rem;}
.product-line-filter-link:hover,.product-line-filter-link.active{background:#eef6ff;border-color:#9cc5e7;color:#10324d;}
.product-sidebar-grid{min-width:0;}
.product-table-wrap table td{vertical-align:middle;}
@media(max-width:980px){.product-sidebar-layout{grid-template-columns:1fr}.product-line-sidebar{position:static;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}.product-view-toolbar{align-items:stretch}.product-view-buttons{width:100%;}.product-view-btn{flex:1 1 150px;}.product-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));}}
@media(max-width:640px){.product-catalog-grid{grid-template-columns:1fr}.product-catalog-metrics{grid-template-columns:1fr 1fr}.product-catalog-thumb{height:130px}.product-catalog-actions .btn{flex:1 1 auto;}}


/* v13.2 products page compact command center */
.products-compact-head{align-items:flex-start;margin-bottom:.75rem;}
.products-compact-head h1{margin-bottom:.25rem;}
.products-compact-head .actions{align-content:flex-start;justify-content:flex-end;gap:.55rem;}
.products-compact-head .actions .btn,.products-compact-head .actions .big-action{padding:.72rem 1rem;min-height:auto;}
.product-command-center{display:grid;gap:.85rem;padding:1rem 1.15rem;margin-bottom:1rem;border-top-width:4px;}
.product-command-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.product-command-topline strong{font-size:1rem;color:#0f172a;}
.product-inline-note{margin-left:auto;}
.product-inline-note summary{cursor:pointer;font-weight:850;color:#2b5b89;list-style:none;border:1px solid #d8e3ef;border-radius:999px;padding:.42rem .7rem;background:#f8fbff;}
.product-inline-note summary::-webkit-details-marker{display:none;}
.product-inline-note p{margin:.5rem 0 0;max-width:760px;color:#64748b;font-size:.9rem;}
.product-filter-inline{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto auto;gap:.55rem;align-items:center;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.product-filter-inline input,.product-filter-inline select{min-height:44px;}
.product-filter-inline .btn{min-height:44px;padding:.55rem .9rem;}
.product-view-toolbar-inline{display:flex;align-items:center;justify-content:flex-start;gap:.7rem;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.product-view-toolbar-inline .product-view-buttons{justify-content:flex-start;gap:.45rem;}
.product-view-toolbar-inline .product-view-btn{padding:.52rem .78rem;min-height:38px;}
.product-line-admin-panel{margin-top:1.2rem;}
.product-line-admin-panel .collapsible-header-text h2{font-size:1.12rem;}
.product-view-panel{margin-top:.85rem;}
@media(max-width:1180px){.product-filter-inline{grid-template-columns:1fr 1fr;}.product-filter-inline input{grid-column:1 / -1;}.product-view-toolbar-inline{align-items:flex-start;flex-direction:column;}.product-view-toolbar-inline .product-view-buttons{width:100%;}.product-view-toolbar-inline .product-view-btn{flex:1 1 150px;}}
@media(max-width:700px){.product-filter-inline{grid-template-columns:1fr;}.product-command-topline{align-items:flex-start;}.product-inline-note{margin-left:0;}.products-compact-head .actions{justify-content:flex-start;}}

/* v13.3 Etsy Phase 1 */
.public-track-page { min-height: 100vh; }
.public-track-container { max-width: 920px; padding-top: 32px; }
.public-track-hero { text-align: center; }
.public-track-hero .brand-logo { max-height: 72px; width: auto; margin: 0 auto 12px; display: block; }
.track-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; margin-top: 18px; text-align: left; }
.track-form label, .stacked-form label { display: grid; gap: 6px; font-weight: 700; }
.stacked-form { display: grid; gap: 12px; }
.check-row { display: flex !important; grid-template-columns: none !important; flex-direction: row; align-items: center; gap: 8px; }
.public-order-card h2 { margin-top: 0; }
.tracking-steps { list-style: none; padding: 0; margin: 22px 0; display: grid; gap: 12px; }
.tracking-steps li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid rgba(0,0,0,.12); border-radius: 14px; background: rgba(255,255,255,.55); }
.tracking-steps .step-dot { width: 18px; height: 18px; border-radius: 999px; border: 2px solid currentColor; display: inline-block; flex: 0 0 auto; }
.tracking-steps li.done { opacity: .85; }
.tracking-steps li.done .step-dot::after { content: '✓'; display: block; font-size: 12px; line-height: 14px; text-align: center; }
.tracking-steps li.current { font-weight: 800; box-shadow: 0 0 0 2px rgba(0,0,0,.08) inset; }
.notice.warning { margin-top: 12px; }
@media (max-width: 760px) { .track-form { grid-template-columns: 1fr; } }

/* v13.5.2: clearer customer tracking order summary */
.public-order-summary{
  display:grid;
  gap:10px;
  margin:18px 0 24px;
  padding:16px 18px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:rgba(248,250,252,.72);
}
.public-order-row{
  display:grid;
  grid-template-columns:minmax(120px,170px) 1fr;
  gap:14px;
  align-items:baseline;
}
.public-order-row dt{
  margin:0;
  color:#64748b;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.public-order-row dd{
  margin:0;
  color:#0f172a;
  font-size:1rem;
  font-weight:800;
  overflow-wrap:anywhere;
}
@media(max-width:640px){
  .public-order-row{grid-template-columns:1fr;gap:2px;}
}


/* v13.4.11: keep the global menu on one line on desktop/wide layouts */
.topbar.topbar-branded{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  min-height:64px !important;
  padding:8px 18px !important;
  overflow:visible !important;
}
.topbar .brand-wrap{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  min-width:0 !important;
}
.topbar .brand{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
.topbar .brand-logo{
  height:38px !important;
  max-width:150px !important;
}
.topbar .brand-app-name{
  white-space:nowrap !important;
  font-size:.96rem !important;
}
.topbar .version-badge{
  flex:0 0 auto !important;
  padding:4px 9px !important;
  font-size:.71rem !important;
}
.topbar nav{
  display:flex !important;
  flex:1 1 auto !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:6px !important;
  min-width:0 !important;
  overflow:visible !important;
}
.topbar nav a{
  white-space:nowrap !important;
  flex:0 0 auto !important;
  font-size:.86rem !important;
  padding:6px 8px !important;
  line-height:1.1 !important;
}
.topbar .nav-icon{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  font-size:.78rem !important;
}
.topbar .user-menu{
  flex:0 0 auto !important;
}
.topbar .user-menu-button{
  width:42px !important;
  height:42px !important;
}
@media(max-width:1200px){
  .topbar .brand-app-name{display:none !important;}
  .topbar .brand-logo{max-width:116px !important;height:34px !important;}
  .topbar .version-badge{font-size:.66rem !important;padding:4px 7px !important;}
  .topbar nav{gap:4px !important;}
  .topbar nav a{font-size:.78rem !important;padding:5px 6px !important;}
}
@media(max-width:900px){
  .topbar.topbar-branded{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .topbar nav{flex:0 0 auto !important;}
}

/* v13.6.1 Bambu hub status sync */
.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0;}
@media(max-width:800px){.grid-two{grid-template-columns:1fr;}}
code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:1px 5px;color:#334155;}

/* v13.6.2 Bambu hub status ingest debug */

/* v13.6.3 Bambu Live Jobs Dashboard */
.bambu-live-job-card {
  border-style: solid;
  border-color: rgba(20, 184, 166, 0.45);
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.10), rgba(255,255,255,0.96));
}
.bambu-live-job-card .device-work-link {
  cursor: default;
}


/* v13.7.1 Work Bench header consistency */
.workbench-compact-head {
  margin: 10px 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.workbench-compact-head h1 {
  color: #111827 !important;
}
.workbench-compact-head .section-icon {
  margin-right: .35rem;
}
.dev-blue-workspace .workbench-compact-head,
.dev-blue-workspace .workbench-compact-head h1,
.dev-blue-workspace .workbench-compact-head h2 {
  color: #111827 !important;
}
.dev-blue-workspace .workbench-compact-head .muted {
  color: var(--muted) !important;
}


/* v13.8 Public Marketing Portal */
.public-body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 70% 20%, rgba(0, 177, 202, .18), transparent 35%), linear-gradient(135deg, #f8fbff 0%, #eef7fb 48%, #dceeff 100%); color: var(--ink, #071529); }
.public-page-shell { display: grid; grid-template-columns: minmax(0, 3fr) minmax(320px, 1fr); gap: 22px; max-width: 1800px; margin: 0 auto; padding: 28px; align-items: start; }
.public-marketing-pane { display: grid; gap: 22px; min-width: 0; }
.public-login-pane { position: sticky; top: 24px; display: grid; gap: 18px; min-width: 0; }
.public-hero { min-height: 520px; border-radius: 28px; padding: 42px; background: linear-gradient(110deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.82) 42%, rgba(0,42,75,.10) 100%), url('/static/marketing/one_platform.png') center right / cover no-repeat; box-shadow: 0 24px 70px rgba(1, 25, 50, .16); border: 1px solid rgba(0, 149, 170, .18); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.public-brand-logo { width: 220px; max-width: 55%; height: auto; margin-bottom: 24px; }
.public-hero h1 { max-width: 760px; margin: 0; font-size: clamp(48px, 6vw, 104px); line-height: .95; letter-spacing: -.055em; color: #071529; }
.public-hero-copy { max-width: 680px; font-size: clamp(18px, 1.55vw, 28px); line-height: 1.35; color: #33506c; margin: 24px 0; }
.public-hero-actions, .public-benefits { display: flex; flex-wrap: wrap; gap: 12px; }
.public-video-card video { width: 100%; border-radius: 20px; border: 1px solid rgba(0, 149, 170, .20); box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); background: #061423; }
.public-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.public-feature-card { min-height: 170px; padding: 22px; }
.public-feature-card h3 { margin: 12px 0 8px; font-size: 22px; }
.public-feature-card p { margin: 0; color: #435a72; line-height: 1.45; }
.public-showcase { overflow: hidden; }
.public-image-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(340px, 48%); gap: 16px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x proximity; }
.public-image-strip img { width: 100%; border-radius: 18px; border: 1px solid rgba(0, 149, 170, .20); box-shadow: 0 14px 34px rgba(7, 21, 41, .13); scroll-snap-align: start; }
.public-benefit { flex: 1 1 240px; padding: 22px; border-radius: 22px; background: rgba(255,255,255,.84); border: 1px solid rgba(0, 149, 170, .18); box-shadow: 0 10px 28px rgba(7, 21, 41, .10); display: grid; gap: 8px; }
.public-benefit strong { font-size: 20px; color: #06233f; }
.public-benefit span { color: #42576d; line-height: 1.4; }
.public-login-card, .public-request-card { padding: 26px; border-radius: 24px; box-shadow: 0 18px 48px rgba(1, 25, 50, .18); }
.public-login-logo { width: 170px; max-width: 75%; display: block; margin-bottom: 12px; }
.public-login-card h2, .public-request-card h2 { margin: 6px 0 8px; font-size: 30px; }
.public-auth-form, .tenant-request-form { display: grid; gap: 12px; }
.public-auth-form input, .tenant-request-form input, .tenant-request-form textarea { width: 100%; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.flash-stack { display: grid; gap: 8px; margin: 12px 0; }
.flash { border-radius: 12px; padding: 10px 12px; background: #eef6ff; border: 1px solid rgba(0, 126, 167, .22); font-size: 14px; }
.flash.success { background: #eaf8ef; border-color: rgba(34, 153, 84, .25); }
.flash.warning, .flash.danger { background: #fff4ea; border-color: rgba(220, 120, 40, .25); }
.tenant-request-table td { vertical-align: top; }
@media (max-width: 1100px) { .public-page-shell { grid-template-columns: 1fr; padding: 18px; } .public-login-pane { position: static; } .public-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .public-hero { min-height: 440px; } }
@media (max-width: 720px) { .public-feature-grid { grid-template-columns: 1fr; } .public-image-strip { grid-auto-columns: 88%; } .public-hero { padding: 26px; } .public-brand-logo { max-width: 70%; } }


/* v13.8.2 public marketing polish: branded header, feature page, icon consistency */
.public-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
}
.public-topbar .brand-wrap {
  min-width: 0;
}
.public-topbar .public-nav {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}
.public-topbar .public-nav a {
  color: #f8fafc !important;
  text-decoration: none;
  border: 1px solid rgba(148, 163, 184, .35);
  background: rgba(255,255,255,.04);
  border-radius: 999px;
  padding: .42rem .68rem;
}
.public-topbar .public-nav a:hover {
  background: rgba(255,255,255,.10);
}
.public-page-shell {
  padding-top: 28px !important;
}
.public-feature-card .nav-icon,
.public-benefit .nav-icon,
.feature-detail-card .nav-icon,
.public-topbar .nav-icon {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  border-radius: 10px !important;
  margin-right: .48rem !important;
}
.public-topbar .nav-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border-radius: 8px !important;
}
.public-feature-card .nav-icon::before,
.public-benefit .nav-icon::before,
.feature-detail-card .nav-icon::before {
  font-size: 15px !important;
}
.public-feature-card h3,
.public-benefit strong,
.feature-detail-card h2 {
  display: flex;
  align-items: center;
}
.public-feature-card > .nav-icon {
  margin-bottom: .65rem;
}
.public-feature-card h3 .nav-icon {
  display: none;
}
.public-login-logo {
  margin-left: auto !important;
  margin-right: auto !important;
}
.public-login-card {
  text-align: left;
}
.public-login-card .public-login-logo + h2 {
  margin-top: 18px;
}
.public-feature-page-shell {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(320px, 1fr);
  gap: 22px;
  max-width: 1800px;
  margin: 0 auto;
  padding: 28px;
  align-items: start;
}
.public-feature-article {
  padding: clamp(28px, 4vw, 56px);
  border-top: 6px solid #0ea5b7;
}
.public-feature-article h1 {
  max-width: 1100px;
  margin: 0;
  font-size: clamp(42px, 5vw, 82px);
  line-height: .98;
  letter-spacing: -.055em;
  color: #071529;
}
.public-feature-lead {
  max-width: 980px;
  color: #42576d;
  font-size: clamp(18px, 1.35vw, 26px);
  line-height: 1.42;
  margin: 22px 0 34px;
}
.feature-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.feature-detail-card {
  border: 1px solid rgba(0, 149, 170, .20);
  border-radius: 22px;
  padding: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.92));
  box-shadow: 0 12px 30px rgba(7,21,41,.08);
}
.feature-detail-card h2 {
  margin: 0 0 10px;
  font-size: 24px;
}
.feature-detail-card p {
  color: #435a72;
  line-height: 1.48;
  margin: 0 0 12px;
}
.feature-detail-card p:last-child {
  margin-bottom: 0;
}
.public-feature-side {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 14px;
  padding: 26px;
  border-top: 6px solid #0ea5b7;
}
.public-feature-side h2 {
  margin: 6px 0 0;
  font-size: 30px;
}
.section-icon.icon-product {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  border-radius: 10px !important;
  border: 1px solid #bfdbfe !important;
  background: #eff6ff !important;
}
.section-icon.icon-product::before { content: "P"; color: #1d4ed8; font-size: 15px; }
@media (max-width: 1100px) {
  .public-topbar { position: static; }
  .public-feature-page-shell { grid-template-columns: 1fr; padding: 18px; }
  .public-feature-side { position: static; }
  .feature-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .public-topbar .brand-app-name, .public-topbar .version-badge { display: none; }
  .public-topbar { align-items: flex-start; }
  .public-topbar .public-nav { width: 100%; justify-content: flex-start; }
  .public-feature-article { padding: 24px; }
}


/* v13.8.3 public how-it-works architecture page */
.nav-architecture-icon::before,.icon-architecture-mini::before{content:"↔";color:#0f766e;}
.nav-architecture-icon,.icon-architecture-mini{background:#f0fdfa;border-color:#99f6e4;}
.public-how-page-shell {
  max-width: 1800px;
  margin: 0 auto;
  padding: 28px;
  display: grid;
  gap: 22px;
}
.public-how-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, .75fr);
  gap: 28px;
  padding: clamp(28px, 4vw, 56px);
  border-top: 6px solid #0ea5b7;
  align-items: center;
}
.public-how-hero h1 {
  max-width: 1180px;
  margin: 0;
  font-size: clamp(42px, 5vw, 82px);
  line-height: .98;
  letter-spacing: -.055em;
  color: #071529;
}
.how-hero-callouts {
  display: grid;
  gap: 14px;
}
.how-diagram-card {
  padding: clamp(22px, 3vw, 36px);
  border-top: 6px solid #0ea5b7;
}
.how-diagram-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
  border: 1px solid rgba(0,149,170,.18);
  box-shadow: 0 18px 45px rgba(7,21,41,.12);
  background: #fff;
}
.how-section-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.how-section-grid.two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.how-step-card h2 { font-size: 22px; line-height: 1.2; }
.how-process-card {
  padding: clamp(26px, 3vw, 42px);
  border-top: 6px solid #0ea5b7;
}
.how-process-card h2 {
  margin: 0 0 22px;
  font-size: clamp(32px, 3vw, 54px);
  line-height: 1;
  letter-spacing: -.04em;
  color: #071529;
}
.how-process-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.how-process-row > div {
  border: 1px solid rgba(0,149,170,.18);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  padding: 18px;
  box-shadow: 0 10px 24px rgba(7,21,41,.07);
}
.how-process-row strong {
  display: block;
  margin-top: 10px;
  font-size: 18px;
  color: #071529;
}
.how-process-row p {
  margin: 8px 0 0;
  color: #435a72;
  line-height: 1.42;
}
@media (max-width: 1200px) {
  .public-how-hero { grid-template-columns: 1fr; }
  .how-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .how-process-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .public-how-page-shell { padding: 18px; }
  .public-how-hero { padding: 24px; }
  .how-section-grid, .how-section-grid.two-col, .how-process-row { grid-template-columns: 1fr; }
}


/* v13.8.4 public filament management page */
.public-filament-page-shell {
  max-width: 1800px;
  margin: 0 auto;
  padding: 28px;
  display: grid;
  gap: 22px;
}
.filament-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(460px, .95fr);
}
.filament-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.filament-hero-image-wrap {
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(0,149,170,.18);
  box-shadow: 0 18px 50px rgba(7,21,41,.14);
  background: #fff;
}
.filament-hero-image-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}
.filament-split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.filament-deep-card h2 { font-size: 28px; }
.filament-feature-list {
  margin: 16px 0 0;
  padding-left: 22px;
  color: #435a72;
  line-height: 1.55;
}
.filament-feature-list li { margin: 8px 0; }
.filament-process-row > div { min-height: 190px; }
@media (max-width: 1200px) {
  .filament-hero { grid-template-columns: 1fr; }
  .filament-split-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .public-filament-page-shell { padding: 18px; }
  .filament-hero-image-wrap img { min-height: 240px; }
}


/* v13.8.5 integrated marketing architecture visuals */
.public-architecture-body{background:linear-gradient(180deg,#f8fbff 0%,#edf7fb 100%);}
.public-site-header{border-bottom:4px solid #f2c84b;box-shadow:0 10px 30px rgba(3,13,25,.16);}
.public-site-header .public-login-link{border:1px solid rgba(242,200,75,.75);border-radius:999px;color:#f7d34d;background:rgba(255,255,255,.02);padding-inline:18px;}
.public-marketing-system-shell{max-width:1880px;margin:0 auto;padding:38px 46px 42px;display:grid;gap:24px;}
.system-hero-row{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(720px,1.85fr);gap:28px;align-items:start;}
.system-hero-copy{padding:28px 0 8px;}
.system-hero-copy h1{margin:6px 0 18px;font-size:clamp(48px,5.5vw,78px);line-height:.95;letter-spacing:-.055em;color:#071529;}
.system-hero-copy p:not(.eyebrow){max-width:760px;margin:0;color:#23384f;font-size:clamp(18px,1.35vw,23px);line-height:1.55;}
.system-tile-row{display:grid;gap:16px;}
.system-tile-row.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.system-tile-row.five{grid-template-columns:repeat(5,minmax(0,1fr));}
.system-info-tile{overflow:hidden;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid rgba(7,21,41,.10);box-shadow:0 16px 38px rgba(7,21,41,.10);min-height:214px;display:flex;flex-direction:column;}
.system-info-tile .tile-title{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:16px 18px;background:#071529;color:#fff;min-height:72px;}
.system-info-tile .tile-title strong{font-size:clamp(17px,1vw,22px);line-height:1.15;letter-spacing:-.015em;}
.system-info-tile p{margin:0;padding:16px 18px 20px;color:#243b53;line-height:1.48;font-size:clamp(15px,.9vw,18px);}
.system-info-tile.tile-green .tile-title{background:#082719;}
.system-info-tile.tile-teal .tile-title{background:#05333c;}
.system-info-tile.tile-purple .tile-title{background:#1e1648;}
.system-info-tile.tile-indigo .tile-title{background:#081b42;}
.architecture-panel{padding:22px;border-radius:22px;border-top:4px solid #0ea5b7;background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),linear-gradient(90deg,rgba(14,165,183,.13) 1px,transparent 1px),linear-gradient(rgba(14,165,183,.13) 1px,transparent 1px);background-size:auto,86px 86px,86px 86px;overflow:hidden;}
.architecture-panel-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;}
.architecture-panel-head h2{margin:0;color:#071529;font-size:24px;letter-spacing:-.025em;}
.architecture-panel-head p{margin:3px 0 0;}
.architecture-flow{display:flex;align-items:center;gap:14px;width:100%;}
.architecture-flow .arch-node{flex:1 1 0;min-width:0;}
.arch-node{border:1px solid rgba(59,130,246,.34);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(7,21,41,.08);padding:18px;min-height:118px;color:#071529;}
.arch-node .nav-icon{float:left;margin:0 12px 8px 0;width:42px;height:42px;}
.arch-node strong{display:block;font-size:clamp(16px,1vw,20px);line-height:1.15;}
.arch-node p{margin:6px 0 0;color:#2c435a;line-height:1.35;font-size:clamp(13px,.78vw,16px);}
.node-green{border-color:rgba(22,163,74,.35);}
.node-teal{border-color:rgba(14,165,183,.45);}
.node-amber{border-color:rgba(217,119,6,.35);}
.node-red{border-color:rgba(220,38,38,.28);}
.arch-core{flex:1.25 1 0!important;min-height:154px;text-align:center;background:linear-gradient(160deg,#071529,#071a2d);border:3px solid #0ea5b7;color:#fff;box-shadow:0 18px 45px rgba(3,13,25,.22),0 0 0 1px rgba(255,255,255,.05) inset;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.arch-core strong{font-size:clamp(24px,1.8vw,34px);color:#fff;margin-bottom:8px;}
.arch-core p{margin:3px 0;color:#d8edf4;font-size:clamp(15px,1vw,21px);}
.arch-core span{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#0ea5b7;color:#fff;font-weight:800;padding:9px 32px;min-width:210px;}
.arch-arrow{flex:0 0 auto;font-size:42px;line-height:1;color:#2b77d8;font-weight:900;text-shadow:0 1px 0 #fff;}
.arch-arrow.dual{color:#506780;}
.process-flow{align-items:stretch;}
.process-flow .arch-node{min-height:128px;}
.process-flow .local-note{flex:.9 1 0;border-color:rgba(100,116,139,.28);background:#f8fbff;}
.etsy-connector{margin:14px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;color:#30475f;font-weight:800;}
.etsy-connector span{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid #9aa9ba;border-radius:6px;background:#fff;color:#071529;font-weight:900;}
.customer-tracking-panel{display:grid;grid-template-columns:minmax(280px,.45fr) minmax(620px,1.55fr);gap:20px;padding:24px;border-top:4px solid #0ea5b7;}
.tracking-copy h2{font-size:clamp(30px,2.5vw,46px);line-height:1;margin:0 0 12px;letter-spacing:-.04em;}
.tracking-copy p{color:#40576f;line-height:1.55;font-size:18px;}
.tracking-preview-card{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:stretch;}
.tracking-found{border:1px solid rgba(7,21,41,.12);border-radius:18px;background:#fbfcff;padding:20px;box-shadow:0 10px 24px rgba(7,21,41,.06);}
.tracking-found h3{margin:0 0 12px;font-size:22px;}
.tracking-found dl{display:grid;grid-template-columns:118px 1fr;gap:9px 14px;margin:0;}
.tracking-found dt{text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#64748b;font-size:13px;}
.tracking-found dd{margin:0;font-weight:900;color:#071529;}
.green-text{color:#16824a!important;}
.tracking-timeline{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:8px;padding:34px 12px 18px;}
.tracking-timeline:before{content:"";position:absolute;top:52px;left:10%;right:10%;height:4px;background:#d7dee8;border-radius:999px;}
.tracking-timeline>div{position:relative;z-index:1;text-align:center;display:grid;gap:8px;justify-items:center;color:#51657b;}
.tracking-timeline span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;border:4px solid #d7dee8;font-weight:900;color:#6b7280;}
.tracking-timeline .done span{background:#5cc7be;border-color:#5cc7be;color:#fff;}
.tracking-timeline .active span{border-color:#2563eb;color:#2563eb;background:#fff;}
.tracking-timeline strong{color:#071529;font-size:15px;}
.tracking-timeline .active strong{color:#2563eb;}
.tracking-timeline small{color:#607086;}
.sync-note{grid-column:2;display:flex;align-items:center;gap:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#214365;padding:10px 14px;border-radius:10px;margin:0;}
.filament-system-page .architecture-flow.filament-flow .arch-core{min-height:170px;}
.filament-content-grid{display:grid;grid-template-columns:.95fr 1.35fr;gap:22px;align-items:stretch;}
.filament-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.system-benefit-card{border:1px solid rgba(7,21,41,.10);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(7,21,41,.08);padding:20px;display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;}
.system-benefit-card.wide{grid-column:1 / -1;}
.system-benefit-card strong{display:block;font-size:19px;color:#071529;margin-bottom:8px;}
.system-benefit-card p{margin:0;color:#435a72;line-height:1.45;}
.visual-inventory-preview{padding:20px;border-top:4px solid #0ea5b7;}
.inventory-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:16px;}
.inventory-preview-head h2{margin:0;font-size:28px;}
.inventory-preview-head p{margin:2px 0 0;color:#435a72;}
.filter-pills{display:flex;gap:10px;flex-wrap:wrap;}
.filter-pills span,.status-chips span,.spool-row span{border:1px solid #cfe4ff;background:#f8fbff;border-radius:999px;padding:7px 14px;font-weight:800;color:#21527d;font-size:13px;}
.spool-group,.spool-row{border:1px solid rgba(7,21,41,.10);border-radius:14px;background:#fff;padding:14px;margin-bottom:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.spool-group em,.spool-row em{font-style:normal;font-size:12px;color:#071529;background:#eef2f7;border-radius:999px;padding:4px 9px;margin-left:8px;}
.status-chips{display:flex;gap:8px;}
.open{background:#ecfdf5!important;color:#166534!important;border-color:#bbf7d0!important;}.sealed{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}.empty{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important;}
.color-card-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;}
.color-card{border:1px solid rgba(7,21,41,.10);border-radius:14px;background:#fff;padding:14px;display:grid;gap:5px;align-content:start;min-height:130px;}
.color-card i{display:block;width:34px;height:34px;border-radius:50%;}.color-card strong{font-size:16px;}.color-card small{color:#64748b;}.color-card b{font-size:16px;letter-spacing:.08em;}.color-card span{font-size:12px;color:#64748b;}
@media (max-width:1500px){.system-hero-row{grid-template-columns:1fr}.system-tile-row.five{grid-template-columns:repeat(3,minmax(0,1fr));}.architecture-flow{overflow-x:auto;padding-bottom:8px}.arch-node{min-width:220px}.tracking-preview-card{grid-template-columns:1fr}.sync-note{grid-column:1}.filament-content-grid{grid-template-columns:1fr}.filament-benefits{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:900px){.public-marketing-system-shell{padding:22px 18px}.system-tile-row.four,.system-tile-row.five,.filament-benefits,.color-card-row{grid-template-columns:1fr}.customer-tracking-panel{grid-template-columns:1fr}.tracking-timeline{grid-template-columns:1fr;text-align:left}.tracking-timeline:before{display:none}.tracking-timeline>div{grid-template-columns:44px 1fr;justify-items:start;text-align:left}.tracking-timeline small{grid-column:2}.public-topbar .public-nav{gap:8px}.public-site-header .public-login-link{padding-inline:12px}}


/* v13.8.6 public marketing refinement */
.system-tile-row.five{grid-template-columns:repeat(5,minmax(220px,1fr));}
.system-info-tile{min-height:236px;}
.system-info-tile .tile-title{grid-template-columns:42px 1fr;align-items:start;min-height:92px;padding:16px 16px 14px;}
.system-info-tile .tile-title strong{display:block;font-size:clamp(15px,.92vw,18px);line-height:1.08;overflow-wrap:anywhere;text-wrap:balance;}
.system-info-tile p{padding:18px 18px 22px;font-size:clamp(15px,.88vw,17px);}
.benefit-tiles-row{grid-template-columns:repeat(3,minmax(260px,1fr));}
.benefit-tile{min-height:210px;}
.benefit-tile .tile-title{min-height:86px;}
.benefit-tile p{font-size:clamp(16px,.92vw,18px);line-height:1.5;}
.filament-content-grid-stacked{grid-template-columns:1fr;gap:18px;}
.audit-strip{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(360px,1.05fr);gap:22px;align-items:center;padding:20px;border-top:4px solid #0ea5b7;}
.audit-strip-copy{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;}
.audit-strip-copy strong{display:block;font-size:22px;color:#071529;margin-bottom:6px;}
.audit-strip-copy p{margin:0;color:#435a72;line-height:1.45;}
.audit-strip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;}
.audit-strip-list span{position:relative;padding-left:26px;color:#1f3e63;font-weight:700;}
.audit-strip-list span:before{content:"✓";position:absolute;left:0;top:-1px;width:18px;height:18px;border-radius:999px;background:#0ea5b7;color:#fff;font-size:12px;display:grid;place-items:center;}
.visual-preview-rendered{padding:24px 24px 28px;}
.preview-material-card{border:1px solid rgba(7,21,41,.10);border-radius:18px;background:#fff;padding:18px 18px 16px;margin-top:14px;}
.preview-material-head{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px;}
.preview-material-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.preview-material-title strong{font-size:26px;color:#071529;}
.preview-material-title em{font-style:normal;font-size:15px;color:#071529;background:#eef2f7;border-radius:999px;padding:6px 14px;}
.color-card-row.five-up{grid-template-columns:repeat(5,minmax(0,1fr));}
.color-card{min-height:176px;padding:22px 18px 20px;gap:10px;}
.color-card i{width:58px;height:58px;}
.color-card strong{font-size:20px;color:#071529;}
.color-card small{font-size:16px;color:#64748b;}
.color-card b{font-size:22px;letter-spacing:.18em;color:#071529;}
.color-card span{font-size:15px;color:#64748b;}
.color-card-link{display:grid;place-items:center;text-align:center;gap:10px;}
.color-card-link strong{font-size:18px;line-height:1.2;}
.color-card-link .link-arrow{font-size:28px;color:#071529;}
.preview-simple-row{border:1px solid rgba(7,21,41,.10);border-radius:18px;background:#fff;padding:22px 18px;display:grid;grid-template-columns:minmax(140px,1fr) auto auto auto auto;gap:14px;align-items:center;margin-top:14px;}
.preview-simple-row strong{font-size:24px;color:#071529;}
.preview-simple-row em{justify-self:start;font-style:normal;font-size:15px;color:#071529;background:#eef2f7;border-radius:999px;padding:6px 14px;}
.public-track-page-v2 .public-track-shell{max-width:1740px;}
.public-track-banner{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(380px,1.05fr);gap:24px;align-items:end;padding:24px 26px;border-top:4px solid #0ea5b7;}
.public-track-banner h1{margin:6px 0 14px;font-size:clamp(42px,4vw,62px);line-height:.98;letter-spacing:-.045em;color:#071529;}
.public-track-banner p:not(.eyebrow){margin:0;color:#3c536b;font-size:18px;line-height:1.55;max-width:820px;}
.public-track-form-v2{display:grid;grid-template-columns:1.2fr 1fr auto;gap:14px;align-items:end;}
.public-track-form-v2 label{display:grid;gap:8px;font-weight:800;color:#071529;}
.public-track-form-v2 label span{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#5f7388;}
.public-track-form-v2 input{min-height:56px;border-radius:16px;border:1px solid #cfe0f2;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);font-size:18px;padding:0 16px;}
.public-track-form-v2 .btn{min-height:56px;padding-inline:24px;border-radius:16px;}
.public-track-results-panel{padding:24px;grid-template-columns:minmax(280px,.7fr) minmax(520px,1.3fr);}
.public-track-results-panel .tracking-preview-card{grid-template-columns:340px 1fr;}
.tracking-copy-slim h2{font-size:clamp(36px,3vw,54px);}
.live-order-timeline{padding-top:24px;}
.live-order-timeline.steps-7{grid-template-columns:repeat(7,minmax(0,1fr));}
.live-order-timeline.steps-6{grid-template-columns:repeat(6,minmax(0,1fr));}
.live-order-timeline.steps-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.live-order-timeline.steps-7:before,.live-order-timeline.steps-6:before,.live-order-timeline.steps-5:before{left:7%;right:7%;}
.public-track-empty-state{padding:20px 24px;border-top:4px solid #0ea5b7;}
@media (max-width: 1700px){.system-tile-row.five{grid-template-columns:repeat(3,minmax(0,1fr));}.color-card-row.five-up{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width: 1200px){.benefit-tiles-row{grid-template-columns:1fr;}.audit-strip{grid-template-columns:1fr;}.preview-simple-row{grid-template-columns:1fr 1fr 1fr;}.preview-simple-row strong{grid-column:1 / span 1;}.preview-simple-row em{grid-column:2 / span 1;}.public-track-banner,.public-track-results-panel,.public-track-results-panel .tracking-preview-card{grid-template-columns:1fr;}.public-track-form-v2{grid-template-columns:1fr;}.live-order-timeline.steps-7,.live-order-timeline.steps-6,.live-order-timeline.steps-5{grid-template-columns:1fr;}.live-order-timeline.steps-7:before,.live-order-timeline.steps-6:before,.live-order-timeline.steps-5:before{display:none;}}
@media (max-width: 900px){.system-tile-row.five{grid-template-columns:1fr;}.color-card-row.five-up,.audit-strip-list{grid-template-columns:1fr;}.preview-material-title strong{font-size:22px;}.preview-simple-row{grid-template-columns:1fr;}.visual-preview-rendered{padding:18px;}}


/* v13.8.7 alignment fixes */
.visual-preview-live-config{padding:24px 28px 30px;border-top:4px solid #0ea5b7;}
.actual-inventory-head{border-bottom:1px solid rgba(7,21,41,.10);padding-bottom:14px;margin-bottom:0;}
.actual-type-summary{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:linear-gradient(90deg,#e9f7fb 0%,#f8fbff 100%);border-left:6px solid #0b6b98;border-radius:22px 22px 0 0;padding:26px 28px;margin-top:18px;}
.mini-collapse{width:38px;height:38px;border-radius:12px;border:1px solid #d4e4f4;background:#fff;color:#0b6b98;font-weight:900;display:inline-grid;place-items:center;}
.actual-type-title{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.actual-type-title strong{font-size:34px;color:#071529;letter-spacing:-.02em;}
.actual-type-title em{font-style:normal;background:#fff;border:1px solid #d9e6f4;border-radius:999px;padding:10px 20px;font-weight:900;color:#071529;}
.actual-type-stats{display:flex;gap:16px;}
.actual-type-stats span{min-width:128px;min-height:84px;border-radius:18px;background:#fff;border:1px solid #d9e6f4;display:grid;place-items:center;box-shadow:0 10px 24px rgba(7,21,41,.06);}
.actual-type-stats b{font-size:32px;line-height:1;}
.actual-type-stats small{font-size:16px;color:#53677c;margin-top:-12px;}
.actual-status-section{border:1px solid #d8e4f0;border-radius:22px;background:#fff;margin:28px 24px 0;overflow:hidden;box-shadow:0 10px 24px rgba(7,21,41,.04);}
.actual-section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 28px;border-bottom:1px solid #edf2f7;}
.actual-section-head>div{display:flex;align-items:center;gap:18px;}
.actual-section-head strong{font-size:26px;color:#071529;letter-spacing:-.02em;}
.actual-section-head span{font-weight:900;color:#5f7084;font-size:20px;}
.actual-empty-message{padding:42px 38px;background:#f8fafc;color:#66788c;font-weight:900;font-size:22px;}
.actual-color-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px;padding:28px;}
.actual-filament-tile{display:grid;grid-template-columns:96px 1fr 58px;gap:18px;align-items:center;border:1px solid #dbe7f3;border-radius:22px;background:#fff;padding:22px 28px;box-shadow:0 8px 20px rgba(7,21,41,.05);min-height:120px;}
.actual-filament-tile i{width:74px;height:74px;border-radius:20px;display:block;box-shadow:inset 0 0 0 3px rgba(255,255,255,.30),0 3px 8px rgba(7,21,41,.14);}
.actual-filament-tile strong{display:block;font-size:22px;color:#071529;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.actual-filament-tile small{display:block;margin-top:6px;color:#748297;font-weight:900;font-size:18px;}
.actual-filament-tile b{width:58px;height:58px;border-radius:999px;background:#071529;color:#fff;display:grid;place-items:center;font-size:24px;}
.public-track-results-panel .tracking-preview-card{grid-template-columns:minmax(300px,360px) minmax(760px,1fr);gap:26px;}
.live-order-timeline{gap:20px;padding-left:8px;padding-right:8px;}
.live-order-timeline:before{top:44px;}
.live-order-timeline>div{min-width:0;gap:9px;}
.live-order-timeline span{width:44px;height:44px;font-size:16px;}
.live-order-timeline strong{font-size:clamp(13px,.82vw,17px);line-height:1.18;max-width:110px;margin:0 auto;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance;}
.live-order-timeline small{font-size:clamp(12px,.75vw,15px);line-height:1.25;max-width:120px;margin:0 auto;}
.public-track-banner{grid-template-columns:minmax(480px,1fr) minmax(760px,1.3fr);}
.public-track-form-v2{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto;gap:22px;}
.tracking-found dl{grid-template-columns:130px 1fr;gap:12px 18px;}
@media (max-width:1550px){.actual-color-grid{grid-template-columns:repeat(2,minmax(260px,1fr));}.public-track-results-panel .tracking-preview-card{grid-template-columns:1fr;}.public-track-banner{grid-template-columns:1fr}.public-track-form-v2{grid-template-columns:1fr 1fr auto;}.live-order-timeline strong{max-width:140px;}}
@media (max-width:1000px){.actual-type-summary{grid-template-columns:1fr;}.actual-type-stats{justify-content:flex-start;}.actual-color-grid{grid-template-columns:1fr;}.actual-filament-tile{grid-template-columns:82px 1fr 54px;}.public-track-form-v2{grid-template-columns:1fr;}.public-track-results-panel .tracking-preview-card{grid-template-columns:1fr;}.live-order-timeline{grid-template-columns:1fr!important;text-align:left}.live-order-timeline:before{display:none}.live-order-timeline>div{grid-template-columns:52px 1fr;justify-items:start;text-align:left}.live-order-timeline small{grid-column:2;max-width:none;margin:0}.live-order-timeline strong{max-width:none;margin:0}}


/* v13.8.8 public tracking sync-message link */
.sync-note a{color:#0f5f9a;font-weight:900;text-decoration:underline;text-underline-offset:3px;}
.sync-note a:hover{color:#083c63;}


/* v13.8.9 public tracking sync-note link formatting */
.sync-note{align-items:center;flex-wrap:nowrap;}
.sync-note .sync-note-text{display:inline-block;white-space:nowrap;line-height:1.35;}
.sync-note a{color:#0f5f8c;font-weight:900;text-decoration:underline;text-underline-offset:3px;}
@media (max-width: 980px){.sync-note{flex-wrap:wrap;}.sync-note .sync-note-text{white-space:normal;}}


/* v13.8.10 public tracking sync note containment */
.sync-note{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:14px;
}
.sync-note .nav-icon{
  flex:0 0 auto;
}
.sync-note .sync-note-text{
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  font-size:clamp(14px,1vw,18px);
  line-height:1.35;
  letter-spacing:0;
}
.sync-note .sync-note-text a{
  display:inline;
  white-space:nowrap;
  color:#0f5f8c;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
.public-track-results-panel .sync-note,
.customer-tracking-panel .sync-note{
  grid-column:1 / -1;
  align-self:stretch;
}
@media (max-width: 1100px){
  .sync-note .sync-note-text{
    white-space:normal;
    overflow:visible;
    font-size:16px;
  }
}

/* v14.1 password reset */
.forgot-password-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-top: 0.75rem;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--accent, #2563eb);
}
.forgot-password-link:hover { text-decoration: underline; }

/* v14.1.5 profile + mail preview refinements */
.email-preview-frame {
  background: #f3f4f6;
  border: 1px solid #d9e1ef;
  border-radius: 18px;
  overflow: hidden;
  padding: 0;
}
.account-profile-grid .card input[disabled] {
  background: #f8fafc;
  color: #64748b;
  cursor: not-allowed;
}

/* v14.1.6 password visibility toggles */
.password-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.password-input-wrap input {
  width: 100%;
  padding-right: 3.15rem !important;
}
.password-toggle {
  position: absolute;
  right: 0.45rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.3rem;
  height: 2.3rem;
  min-height: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #64748b;
  box-shadow: none;
  padding: 0;
}
.password-toggle:hover,
.password-toggle:focus-visible {
  background: #eef7fb;
  border-color: #bde6ee;
  color: #0f172a;
  outline: none;
}
.password-toggle[aria-pressed="true"] {
  background: #e0f2fe;
  border-color: #93c5fd;
  color: #0f172a;
}
.password-eye-icon {
  position: relative;
  display: inline-block;
  width: 1.24rem;
  height: .78rem;
  border: 2px solid currentColor;
  border-radius: 999px 999px 999px 999px / 70% 70% 70% 70%;
  opacity: .88;
}
.password-eye-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: .34rem;
  height: .34rem;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: currentColor;
}
.password-eye-icon::after {
  content: "";
  position: absolute;
  left: -.18rem;
  top: 50%;
  width: 1.6rem;
  height: 2px;
  background: currentColor;
  transform: rotate(-38deg);
  transform-origin: center;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.85);
}
.password-toggle[aria-pressed="true"] .password-eye-icon::after {
  opacity: 0;
}
.temp-password-label .password-input-wrap,
.security-add-grid .password-input-wrap,
.auth-form .password-input-wrap,
.stacked-form .password-input-wrap {
  margin-top: 0;
}

/* v14.3.2 device icons and completed-order production fun facts */
.device-avatar {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  object-fit: cover;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(15, 23, 42, .14);
  background: #f8fafc;
  flex: 0 0 auto;
}
.device-avatar.placeholder {
  background: linear-gradient(135deg, #0f172a, #334155);
  color: #fff;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .03em;
}
.device-icon-editor {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 13rem;
  flex-wrap: wrap;
}
.device-icon-editor input[type="file"],
.file-field input[type="file"] {
  max-width: 12rem;
  font-size: .78rem;
}
.tiny-check {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .76rem;
  color: #64748b;
}
.device-board-head .device-board-title,
.device-summary-with-icon,
.device-chip,
.device-chip-row {
  display: flex;
  align-items: center;
}
.device-board-head .device-board-title {
  gap: .55rem;
}
.device-summary-with-icon {
  gap: .65rem;
}
.device-chip-row {
  gap: .55rem;
  flex-wrap: wrap;
  margin-top: .55rem;
}
.device-chip {
  gap: .45rem;
  border: 1px solid rgba(148, 163, 184, .35);
  border-radius: 999px;
  background: #f8fafc;
  padding: .35rem .65rem .35rem .35rem;
  color: #0f172a;
}
.device-chip .device-avatar {
  width: 1.95rem;
  height: 1.95rem;
  font-size: .68rem;
}
.public-device-fun-fact {
  margin-top: 1rem;
  padding: .85rem;
  border: 1px solid rgba(125, 211, 252, .55);
  border-radius: 16px;
  background: rgba(240, 249, 255, .78);
}
.public-device-fun-fact p {
  margin: 0 0 .55rem 0;
  color: #0f172a;
  font-weight: 700;
}
.public-device-chip-row {
  justify-content: center;
}

/* v14.3.3 dashboard device logo visibility */
.dashboard-device-head-with-icon {
  min-height: 3.4rem;
}
.dashboard-device-title-row {
  display: flex;
  align-items: center;
  gap: .6rem;
  min-width: 0;
}
.dashboard-device-title-row > div {
  min-width: 0;
}
.dashboard-device-title-row strong,
.dashboard-device-title-row small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-device-avatar {
  width: 2.45rem;
  height: 2.45rem;
  border-radius: .8rem;
  object-fit: cover;
}
.micro-device-avatar {
  width: 1.05rem;
  height: 1.05rem;
  border-radius: .35rem;
  object-fit: cover;
  display: inline-flex;
  vertical-align: -0.2rem;
  margin-right: .25rem;
  font-size: .48rem;
}
.device-mini-assigned-line {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}


/* v14.3.5 public order tracking sync-note wrapping fix
   Keep the Product Manager status/sync message readable instead of clipping on wide or narrow screens. */
.public-track-page-v2 .sync-note,
.customer-tracking-panel .sync-note{
  align-items:flex-start;
  overflow:visible;
  min-height:auto;
}
.public-track-page-v2 .sync-note .sync-note-text,
.customer-tracking-panel .sync-note .sync-note-text{
  display:block;
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.45;
}
.public-track-page-v2 .sync-note .sync-note-text a,
.customer-tracking-panel .sync-note .sync-note-text a{
  white-space:normal;
}

/* v14.3.12 post-login startup popup polish: contained flashes and single formal gear */
.startup-screen {
  position: fixed;
  inset: 0;
  z-index: 5000;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 16px;
  background: radial-gradient(circle at top left, rgba(37,99,235,.20), transparent 34%), radial-gradient(circle at bottom right, rgba(34,197,94,.16), transparent 34%), linear-gradient(135deg, #0f172a, #1e293b 46%, #0f172a);
  overflow: hidden;
}
.startup-backdrop { position: fixed; inset: 0; background: rgba(15,23,42,.50); backdrop-filter: blur(6px); }
.startup-modal {
  position: relative;
  width: min(820px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(148,163,184,.40);
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(15,23,42,.40);
  padding: 22px;
  text-align: center;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.startup-modal-topline { position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, #2563eb, #22c55e, #facc15); }
.startup-hero-row { display:flex; align-items:center; justify-content:space-between; gap: 14px; margin-bottom: 0; flex: 0 0 auto; }
.startup-logo-wrap { display:flex; align-items:center; justify-content:center; min-height: 44px; }
.startup-logo-wrap img { max-height: 44px; max-width: 156px; object-fit: contain; }
.startup-gear-single {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #2563eb;
  background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.96), rgba(219,234,254,.72));
  border: 1px solid rgba(147,197,253,.72);
  box-shadow: 0 14px 28px rgba(37,99,235,.18);
}
.startup-gear-svg { width: 42px; height: 42px; filter: drop-shadow(0 6px 10px rgba(37,99,235,.18)); animation: startupSpin 2.4s linear infinite; transform-origin: 50% 50%; }
@keyframes startupSpin { to { transform: rotate(360deg); } }
.startup-modal .eyebrow { margin: 6px 0 2px; font-size: .78rem; letter-spacing: .24em; }
.startup-modal h1 { margin: 2px 0 4px; font-size: clamp(1.45rem, 2.35vw, 2.1rem); letter-spacing: -.03em; flex: 0 0 auto; }
.startup-modal .muted { color: #64748b; margin: 0 auto 10px; max-width: 640px; line-height: 1.35; font-size: .96rem; flex: 0 0 auto; }
.startup-progress-wrap { margin: 10px 0 10px; flex: 0 0 auto; }
.startup-progress-label { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#475569; font-weight:800; font-size:.88rem; margin-bottom:6px; }
.startup-progress-label span:last-child { text-align:right; font-weight:700; color:#64748b; }
.startup-progress { height: 12px; background: #e2e8f0; border-radius: 999px; overflow: hidden; box-shadow: inset 0 1px 2px rgba(15,23,42,.12); }
.startup-progress span { display: block; height: 100%; width: 0%; background: linear-gradient(90deg, #2563eb, #22c55e); border-radius: inherit; transition: width .35s ease; position:relative; }
.startup-progress span::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent); animation: startupBarShine 1.2s linear infinite; }
@keyframes startupBarShine { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.startup-step-current { font-weight: 900; color: #0f172a; margin: 4px 0 9px; font-size: .98rem; flex: 0 0 auto; }
.startup-check-list {
  list-style: none;
  padding: 0 4px 0 0;
  margin: 0;
  display: grid;
  gap: 7px;
  text-align: left;
  overflow: auto;
  min-height: 0;
  flex: 1 1 auto;
  max-height: none;
}
.startup-check-list li { display: grid; grid-template-columns: 26px 1fr; gap: 5px 10px; align-items: center; padding: 9px 12px; border: 1px solid #e2e8f0; border-radius: 14px; background: #f8fafc; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.startup-check-list li span:nth-child(2) { font-weight: 850; color:#0f172a; font-size:.96rem; }
.startup-check-list li em { grid-column: 2; color: #64748b; font-size: .82rem; font-style: normal; line-height:1.25; }
.startup-check-list li.running { border-color: #93c5fd; background: #eff6ff; transform: scale(1.005); }
.startup-check-list li.ok { border-color: #86efac; background: #f0fdf4; }
.startup-check-list li.warning { border-color: #facc15; background: #fefce8; }
.startup-check-list li.skipped { border-color: #cbd5e1; background: #f8fafc; opacity: .86; }
.startup-dot { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 999px; background: #fff; border: 1px solid #cbd5e1; font-weight: 900; }
.startup-check-list li.running .startup-dot { color:#2563eb; border-color:#93c5fd; animation: startupPulse .8s ease-in-out infinite alternate; }
.startup-check-list li.ok .startup-dot { color: #15803d; border-color: #86efac; }
.startup-check-list li.warning .startup-dot { color: #a16207; border-color: #facc15; }
@keyframes startupPulse { from { transform: scale(.95); } to { transform: scale(1.08); } }
.startup-issue-panel { margin-top: 10px; padding: 12px 14px; border-radius: 16px; border: 1px solid #facc15; background: #fefce8; display:flex; align-items:center; justify-content:space-between; gap: 14px; text-align:left; flex: 0 0 auto; max-height: 26dvh; overflow:auto; }
.startup-issue-panel[hidden] { display:none; }
.startup-issue-panel strong { color:#713f12; display:block; margin-bottom:2px; font-size:.95rem; }
.startup-issue-panel p { margin:0; color:#854d0e; font-size:.86rem; line-height:1.32; }
.startup-issue-panel .btn { white-space:nowrap; }
@media (max-width: 720px), (max-height: 720px) {
  .startup-screen { padding: 10px; }
  .startup-modal { width: min(760px, calc(100vw - 20px)); max-height: calc(100dvh - 20px); padding: 18px 14px 14px; border-radius: 20px; }
  .startup-hero-row { justify-content:center; gap: 10px; }
  .startup-logo-wrap { min-height: 36px; }
  .startup-logo-wrap img { max-height: 36px; max-width: 128px; }
  .startup-gear-single { width: 46px; height: 46px; flex-basis:46px; border-radius: 15px; }
  .startup-gear-svg { width: 34px; height: 34px; }
  .startup-modal .eyebrow { font-size:.68rem; letter-spacing:.18em; }
  .startup-modal h1 { font-size: clamp(1.2rem, 5vw, 1.65rem); }
  .startup-modal .muted { font-size:.84rem; margin-bottom: 7px; }
  .startup-progress-wrap { margin: 7px 0; }
  .startup-step-current { margin: 2px 0 7px; font-size:.88rem; }
  .startup-check-list { gap: 6px; }
  .startup-check-list li { padding: 7px 9px; border-radius: 12px; grid-template-columns: 24px 1fr; }
  .startup-check-list li span:nth-child(2) { font-size:.88rem; }
  .startup-check-list li em { font-size:.76rem; line-height:1.2; }
  .startup-dot { width:22px; height:22px; }
  .startup-issue-panel { flex-direction:column; align-items:stretch; gap:8px; padding: 10px; max-height: 24dvh; }
  .startup-issue-panel .btn { width:100%; }
}
@media (max-height: 620px) {
  .startup-modal .muted { display:none; }
  .startup-check-list li em { display:none; }
  .startup-issue-panel p { max-height: 4.8em; overflow:auto; }
}

/* v14.3.13 Bambu Hub cleanup controls */
.check-line{display:flex;align-items:flex-start;gap:.5rem;margin:.35rem 0;font-weight:600;color:var(--text);}
.check-line input{width:auto;margin-top:.18rem;}

/* v14.5 / SnakeEyes 2.5 Bambu Hub History */
.bambu-history-dialog{border:0;padding:0;background:transparent;width:min(1180px,96vw);max-width:96vw;}
.bambu-history-dialog::backdrop{background:rgba(15,23,42,.52);backdrop-filter:blur(2px);}
.bambu-history-shell{background:#fff;border:1px solid var(--border,#d8e3ef);border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.32);padding:18px;}
.bambu-history-shell iframe{width:100%;height:min(78vh,900px);border:1px solid var(--border,#d8e3ef);border-radius:18px;background:#fff;}
.embedded-history-body{background:#f8fafc;margin:0;}
.bambu-history-page{padding:18px;max-width:1160px;margin:0 auto;}
.bambu-history-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.bambu-tabs{display:grid;grid-template-columns:repeat(5,auto) 1fr;gap:8px;align-items:start;}
.bambu-tabs>input{display:none;}
.bambu-tabs>label{cursor:pointer;border:1px solid var(--border,#d8e3ef);border-radius:999px;padding:9px 14px;background:#fff;font-weight:850;color:#53677c;}
.bambu-tabs>input:checked+label{background:#111827;color:#fff;border-color:#111827;}
.bambu-tab-panel{display:none;grid-column:1/-1;margin-top:10px;}
#tab-overview:checked~.overview-panel,#tab-jobs:checked~.jobs-panel,#tab-filament:checked~.filament-panel,#tab-maint:checked~.maintenance-panel,#tab-events:checked~.events-panel{display:block;}
@media(max-width:760px){.bambu-tabs{grid-template-columns:1fr 1fr}.bambu-tabs>label{text-align:center}.bambu-history-page{padding:10px}.bambu-history-shell{padding:10px}.bambu-history-shell iframe{height:82vh}}


/* v14.5.13 dashboard device status tile above active orders */
.dashboard-summary-stack{
  flex:0 0 min(430px, 34vw);
  display:flex;
  flex-direction:column;
  gap:10px;
  align-self:stretch;
}
.dashboard-summary-stack .dashboard-active-orders-inline{
  flex:0 0 auto;
  width:100%;
  min-height:44px;
}
.dashboard-device-status-inline{
  width:100%;
  min-height:72px;
  padding:10px 12px;
  border:1px solid #d7e3ef;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 8px 18px rgba(15,23,42,.055);
}
.dashboard-device-status-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.dashboard-device-status-title-row > span{
  color:#0f6f7e;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.dashboard-device-status-title-row small{
  display:flex;
  align-items:center;
  gap:5px;
  color:#64748b;
  font-size:.66rem;
  font-weight:850;
  white-space:nowrap;
}
.status-dot{
  width:7px;
  height:7px;
  display:inline-block;
  border-radius:999px;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.status-dot.ready{background:#22c55e;}
.status-dot.offline{background:#facc15;}
.status-dot.unknown{background:#94a3b8;}
.dashboard-device-status-icons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.dashboard-device-status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:128px;
  padding:4px 8px 4px 4px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.28);
  background:rgba(255,255,255,.92);
  color:#0f172a;
  text-decoration:none;
  box-shadow:0 5px 12px rgba(15,23,42,.045);
}
.dashboard-device-status-pill:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 18px rgba(15,23,42,.085);
}
.dashboard-device-status-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.95);
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08), 0 5px 12px rgba(15,23,42,.10);
}
.dashboard-device-status-icon.ready{background:#22c55e;}
.dashboard-device-status-icon.offline{background:#facc15;}
.dashboard-device-status-icon.unknown{background:#94a3b8;}
.dashboard-device-status-icon img{
  width:78%;
  height:78%;
  object-fit:contain;
  border-radius:8px;
  background:rgba(255,255,255,.94);
  padding:3px;
}
.dashboard-device-status-icon span{
  color:#fff;
  font-size:.78rem;
  font-weight:950;
  text-shadow:0 1px 2px rgba(15,23,42,.25);
}
.dashboard-device-status-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.74rem;
  font-weight:900;
}
.dashboard-device-status-empty{
  color:#64748b;
  font-size:.78rem;
  font-weight:850;
}
@media(max-width:1100px){
  .dashboard-summary-stack{
    flex:0 0 auto;
    width:100%;
  }
}
@media(max-width:720px){
  .dashboard-device-status-title-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .dashboard-device-status-pill{
    max-width:100%;
  }
}

/* v14.5.14 compact dashboard device status alignment
   Aligns the device status row with the Product Manager heading and keeps the hero shorter. */
.dashboard-kpi-row{
  display:flex;
  align-items:stretch;
  gap:12px;
  width:min(100%, 1120px);
  margin-top:14px;
}
.dashboard-kpi-row .dashboard-device-status-inline{
  flex:1 1 auto;
  min-width:0;
  min-height:54px;
  padding:8px 10px;
  border-radius:13px;
  box-shadow:0 5px 14px rgba(15,23,42,.045);
}
.dashboard-kpi-row .dashboard-active-orders-inline{
  flex:0 0 180px;
  width:auto;
  min-height:54px;
  padding:8px 14px;
}
.dashboard-kpi-row .dashboard-device-status-title-row{
  margin-bottom:5px;
}
.dashboard-kpi-row .dashboard-device-status-title-row > span{
  font-size:.68rem;
  letter-spacing:.18em;
}
.dashboard-kpi-row .dashboard-device-status-title-row small{
  font-size:.62rem;
  gap:4px;
}
.dashboard-kpi-row .dashboard-device-status-icons{
  flex-wrap:nowrap;
  gap:6px;
  overflow:hidden;
}
.dashboard-kpi-row .dashboard-device-status-pill{
  flex:0 1 112px;
  max-width:112px;
  min-width:0;
  padding:3px 7px 3px 3px;
  gap:5px;
  box-shadow:0 4px 10px rgba(15,23,42,.04);
}
.dashboard-kpi-row .dashboard-device-status-icon{
  width:28px;
  height:28px;
  flex-basis:28px;
  border-width:2px;
}
.dashboard-kpi-row .dashboard-device-status-icon img{
  padding:2px;
  border-radius:7px;
}
.dashboard-kpi-row .dashboard-device-status-name{
  font-size:.68rem;
  line-height:1.05;
}
.dashboard-kpi-row .dashboard-active-orders-count{
  font-size:1.35rem;
}
.dashboard-kpi-row .dashboard-active-orders-label{
  font-size:.76rem;
}
.dashboard-action-strip{
  justify-content:flex-start;
  margin-top:12px;
}
.dashboard-action-strip .dashboard-actions{
  flex:0 1 820px;
}
@media(max-width:1300px){
  .dashboard-kpi-row{
    flex-direction:column;
  }
  .dashboard-kpi-row .dashboard-active-orders-inline{
    flex:0 0 auto;
    width:100%;
    justify-content:flex-start;
  }
  .dashboard-kpi-row .dashboard-device-status-icons{
    flex-wrap:wrap;
  }
}
@media(max-width:720px){
  .dashboard-kpi-row .dashboard-device-status-title-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .dashboard-kpi-row .dashboard-device-status-pill{
    flex-basis:100%;
    max-width:100%;
  }
}


/* v14.5.15 raised dashboard device status
   Moves the compact device status row directly under Product Manager so the devices sit higher in the hero. */
.dashboard-kpi-row-raised{
  margin-top:6px;
  margin-bottom:10px;
  width:min(100%, 1040px);
}
.dashboard-kpi-row-raised + .muted{
  margin-top:8px !important;
  margin-bottom:0 !important;
}
.dashboard-action-strip{
  margin-top:14px !important;
}
@media(min-width:1301px){
  .dashboard-kpi-row-raised .dashboard-device-status-pill{
    flex-basis:106px;
    max-width:106px;
  }
  .dashboard-kpi-row-raised .dashboard-active-orders-inline{
    flex-basis:172px;
  }
}

/* v14.5.16 dashboard tile alignment
   Restores the description under Product Manager and keeps all function tiles in one same-height row on desktop. */
.dashboard-kpi-row-compact{
  margin-top:12px;
  margin-bottom:0;
  width:min(100%, 1060px);
}
.brand-dashboard-content > .muted{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.brand-dashboard .dashboard-action-strip{
  margin-top:16px !important;
  width:min(100%, 1040px);
}
.brand-dashboard .dashboard-action-strip .dashboard-actions{
  display:grid !important;
  grid-template-columns:minmax(150px,1.05fr) minmax(142px,.98fr) minmax(180px,1.18fr) minmax(130px,.9fr) minmax(138px,.92fr) minmax(130px,.9fr);
  gap:10px;
  width:100%;
  flex:1 1 auto;
}
.brand-dashboard .dashboard-actions .btn,
.brand-dashboard .dashboard-actions .btn.big-action{
  min-height:54px !important;
  height:54px !important;
  padding:10px 12px !important;
  border-radius:13px !important;
  justify-content:center !important;
  white-space:nowrap;
  font-size:.98rem !important;
}
.brand-dashboard .dashboard-actions .btn-icon{
  margin-right:.45rem;
}
@media(max-width:1280px){
  .brand-dashboard .dashboard-action-strip,
  .dashboard-kpi-row-compact{width:100%;}
  .brand-dashboard .dashboard-action-strip .dashboard-actions{
    grid-template-columns:repeat(3,minmax(160px,1fr));
  }
}
@media(max-width:760px){
  .brand-dashboard .dashboard-action-strip .dashboard-actions{
    grid-template-columns:1fr;
  }
  .brand-dashboard .dashboard-actions .btn,
  .brand-dashboard .dashboard-actions .btn.big-action{
    justify-content:flex-start !important;
  }
}

/* v14.6.1 Work Bench interaction and layout fixes */
.prototype-workbench {
  max-width: 100%;
  overflow-x: hidden;
}
.prototype-iteration-shell {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 400px) !important;
  gap: 1rem !important;
}
.prototype-board-side,
.proto-kanban-panel,
.prototype-iteration-board {
  min-width: 0;
}
.prototype-iteration-board {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr)) !important;
  gap: .65rem !important;
  overflow-x: hidden !important;
  padding-bottom: 0 !important;
}
.proto-run-lane {
  min-width: 0 !important;
  padding: .6rem !important;
  border-radius: 15px !important;
}
.proto-run-lane-head {
  gap: .45rem;
}
.proto-run-lane-head strong {
  font-size: .86rem;
  line-height: 1.15;
}
.proto-run-lane-body {
  min-height: 118px !important;
  border-radius: 12px;
  transition: background .15s ease, outline-color .15s ease;
}
.proto-run-lane-body.drag-over {
  background: #ecfeff;
  outline: 2px dashed #14a6b8;
  outline-offset: 3px;
}
.proto-run-card {
  cursor: grab;
  padding: .58rem !important;
  border-radius: 13px !important;
}
.proto-run-card.dragging {
  opacity: .55;
  cursor: grabbing;
}
.proto-run-card .run-title-row {
  align-items: start;
}
.proto-run-card .run-title-row strong,
.proto-run-card .run-title-row span,
.compact-muted {
  min-width: 0;
  overflow-wrap: anywhere;
}
.proto-empty-lane {
  min-height: 56px !important;
}
.component-edit-block {
  border-color: #bde6ee;
  box-shadow: inset 4px 0 0 #1aa6b7;
}
.proto-inspector-form .check.component-check {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 42px;
  padding: .55rem .7rem;
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 12px;
  background: #fff;
  color: var(--ink, #0f172a);
  font-weight: 850;
  letter-spacing: normal;
}
.proto-inspector-form .check.component-check input {
  width: auto;
}
.split-actions {
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
}
.selected-run-block h3,
.component-edit-block h3 {
  margin-bottom: .25rem;
}
@media (max-width: 1540px) {
  .prototype-iteration-shell {
    grid-template-columns: 1fr !important;
  }
  .prototype-inspector {
    order: 0 !important;
  }
  .prototype-iteration-board {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  .prototype-iteration-board {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .prototype-iteration-board {
    grid-template-columns: 1fr !important;
  }
}

/* v14.6.2 Work Bench lifecycle workflow redesign */
.prototype-lifecycle-shell {
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.lifecycle-map-card {
  overflow: hidden;
}
.lifecycle-map {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: .65rem;
}
.life-step {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-areas: "num title" "num meta";
  align-items: center;
  gap: .1rem .55rem;
  padding: .75rem;
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 16px;
  background: #f8fbff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(15,23,42,.035);
}
.life-step span {
  grid-area: num;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 950;
  background: #e8f7fb;
  color: #0c7180;
}
.life-step strong { grid-area: title; font-size: .94rem; }
.life-step em { grid-area: meta; min-width: 0; color: var(--muted, #66758a); font-style: normal; font-weight: 750; font-size: .78rem; overflow-wrap: anywhere; }
.life-step.ready { border-color: #bde6ee; background: linear-gradient(180deg, #ffffff, #f1fbff); box-shadow: inset 4px 0 0 #1aa6b7, 0 8px 18px rgba(15,23,42,.04); }
.prototype-workflow-grid {
  display: grid;
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) minmax(360px, 440px);
  gap: 1rem;
  align-items: start;
  min-width: 0;
}
.component-rail-card,
.lifecycle-board-card,
.workflow-action-card { min-width: 0; }
.component-rail-card {
  position: sticky;
  top: 84px;
  display: grid;
  gap: .75rem;
  max-height: calc(100vh - 100px);
  overflow: auto;
}
.component-rail-list {
  display: grid;
  gap: .55rem;
}
.component-rail-item {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: .65rem;
  align-items: start;
  padding: .72rem;
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 16px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.component-rail-item.active {
  border-color: #1aa6b7;
  box-shadow: inset 4px 0 0 #1aa6b7, 0 8px 18px rgba(15,23,42,.04);
}
.component-rail-icon {
  width: 32px;
  height: 32px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #eef9fc;
}
.component-rail-copy {
  min-width: 0;
  display: grid;
  gap: .15rem;
}
.component-rail-copy strong,
.component-rail-copy em,
.component-rail-copy small {
  min-width: 0;
  overflow-wrap: anywhere;
}
.component-rail-copy em,
.component-rail-copy small {
  color: var(--muted, #66758a);
  font-style: normal;
  font-weight: 750;
}
.component-add-drawer {
  border: 1px dashed #cde1ef;
  border-radius: 16px;
  background: #f8fbff;
  overflow: hidden;
}
.component-add-drawer > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  gap: .5rem;
  align-items: center;
  padding: .75rem .85rem;
}
.component-add-drawer > summary::-webkit-details-marker { display: none; }
.component-add-drawer form {
  display: grid;
  gap: .6rem;
  padding: .75rem;
  border-top: 1px solid var(--border, #d9e2ec);
  background: #fff;
}
.lifecycle-board-card {
  overflow: hidden;
}
.prototype-iteration-board.lifecycle-board {
  grid-template-columns: repeat(7, minmax(152px, 1fr)) !important;
  overflow-x: auto !important;
  padding-bottom: .35rem !important;
}
.lifecycle-lane {
  min-width: 152px !important;
  background: #f8fbff !important;
}
.lifecycle-run-card {
  box-shadow: inset 4px 0 0 #1aa6b7, 0 6px 14px rgba(15,23,42,.05) !important;
}
.run-note-preview {
  font-size: .78rem;
  color: var(--muted, #66758a);
  line-height: 1.25;
  border-top: 1px solid #edf2f7;
  padding-top: .3rem;
}
.workflow-action-card {
  position: sticky;
  top: 84px;
  display: grid;
  gap: .85rem;
  max-height: calc(100vh - 100px);
  overflow: auto;
}
.workflow-head {
  padding-bottom: .65rem;
}
.workflow-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
.workflow-tab {
  border: 1px solid var(--border, #d9e2ec);
  background: #fff;
  color: var(--muted, #66758a);
  border-radius: 999px;
  padding: .55rem .65rem;
  font-weight: 900;
  cursor: pointer;
}
.workflow-tab.active {
  background: #0f7280;
  color: #fff;
  border-color: #0f7280;
}
.workflow-panel {
  display: none;
  border: 1px solid var(--border, #d9e2ec);
  border-radius: 18px;
  padding: .9rem;
  background: #fff;
}
.workflow-panel.active { display: grid; gap: .75rem; }
.workflow-panel-head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: start;
  border-bottom: 1px solid var(--border, #d9e2ec);
  padding-bottom: .65rem;
}
.workflow-panel-head h3 { margin: 0; }
.workflow-material-list { display: grid; gap: .45rem; }
.workflow-empty-state {
  border: 2px dashed #d8e8f8;
  border-radius: 16px;
  padding: 1rem;
  color: var(--muted, #66758a);
  font-weight: 900;
  text-align: center;
  background: #f8fbff;
}
.compact-actions { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: flex-end; }
@media (max-width: 1500px) {
  .prototype-workflow-grid {
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  }
  .workflow-action-card {
    grid-column: 1 / -1;
    position: static;
    max-height: none;
    overflow: visible;
  }
}
@media (max-width: 980px) {
  .lifecycle-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prototype-workflow-grid { grid-template-columns: 1fr; }
  .component-rail-card { position: static; max-height: none; overflow: visible; }
  .component-rail-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
}
@media (max-width: 620px) {
  .lifecycle-map { grid-template-columns: 1fr; }
  .workflow-tabs { grid-template-columns: 1fr; }
  .workflow-panel-head { display: grid; }
}


/* v14.6.3 Work Bench workflow density correction */
.prototype-workbench .card { border-radius: 16px; }
.prototype-workbench h2 { font-size: 1.18rem; }
.prototype-workbench h3 { font-size: 1rem; }
.prototype-workbench label { font-size: .78rem; }
.prototype-workbench input,
.prototype-workbench select,
.prototype-workbench textarea { min-height: 36px; padding: .48rem .6rem; font-size: .88rem; border-radius: 10px; }
.prototype-workbench textarea { min-height: 62px; }
.lifecycle-compact-shell { gap: .75rem !important; }
.compact-lifecycle-map-card { padding: .85rem !important; }
.tighter-head { margin-bottom: .55rem !important; gap: .65rem !important; }
.tighter-head p { margin-top: .12rem; }
.compact-lifecycle-map { grid-template-columns: repeat(5, minmax(98px, 1fr)) !important; gap: .45rem !important; }
.compact-lifecycle-map .life-step { grid-template-columns: 26px 1fr; padding: .5rem .55rem; border-radius: 12px; gap: 0 .42rem; }
.compact-lifecycle-map .life-step span { width: 24px; height: 24px; font-size: .78rem; }
.compact-lifecycle-map .life-step strong { font-size: .82rem; }
.compact-lifecycle-map .life-step em { font-size: .68rem; }
.workbench-top-workflow-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,360px); gap:.75rem; align-items:start; }
.component-workflow-card { position: static !important; max-height: none !important; overflow: visible !important; gap:.65rem !important; padding:.85rem !important; }
.materials-side-card { position: sticky; top:84px; padding:.85rem !important; }
.compact-component-list { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap:.45rem !important; }
.compact-component-item { grid-template-columns: 26px 1fr; padding:.52rem .58rem; border-radius:12px; gap:.45rem; }
.compact-component-item .component-rail-icon { width:24px; height:24px; border-radius:8px; }
.compact-component-item .component-rail-copy strong { font-size:.88rem; }
.compact-component-item .component-rail-copy em,
.compact-component-item .component-rail-copy small { font-size:.72rem; line-height:1.15; }
.compact-details-drawer { margin-top:.55rem; border:1px dashed #cde1ef; border-radius:14px; overflow:hidden; background:#f8fbff; }
.compact-details-drawer > summary { list-style:none; cursor:pointer; display:flex; gap:.45rem; align-items:center; padding:.58rem .7rem; }
.compact-details-drawer > summary::-webkit-details-marker{display:none;}
.compact-details-drawer > summary .muted { margin-left:auto; font-size:.76rem; }
.compact-details-drawer .compact-form { padding:.7rem; border-top:1px solid var(--border,#d9e2ec); background:#fff; }
.compact-form { display:grid; gap:.55rem !important; }
.form-grid.four.compact-grid { display:grid; grid-template-columns: .45fr minmax(180px,1.35fr) .55fr minmax(150px,1fr); gap:.5rem; }
.form-grid.compact-grid { gap:.5rem !important; }
.compact-material-list { gap:.35rem; }
.material-summary-line { padding:.45rem .55rem; border:1px solid var(--border,#d9e2ec); border-radius:10px; background:#fff; display:flex; justify-content:space-between; gap:.55rem; font-size:.82rem; }
.workbench-iteration-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(315px,390px); gap:.75rem; align-items:start; }
.compact-board-card { padding:.85rem !important; }
.prototype-iteration-board.lifecycle-board.compact-iteration-board { grid-template-columns: repeat(7, minmax(128px, 1fr)) !important; gap:.45rem !important; overflow-x:auto !important; }
.compact-iteration-board .lifecycle-lane { min-width:128px !important; padding:.45rem !important; border-radius:12px !important; }
.compact-iteration-board .proto-run-lane-head { padding-bottom:.38rem; }
.compact-iteration-board .proto-run-lane-head strong { font-size:.76rem; }
.compact-iteration-board .count-pill { min-width:24px; height:24px; font-size:.74rem; }
.compact-iteration-board .proto-run-lane-body { min-height:88px !important; gap:.38rem; }
.compact-iteration-board .proto-run-card { padding:.44rem !important; border-radius:10px !important; }
.compact-iteration-board .run-title-row strong,
.compact-iteration-board .run-title-row span { font-size:.78rem; }
.compact-iteration-board .compact-muted,
.compact-iteration-board .run-note-preview { font-size:.68rem; }
.compact-iteration-board .proto-empty-lane { min-height:42px !important; font-size:.72rem; }
.iteration-action-card { position: sticky; top:84px; max-height:calc(100vh - 100px); overflow:auto; padding:.85rem !important; }
.compact-inspector-head h2 { font-size:1.05rem; }
.compact-tabs { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:.35rem !important; }
.compact-tabs .workflow-tab { padding:.42rem .5rem; font-size:.78rem; }
.iteration-action-card .workflow-panel { padding:.7rem; border-radius:14px; }
.iteration-action-card .workflow-panel-head { padding-bottom:.45rem; }
.iteration-action-card .workflow-panel-head h3 { font-size:.95rem; }
@media(max-width:1500px){
  .workbench-top-workflow-grid{grid-template-columns:minmax(0,1fr) minmax(250px,320px);} 
  .workbench-iteration-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px);} 
  .prototype-iteration-board.lifecycle-board.compact-iteration-board{grid-template-columns:repeat(7,minmax(116px,1fr)) !important;}
  .compact-iteration-board .lifecycle-lane{min-width:116px !important;}
}
@media(max-width:1180px){
  .workbench-top-workflow-grid,.workbench-iteration-grid{grid-template-columns:1fr;}
  .materials-side-card,.iteration-action-card{position:static;max-height:none;overflow:visible;}
}
@media(max-width:760px){
  .compact-lifecycle-map{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .form-grid.four.compact-grid{grid-template-columns:1fr 1fr;}
  .prototype-iteration-board.lifecycle-board.compact-iteration-board{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:520px){
  .compact-lifecycle-map,.form-grid.four.compact-grid,.prototype-iteration-board.lifecycle-board.compact-iteration-board{grid-template-columns:1fr !important;}
}

/* v14.6.5 tenant material inventory reservations */
.material-track-toggle{display:flex!important;align-items:center;gap:.5rem;min-height:42px;background:#f8fafc;border:1px solid var(--border,#d9e2ec);border-radius:12px;padding:.55rem .7rem;color:#334155!important;font-weight:850!important;text-transform:none!important;letter-spacing:0!important;}
.material-track-toggle input{width:auto!important;margin:0!important;}
.material-inventory-metrics{display:grid;grid-template-columns:1fr;gap:.2rem;font-size:.82rem;color:#475569;margin-bottom:.45rem;}
.material-inventory-metrics strong{font-size:1rem;color:#0f172a;}
.inventory-modal{max-width:min(820px,94vw);width:820px;}
.inventory-modal-form{display:grid;gap:1rem;}
.check-row{display:flex!important;align-items:center;gap:.55rem;background:#f8fafc;border:1px solid var(--border,#d9e2ec);border-radius:14px;padding:.85rem 1rem;font-weight:900;color:#334155;}
.check-row input{width:auto!important;margin:0!important;}
.inventory-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:end;}
.inventory-modal-grid label{display:grid;gap:.35rem;font-weight:850;color:#475569;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;}
.inventory-modal-grid input{width:100%;box-sizing:border-box;border:1px solid #cfd9e5;border-radius:12px;padding:.72rem .8rem;font:inherit;background:#fff;}
.inventory-available-callout{border:1px solid #bbf7d0;background:#ecfdf5;border-radius:14px;padding:.75rem .85rem;display:grid;gap:.25rem;}
.inventory-available-callout span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#047857;}
.inventory-available-callout strong{font-size:1.1rem;color:#065f46;}
@media(max-width:760px){.inventory-modal-grid{grid-template-columns:1fr}.inventory-modal{width:calc(100vw - 24px)}}

/* v14.6.5.4 Material Reconciliation */
.material-recon-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;}
.material-recon-summary-grid .stat-card{padding:1rem;display:grid;gap:.25rem;}
.material-recon-summary-grid .stat-card strong{font-size:1.55rem;color:#0f172a;}
.material-recon-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.material-recon-equation{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:.8rem 1rem;display:grid;gap:.2rem;min-width:280px;}
.material-recon-equation span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;}
.material-recon-equation strong{color:#0f172a;}
.material-recon-filter-card{margin-bottom:1rem;}
.material-recon-check{align-self:end;margin-bottom:.5rem;}
.material-recon-table-card{overflow:auto;}
.table-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem;}
.material-recon-table th,.material-recon-table td{vertical-align:middle;}
.material-recon-count-input{max-width:130px;}
.material-recon-unit-input{max-width:95px;}
.material-recon-low-row{background:#fff7ed;}
.danger-pill{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;}
.success-pill{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
@media (max-width: 900px){
  .material-recon-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .material-recon-info{display:grid;}
  .material-recon-equation{min-width:0;}
}
@media (max-width: 560px){.material-recon-summary-grid{grid-template-columns:1fr;}}

/* v14.6.5.7 Spare Parts */
.spare-part-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}
.spare-part-form-grid .field-span{grid-column:1/-1;display:flex;flex-direction:column;gap:6px}
.spare-parts-table table{min-width:1280px}
.spare-parts-table input,.spare-parts-table select,.spare-parts-table textarea{min-width:150px;width:100%;margin-bottom:6px}
.spare-parts-table textarea{min-height:58px}
.low-stock-row{background:rgba(251,191,36,.12)}
.warning-pill{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}
.compact-row{gap:6px;align-items:center}
.compact-row input{min-width:90px!important;margin-bottom:0!important}

/* v14.6.5.8 Spare Parts label/helper polish */
.spare-filter-row{align-items:flex-start;gap:12px}
.stacked-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;min-width:0}
.field-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b;line-height:1.2}
.field-help{font-size:.76rem;line-height:1.25;color:#64748b;margin-top:0}
.checkbox-field{display:flex;align-items:center;gap:6px;font-weight:700;color:#334155;margin-bottom:6px}
.checkbox-field input{width:auto!important;min-width:0!important;margin:0!important}
.scope-summary{font-weight:700;color:#475569;border-top:1px solid #e5e7eb;padding-top:6px;margin-top:4px}
.compact-adjust-form{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.compact-adjust-form input{min-width:110px!important;margin-bottom:0!important}
.spare-part-form-grid .stacked-field input,.spare-part-form-grid .stacked-field select,.spare-part-form-grid .stacked-field textarea{margin-bottom:0}
.spare-parts-table .stacked-field input,.spare-parts-table .stacked-field select,.spare-parts-table .stacked-field textarea{margin-bottom:0}
.spare-parts-table th{vertical-align:top}
.spare-parts-table td{vertical-align:top}

/* v15.0.1 Friendly error pages */
.error-page-shell{min-height:calc(100vh - 170px);display:grid;place-items:center;padding:2rem 1rem;}
.error-card{width:min(760px,100%);text-align:center;padding:2.25rem!important;border-top:5px solid #0ea5b7;box-shadow:0 24px 70px rgba(15,23,42,.14);position:relative;overflow:hidden;}
.error-card:before{content:"";position:absolute;inset:-120px -120px auto auto;width:260px;height:260px;border-radius:999px;background:rgba(14,165,183,.10);pointer-events:none;}
.error-logo-wrap{display:flex;justify-content:center;margin-bottom:.65rem;}
.error-logo{width:74px;height:74px;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.12);padding:.4rem;}
.error-code{font-size:clamp(4.5rem,14vw,8.5rem);font-weight:950;line-height:.9;letter-spacing:-.08em;color:#0f172a;margin:.35rem 0 .65rem;text-shadow:0 6px 0 rgba(14,165,183,.12);}
.error-card h1{margin:.2rem 0 .5rem;font-size:clamp(1.65rem,4vw,2.35rem);}
.error-message{font-size:1.05rem;color:#334155;max-width:560px;margin:.35rem auto;}
.error-reference{display:inline-grid;gap:.25rem;margin:1rem auto 0;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;text-align:left;}
.error-reference span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b;}
.error-reference strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;color:#0f172a;}
.error-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem;}
@media(max-width:560px){.error-card{padding:1.5rem!important}.error-actions .btn{width:100%;justify-content:center;}}

/* v15.1 Scarlet current camera previews */
.bambu-camera-preview-card{width:100%;max-height:150px;object-fit:cover;border-radius:14px;border:1px solid #dbe7f3;background:#f8fafc;margin-bottom:8px;display:block;}
.bambu-camera-preview-table{width:150px;max-height:105px;object-fit:cover;border-radius:12px;border:1px solid #dbe7f3;background:#f8fafc;display:block;}
@media(max-width:760px){.bambu-camera-preview-table{width:110px;max-height:82px}.bambu-camera-preview-card{max-height:120px}}




/* v15.3.2 corrected full-width Features page */
.public-feature-story-shell {
  width: min(1440px, calc(100vw - 56px));
  margin: 0 auto;
  padding: 28px 0 56px;
  display: block;
}
.public-feature-story-shell .feature-story-hero {
  margin-bottom: 26px;
}
.feature-story-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.feature-story-hero-points span {
  border: 1px solid rgba(14, 165, 183, .22);
  background: rgba(14, 165, 183, .08);
  border-radius: 999px;
  padding: 10px 14px;
  color: #42576d;
}
.feature-story-list {
  display: grid;
  gap: 26px;
}
.feature-story-card {
  display: grid;
  grid-template-columns: minmax(360px, 0.92fr) minmax(420px, 1.08fr);
  gap: 34px;
  align-items: center;
  padding: clamp(24px, 3vw, 42px);
  overflow: hidden;
}
.feature-story-card.image-right figure {
  order: 2;
}
.feature-story-card.image-right > div {
  order: 1;
}
.feature-story-card figure {
  margin: 0;
}
.feature-story-card img {
  width: 100%;
  min-height: 300px;
  max-height: 440px;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.12);
  background: #f8fafc;
}
.feature-story-card figcaption {
  margin-top: 12px;
  color: #64748b;
  font-size: 0.95rem;
}
.feature-story-card h2 {
  margin: 8px 0 14px;
  font-size: clamp(30px, 3vw, 52px);
  line-height: 1;
  letter-spacing: -0.04em;
}
.feature-story-card p {
  line-height: 1.62;
  font-size: clamp(16px, 1.1vw, 20px);
}
.public-feature-cta {
  margin-top: 28px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  padding: 28px;
}
.public-feature-cta .public-login-logo {
  max-width: 92px;
}
.feature-cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 980px) {
  .public-feature-story-shell {
    width: min(100% - 24px, 1440px);
    padding-top: 18px;
  }
  .feature-story-card,
  .feature-story-card.image-right {
    grid-template-columns: 1fr;
  }
  .feature-story-card.image-right figure,
  .feature-story-card.image-right > div {
    order: initial;
  }
  .feature-story-card img {
    min-height: 200px;
  }
  .public-feature-cta {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .feature-cta-actions {
    justify-content: center;
  }
}


/* v15.3.3 public content expansion and tracking overflow fixes */
.customer-highlight {
  border-top-width: 8px;
}
.public-filament-deep-dive {
  margin-top: 28px;
  padding: clamp(24px, 3vw, 42px);
}
.feature-story-list.compact {
  margin-top: 22px;
}
.feature-story-list.compact .feature-story-card {
  grid-template-columns: minmax(320px, .92fr) minmax(320px, 1fr);
}
.feature-story-list.compact .feature-story-card img {
  min-height: 220px;
  max-height: 330px;
}
.public-track-shell,
.public-marketing-system-shell.public-track-shell {
  width: min(1680px, calc(100vw - 48px));
  max-width: none;
  overflow-x: hidden;
}
.public-track-results-panel {
  overflow: hidden;
}
.customer-tracking-panel.public-track-results-panel {
  display: grid;
  grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: start;
}
.public-track-results-panel .tracking-preview-card,
.public-track-results-panel .live-track-preview {
  min-width: 0;
  overflow: hidden;
}
.public-track-results-panel .tracking-timeline,
.public-track-results-panel .live-order-timeline {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: thin;
}
.public-track-results-panel .tracking-timeline > div,
.public-track-results-panel .live-order-timeline > div {
  min-width: 118px;
}
.public-track-results-panel .public-timelapse-list,
.public-track-results-panel .customer-timelapse-list,
.public-track-results-panel .tracking-timelapse-panel {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.public-track-results-panel video {
  max-width: 100%;
  height: auto;
}
@media (max-width: 1100px) {
  .customer-tracking-panel.public-track-results-panel {
    grid-template-columns: 1fr;
  }
  .public-track-results-panel .tracking-timeline > div,
  .public-track-results-panel .live-order-timeline > div {
    min-width: 104px;
  }
}
@media (max-width: 760px) {
  .public-track-shell,
  .public-marketing-system-shell.public-track-shell {
    width: min(100% - 20px, 1680px);
  }
  .public-track-form-v2 {
    grid-template-columns: 1fr;
  }
}


/* v15.3.4 embedded feature videos */
.feature-story-card video,
.feature-media-video {
  width: 100%;
  min-height: 300px;
  max-height: 440px;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.12);
  background: #f8fafc;
  display: block;
}
.feature-story-list.compact .feature-story-card video,
.feature-story-list.compact .feature-media-video {
  min-height: 220px;
  max-height: 330px;
}


/* v15.3.5 media alignment fixes */
.media-aligned-features .feature-story-card figure {
  align-self: stretch;
}
.media-aligned-features .feature-story-card figcaption {
  border-left: 4px solid rgba(14,165,183,.35);
  padding-left: 12px;
}
.feature-media-video[controls] {
  cursor: pointer;
}
.feature-story-card img,
.feature-story-card video,
.feature-media-video {
  aspect-ratio: 16 / 9;
  min-height: unset !important;
  height: auto;
  max-height: 440px;
  object-fit: cover;
}
.feature-story-list.compact .feature-story-card img,
.feature-story-list.compact .feature-story-card video,
.feature-story-list.compact .feature-media-video {
  aspect-ratio: 16 / 9;
  min-height: unset !important;
  max-height: 330px;
}


/* v15.3.6 public screenshot alignment */
.polished-feature-shot,
.feature-story-card img.polished-feature-shot,
.public-spotlight-image img.polished-feature-shot {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 28px;
  box-shadow: 0 24px 54px rgba(15,23,42,.16);
  padding: 10px;
  display: block;
  min-height: unset !important;
  max-height: none !important;
}
.public-spotlight-image { margin-top: 22px; }
.media-aligned-features .feature-story-card figure { align-self: center; }
.media-aligned-features .feature-story-card figcaption,
.feature-story-card figcaption {
  border-left: 4px solid rgba(14,165,183,.35);
  padding-left: 14px;
  margin-top: 14px;
  color: #64748b;
  font-size: 1rem;
  line-height: 1.38;
}
.public-filament-page .feature-story-card { align-items: center; }
.public-image-strip img { object-fit: cover; }
@media (max-width: 900px) {
  .polished-feature-shot,
  .feature-story-card img.polished-feature-shot { padding: 6px; border-radius: 20px; }
}


/* v15.3.7 explicit media remap */
.feature-media-frame { margin: 0; }
.polished-feature-shot {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.12);
  background: #f8fafc;
  display: block;
}
.media-aligned-features .feature-story-card figcaption, .feature-media-frame figcaption {
  border-left: 4px solid rgba(14,165,183,.35);
  padding-left: 12px;
  margin-top: 12px;
  color: #64748b;
}

/* v15.3.8 Product Pricing View */
.pricing-head .actions { align-items: center; }
.pricing-summary-card { display: grid; gap: 1rem; }
.pricing-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .75rem; }
.pricing-summary-grid > div { border: 1px solid var(--border, #dbe3ef); border-radius: 14px; padding: .85rem; background: var(--soft-bg, #f8fafc); }
.pricing-summary-grid span { display: block; margin-bottom: .25rem; }
.pricing-summary-grid strong { font-size: 1.35rem; }
.pricing-filter-panel { margin: 0; }
.pricing-method-note { margin: 0; }
.pricing-status-stack { display: grid; gap: 1rem; }
.pricing-status-section > summary { display: flex; align-items: center; gap: .75rem; cursor: pointer; }
.pricing-status-section > summary h2 { margin: 0; }
.pricing-product-list { display: grid; gap: .85rem; margin-top: 1rem; }
.pricing-product-card { border: 1px solid var(--border, #dbe3ef); border-radius: 16px; padding: 1rem; background: #fff; box-shadow: 0 10px 24px rgba(15, 23, 42, .04); }
.pricing-product-top { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.pricing-product-top h3 { margin: 0; }
.pricing-score-wrap { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid var(--border, #dbe3ef); border-radius: 999px; padding: .35rem .6rem; background: #f8fafc; font-weight: 700; white-space: nowrap; }
.pricing-score-dot { font-size: 1.05rem; line-height: 1; }
.pricing-score-green { color: #047857; }
.pricing-score-yellow { color: #a16207; }
.pricing-score-red { color: #b91c1c; }
.pricing-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .6rem; margin-top: .85rem; }
.pricing-metrics-grid > div { border: 1px solid #e5e7eb; border-radius: 12px; padding: .65rem; background: #fbfdff; }
.pricing-metrics-grid span { display: block; color: #64748b; font-size: .8rem; margin-bottom: .18rem; }
.pricing-metrics-grid strong { font-size: 1rem; }
.pricing-drilldown { margin-top: .85rem; border-top: 1px dashed #dbe3ef; padding-top: .75rem; }
.pricing-drilldown > summary { cursor: pointer; font-weight: 700; color: #334155; }
.pricing-cost-bars { display: grid; grid-template-columns: minmax(160px, 240px) 1fr; gap: .45rem .75rem; align-items: center; margin: .8rem 0; }
.pricing-cost-bars > div:nth-child(odd) { display: flex; justify-content: space-between; gap: .5rem; color: #475569; }
.pricing-bar { height: 10px; border-radius: 999px; background: #e5e7eb; overflow: hidden; }
.pricing-bar span { display: block; height: 100%; min-width: 2px; max-width: 100%; background: currentColor; opacity: .45; }
.pricing-table-wrap { margin-top: .75rem; }
.pricing-material-detail-row td { background: #f8fafc; }
.pricing-product-bom { margin-top: 1rem; }
.pricing-product-bom h4 { margin: .25rem 0 .5rem; }
.compact-table-wrap table { font-size: .9rem; }
@media (max-width: 760px) {
  .pricing-product-top { flex-direction: column; }
  .pricing-cost-bars { grid-template-columns: 1fr; }
}

/* v15.3.9 Etsy competition pricing watch */
.pricing-score-cluster { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; align-items: center; }
.competition-score-wrap { background: #fff7ed; }
.pricing-score-gray { color: #64748b; }
.competition-alert-card { margin: .75rem 0; border: 1px solid #f59e0b; background: #fffbeb; border-radius: 14px; padding: .75rem .9rem; display: flex; flex-direction: column; gap: .25rem; color: #78350f; }
.competition-alert-card strong { color: #78350f; }
.product-competition-alert { margin-top: -0.35rem; margin-bottom: 1rem; }
.competition-detail-panel { margin-top: 1rem; border: 1px solid #fde68a; background: #fffbeb; border-radius: 14px; padding: 1rem; }
.competition-detail-panel h4 { margin-top: 0; }
.pricing-metrics-grid.compact { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
@media (max-width: 760px) { .pricing-score-cluster { justify-content: flex-start; } }

/* v15.3.10 startup competition control */
.startup-step-remaining { margin: -4px 0 10px; color:#64748b; font-weight:800; font-size:.86rem; }
.startup-popup-modal .startup-check-list { max-height: 210px; overflow:auto; }

/* v15.3.10.2: keep admin checkbox controls compact and ensure checked state is visible */
.security-add-grid label.inline-checkbox {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: .55rem;
}
.security-add-grid label.inline-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 0;
  padding: 0;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #24689a;
}
.security-add-grid label.inline-checkbox .muted.small-text {
  margin-left: .35rem;
  font-weight: 700;
}

/* v15.4 unified page command bars baseline */
.page-command-bar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:10px 0 18px;
  padding:0;
}
.page-command-bar.embedded-command-bar{margin:0 0 14px;}
.page-command-main{min-width:0;max-width:860px;}
.page-command-main h1{margin:0;display:flex;align-items:center;gap:.65rem;line-height:1.1;}
.page-command-main .eyebrow{margin:0 0 .4rem;}
.page-command-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
  flex-wrap:wrap;
  min-width:min(100%,360px);
}
.page-command-actions form{margin:0;display:inline-flex;}
.page-command-actions .btn{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.page-command-more{position:relative;display:inline-flex;}
.page-command-more>summary{list-style:none;cursor:pointer;user-select:none;}
.page-command-more>summary::-webkit-details-marker{display:none;}
.page-command-more>summary:after{content:' ▾';font-weight:900;color:var(--muted);}
.page-command-more[open]>summary:after{content:' ▴';}
.page-command-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:40;
  min-width:230px;
  padding:8px;
  border:1px solid var(--border, #d8e3ef);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.18);
  display:grid;
  gap:6px;
}
.page-command-menu:before{content:'';position:absolute;top:-7px;right:24px;width:12px;height:12px;background:#fff;border-left:1px solid var(--border,#d8e3ef);border-top:1px solid var(--border,#d8e3ef);transform:rotate(45deg);}
.page-command-menu .menu-action,
.page-command-menu button.menu-action,
.page-command-menu a.menu-action{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--ink,#182231);
  width:100%;
  text-align:left;
  padding:.65rem .75rem;
  border-radius:12px;
  font-weight:850;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:.45rem;
  cursor:pointer;
  font:inherit;
}
.page-command-menu .menu-action:hover{background:#f1f7fb;color:var(--brand,#23699b);}
.page-command-actions .btn.danger{margin-left:.25rem;}
@media(max-width:900px){
  .page-command-bar{flex-direction:column;align-items:stretch;}
  .page-command-main{max-width:100%;}
  .page-command-actions{justify-content:flex-start;min-width:0;}
  .page-command-actions .btn,.page-command-actions form{flex:1 1 auto;}
  .page-command-menu{left:0;right:auto;min-width:min(92vw,300px);}
  .page-command-menu:before{left:24px;right:auto;}
}
@media(max-width:560px){
  .page-command-actions{display:grid;grid-template-columns:1fr;}
  .page-command-actions .btn,.page-command-actions form,.page-command-actions form .btn,.page-command-more{width:100%;}
  .page-command-more>summary{width:100%;justify-content:center;}
}

/* v15.4.1 Etsy score image overlay */
.product-catalog-thumb{position:relative;}
.product-detail-hero-card{padding:0;overflow:hidden;margin-bottom:1rem;}
.product-detail-hero-media{position:relative;background:linear-gradient(135deg,#eff6ff,#f8fafc);min-height:240px;}
.product-detail-hero-media img{display:block;width:100%;max-height:420px;object-fit:cover;}
.etsy-score-overlay{position:absolute;right:14px;top:14px;display:grid;gap:.08rem;z-index:2;min-width:132px;max-width:calc(100% - 28px);padding:.6rem .7rem;border-radius:16px;border:1px solid rgba(255,255,255,.56);box-shadow:0 14px 24px rgba(15,23,42,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none;}
.etsy-score-overlay-catalog{min-width:118px;padding:.5rem .6rem;border-radius:14px;}
.etsy-score-overlay-detail{min-width:156px;padding:.75rem .85rem;border-radius:18px;}
.etsy-score-overlay-label,.etsy-score-overlay-kicker{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.etsy-score-overlay strong{font-size:1.1rem;line-height:1.1;color:#0f172a;}
.etsy-score-overlay small{font-size:.75rem;font-weight:800;color:#334155;}
.etsy-score-overlay em{font-style:normal;font-size:.68rem;font-weight:800;color:#475569;}
.etsy-score-green{background:rgba(236,253,245,.9);color:#166534;border-color:rgba(34,197,94,.22);}
.etsy-score-green strong,.etsy-score-green .etsy-score-overlay-label,.etsy-score-green .etsy-score-overlay-kicker{color:#166534;}
.etsy-score-yellow{background:rgba(254,252,232,.92);color:#92400e;border-color:rgba(245,158,11,.24);}
.etsy-score-yellow strong,.etsy-score-yellow .etsy-score-overlay-label,.etsy-score-yellow .etsy-score-overlay-kicker{color:#92400e;}
.etsy-score-red{background:rgba(254,242,242,.92);color:#991b1b;border-color:rgba(239,68,68,.22);}
.etsy-score-red strong,.etsy-score-red .etsy-score-overlay-label,.etsy-score-red .etsy-score-overlay-kicker{color:#991b1b;}
.etsy-score-gray{background:rgba(248,250,252,.92);color:#475569;border-color:rgba(148,163,184,.28);}
.etsy-score-gray strong,.etsy-score-gray .etsy-score-overlay-label,.etsy-score-gray .etsy-score-overlay-kicker{color:#334155;}
@media(max-width:640px){
  .etsy-score-overlay{right:10px;top:10px;min-width:106px;padding:.45rem .55rem;border-radius:14px;}
  .etsy-score-overlay strong{font-size:.96rem;}
  .product-detail-hero-media{min-height:180px;}
  .product-detail-hero-media img{max-height:280px;}
}
