*{box-sizing:border-box}
@font-face {
    font-family: "Kantumruy Pro";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/khmer/KantumruyPro-Regular.ttf") format("truetype");
}
@font-face {
    font-family: "Kantumruy Pro";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/khmer/KantumruyPro-Medium.ttf") format("truetype");
}
@font-face {
    font-family: "Kantumruy Pro";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/khmer/KantumruyPro-Bold.ttf") format("truetype");
}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{margin:0;font-family:Inter,Arial,sans-serif;background:#f4f7fb;color:#0f172a;font-size:16px;letter-spacing:0}
.sidebar{width:248px;position:fixed;left:0;top:0;bottom:0;background:#101827;color:#fff;overflow:auto;z-index:10;border-right:1px solid rgba(255,255,255,.08)}
.logo{height:78px;background:#0b5ee8;display:flex;align-items:center;gap:12px;padding:0 18px;font-size:18px;font-weight:900}
.logo-mark{width:38px;height:38px;border-radius:8px;background:#fff;color:#0b5ee8;display:flex;align-items:center;justify-content:center;font-weight:900}
.logo strong{display:block;line-height:1;font-size:20px}.logo small{display:block;margin-top:4px;font-size:12px;font-weight:800;color:#dbeafe;text-transform:uppercase;letter-spacing:.04em}
.menu{padding:14px 12px}.menu-section{padding:16px 10px 8px;color:#8fa3bf;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.menu a{display:flex;align-items:center;gap:11px;color:#e5edf8;text-decoration:none;padding:11px 12px;margin:3px 0;border-radius:8px;font-size:15px;font-weight:850;border:1px solid transparent}.menu a:hover{background:#17243a;color:#fff}.menu a.active{background:#eaf2ff;color:#0b3f91;border-color:#bcd7ff}.nav-icon{width:30px;height:30px;border-radius:7px;background:#1d2b43;color:#bfd4f1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.menu a.active .nav-icon{background:#0b5ee8;color:#fff}.sidebar-note{margin:12px;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:8px;background:#17243a;color:#cbd5e1;font-size:13px;font-weight:700;line-height:1.35}
.main{margin-left:248px;min-height:100vh;background:#f7f9fc}
.topbar{min-height:80px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;border-bottom:1px solid #e7edf5}
.topbar h1{margin:0;font-size:30px;font-weight:900}.topbar p{margin:5px 0 0;color:#64748b;font-size:14px}
.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button{height:42px;border-radius:8px;border:1px solid #0b5ee8;background:#fff;color:#0b5ee8;font-weight:800;padding:0 18px;cursor:pointer}.actions .print{background:#0b5ee8;color:#fff}
.content{padding:18px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:18px;align-items:start}.single-column{display:block;max-width:1280px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 22px rgba(15,23,42,.06);margin-bottom:14px;overflow:hidden}.card h2{font-size:21px;margin:0;padding:15px 20px;border-bottom:1px solid #edf2f7;font-weight:900}.body{padding:16px 20px}.type-grid,.row2,.row3{display:grid;gap:14px}.type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.row2{grid-template-columns:1fr 1fr}.row3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-block{margin-top:14px}.brand-row{margin-bottom:14px}.type-grid label{min-height:66px;border:1px solid #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;cursor:pointer;background:#fff;text-align:left}.type-choice strong{display:block;font-size:15px;line-height:1.1;font-weight:900;color:#0f172a}.type-choice small{display:block;margin-top:3px;font-size:11px;line-height:1.1;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.03em} .type-grid input{width:18px;height:18px;margin:0;flex:0 0 auto}.type-grid label:has(input:checked){border-color:#0b5ee8;box-shadow:0 0 0 3px rgba(11,94,232,.10)}label{font-size:15px;color:#334155;font-weight:800;display:block}input,select{width:100%;height:44px;border:1px solid #d6dee8;border-radius:8px;padding:0 12px;margin-top:7px;background:#fff;font-size:16px;font-weight:700;color:#0f172a}input:focus,select:focus{border-color:#0b5ee8;box-shadow:0 0 0 3px rgba(11,94,232,.10);outline:none}.qtywrap{display:grid;grid-template-columns:54px 1fr 54px;height:82px}.qtywrap button{height:82px;border:1px solid #cbd5e1;background:#f8fafc;font-size:28px;font-weight:900;cursor:pointer}.qtywrap input{height:82px;text-align:center;border-radius:0;margin:0;font-size:30px;font-weight:900;color:#0b5ee8}.auto-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.compact-top{margin-top:0}.auto-box{height:82px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:10px;display:flex;flex-direction:column;justify-content:center}.auto-box span{font-size:13px;color:#334155;font-weight:800;white-space:nowrap}.auto-box b{display:block;margin-top:7px;font-size:28px;color:#0b5ee8;font-weight:900;line-height:1.1}.btn-main,.btn-reset,.btn-secondary,.btn-link{height:44px;border:0;border-radius:8px;font-weight:900;padding:0 22px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-main{background:#0b5ee8;color:#fff}.btn-reset,.btn-secondary{background:#64748b;color:#fff}.btn-link{background:#0b5ee8;color:#fff}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.small-clear{float:right;background:#64748b;color:#fff;border:0;border-radius:7px;padding:7px 13px;font-weight:800;cursor:pointer}.system-box{display:none}body.show-analog #analogBox{display:block}body.show-ip #ipBox{display:block}body.show-speaker #speakerBox{display:block}body.speaker-ip-mode .speaker-analog-only{display:none}body.speaker-analog-mode .speaker-ip-only{display:none}
.summary{position:sticky;top:18px;align-self:stretch;height:auto;max-height:none;overflow:visible}.summary h2{background:#0f2f63;color:#fff}.summary-table-wrap{height:auto;min-height:420px;max-height:none;overflow:visible;background:#fff;padding:14px 18px}.summary-table,.manager-table{width:100%;border-collapse:collapse;table-layout:fixed}.summary-table th,.summary-table td,.manager-table th,.manager-table td{padding:12px 14px;border-bottom:1px solid #e5e7eb;vertical-align:middle}.summary-table th,.manager-table th{background:#f1f5f9;color:#334155;font-weight:900;font-size:14px;text-align:left}.summary-table th:nth-child(1),.summary-table td:nth-child(1){width:68%;white-space:normal;overflow-wrap:break-word}.summary-table th:nth-child(2),.summary-table td:nth-child(2){width:12%;text-align:center}.summary-table th:nth-child(3),.summary-table td:nth-child(3){width:20%;text-align:right}.summary-table tbody tr:nth-child(even),.manager-table tbody tr:nth-child(even){background:#f8fafc}.summary-table td:last-child{font-weight:900;color:#0b5ee8}.summary-total{margin:0 16px 16px;border:1px solid #e2e8f0;border-radius:8px;padding:14px;background:#fff}.sum-row{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 16px;margin-bottom:8px;font-weight:900}.sum-material{background:#eff6ff;color:#0b5ee8}.sum-install{background:#fefce8;color:#ca8a04}.sum-addon{background:#faf5ff;color:#7c3aed}.sum-grand{background:#dcfce7;color:#15803d}.sum-row strong{font-size:21px}.sum-row.grand span{font-size:22px;color:#0f172a}.sum-row.grand strong{font-size:34px;color:#15803d}.summary-total hr{border:0;border-top:1px solid #e5e7eb;margin:12px 0}
.manager-card{max-width:100%}.manager-form{max-width:980px}.compact-form{max-width:520px}.manager-toolbar{margin-bottom:14px;max-width:320px}.table-wrap{width:100%;overflow-x:auto}.manager-table{table-layout:auto;font-size:15px}.manager-table th,.manager-table td{white-space:nowrap}.manager-table td:nth-child(4){white-space:normal;min-width:260px}.actions-cell,.quote-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions-cell form,.brand-table form{margin:0}.ql-btn,.link-danger{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;background:#0b5ee8;color:#fff!important;border:0;border-radius:7px;text-decoration:none;font-weight:800;font-size:14px;cursor:pointer}.printq{background:#16a34a}.delq,.link-danger{background:#dc2626}.editq{background:#64748b}.saveq{background:#16a34a}.cancelq{background:#94a3b8}.quote-name-text{font-weight:800}.quote-name-edit{width:100%;max-width:420px;height:40px;border:1px solid #dbe4f0;border-radius:8px;padding:8px 10px;font-weight:800}.muted{color:#64748b}.empty-cell{text-align:center;color:#64748b;padding:26px!important}
.system-action-row{margin-top:12px}
@media (min-width: 761px){
  body[data-page="dashboard"]{height:100vh!important;overflow:hidden!important}
  body[data-page="dashboard"] .main{height:100vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  body[data-page="dashboard"] .topbar{flex:0 0 auto}
  body[data-page="dashboard"] .content.dashboard-grid{flex:1;min-height:0!important;overflow:visible!important}
  body[data-page="dashboard"] .calculator-column,
  body[data-page="dashboard"] .summary{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .dashboard-grid{align-items:stretch!important}
}

/* Final type switching lock: only the active top-level system box stays visible */
body[data-page="dashboard"].show-analog #analogBox{display:block!important}
body[data-page="dashboard"].show-analog #ipBox,
body[data-page="dashboard"].show-analog #speakerBox{display:none!important}
body[data-page="dashboard"].show-ip #ipBox{display:block!important}
body[data-page="dashboard"].show-ip #analogBox,
body[data-page="dashboard"].show-ip #speakerBox{display:none!important}
body[data-page="dashboard"].show-speaker #speakerBox{display:block!important}
body[data-page="dashboard"].show-speaker #analogBox,
body[data-page="dashboard"].show-speaker #ipBox{display:none!important}
body.show-analog #analogBox{display:block!important}
body.show-analog #ipBox,
body.show-analog #speakerBox{display:none!important}
body.show-ip #ipBox{display:block!important}
body.show-ip #analogBox,
body.show-ip #speakerBox{display:none!important}
body.show-speaker #speakerBox{display:block!important}
body.show-speaker #analogBox,
body.show-speaker #ipBox{display:none!important}

/* Dashboard action footer spacing */
body[data-page="dashboard"] .calculator-column > .card:nth-child(6){
  padding-bottom:0!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .body.row3{
  padding-bottom:14px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .action-bar{
  width:100%!important;
  border-top:1px solid #e2e8f0!important;
  background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%)!important;
  padding:34px 18px 24px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .action-bar-inner,
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .button-row{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .button-row{
  margin:0!important;
  padding:0!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-main,
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-reset{
  height:46px!important;
  min-height:46px!important;
  padding:0 24px!important;
  border-radius:10px!important;
  font-size:15px!important;
  font-weight:700!important;
}
@media (max-width: 760px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .body.row3{
    padding-bottom:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .action-bar{
    padding:30px 14px 20px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .action-bar-inner,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .button-row{
    gap:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-main,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-reset{
    height:44px!important;
    min-height:44px!important;
    padding:0 18px!important;
  }
}

@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.summary{position:relative;top:auto}.summary-table-wrap{min-height:260px}.row3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{position:relative;width:100%;bottom:auto;border-right:0}.main{margin-left:0}.topbar{align-items:flex-start;flex-direction:column}.content{padding:12px}.row2,.row3,.type-grid,.auto-wrap{grid-template-columns:1fr}.auto-box,.qtywrap,.qtywrap button,.qtywrap input{height:70px}.card h2{font-size:18px}.sum-row.grand strong{font-size:28px}}
@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff!important}body *{visibility:hidden!important}.summary,.summary *{visibility:visible!important}.summary{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;border:1px solid #ddd!important}.summary h2{font-size:20px!important;padding:12px!important}.summary-table-wrap{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:10px!important}.summary-table{font-size:12px!important}.summary-table th,.summary-table td{padding:6px 8px!important;height:auto!important}.summary-total{margin:8px!important;padding:8px!important}.sum-row{padding:7px 10px!important;font-size:13px!important;margin-bottom:4px!important}.sum-row strong{font-size:15px!important}.sum-row.grand strong{font-size:22px!important}.sidebar,.topbar,.calculator-column{display:none!important}.main{margin-left:0!important}.content{padding:0!important;display:block!important}}

/* Typography system */
:root{
  --font-app:"Noto Sans Khmer","Battambang","Kantumruy Pro","Segoe UI",Arial,sans-serif;
  --ty-page-title:clamp(26px,2.2vw,28px);
  --ty-section-title:clamp(24px,2vw,28px);
  --ty-card-title:clamp(18px,1.6vw,20px);
  --ty-label:18px;
  --ty-input:14px;
  --ty-placeholder:13px;
  --ty-sidebar:16px;
  --ty-table-head:14px;
  --ty-table-body:14px;
  --ty-summary:clamp(17px,1.35vw,18px);
  --ty-grand:clamp(24px,1.8vw,28px);
}

body,
button,
input,
select,
textarea,
table{
  font-family:var(--font-app)!important;
}

body{
  line-height:1.4;
}

body[data-page="dashboard"] .topbar h1,
.auth-card h1,
.ty-page-title{
  font-size:var(--ty-page-title)!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:-0.02em!important;
}

body[data-page="dashboard"] .card h2,
body[data-page="dashboard"] .summary h2,
body[data-page="dashboard"] .quote-header h2,
.auth-side h2,
.modal-card h3,
.ty-section-title{
  font-size:var(--ty-section-title)!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-0.01em!important;
}

body[data-page="dashboard"] .type-pill .type-copy strong,
.ty-card-title{
  font-size:var(--ty-card-title)!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-0.01em!important;
}

body[data-page="dashboard"] .type-pill .type-copy strong{
  max-width:100%!important;
  width:100%!important;
  align-self:stretch!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:auto!important;
}

body[data-page="dashboard"] .type-pill .type-copy small{
  max-width:100%!important;
  width:100%!important;
  align-self:stretch!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:auto!important;
}

body[data-page="dashboard"] label,
body[data-page="dashboard"] .system-filter-box label,
body[data-page="dashboard"] .speaker-mode-grid label,
body[data-page="dashboard"] .speaker-grid label,
.ty-label{
  font-size:var(--ty-label)!important;
  font-weight:600!important;
  line-height:1.25!important;
}

body[data-page="dashboard"] input,
body[data-page="dashboard"] select,
body[data-page="dashboard"] textarea,
body[data-page="dashboard"] .product-picker-input,
.ty-input{
  font-size:var(--ty-input)!important;
  font-weight:500!important;
  line-height:1.3!important;
}

body[data-page="dashboard"] input::placeholder,
body[data-page="dashboard"] select::placeholder,
body[data-page="dashboard"] textarea::placeholder,
body[data-page="dashboard"] .product-picker-input::placeholder,
.ty-placeholder::placeholder{
  font-size:var(--ty-placeholder)!important;
  font-weight:400!important;
  line-height:1.3!important;
  color:#94a3b8!important;
  opacity:.6!important;
}

body[data-page="dashboard"] .menu a,
.ty-sidebar-menu{
  font-size:var(--ty-sidebar)!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}

body[data-page="dashboard"] .summary-table th,
body[data-page="dashboard"] .summary-table td,
body[data-page="dashboard"] .manager-table th,
body[data-page="dashboard"] .manager-table td,
body[data-page="dashboard"] .quote-table th,
body[data-page="dashboard"] .quote-table td,
body[data-page="dashboard"] .data-table th,
body[data-page="dashboard"] .data-table td,
body[data-page="dashboard"] .install-table th,
body[data-page="dashboard"] .install-table td,
body[data-page="dashboard"] .access-table th,
body[data-page="dashboard"] .access-table td,
.ty-table-head,
.ty-table-body{
  font-size:var(--ty-table-body)!important;
  line-height:1.35!important;
}

body[data-page="dashboard"] .summary-table th,
body[data-page="dashboard"] .manager-table th,
body[data-page="dashboard"] .quote-table th,
body[data-page="dashboard"] .data-table th,
body[data-page="dashboard"] .install-table th,
body[data-page="dashboard"] .access-table th{
  font-size:var(--ty-table-head)!important;
  font-weight:700!important;
}

body[data-page="dashboard"] .sum-row{
  font-size:var(--ty-summary)!important;
  font-weight:700!important;
  line-height:1.25!important;
}

body[data-page="dashboard"] .sum-row strong{
  font-size:var(--ty-summary)!important;
  font-weight:700!important;
  line-height:1.15!important;
}

body[data-page="dashboard"] .sum-row.grand span{
  font-size:var(--ty-summary)!important;
  font-weight:700!important;
}

body[data-page="dashboard"] .sum-row.grand strong{
  font-size:var(--ty-grand)!important;
  font-weight:800!important;
  line-height:1.08!important;
}

/* Reusable utilities */
.ty-page-title{font-size:var(--ty-page-title);font-weight:700;line-height:1.1;letter-spacing:-0.02em}
.ty-section-title{font-size:var(--ty-section-title);font-weight:700;line-height:1.15;letter-spacing:-0.01em}
.ty-card-title{font-size:var(--ty-card-title);font-weight:700;line-height:1.15;letter-spacing:-0.01em}
.ty-label{font-size:var(--ty-label);font-weight:600;line-height:1.25}
.ty-input{font-size:var(--ty-input);font-weight:500;line-height:1.3}
.ty-placeholder::placeholder{font-size:var(--ty-placeholder);font-weight:400;line-height:1.3}
.ty-sidebar-menu{font-size:var(--ty-sidebar);font-weight:600;line-height:1.2}
.ty-table-head{font-size:var(--ty-table-head);font-weight:700;line-height:1.25}
.ty-table-body{font-size:var(--ty-table-body);font-weight:500;line-height:1.35}
.ty-total{font-size:var(--ty-summary);font-weight:700;line-height:1.2}
.ty-grand-total{font-size:var(--ty-grand);font-weight:800;line-height:1.08}

/* Calculator form readability boost for Sections 1-3 only */
@media (min-width: 1161px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(-n+3) .body{
    padding:14px 18px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(-n+3) h2{
    font-size:19px!important;
    padding:12px 16px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(-n+3) label{
    font-size:15px!important;
    line-height:1.18!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(-n+3) input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(-n+3) select,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(-n+3) .product-picker-input{
    height:48px!important;
    min-height:48px!important;
    margin-top:8px!important;
    font-size:15px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .row2,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .row3{
    gap:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-wrap{
    gap:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .body{
    padding:14px 18px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) h2{
    font-size:19px!important;
    padding:12px 16px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) label{
    font-size:15px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box{
    height:92px!important;
    padding:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box span{
    font-size:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box b{
    font-size:26px!important;
    margin-top:8px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .qtywrap{
    height:92px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .qtywrap button,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .qtywrap input{
    height:92px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .qtywrap input{
    font-size:28px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .small-clear{
    padding:7px 12px!important;
    font-size:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .body{
    padding-bottom:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) label{
    font-size:16px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) select,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .product-picker-input{
    height:50px!important;
    min-height:50px!important;
    margin-top:9px!important;
    font-size:16px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .row2,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .row3{
    gap:14px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .body{
    padding:14px 18px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) h2{
    font-size:19px!important;
    padding:12px 16px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) label{
    font-size:16px!important;
    line-height:1.18!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
    height:50px!important;
    min-height:50px!important;
    margin-top:9px!important;
    font-size:16px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker{
    height:50px!important;
    min-height:50px!important;
    margin-top:9px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .row2{
    gap:14px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .button-row{
    margin-top:10px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .body{
    padding-bottom:14px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(1) .type-grid label{
    min-height:58px!important;
    padding:0 10px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(1) .type-choice strong{
    font-size:13px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(1) .type-choice small{
    font-size:8px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(1) .body{
    padding-bottom:14px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(2) .auto-box{
    height:96px!important;
    padding:12px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(2) .auto-box span{
    font-size:12px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(2) .auto-box b{
    font-size:28px!important;
  }
  body[data-page="dashboard"].show-speaker .calculator-column > .card:nth-child(6) .button-row{
    justify-content:flex-start!important;
  }
}


.quote-page{max-width:1400px}.quote-card{overflow:visible}.quote-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #edf2f7}.quote-header h2{border:0;padding:0;margin:0;font-size:22px}.quote-header p{margin:5px 0 0;color:#64748b;font-size:14px;font-weight:700}.quote-list-table{min-width:980px}.quote-list-table th:nth-child(1){width:34%}.quote-list-table th:nth-child(2){width:13%}.quote-list-table th:nth-child(3){width:8%}.quote-list-table th:nth-child(4){width:12%}.quote-list-table th:nth-child(5){width:16%}.quote-list-table th:nth-child(6){width:17%}.quote-row-record:hover{background:#f6faff!important}.quote-row-record.is-editing{background:#fff7ed!important}.quote-title-cell{min-width:300px;white-space:normal!important}.quote-name-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.quote-name-text{font-size:15px;font-weight:900;color:#0f172a}.quote-id{font-size:12px;font-weight:800;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px}.quote-edit-line{display:flex;align-items:center;gap:8px;margin-top:8px;max-width:620px}.quote-name-edit{height:38px;min-width:240px;max-width:360px;margin:0;border:1px solid #bfdbfe;background:#fff;font-size:14px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900}.pill-hd{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.pill-ip{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.number-cell{text-align:center;font-weight:900}.total-cell strong{color:#15803d;font-size:16px}.date-cell{color:#475569;font-size:13px;font-weight:700}.quote-actions-cell{min-width:250px}.action-group{display:flex;align-items:center;gap:7px}.primary-actions{margin-bottom:7px}.secondary-actions{opacity:.96}.action-btn{display:inline-flex;align-items:center;justify-content:center;min-width:74px;height:34px;padding:0 12px;border:1px solid transparent;border-radius:7px;text-decoration:none;font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap}.action-open{background:#0b5ee8;color:#fff!important}.action-print{background:#16a34a;color:#fff!important}.action-rename{background:#fff;color:#334155;border-color:#cbd5e1}.action-muted{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.action-save{background:#0b5ee8;color:#fff}.action-danger{background:#fff;color:#dc2626;border-color:#fecaca}.action-btn:hover{filter:brightness(.97)}.action-danger:hover{background:#fef2f2}.action-rename:hover,.action-muted:hover{background:#f8fafc}
@media(max-width:900px){.quote-header{align-items:flex-start;flex-direction:column}.quote-actions-cell{min-width:220px}.action-group{flex-wrap:wrap}.quote-edit-line{align-items:flex-start;flex-direction:column}.quote-name-edit{width:100%;max-width:100%}}


/* Simple standard quotation table */
.quote-page{max-width:1400px}.quote-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.quote-table{width:100%;min-width:920px;border-collapse:collapse;font-size:15px;background:#fff}.quote-table th{background:#f1f5f9;color:#334155;font-size:13px;font-weight:900;text-align:left;padding:12px;border-bottom:1px solid #dbe4f0;white-space:nowrap}.quote-table td{padding:12px;border-bottom:1px solid #e5e7eb;vertical-align:middle}.quote-table tbody tr:hover{background:#f8fbff}.quote-name-cell strong{display:block;color:#0f172a;font-weight:900}.quote-name-cell span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:700}.number-cell{text-align:center;font-weight:900}.total-cell{font-weight:900;color:#15803d}.table-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.table-btn{height:32px;min-width:58px;padding:0 10px;border-radius:6px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer}.table-btn.primary{background:#0b5ee8;color:#fff!important}.table-btn.success{background:#16a34a;color:#fff!important}.table-btn.neutral{background:#fff;color:#334155;border-color:#cbd5e1}.table-btn.danger{background:#fff;color:#dc2626;border-color:#fecaca}.table-btn.neutral:hover{background:#f8fafc}.table-btn.danger:hover{background:#fef2f2}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal-card{width:100%;max-width:420px;background:#fff;border-radius:8px;box-shadow:0 24px 60px rgba(15,23,42,.25);padding:20px}.modal-card h3{margin:0 0 16px;font-size:20px;font-weight:900}.modal-input{margin-top:7px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media(max-width:760px){.quote-toolbar{align-items:flex-start;flex-direction:column}.table-actions{flex-wrap:wrap;white-space:normal}.quote-table{min-width:780px}}


.system-filter-row{margin-top:14px}.system-filter-box{display:none;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;padding:14px}.system-filter-box label{font-size:15px;font-weight:900;color:#0f172a}.show-analog .analog-filter-box{display:block}.show-ip .ip-filter-box{display:block}.cable-row{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #edf2f7}


/* Standard full-width list pages */
.list-page{display:block;width:100%;max-width:none}.list-page .manager-card{width:100%;max-width:none}.list-page .body{padding:16px 18px}.list-page .table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;min-width:960px;border-collapse:collapse;background:#fff;font-size:15px;table-layout:auto}.data-table th{background:#f1f5f9;color:#334155;font-size:13px;font-weight:900;text-align:left;padding:12px 14px;border-bottom:1px solid #dbe4f0;white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid #e5e7eb;vertical-align:middle}.data-table tbody tr:hover{background:#f8fbff}.data-table .main-cell{min-width:280px;white-space:normal}.data-table .main-cell strong{display:block;color:#0f172a;font-weight:900;line-height:1.35}.data-table .main-cell span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:700}.number-cell{text-align:center;font-weight:900}.money-cell{font-weight:900;color:#15803d;white-space:nowrap}.product-table th:nth-child(1){width:38%}.product-table th:nth-child(2){width:13%}.product-table th:nth-child(3){width:16%}.product-table th:nth-child(4){width:13%}.product-table th:nth-child(5){width:9%}.product-table th:nth-child(6){width:11%}.brand-table{min-width:720px}.brand-table th:nth-child(1){width:45%}.brand-table th:nth-child(2){width:15%;text-align:center}.brand-table td:nth-child(2){text-align:center}.brand-table th:nth-child(3){width:20%}.brand-table th:nth-child(4){width:20%}.quote-table{min-width:980px}.quote-table th:nth-child(1){width:34%}.quote-table th:nth-child(2){width:17%}.quote-table th:nth-child(3){width:14%}.quote-table th:nth-child(4){width:8%;text-align:center}.quote-table th:nth-child(5){width:11%}.quote-table th:nth-child(6){width:16%}.status-label{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:900}.status-label.editable{background:#ecfdf5;color:#047857}.table-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.table-actions form{margin:0}.table-btn{height:32px;min-width:58px;padding:0 10px;border-radius:6px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer}.table-btn.primary{background:#0b5ee8;color:#fff!important}.table-btn.success{background:#16a34a;color:#fff!important}.table-btn.neutral{background:#fff;color:#334155;border-color:#cbd5e1}.table-btn.danger{background:#fff;color:#dc2626;border-color:#fecaca}.table-btn.neutral:hover{background:#f8fafc}.table-btn.danger:hover{background:#fef2f2}.manager-toolbar{max-width:none;display:flex;justify-content:flex-end;margin-bottom:14px}.manager-toolbar form{width:320px;max-width:100%}.quote-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}@media(max-width:760px){.list-page .body{padding:12px}.manager-toolbar{justify-content:flex-start}.quote-toolbar{align-items:flex-start;flex-direction:column}.table-actions{flex-wrap:wrap;white-space:normal}.data-table{min-width:820px}.brand-table{min-width:620px}}


/* Final compact table and live summary polish */
.data-table{font-size:13px;min-width:780px}.data-table th{padding:9px 10px;font-size:12px}.data-table td{padding:9px 10px}.data-table .main-cell{min-width:190px}.data-table .main-cell strong{line-height:1.25}.product-table th:nth-child(1){width:32%}.product-table th:nth-child(2){width:12%}.product-table th:nth-child(3){width:16%}.product-table th:nth-child(4){width:13%}.product-table th:nth-child(5){width:9%}.product-table th:nth-child(6){width:18%}.brand-table{min-width:560px}.brand-table th:nth-child(1){width:40%}.brand-table th:nth-child(2){width:14%}.brand-table th:nth-child(3){width:18%}.brand-table th:nth-child(4){width:28%}.quote-table{min-width:760px}.quote-table th:nth-child(1){width:30%}.quote-table th:nth-child(2){width:17%}.quote-table th:nth-child(3){width:13%}.quote-table th:nth-child(4){width:7%}.quote-table th:nth-child(5){width:11%}.quote-table th:nth-child(6){width:22%}.install-table{min-width:620px}.install-table th:nth-child(1){width:45%}.install-table th:nth-child(2){width:18%}.install-table th:nth-child(3){width:14%}.install-table th:nth-child(4){width:23%}.table-btn{height:28px;min-width:50px;padding:0 8px;font-size:12px;border-radius:6px}.status-label{height:24px;padding:0 8px;font-size:11px}.manager-toolbar form{width:260px}.compact-entry-form{max-width:760px}.live-summary h2{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-summary h2 b{font-size:11px;color:#052e16;background:#bbf7d0;border-radius:999px;padding:4px 8px;letter-spacing:.06em}.live-summary-meta{padding:10px 18px;background:#eef6ff;color:#1e3a8a;border-bottom:1px solid #dbeafe;font-size:13px;font-weight:900}.summary-table-wrap{min-height:320px}.summary-table th,.summary-table td{padding:9px 10px;font-size:13px}.summary-total{padding:10px}.sum-row{padding:9px 12px;margin-bottom:6px}.sum-row strong{font-size:18px}.sum-row.grand span{font-size:18px}.sum-row.grand strong{font-size:28px}.sidebar-note{font-size:12px}.sidebar-quotes{margin-top:14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.04);padding:10px}.sidebar-quotes-head{font-size:11px;font-weight:900;color:#93c5fd;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.sidebar-quote-item{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.05);color:#fff;padding:9px 10px;margin-bottom:8px;cursor:pointer}.sidebar-quote-item:hover{background:rgba(255,255,255,.09)}.sidebar-quote-title{font-size:12px;font-weight:900;line-height:1.2}.sidebar-quote-meta{font-size:10px;font-weight:800;color:#cbd5e1;line-height:1.2}.sidebar-note-small{color:#cbd5e1;font-size:11px;font-weight:700;padding:4px 2px}.sidebar-quotes{margin-top:14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.04);padding:10px}.sidebar-quotes-head{font-size:11px;font-weight:900;color:#93c5fd;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.sidebar-quote-item{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.05);color:#fff;padding:9px 10px;margin-bottom:8px;cursor:pointer}.sidebar-quote-item:hover{background:rgba(255,255,255,.09)}.sidebar-quote-title{font-size:12px;font-weight:900;line-height:1.2}.sidebar-quote-meta{font-size:10px;font-weight:800;color:#cbd5e1;line-height:1.2}.sidebar-note-small{color:#cbd5e1;font-size:11px;font-weight:700;padding:4px 2px}.sidebar-quotes{margin-top:14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.04);padding:10px}.sidebar-quotes-head{font-size:11px;font-weight:900;color:#93c5fd;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.sidebar-quote-item{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.05);color:#fff;padding:9px 10px;margin-bottom:8px;cursor:pointer}.sidebar-quote-item:hover{background:rgba(255,255,255,.09)}.sidebar-quote-title{font-size:12px;font-weight:900;line-height:1.2}.sidebar-quote-meta{font-size:10px;font-weight:800;color:#cbd5e1;line-height:1.2}.sidebar-note-small{color:#cbd5e1;font-size:11px;font-weight:700;padding:4px 2px}.button-row .btn-main,.button-row .btn-reset{min-width:130px}@media(max-width:760px){.data-table{min-width:680px}.quote-table{min-width:720px}.install-table,.brand-table{min-width:560px}}

.summary-table tr.summary-zero-row td{background:#fbfdff}.summary-table tr.summary-zero-row td:nth-child(2),.summary-table tr.summary-zero-row td:last-child b{color:#94a3b8}.summary-table tr.summary-zero-row td:first-child{color:#334155}.summary-table tr.summary-zero-row td:first-child small{color:#94a3b8}


/* Refined live quotation summary */
.live-summary{border-color:#d8e3f2;box-shadow:0 10px 28px rgba(15,23,42,.08)}
.live-summary{display:flex;flex-direction:column;height:100%}
.live-summary h2{background:#12315f;color:#fff;font-size:18px;letter-spacing:0;padding:13px 16px}
.live-summary h2 span{font-weight:900}.live-summary h2 b{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;font-size:10px;padding:3px 8px}
.live-summary-meta{background:#f8fbff;color:#1e3a8a;border-bottom:1px solid #dbeafe;padding:9px 16px;font-size:12px;font-weight:900}
.live-summary .summary-table-wrap{padding:10px 14px;min-height:300px;flex:1 1 auto;overflow:visible}
.live-summary .summary-table{font-size:13px;table-layout:fixed}
.live-summary .summary-table th{background:#edf3fa;color:#334155;font-size:12px;text-transform:uppercase;padding:9px 10px}
.live-summary .summary-table td{padding:9px 10px;color:#1f2937;font-weight:700}
.live-summary .summary-table td:first-child{font-weight:800}.live-summary .summary-table td:first-child small{display:block;margin-top:2px;color:#94a3b8;font-size:11px;font-weight:800}
.live-summary .summary-table td:nth-child(2){font-weight:900;color:#334155}.live-summary .summary-table td:last-child b{color:#0b5ee8;font-weight:900}
.live-summary .summary-table tr.summary-zero-row td{background:#fbfdff}.live-summary .summary-table tr.summary-zero-row td:first-child{color:#334155}.live-summary .summary-table tr.summary-zero-row td:first-child small{color:#94a3b8}.live-summary .summary-table tr.summary-zero-row td:nth-child(2),.live-summary .summary-table tr.summary-zero-row td:last-child b{color:#94a3b8}
.live-summary .summary-total{margin:0 14px 14px;padding:10px;border-color:#dbe4f0;background:#fff;border-radius:8px;margin-top:auto}
.live-summary .sum-row{border-radius:7px;padding:9px 12px;margin-bottom:7px;font-size:13px}.live-summary .sum-row span{font-weight:900}.live-summary .sum-row strong{font-size:17px;font-weight:900}
.live-summary .sum-material{background:#eef6ff;color:#1d4ed8}.live-summary .sum-material strong{color:#0b5ee8}
.live-summary .sum-install{background:#fff8e6;color:#b45309}.live-summary .sum-install strong{color:#b45309}
.live-summary .sum-addon{background:#f7f0ff;color:#7c3aed}.live-summary .sum-addon strong{color:#7c3aed}
.live-summary .sum-grand{background:#12315f!important;color:#fff!important;border:0!important;margin-top:8px}.live-summary .sum-grand span{color:#fff!important;font-size:17px!important}.live-summary .sum-grand strong{color:#fff!important;font-size:30px!important;letter-spacing:0}
.cable-meter{height:44px!important;margin-top:7px!important;border-radius:8px!important;font-size:16px!important;font-weight:700!important;color:#0f172a!important;text-align:left!important}
.cable-row{margin:0;padding:0;border:0}


/* Compact one-line searchable product dropdowns */

.product-select,.brand-filter{font-size:12px!important;height:38px!important;line-height:38px!important}.product-select{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-select option{white-space:nowrap}


/* Speaker system refinements */
.system-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.system-filter-box{display:none;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;padding:14px}
.system-filter-box label{font-size:15px;font-weight:900;color:#0f172a}
.show-analog .analog-filter-box{display:block}
.show-ip .ip-filter-box{display:block}
.show-speaker .speaker-filter-box{display:block}
.speaker-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.speaker-mode-grid label{min-height:48px;border:1px solid #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:900;cursor:pointer;background:#fff}
.speaker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pill-sp{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}
@media(max-width:1150px){.speaker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.speaker-ip-mode .speaker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.speaker-analog-mode .speaker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.type-grid,.system-filter-row,.speaker-mode-grid,.speaker-grid{grid-template-columns:1fr}}


/* System type pill buttons */
.type-choice{position:relative;display:block}
.type-choice input{position:absolute!important;inset:0!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important}
.type-choice .type-pill{min-height:76px;border:2px solid #c7d2fe;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 2px 6px rgba(15,23,42,.05);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;background-clip:padding-box}
.type-choice:hover .type-pill{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 6px 16px rgba(15,23,42,.08)}
.type-choice input:checked + .type-pill{border-color:#0b5ee8;box-shadow:0 0 0 3px rgba(11,94,232,.12),0 8px 20px rgba(11,94,232,.12)}
.type-copy{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.05}
.type-copy strong{display:block;font-size:15px;font-weight:900;color:#0f172a;line-height:1.05}
.type-copy small{display:block;margin-top:3px;font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em;line-height:1.05}
.type-icon{width:40px;height:40px;flex:0 0 auto;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);font-size:11px;font-weight:900;letter-spacing:.02em;color:#0b5ee8}
.icon-camera::before{content:'CAM'}
.icon-network::before{content:'NET'}
.icon-speaker::before{content:'SPK'}
@media(max-width:760px){.type-choice .type-pill{min-height:68px;padding:10px 12px}.type-copy strong{font-size:14px}.type-copy small{font-size:9px}}

.type-icon::before{content:attr(data-icon);display:block;line-height:1;transform:translateY(1px)}


/* Premium page background */
body{
    background:
        radial-gradient(circle at top left, rgba(11,94,232,.14), transparent 28%),
        radial-gradient(circle at top right, rgba(124,58,237,.12), transparent 22%),
        linear-gradient(180deg, #eef4ff 0%, #f7f9ff 42%, #eef2f7 100%);
}
.main{background:transparent}
.topbar{background:rgba(255,255,255,.82);backdrop-filter:blur(10px)}
.content{background:transparent}
.card{background:rgba(255,255,255,.94)}
.summary{background:rgba(255,255,255,.94)}

/* Selected type spotlight */
.type-choice .type-pill{position:relative;overflow:hidden}
.type-choice .type-pill::after{
    content:'';
    position:absolute;
    inset:-2px;
    border-radius:inherit;
    background:linear-gradient(90deg, rgba(11,94,232,0), rgba(11,94,232,.16), rgba(11,94,232,0));
    opacity:0;
    transform:translateX(-30%);
    pointer-events:none;
}
.type-choice input:checked + .type-pill::after{
    opacity:1;
    animation: typePulse 1.6s ease-in-out infinite;
}
.type-choice input:checked + .type-pill .type-icon{
    box-shadow:0 0 0 3px rgba(11,94,232,.10), inset 0 1px 0 rgba(255,255,255,.85);
}
@keyframes typePulse{
    0%{transform:translateX(-38%);opacity:.06}
    50%{opacity:.22}
    100%{transform:translateX(38%);opacity:.06}
}


/* Auth gate */
.auth-page{min-height:100vh;background:radial-gradient(circle at top left, rgba(11,94,232,.16), transparent 30%),linear-gradient(180deg, #eef4ff 0%, #f7f9ff 45%, #eef2f7 100%);display:flex;align-items:center;justify-content:center;padding:28px}
.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}
.auth-card,.auth-side{background:rgba(255,255,255,.94);border:1px solid #dbe4f0;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:24px}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand .logo-mark{width:40px;height:40px;border-radius:12px}.auth-brand strong{display:block;font-size:18px}.auth-brand small{display:block;color:#64748b;font-weight:800}.auth-card h1{font-size:32px;line-height:1.06;margin:0 0 10px;color:#0f172a}.auth-card p{margin:0 0 18px;color:#475569;font-weight:700}.auth-form label{display:block;margin:0 0 6px;font-weight:900}.auth-form input{width:100%;margin-bottom:14px}.auth-alert{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-weight:800;margin-bottom:14px}.auth-foot{margin-top:14px;color:#64748b;font-size:13px;font-weight:700}.auth-side h2{margin:0 0 12px;font-size:20px;color:#0f172a}.auth-side ul{margin:0;padding-left:18px;color:#334155;font-weight:700;line-height:1.7}.auth-side li + li{margin-top:10px}.auth-sample{margin-top:18px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.auth-sample strong{font-size:14px;color:#0f172a}.auth-sample span{color:#1d4ed8;font-weight:900}.user-chip{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-right:8px}.user-chip strong{font-size:13px;color:#0f172a;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip small{font-size:10px;font-weight:900;text-transform:uppercase;color:#64748b}.auth-inline{margin:0}.btn-ghost{height:40px;padding:0 12px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:900;cursor:pointer}.btn-ghost:hover{background:#f8fafc}.access-table{min-width:1080px}.access-table th:nth-child(1){width:22%}.access-table th:nth-child(2){width:10%}.access-table th:nth-child(3){width:10%}.access-table th:nth-child(4){width:10%}.access-table th:nth-child(5){width:9%}.access-table th:nth-child(6){width:9%}.access-table th:nth-child(7){width:12%}.access-table th:nth-child(8){width:18%}

.access-table{min-width:1080px}.access-table th:nth-child(1){width:22%}.access-table th:nth-child(2){width:10%}.access-table th:nth-child(3){width:10%}.access-table th:nth-child(4){width:10%}.access-table th:nth-child(5){width:9%}.access-table th:nth-child(6){width:9%}.access-table th:nth-child(7){width:12%}.access-table th:nth-child(8){width:18%}
.log-table{min-width:1280px}.log-table th:nth-child(1){width:12%}.log-table th:nth-child(2){width:16%}.log-table th:nth-child(3){width:10%}.log-table th:nth-child(4){width:10%}.log-table th:nth-child(5){width:12%}.log-table th:nth-child(6){width:28%}.log-table th:nth-child(7){width:12%}.log-agent,.log-session{font-size:12px;word-break:break-word}.log-search-form .button-row{align-items:flex-end}.license-form input[readonly],.log-search-form input[readonly]{background:#f8fafc}

/* Product manager layout refresh */
.list-page .manager-card{border-radius:8px;overflow:hidden}
.list-page .body{padding:14px 18px 18px}
.manager-form{max-width:none}
.manager-form .row3,.manager-form .row2{gap:12px}
.manager-form .button-row{margin-top:10px}
.manager-form .btn-main,.manager-form .btn-secondary{min-width:110px}
.manager-toolbar{display:flex;justify-content:flex-start;margin-bottom:10px}
.manager-filter-form{width:240px;max-width:100%}
.manager-filter-form label{display:block;margin-bottom:2px}
.manager-filter-form select{margin-top:0}
.product-table{min-width:100%;table-layout:fixed;font-size:13px}
.product-table th{padding:10px 12px;font-size:12px}
.product-table td{padding:10px 12px}
.product-table th:nth-child(1){width:32%}
.product-table th:nth-child(2){width:14%}
.product-table th:nth-child(3){width:16%}
.product-table th:nth-child(4){width:12%}
.product-table th:nth-child(5){width:10%}
.product-table th:nth-child(6){width:16%}
.product-table .table-actions{justify-content:flex-start}
.product-table .table-btn{min-width:48px;height:28px;padding:0 9px}
@media(max-width:900px){
    .manager-form .row3,.manager-form .row2{grid-template-columns:1fr 1fr}
    .product-table{min-width:760px}
}
@media(max-width:760px){
    .manager-form .row3,.manager-form .row2{grid-template-columns:1fr}
    .manager-toolbar{justify-content:flex-start}
    .manager-filter-form{width:100%}
    .product-table{min-width:680px}
}



.customer-view .sidebar{display:none}
.customer-view .main{margin-left:0}


.product-picker{position:relative;margin-top:7px}.product-picker-input{width:100%;height:38px;border:1px solid #cfd6df;border-radius:8px;background:#fafbfc;padding:0 12px;font-size:12px;font-weight:800;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-picker-input::placeholder{color:#94a3b8;font-weight:700}.product-picker-input:focus{border-color:#b4beca;box-shadow:0 0 0 3px rgba(148,163,184,.12);outline:none;background:#fff}.product-picker-input.has-value{background:#eef2f7;color:#1f2937;border-color:#c7d0db}.product-picker-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1px solid #d7dde5;border-radius:8px;box-shadow:0 12px 28px rgba(15,23,42,.12);padding:4px;max-height:220px;overflow:auto}.product-picker-option{display:block;width:100%;text-align:left;border:0;background:#fff;color:#1f2937;padding:8px 10px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-picker-option:hover{background:#eef2f7;color:#111827}.product-picker-empty{padding:8px 10px;color:#94a3b8;font-size:12px;font-weight:700}.product-picker-value{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.product-picker-list[hidden]{display:none !important}

.dashboard-grid .card{overflow:visible}


/* Centered system type buttons */
.type-grid label{justify-content:center;padding:14px 12px;overflow:hidden}
.type-choice .type-pill{width:100%;max-width:100%}
.type-grid label.type-analog{background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%)}
.type-grid label.type-ip{background:linear-gradient(180deg,#f8fffe 0%,#eef9ff 100%)}
.type-grid label.type-ip .type-pill{width:100%;max-width:440px}
.type-grid label.type-speaker{background:linear-gradient(180deg,#fbf9ff 0%,#f4efff 100%)}
.type-grid label.type-analog:hover{background:linear-gradient(180deg,#f4f9ff 0%,#e7f1ff 100%)}
.type-grid label.type-ip:hover{background:linear-gradient(180deg,#f2fffd 0%,#e3f6ff 100%)}
.type-grid label.type-speaker:hover{background:linear-gradient(180deg,#f8f4ff 0%,#ede5ff 100%)}
.type-grid label.type-analog:has(input:checked){border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.10)}
.type-grid label.type-ip:has(input:checked){border-color:#06b6d4;box-shadow:0 0 0 3px rgba(6,182,212,.10)}
.type-grid label.type-speaker:has(input:checked){border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.10)}


.speaker-inline-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;grid-column:span 2}.speaker-inline-pair>div{min-width:0}


/* Refreshed customer login */
.auth-page{min-height:100vh;background:radial-gradient(circle at 20% 10%, rgba(11,94,232,.18), transparent 28%),radial-gradient(circle at 85% 18%, rgba(124,58,237,.14), transparent 22%),linear-gradient(180deg,#eef4ff 0%,#f7f9ff 46%,#eef2f7 100%);display:flex;align-items:center;justify-content:center;padding:32px}
.auth-shell{width:min(1160px,100%);display:grid;grid-template-columns:1.08fr .92fr;gap:18px;align-items:stretch}
.auth-card,.auth-side{background:rgba(255,255,255,.94);border:1px solid #dbe4f0;border-radius:16px;box-shadow:0 22px 48px rgba(15,23,42,.10);padding:26px 28px}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.auth-brand .logo-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(180deg,#0b5ee8,#1d4ed8);color:#fff;font-size:18px}.auth-brand strong{display:block;font-size:20px;line-height:1.05}.auth-brand small{display:block;color:#64748b;font-weight:800;line-height:1.15}
.auth-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:12px;font-weight:900;letter-spacing:.02em;margin:8px 0 10px}
.auth-card h1{font-size:32px;line-height:1.08;margin:0 0 10px;color:#0f172a;letter-spacing:0}
.auth-card p{margin:0 0 16px;color:#475569;font-weight:700;line-height:1.45;max-width:58ch}
.auth-feature-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 20px}.auth-feature{border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff;padding:12px 12px 13px;min-height:78px}.auth-feature strong{display:block;color:#0f172a;font-size:14px;font-weight:900}.auth-feature span{display:block;margin-top:5px;color:#64748b;font-size:12px;font-weight:700;line-height:1.35}
.auth-form{margin-top:2px}.auth-form label{display:block;margin:0 0 6px;font-weight:900;color:#0f172a}.auth-form input{width:100%;height:48px;margin-bottom:14px;border-radius:10px;font-size:15px}.auth-submit{min-width:150px;height:44px;border-radius:10px}
.auth-alert{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:12px;padding:12px 14px;font-weight:800;margin:12px 0 14px}.auth-foot{margin-top:14px;color:#64748b;font-size:13px;font-weight:700;line-height:1.45}
.auth-side{display:flex;flex-direction:column;justify-content:center}.auth-side h2{margin:0 0 14px;font-size:22px;color:#0f172a}.auth-side ul{margin:0;padding-left:18px;color:#334155;font-weight:700;line-height:1.7}.auth-side li + li{margin-top:10px}.auth-sample{margin-top:18px;border:1px solid #dbe4f0;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#ffffff);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.auth-sample strong{font-size:14px;color:#0f172a}.auth-sample span{color:#1d4ed8;font-weight:900;font-size:18px}.auth-sample small{color:#64748b;font-weight:700}
@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-feature-row{grid-template-columns:1fr}.auth-card h1{font-size:28px}}
@media(max-width:760px){.auth-page{padding:16px}.auth-card,.auth-side{padding:20px}.auth-card h1{font-size:24px}}

/* Final desktop dashboard visibility boost */
@media (min-width: 1161px){
  body[data-page="dashboard"] .content.dashboard-grid{
    padding:4px 8px 8px!important;
    grid-template-columns:minmax(0,1.7fr) minmax(0,.5fr)!important;
  }
  body[data-page="dashboard"] .type-grid label{
    min-height: 50px!important;
    padding: 7px 12px!important;
  }
  body[data-page="dashboard"] .type-choice .type-pill{
    min-height: 42px!important;
    padding: 4px 10px!important;
  }
  body[data-page="dashboard"] .system-filter-box,
  body[data-page="dashboard"] .system-filter-box.product-preview-box{
    min-height: 90px!important;
    padding: 8px!important;
  }
  body[data-page="dashboard"] .system-filter-box:not(.product-preview-box) select.brand-filter{
    height: 40px!important;
    margin-top: 6px!important;
    font-size: 14px!important;
    padding: 0 10px!important;
  }
  body[data-page="dashboard"] .product-preview-card{
    height: 68px!important;
    margin-top: 6px!important;
    padding: 5px!important;
    border-radius: 9px!important;
  }
  body[data-page="dashboard"] .product-preview-image{
    height: 58px!important;
    min-height: 58px!important;
  }
  body[data-page="dashboard"] .product-preview-image img{
    max-height: 54px!important;
  }
  body[data-page="dashboard"] .row2,
  body[data-page="dashboard"] .row3,
  body[data-page="dashboard"] .speaker-grid{
    gap: 8px!important;
  }
  body[data-page="dashboard"] .body{
    padding: 9px 12px!important;
  }
  body[data-page="dashboard"] .card h2{
    font-size: 17px!important;
    padding: 8px 12px!important;
  }
  body[data-page="dashboard"] input,
  body[data-page="dashboard"] select,
  body[data-page="dashboard"] .product-picker-input{
    height: 34px!important;
    font-size: 12px!important;
    margin-top: 4px!important;
  }
  body[data-page="dashboard"] .qtywrap{
    height: 58px!important;
  }
  body[data-page="dashboard"] .qtywrap button,
  body[data-page="dashboard"] .qtywrap input{
    height: 58px!important;
  }
  body[data-page="dashboard"] .auto-box{
    height: 58px!important;
    padding: 7px!important;
  }
  body[data-page="dashboard"] .auto-box span{
    font-size: 10px!important;
  }
  body[data-page="dashboard"] .auto-box b{
    font-size: 20px!important;
  }
  body[data-page="dashboard"] .summary{
    top: 16px!important;
  }
}


/* Premium centered login refresh */
body.auth-page{min-height:100vh;overflow:hidden;background:#050816;position:relative;display:flex;align-items:center;justify-content:center;padding:24px}
body.auth-page::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(147,197,253,.12) 1px, transparent 1px),linear-gradient(90deg, rgba(147,197,253,.12) 1px, transparent 1px);background-size:72px 72px;opacity:.22;mask-image:radial-gradient(circle at center, black 32%, transparent 76%);pointer-events:none}
body.auth-page::after{content:'';position:fixed;inset:-10%;background:radial-gradient(circle at 50% 52%, rgba(59,130,246,.16), transparent 22%),radial-gradient(circle at 50% 52%, rgba(34,211,238,.10), transparent 30%),radial-gradient(circle at 50% 52%, rgba(255,255,255,.08), transparent 40%);filter:blur(18px);pointer-events:none;animation:authGlow 12s ease-in-out infinite alternate}
.auth-shell-center{width:min(700px,100%);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.auth-card-center{width:100%;position:relative;overflow:hidden;padding:36px 46px 34px;background:rgba(8,15,28,.74);border:1px solid rgba(148,163,184,.22);border-radius:28px;backdrop-filter:blur(18px);box-shadow:0 36px 100px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.06)}
.auth-card-center::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg, rgba(96,165,250,.20), rgba(255,255,255,0) 28%, rgba(34,211,238,.10) 58%, rgba(255,255,255,0));pointer-events:none}
.auth-ring{position:absolute;left:50%;top:66px;width:172px;height:172px;transform:translateX(-50%);border-radius:50%;border:1px solid rgba(96,165,250,.22);box-shadow:inset 0 0 0 8px rgba(59,130,246,.05), 0 0 0 1px rgba(255,255,255,.04);opacity:.9}
.auth-ring::before,.auth-ring::after{content:'';position:absolute;inset:18px;border-radius:50%;border:1px solid rgba(125,211,252,.18)}
.auth-ring::after{inset:38px;border-color:rgba(255,255,255,.12)}
.auth-brand-center{justify-content:center;gap:14px;margin-bottom:18px;position:relative;z-index:1}.auth-brand-center .logo-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(180deg,#2563eb,#0ea5e9);color:#fff;box-shadow:0 14px 28px rgba(14,165,233,.28)}
.auth-brand-center strong{color:#eef6ff;font-size:18px}.auth-brand-center small{color:#93c5fd;font-weight:800}
.auth-card-center h1{margin:10px auto 10px;max-width:15.5ch;text-align:center;color:#f8fbff;font-size:clamp(26px,2.8vw,30px);line-height:1.06;font-weight:800;letter-spacing:.045em;text-transform:none;text-wrap:balance}
.auth-card-center p{display:none}
.auth-form-center{max-width:440px;margin:0 auto;position:relative;z-index:1}.auth-form-center label{display:block;margin:10px 0 8px;color:#dbeafe;font-size:14px;font-weight:800;letter-spacing:.03em}
.auth-input-line{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(148,163,184,.45);padding:8px 0 10px;margin-bottom:18px}.auth-input-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#93c5fd;border:1px solid rgba(147,197,253,.35);background:rgba(15,23,42,.32);flex:0 0 auto;font-size:14px;font-weight:900}
.auth-form-center input{height:44px;flex:1;margin:0;border:0;background:transparent;color:#f8fbff;font-size:16px;font-weight:700;padding:0 4px}.auth-form-center input::placeholder{color:#94a3b8;font-weight:600}.auth-form-center input:focus{box-shadow:none;outline:none;border:0}
.auth-remember{display:flex;align-items:center;gap:8px;margin:-2px 0 16px;color:#cbd5e1;font-size:13px;font-weight:700;cursor:pointer}.auth-remember input{width:16px;height:16px;margin:0;accent-color:#2563eb}
.auth-submit{display:block;width:100%;height:50px;border-radius:12px;background:linear-gradient(180deg,#2563eb,#1d4ed8);box-shadow:0 18px 28px rgba(37,99,235,.28);letter-spacing:.12em;text-transform:uppercase}
.auth-submit:hover{filter:brightness(1.04)}
.auth-alert{background:rgba(127,29,29,.35);color:#fecaca;border:1px solid rgba(248,113,113,.35);border-radius:12px;padding:12px 14px;font-weight:800;margin:12px 0 14px}
.auth-foot{display:none}
.auth-side{display:none}
@keyframes authGlow{0%{transform:translate3d(-1%, -1%, 0) scale(1)}100%{transform:translate3d(1%, 1%, 0) scale(1.03)}}
@media(max-width:760px){body.auth-page{padding:14px}.auth-card-center{padding:28px 20px}.auth-card-center h1{font-size:24px;letter-spacing:.05em}.auth-foot{font-size:11px}}

.auth-title{font-size:22px;font-weight:900;letter-spacing:.01em}
.lang-toggle{border:1px solid rgba(59,130,246,.35);background:rgba(255,255,255,.08);color:#eff6ff;padding:9px 14px;border-radius:999px;font-weight:800;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 28px rgba(15,23,42,.24)}.lang-toggle:hover{background:rgba(255,255,255,.14);border-color:rgba(96,165,250,.55)}.lang-toggle:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.auth-lang-toggle{position:absolute;top:16px;right:16px;z-index:3;padding:8px 12px;font-size:12px}.auth-mode-toggle{position:absolute;top:16px;right:98px;z-index:3;min-width:82px;padding:8px 12px;font-size:12px}.auth-mode-toggle.is-admin{background:rgba(96,165,250,.20);border-color:rgba(147,197,253,.65)}.auth-password-wrap[hidden]{display:none !important}.topbar .actions .lang-toggle{padding:0 16px;font-size:12px;color:#fff;background:#0b5ee8;border-color:#0b5ee8;box-shadow:none}.topbar .actions .lang-toggle:hover{background:#0b5ee8}


/* Typography lift for the working dashboard */
body{font-size:17px}
.topbar h1{font-size:34px;line-height:1.05}
.topbar p{font-size:15px}
.card h2{font-size:23px}
label{font-size:16px}
input,select{font-size:17px;height:48px}
.type-choice strong{font-size:16px}
.type-choice small{font-size:11px}
.type-grid label{min-height:72px}
.auto-box span{font-size:14px}
.auto-box b{font-size:30px}
.summary h2{font-size:22px}
.live-summary-meta{font-size:14px}
.summary-table th,.summary-table td{font-size:14px}
.summary-total .sum-row{font-size:14px}
.summary-total .sum-row strong{font-size:20px}
.summary-total .sum-row.grand span{font-size:19px}
.summary-total .sum-row.grand strong{font-size:30px}
.product-picker-input{font-size:13px;height:42px}
.product-picker-option{font-size:13px}
.manager-table,.data-table,.quote-table{font-size:16px}
.data-table th,.manager-table th,.quote-table th{font-size:14px}
.data-table td,.manager-table td,.quote-table td{font-size:15px}
.btn-main,.btn-reset,.btn-secondary,.btn-ghost,.btn-link,.table-btn{font-size:14px}
.topbar .actions .lang-toggle{min-width:116px;height:42px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.auth-lang-toggle{min-width:72px;height:38px;padding:0 14px;border-radius:999px;font-size:13px}
@media(max-width:760px){
  body{font-size:16px}
  .topbar h1{font-size:28px}
  .card h2{font-size:20px}
  label{font-size:15px}
  input,select{font-size:16px;height:46px}
  .type-choice strong{font-size:15px}
  .summary h2{font-size:20px}
}


html[lang='km'], html[lang='km'] body, html[lang='km'] input, html[lang='km'] select, html[lang='km'] button, html[lang='km'] textarea {
    font-family:'Kantumruy Pro','Noto Sans Khmer','Khmer OS System',Inter,Arial,sans-serif;
    letter-spacing:0;
}
html[lang='km'] .topbar h1,
html[lang='km'] .card h2,
html[lang='km'] .type-copy strong,
html[lang='km'] .summary h2,
html[lang='km'] .live-summary h2,
html[lang='km'] .btn-main,
html[lang='km'] .btn-reset,
html[lang='km'] .btn-secondary,
html[lang='km'] .btn-ghost,
html[lang='km'] .table-btn,
html[lang='km'] label,
html[lang='km'] th,
html[lang='km'] td,
html[lang='km'] .summary-table,
html[lang='km'] .manager-table,
html[lang='km'] .quote-table {
    font-family:'Kantumruy Pro','Noto Sans Khmer','Khmer OS System',Inter,Arial,sans-serif;
}
html[lang='km'] .topbar h1{font-size:35px;line-height:1.08}
html[lang='km'] .topbar p{font-size:15px;line-height:1.35}
html[lang='km'] .card h2{font-size:24px;line-height:1.14}
html[lang='km'] label{font-size:16px;line-height:1.12}
html[lang='km'] input, html[lang='km'] select{font-size:17px}
html[lang='km'] .type-choice strong{font-size:18px;line-height:1.02}
html[lang='km'] .type-choice small{font-size:11px;line-height:1.02}
html[lang='km'] .auto-box span{font-size:15px}
html[lang='km'] .auto-box b{font-size:31px}
html[lang='km'] .topbar h1{font-size:36px;line-height:1.02}
html[lang='km'] .topbar p{display:none}
html[lang='km'] .topbar .brand small:empty{display:none}
html[lang='km'] .summary h2{font-size:22px}
html[lang='km'] .live-summary-meta{font-size:14px}
html[lang='km'] .summary-table th,
html[lang='km'] .summary-table td,
html[lang='km'] .manager-table th,
html[lang='km'] .manager-table td,
html[lang='km'] .quote-table th,
html[lang='km'] .quote-table td,
html[lang='km'] .data-table th,
html[lang='km'] .data-table td{font-size:15px;line-height:1.25}
html[lang='km'] .btn-main,
html[lang='km'] .btn-reset,
html[lang='km'] .btn-secondary,
html[lang='km'] .btn-ghost,
html[lang='km'] .table-btn{font-size:14px}
html[lang='km'] .product-picker-input{font-size:14px}
html[lang='km'] .product-picker-option{font-size:14px;line-height:1.24}
html[lang='km'] .sum-row{font-size:15px}
html[lang='km'] .sum-row strong{font-size:20px}
html[lang='km'] .sum-row.grand strong{font-size:30px}
html[lang='km'] .auth-card-center h1{font-size:38px;letter-spacing:.04em}
html[lang='km'] .auth-form-center label{font-size:15px}
html[lang='km'] .auth-submit{font-size:16px;letter-spacing:.05em}
@media(max-width:760px){
    html[lang='km'] .topbar h1{font-size:28px}
    html[lang='km'] .card h2{font-size:20px}
    html[lang='km'] label{font-size:15px}
    html[lang='km'] .type-choice strong{font-size:15px}
    html[lang='km'] .auth-card-center h1{font-size:28px}
}


/* Khmer top selector typography tweak */
html[lang='km'] .type-choice .type-pill{padding:10px 12px}
html[lang='km'] .type-copy strong{font-size:16px;line-height:1;white-space:nowrap}
html[lang='km'] .type-copy small{font-size:10px;line-height:1.02}
html[lang='km'] .type-choice .type-pill{min-height:78px}
html[lang='km'] .type-grid label.type-ip .type-pill{width:100%;max-width:460px}
@media(max-width:760px){html[lang='km'] .type-copy strong{font-size:15px}}

html[lang='km'] .type-grid label.type-ip .type-copy strong{font-size:15px;letter-spacing:-.01em}
html[lang='km'] .type-grid label.type-ip .type-copy small{font-size:9px}


.user-chip{display:none}

.lang-toggle .lang-flag{font-size:16px;line-height:1}
.lang-toggle .lang-label{font-size:12px;font-weight:900;line-height:1}


/* Preserve desktop layout on phones */
@media (max-width: 760px) {
  html, body, .main{min-width:1365px}
  body{overflow-x:auto}
  .dashboard-grid{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr)}
  .summary{position:sticky;top:18px}
  .row2{grid-template-columns:1fr 1fr}
  .row3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .speaker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .speaker-inline-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auto-wrap{grid-template-columns:repeat(4,minmax(0,1fr))}
}


/* Product images and dashboard quick product selectors */
.product-image-preview{margin-top:8px}
.product-image-preview img,.product-thumb{width:58px;height:44px;object-fit:cover;border:1px solid #dbe4f0;border-radius:7px;background:#f8fafc;display:block}
.product-thumb-cell{width:76px;text-align:left}
.product-thumb-empty{width:58px;height:44px;border:1px dashed #cbd5e1;border-radius:7px;background:#f8fafc;color:#94a3b8;font-size:10px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.1}
.product-table th:nth-child(1){width:7%}
.product-table th:nth-child(2){width:29%}
.product-table th:nth-child(3){width:13%}
.product-table th:nth-child(4){width:15%}
.product-table th:nth-child(5){width:11%}
.product-table th:nth-child(6){width:9%}
.product-table th:nth-child(7){width:16%}
.system-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.quick-picker-box{background:#fff}
.quick-picker-box .product-picker{margin-top:7px}
.quick-picker-box label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1150px){.system-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.system-filter-row{grid-template-columns:repeat(3,minmax(0,1fr));min-width:980px}.dashboard-grid{grid-template-columns:minmax(980px,1fr)}.summary{margin-top:14px}}


/* Read-only selected product preview beside brand filter */
.product-preview-box{background:#fff}
.product-preview-card{height:50px;margin-top:7px;border:1px solid #d6dee8;border-radius:8px;background:#f8fafc;display:flex;align-items:center;gap:10px;padding:7px 10px;min-width:0;overflow:hidden}
.product-preview-card.has-product{background:#eef6ff;border-color:#bfdbfe}
.product-preview-image{width:38px;height:36px;flex:0 0 38px;border-radius:8px;background:#eaf2ff;border:1px solid #cfe0ff;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#0b5ee8;font-size:11px;font-weight:900}
.product-preview-image img{width:100%;height:100%;object-fit:cover;display:block}
.product-preview-copy{min-width:0;flex:1;line-height:1.15}
.product-preview-copy strong{display:block;font-size:13px;font-weight:900;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-preview-copy small{display:block;margin-top:3px;font-size:11px;font-weight:800;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[lang='km'] .product-preview-copy strong{font-size:14px}


/* Picture-only top product previews */
.product-preview-card{height:86px;justify-content:center;padding:8px;background:#f8fafc}
.product-preview-card.has-product{background:#fff;border-color:#bfdbfe;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.product-preview-card .product-preview-copy{display:none!important}
.product-preview-image{width:100%;height:68px;flex:1 1 auto;border-radius:8px;background:#eef4ff;border:1px dashed #cbd5e1}
.product-preview-card.has-product .product-preview-image{border-style:solid;background:#fff}
.product-preview-image img{width:100%;height:100%;object-fit:contain;padding:3px;background:#fff}
.product-preview-image span{font-size:12px;color:#94a3b8;letter-spacing:.08em}

.product-preview-card{display:block!important;width:100%}
.product-preview-image{display:flex!important;width:100%!important;max-width:none!important;flex:none!important}
.product-preview-image img{display:block;width:100%!important;height:100%!important;max-width:none!important}


/* Keep selected product preview images fully visible */
.product-preview-card{height:112px!important;padding:8px!important;overflow:hidden!important}
.product-preview-image{height:96px!important;width:100%!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border:1px solid #dbe4f0!important;overflow:hidden!important}
.product-preview-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:4px!important;background:#fff!important}
.system-filter-box.product-preview-box{min-width:0!important;overflow:hidden!important}
@media(max-width:1150px){.product-preview-card{height:104px!important}.product-preview-image{height:88px!important}}


/* Product Manager image table polish */
.product-table{table-layout:fixed!important;min-width:1080px!important}
.product-table th:nth-child(1){width:96px!important}
.product-table th:nth-child(2){width:30%!important}
.product-table th:nth-child(3){width:13%!important}
.product-table th:nth-child(4){width:15%!important}
.product-table th:nth-child(5){width:11%!important}
.product-table th:nth-child(6){width:10%!important}
.product-table th:nth-child(7){width:15%!important}
.product-table th,.product-table td{vertical-align:middle!important}
.product-table tbody tr{height:76px!important}
.product-thumb-cell{width:96px!important;padding:8px 12px!important;text-align:center!important}
.product-thumb,.product-thumb-empty{width:70px!important;height:54px!important;margin:0 auto!important;border-radius:8px!important}
.product-thumb{object-fit:contain!important;object-position:center!important;background:#fff!important;padding:3px!important;border:1px solid #d8e2ef!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important}
.product-thumb-empty{background:#f8fafc!important;border:1px dashed #cbd5e1!important;color:#94a3b8!important;font-size:10px!important;line-height:1.1!important}
.product-table .main-cell{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
@media(max-width:900px){.product-table{min-width:980px!important}.product-thumb,.product-thumb-empty{width:64px!important;height:50px!important}}


/* Sidebar logo link and app footer */
.logo{text-decoration:none;color:#fff}
.logo:hover{color:#fff;background:#0b5ee8}
.logo small{display:none!important}
.app-footer{padding:14px 18px 22px;text-align:center;color:#64748b;font-size:13px;font-weight:800}
.customer-view .app-footer{margin-left:0}
@media(max-width:760px){.app-footer{padding:12px 12px 18px;font-size:12px}}

.logo{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;cursor:pointer!important}


/* Top filter/preview alignment and softer input placeholders */
.system-filter-row{align-items:stretch!important}
.system-filter-box{min-height:150px!important;display:none;flex-direction:column;justify-content:flex-start!important}
.show-analog .analog-filter-box,.show-ip .ip-filter-box,.show-speaker .speaker-filter-box{display:flex!important}
.system-filter-box.product-preview-box{min-height:150px!important}
.system-filter-box.product-preview-box .product-preview-card{height:112px!important;margin-top:7px!important}
.system-filter-box:not(.product-preview-box) select.brand-filter{height:48px!important;margin-top:10px!important;font-size:16px!important;font-weight:900!important;color:#0f172a!important;background:#fff!important}
.system-filter-box:not(.product-preview-box) label{font-size:16px!important;line-height:1.15!important;margin-bottom:0!important}
input::placeholder,textarea::placeholder,.product-picker-input::placeholder{font-size:12px!important;font-weight:700!important;color:#94a3b8!important;opacity:.52!important;text-shadow:none!important}
html[lang='km'] input::placeholder,html[lang='km'] textarea::placeholder,html[lang='km'] .product-picker-input::placeholder{font-size:12px!important;color:#9aa8bb!important;opacity:.45!important;font-weight:600!important}
.product-picker-input{color:#0f172a!important;text-shadow:none!important}
.product-picker-input:not(.has-value){font-size:12px!important;color:#94a3b8!important;font-weight:700!important}
.product-picker-input.has-value{font-size:13px!important;color:#1f2937!important;font-weight:800!important}
.app-footer{white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;padding-left:18px!important;padding-right:18px!important}
@media(max-width:760px){.system-filter-box,.system-filter-box.product-preview-box{min-height:138px!important}.system-filter-box.product-preview-box .product-preview-card{height:104px!important}}

/* Mobile app layout and label icon polish */
label[data-i18n], .auto-box span{display:flex;align-items:center;gap:6px}
label[data-i18n]::before,.auto-box span::before{content:'';width:18px;height:18px;flex:0 0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#eef6ff;color:#0b5ee8;border:1px solid #d7e7ff;font-size:9px;font-weight:900;line-height:1;font-family:Inter,Arial,sans-serif}
label[data-i18n="filter_analog"]::before,label[data-i18n="filter_ip"]::before,label[data-i18n="filter_speaker"]::before{content:'BR'}
label[data-i18n="label_camera_model"]::before,label[data-i18n="label_ip_camera"]::before{content:'CM'}
label[data-i18n="label_speaker_model"]::before{content:'SP'}
label[data-i18n="label_dvr"]::before{content:'DV'}
label[data-i18n="label_nvr"]::before{content:'NV'}
label[data-i18n="label_amplifier"]::before{content:'AM'}
label[data-i18n="label_cable_meter_cam"]::before,label[data-i18n="label_cable_meter_speaker"]::before{content:'M'}
label[data-i18n="label_hdd"]::before{content:'HD'}
label[data-i18n="label_power_supply"]::before{content:'PW'}
label[data-i18n="label_bnc"]::before{content:'BN'}
label[data-i18n="label_dc"]::before{content:'DC'}
label[data-i18n="label_ttm"]::before{content:'BX'}
label[data-i18n="label_cable"]::before{content:'CB'}
label[data-i18n="label_rj45"]::before{content:'RJ'}
label[data-i18n="label_switch"]::before{content:'SW'}
label[data-i18n="label_power_cable"]::before{content:'PC'}
label[data-i18n="label_install_fee"]::before{content:'IN'}
label[data-i18n="label_addon_cost"]::before{content:'+'}
.auto-box span[data-i18n="label_bnc"]::before{content:'BN'}
.auto-box span[data-i18n="label_dc"]::before{content:'DC'}
.auto-box span[data-i18n="label_ttm"]::before{content:'BX'}
.auto-box span[data-i18n="label_cable"]::before{content:'CB'}
.auto-box span[data-i18n="label_rj45"]::before{content:'RJ'}
.auto-box span[data-i18n="label_switch"]::before{content:'SW'}
.auto-box span[data-i18n="label_amplifier"]::before{content:'AM'}
@media(max-width:760px){
 html,body,.main{min-width:0!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;background:#eef4ff!important}
 .sidebar{display:none!important}.main{margin-left:0!important}
 .topbar{min-height:66px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:8px!important;padding:10px 12px!important;background:#fff!important;position:sticky;top:0;z-index:20}
 .topbar::before{content:'☰';width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#334155;font-size:20px;font-weight:900}
 .topbar h1{font-size:18px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important}
 .topbar p{display:block!important;font-size:10px!important;line-height:1.1!important;margin:2px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .topbar .actions{gap:6px!important;justify-content:flex-end!important;flex-wrap:nowrap!important;overflow:hidden!important}.topbar .actions form,.topbar .actions button:not(.lang-toggle){display:none!important}.topbar .actions .lang-toggle{display:inline-flex!important;min-width:64px!important;height:32px!important;font-size:11px!important;padding:0 9px!important}
 .content{padding:10px!important;width:100%!important;max-width:100%!important;overflow:visible!important}.dashboard-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;min-width:0!important;width:100%!important}.calculator-column{min-width:0!important;width:100%!important}
 .card{border-radius:10px!important;margin-bottom:10px!important;box-shadow:0 8px 20px rgba(15,23,42,.06)!important}.card h2{font-size:15px!important;padding:10px 12px!important;line-height:1.2!important}.body{padding:10px 12px!important}
 .type-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.type-grid label{min-height:52px!important;padding:6px!important;border-radius:7px!important}.type-choice .type-pill{min-height:42px!important;padding:6px 7px!important;gap:6px!important;max-width:none!important;border-width:1px!important}.type-icon{width:28px!important;height:28px!important;font-size:8px!important}.type-copy strong{font-size:11px!important;line-height:1.05!important}.type-copy small{font-size:8px!important;line-height:1!important}
 .system-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;min-width:0!important;margin-top:8px!important}.system-filter-box,.system-filter-box.product-preview-box{min-height:86px!important;padding:8px!important;border-radius:7px!important;min-width:0!important}.system-filter-box label{font-size:10px!important;line-height:1.1!important;gap:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.system-filter-box label::before{width:14px!important;height:14px!important;font-size:7px!important;border-radius:5px!important}.system-filter-box:not(.product-preview-box) select.brand-filter{height:36px!important;margin-top:7px!important;font-size:11px!important;padding:0 8px!important}.product-preview-card{height:48px!important;margin-top:7px!important;padding:4px!important;border-radius:7px!important}.product-preview-image{height:40px!important;border-radius:6px!important}
 .row2{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:8px!important}.row3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}label{font-size:10px!important;line-height:1.15!important;gap:4px!important}label[data-i18n]::before,.auto-box span::before{width:14px!important;height:14px!important;font-size:7px!important;border-radius:5px!important}input,select,.product-picker-input{height:32px!important;font-size:11px!important;border-radius:6px!important;padding:0 8px!important;margin-top:5px!important}input::placeholder,.product-picker-input::placeholder{font-size:10px!important;opacity:.42!important}
 .qtywrap{grid-template-columns:34px 1fr 34px!important;height:52px!important}.qtywrap button,.qtywrap input{height:52px!important;font-size:20px!important}.auto-wrap{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.auto-box{height:52px!important;padding:6px!important;border-radius:7px!important}.auto-box span{font-size:9px!important;gap:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.auto-box b{font-size:20px!important;margin-top:3px!important}
 .speaker-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}body.speaker-ip-mode .speaker-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.speaker-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.speaker-mode-grid label{min-height:38px!important;font-size:11px!important}.speaker-inline-pair{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;grid-column:span 2!important}
 .small-clear{padding:5px 9px!important;font-size:10px!important;border-radius:6px!important}.button-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.btn-main,.btn-reset,.btn-secondary{height:38px!important;font-size:11px!important;border-radius:7px!important;width:100%!important}
 .summary{position:relative!important;top:auto!important;margin-top:0!important;width:100%!important;min-width:0!important;overflow:hidden!important}.summary h2{font-size:15px!important;padding:10px 12px!important}.live-summary-meta{font-size:11px!important;padding:8px 12px!important}.summary-table-wrap{min-height:0!important;padding:8px 10px!important;overflow-x:hidden!important}.summary-table th,.summary-table td{font-size:10px!important;padding:7px 8px!important}.summary-total{margin:0 10px 10px!important;padding:8px!important}.live-summary .sum-row{font-size:11px!important;padding:7px 9px!important;margin-bottom:6px!important}.live-summary .sum-row strong{font-size:14px!important}.live-summary .sum-grand strong{font-size:23px!important}.app-footer{font-size:10px!important;padding:10px 8px 16px!important;text-align:center!important}
}

/* Mobile accessory row readability correction */
@media(max-width:760px){
 .row2{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;align-items:end!important;gap:7px!important}
 .auto-wrap{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
 .auto-box{min-width:0!important;padding:5px!important}
 .auto-box span{font-size:8px!important;line-height:1.05!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .auto-box span::before{display:none!important}
 .auto-box b{font-size:18px!important;line-height:1.05!important;white-space:nowrap!important}
 .qtywrap{grid-template-columns:30px 1fr 30px!important}
 .qtywrap button,.qtywrap input{font-size:18px!important}
}

/* Remaining calculator icon labels */
label[data-i18n="label_qty"]::before{content:'#'}
label[data-i18n="label_auto"]::before{content:'AU'}
.btn-reset::before,.btn-main::before,.small-clear::before{display:inline-flex;align-items:center;justify-content:center;margin-right:7px;font-size:11px;font-weight:900;line-height:1}
.btn-reset::before{content:'↺'}
.btn-main::before{content:'✓'}
.small-clear::before{content:'×'}
@media(max-width:760px){.btn-reset::before,.btn-main::before,.small-clear::before{margin-right:5px;font-size:10px}}

/* Phone compact dashboard redesign and emoji label icons */
label[data-i18n]::before,.auto-box span::before{background:transparent!important;border:0!important;width:18px!important;height:18px!important;font-size:15px!important;border-radius:0!important;color:inherit!important;box-shadow:none!important;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',Inter,Arial,sans-serif!important}
label[data-i18n="filter_analog"]::before,label[data-i18n="filter_ip"]::before,label[data-i18n="filter_speaker"]::before{content:'🏷️'}
label[data-i18n="label_camera_model"]::before,label[data-i18n="label_ip_camera"]::before{content:'📷'}
label[data-i18n="label_speaker_model"]::before{content:'🔊'}
label[data-i18n="label_dvr"]::before{content:'💽'}
label[data-i18n="label_nvr"]::before{content:'🖥️'}
label[data-i18n="label_amplifier"]::before{content:'🎚️'}
label[data-i18n="label_cable_meter_cam"]::before,label[data-i18n="label_cable_meter_speaker"]::before{content:'📏'}
label[data-i18n="label_hdd"]::before{content:'💾'}
label[data-i18n="label_power_supply"]::before{content:'🔌'}
label[data-i18n="label_bnc"]::before{content:'🔗'}
label[data-i18n="label_dc"]::before{content:'⚡'}
label[data-i18n="label_ttm"]::before{content:'📦'}
label[data-i18n="label_cable"]::before{content:'〰️'}
label[data-i18n="label_rj45"]::before{content:'🌐'}
label[data-i18n="label_switch"]::before{content:'🔀'}
label[data-i18n="label_power_cable"]::before{content:'🔋'}
label[data-i18n="label_install_fee"]::before{content:'🛠️'}
label[data-i18n="label_addon_cost"]::before{content:'➕'}
label[data-i18n="label_qty"]::before{content:'🔢'}
label[data-i18n="label_auto"]::before{content:'⚙️'}
.auto-box span[data-i18n="label_bnc"]::before{content:'🔗'}
.auto-box span[data-i18n="label_dc"]::before{content:'⚡'}
.auto-box span[data-i18n="label_ttm"]::before{content:'📦'}
.auto-box span[data-i18n="label_cable"]::before{content:'〰️'}
.auto-box span[data-i18n="label_rj45"]::before{content:'🌐'}
.auto-box span[data-i18n="label_switch"]::before{content:'🔀'}
.auto-box span[data-i18n="label_amplifier"]::before{content:'🎚️'}
.btn-reset::before{content:'↻'!important}.btn-main::before{content:'💾'!important}.small-clear::before{content:'✕'!important}
.mobile-bottom-nav{display:none}
.mobile-section-summary{display:none}
@media(max-width:760px){
 body{padding-bottom:76px!important}.content{padding:8px!important}.card{margin-bottom:8px!important;border-radius:9px!important}.card h2{font-size:14px!important;padding:9px 10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}.card h2 span{display:inline-flex;align-items:center;gap:7px}.card h2 span::before{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji';font-size:16px;line-height:1}.card h2 [data-i18n="section_system_type"]::before{content:'📡'}.card h2 [data-i18n="section_qty"]::before{content:'🔢'}#analogBox h2 span::before,#ipBox h2 span::before,#speakerBox h2 span::before{content:'🎛️'}.card h2 [data-i18n="section_addon"]::before{content:'🏷️'}
 .topbar{min-height:58px!important;padding:8px 10px!important}.topbar h1{font-size:16px!important}.topbar p{font-size:9px!important}.topbar .actions form{display:block!important}.topbar .actions form button{display:inline-flex!important;height:31px!important;min-width:58px!important;padding:0 9px!important;font-size:10px!important}.topbar .actions button:not(.lang-toggle),.topbar .actions .print:not(.lang-toggle){display:none!important}.topbar .actions .lang-toggle{height:31px!important;min-width:58px!important;font-size:10px!important}
 .type-grid{gap:6px!important}.type-grid label{min-height:50px!important}.type-choice .type-pill{min-height:38px!important;padding:5px!important}.type-copy strong{font-size:10px!important}.type-copy small{font-size:7px!important}.type-icon{width:25px!important;height:25px!important;font-size:7px!important}
 .system-filter-row{gap:6px!important}.system-filter-box,.system-filter-box.product-preview-box{min-height:62px!important;padding:6px!important}.system-filter-box label{font-size:8px!important}.system-filter-box:not(.product-preview-box) select.brand-filter{height:31px!important;font-size:10px!important;margin-top:5px!important}.product-preview-card{height:31px!important;margin-top:5px!important;padding:2px!important}.product-preview-image{height:27px!important}.product-preview-image img{object-fit:contain!important}.product-preview-copy{display:none!important}
 .body{padding:8px 10px!important}.row2{grid-template-columns:minmax(0,1fr) minmax(0,1.26fr)!important;gap:7px!important}.qtywrap{height:49px!important}.qtywrap button,.qtywrap input{height:49px!important}.qtywrap input{font-size:21px!important}.auto-wrap{gap:5px!important}.auto-box{height:49px!important;padding:5px!important}.auto-box span{display:flex!important;align-items:center!important;gap:2px!important;font-size:7.5px!important}.auto-box span::before{display:inline-flex!important;width:11px!important;height:11px!important;font-size:10px!important;flex:0 0 11px!important}.auto-box b{font-size:17px!important}
 label{font-size:9px!important}.row3{gap:7px!important}input,select,.product-picker-input{height:29px!important;font-size:10px!important;margin-top:4px!important}.button-row{padding-top:6px!important}.btn-main,.btn-reset{height:35px!important;font-size:10px!important}.small-clear{display:none!important}
 .system-box h2{cursor:pointer!important}.system-box h2::after{content:'⌄';font-size:18px;color:#334155;margin-left:auto}.system-box.mobile-open h2::after{content:'⌃'}.system-box.mobile-collapsed .body{display:none!important}.mobile-section-summary{display:block!important;padding:8px 38px 11px 46px;border-top:1px solid #edf2f7;color:#64748b}.mobile-section-summary strong{display:block;color:#0b5ee8;font-size:10px;font-weight:900;margin-bottom:3px}.mobile-section-summary span{display:block;font-size:9px;font-weight:800;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .summary{margin-top:0!important}.summary h2{font-size:14px!important}.summary-table-wrap{padding:7px 8px!important}.summary-table th,.summary-table td{font-size:9px!important}.live-summary .sum-grand strong{font-size:21px!important}
 .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);height:64px;background:#fff;border-top:1px solid #dbe7f6;box-shadow:0 -8px 24px rgba(15,23,42,.09);padding:5px 6px calc(5px + env(safe-area-inset-bottom));}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:#64748b;font-size:9px;font-weight:900}.mobile-bottom-nav a:first-child{color:#0b5ee8}.mobile-bottom-nav span{font-size:19px;line-height:1}.mobile-bottom-nav b{font-size:9px;line-height:1.05}.app-footer{display:none!important}
}

/* Mobile top action button correction */
@media(max-width:760px){
 .topbar .actions form{display:block!important}
 .topbar .actions form button{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:31px!important;min-width:64px!important;padding:0 10px!important;font-size:10px!important;border-radius:7px!important;background:#0b5ee8!important;color:#fff!important;border:0!important}
 .topbar .actions > button:not(.lang-toggle){display:none!important}
}

@media(max-width:760px){.topbar .actions form.auth-inline button.btn-ghost:not(.lang-toggle){display:inline-flex!important}}

/* Final tight phone layout: shorter page, no sideways movement */
@media(max-width:760px){
  html,body{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;overscroll-behavior-x:none!important;touch-action:pan-y!important}
  .main,.content,.dashboard-grid,.calculator-column,.card,.summary{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-x:hidden!important}
  .content{padding:6px!important}.dashboard-grid{gap:7px!important}.card{margin-bottom:7px!important;border-radius:8px!important}.body{padding:6px 8px!important}.card h2{min-height:34px!important;padding:7px 8px!important;font-size:13px!important;line-height:1.1!important}
  .topbar{min-height:52px!important;padding:6px 8px!important;grid-template-columns:24px minmax(0,1fr) auto!important}.topbar::before{width:22px!important;height:22px!important;font-size:17px!important}.topbar h1{font-size:14px!important;line-height:1!important}.topbar p{font-size:8px!important;margin-top:1px!important}.topbar .actions{gap:4px!important}.topbar .actions .lang-toggle,.topbar .actions form button{height:28px!important;min-width:54px!important;padding:0 7px!important;font-size:9px!important;border-radius:6px!important}
  .type-grid{gap:5px!important}.type-grid label{min-height:44px!important;padding:4px!important}.type-choice .type-pill{min-height:34px!important;padding:4px!important;gap:4px!important}.type-icon{width:22px!important;height:22px!important;font-size:7px!important}.type-copy strong{font-size:9px!important}.type-copy small{font-size:6.5px!important;margin-top:1px!important}
  .system-filter-row{gap:5px!important;margin-top:6px!important}.system-filter-box,.system-filter-box.product-preview-box{min-height:54px!important;padding:5px!important}.system-filter-box label{font-size:7.5px!important;line-height:1!important}.system-filter-box label::before{display:none!important}.system-filter-box:not(.product-preview-box) select.brand-filter{height:28px!important;margin-top:4px!important;font-size:9px!important}.product-preview-card{height:28px!important;margin-top:4px!important;border-radius:6px!important}.product-preview-image{height:24px!important}.product-preview-card:not(.has-product) .product-preview-image{display:none!important}.product-preview-card:not(.has-product){background:#fff!important}
  .row2{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:6px!important}.qtywrap{height:43px!important;grid-template-columns:28px 1fr 28px!important}.qtywrap button,.qtywrap input{height:43px!important}.qtywrap input{font-size:19px!important}.qtywrap button{font-size:17px!important}.auto-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}.auto-box{height:43px!important;padding:4px!important}.auto-box span{font-size:7px!important}.auto-box span::before{display:none!important}.auto-box b{font-size:15px!important;margin-top:2px!important}
  label{font-size:8px!important}.row3,.speaker-grid{gap:5px!important}input,select,.product-picker-input{height:27px!important;font-size:9px!important;margin-top:3px!important;border-radius:6px!important;padding:0 7px!important}input::placeholder,.product-picker-input::placeholder{font-size:8px!important;opacity:.38!important}
  .system-box.mobile-collapsed{min-height:0!important}.system-box.mobile-collapsed h2{border-bottom:0!important}.mobile-section-summary{padding:5px 34px 8px 34px!important}.mobile-section-summary strong{font-size:9px!important;margin-bottom:1px!important}.mobile-section-summary span{font-size:8px!important;line-height:1.2!important}.system-box.mobile-collapsed{height:auto!important}.system-box.mobile-collapsed .body{display:none!important}
  .button-row{grid-template-columns:1fr 1fr!important;padding:6px 8px!important}.btn-main,.btn-reset{height:32px!important;font-size:9px!important;border-radius:6px!important}.btn-main::before,.btn-reset::before{font-size:10px!important;margin-right:4px!important}
  .summary h2{font-size:13px!important;padding:8px!important}.live-summary-meta{font-size:9px!important;padding:6px 8px!important}.summary-table-wrap{padding:5px 7px!important}.summary-table th,.summary-table td{font-size:8px!important;padding:5px 6px!important}.summary-total{margin:0 7px 7px!important;padding:6px!important}.live-summary .sum-row{font-size:9px!important;padding:5px 7px!important;margin-bottom:4px!important}.live-summary .sum-row strong{font-size:12px!important}.live-summary .sum-grand strong{font-size:18px!important}
  .mobile-bottom-nav{height:56px!important;padding:3px 4px calc(3px + env(safe-area-inset-bottom))!important}.mobile-bottom-nav span{font-size:16px!important}.mobile-bottom-nav b{font-size:8px!important}
}

/* Extra-short phone mode */
@media(max-width:760px){
  .content{padding:5px!important}.card{margin-bottom:6px!important}.body{padding:5px 7px!important}.card h2{min-height:30px!important;padding:6px 8px!important;font-size:12px!important}
  .topbar{min-height:48px!important}.topbar h1{font-size:13px!important}.topbar p{display:none!important}.topbar .actions .lang-toggle,.topbar .actions form button{height:26px!important;min-width:50px!important;font-size:8.5px!important}
  .type-grid{gap:4px!important}.type-grid label{min-height:39px!important}.type-choice .type-pill{min-height:30px!important;padding:3px 4px!important}.type-icon{width:19px!important;height:19px!important}.type-copy strong{font-size:8.5px!important}.type-copy small{font-size:6px!important}
  .system-filter-row{gap:4px!important;margin-top:5px!important}.system-filter-box,.system-filter-box.product-preview-box{min-height:44px!important;padding:4px!important}.system-filter-box label{font-size:7px!important}.system-filter-box:not(.product-preview-box) select.brand-filter{height:25px!important;font-size:8.5px!important;margin-top:3px!important}.product-preview-card{height:25px!important;margin-top:3px!important}.product-preview-image{height:21px!important}
  .row2{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}.qtywrap{height:38px!important;grid-template-columns:25px 1fr 25px!important}.qtywrap button,.qtywrap input{height:38px!important}.qtywrap input{font-size:17px!important}.auto-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}.auto-box{height:38px!important}.auto-box b{font-size:14px!important}.auto-box span{font-size:6.8px!important}
  .system-box.mobile-collapsed .mobile-section-summary{padding:4px 30px 7px 32px!important}.system-box.mobile-collapsed{border-radius:8px!important}.system-box.mobile-collapsed h2{min-height:28px!important}.mobile-section-summary strong{font-size:8.5px!important}.mobile-section-summary span{font-size:7.5px!important}
  .calculator-column > .card:nth-last-child(1) h2{cursor:pointer!important}.calculator-column > .card:nth-last-child(1) .body.row3{display:none!important}.calculator-column > .card:nth-last-child(1)::after{content:'Add installation fee and extra cost when needed';display:block;padding:0 8px 7px 34px;color:#64748b;font-size:8px;font-weight:800;border-top:1px solid #edf2f7}.calculator-column > .card:nth-last-child(1):has(.button-row){min-height:0!important}.button-row{padding:5px 7px!important}.btn-main,.btn-reset{height:30px!important}
  .summary h2{padding:7px 8px!important}.live-summary-meta{padding:5px 8px!important}.summary-table-wrap{padding:4px 6px!important}.summary-total{padding:5px!important}.mobile-bottom-nav{height:52px!important}
}

/* Compact empty phone summary */
@media(max-width:760px){
  .summary-table-wrap{min-height:0!important;height:auto!important;max-height:none!important;padding:3px 6px!important}
  .summary-table .empty-cell{height:34px!important;padding:8px 6px!important;font-size:8px!important}
  .summary-table tbody tr:only-child .empty-cell{border-bottom:0!important}
  .summary-total{margin-top:3px!important}
}

/* Hide empty quotation table on phone until products exist */
@media(max-width:760px){
  .summary:has(.empty-cell) .summary-table-wrap{display:none!important}
  .summary:has(.empty-cell) .summary-total{margin-top:6px!important}
  .summary:has(.empty-cell){min-height:0!important}
}

/* Premium stable phone view - desktop untouched */
@media(max-width:760px){
  html,body{background:#eef4fb!important;overflow-x:hidden!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;touch-action:pan-y!important}
  *{box-sizing:border-box!important}
  .main,.content,.dashboard-grid,.calculator-column,.card,.summary{min-width:0!important;max-width:100%!important;overflow-x:hidden!important}
  .content{padding:8px 8px 66px!important}.dashboard-grid{display:block!important}.card{border:1px solid #dce8f5!important;border-radius:12px!important;background:#fff!important;box-shadow:0 8px 20px rgba(15,23,42,.055)!important;margin:0 0 10px!important;overflow:hidden!important}
  .topbar{height:56px!important;min-height:56px!important;padding:7px 10px!important;background:#fff!important;border-bottom:1px solid #e5edf7!important;position:sticky!important;top:0!important;z-index:50!important;grid-template-columns:24px minmax(0,1fr) auto!important}.topbar::before{font-size:19px!important;color:#20324a!important}.topbar h1{font-size:15px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.topbar p{display:none!important}.topbar .actions{gap:6px!important}.topbar .actions .lang-toggle,.topbar .actions form.auth-inline button{height:32px!important;min-width:56px!important;border-radius:8px!important;font-size:12px!important;padding:0 10px!important}
  .card h2{height:38px!important;min-height:38px!important;padding:0 12px!important;display:flex!important;align-items:center!important;border-bottom:1px solid #edf2f7!important;font-size:15px!important;line-height:1!important;color:#07162f!important}.card h2 span{gap:7px!important}.card h2 span::before{width:22px!important;height:22px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:7px!important;background:#eef6ff!important;font-size:14px!important;box-shadow:none!important}
  label[data-i18n]::before,.auto-box span::before{display:none!important}.body{padding:10px!important}
  .type-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.type-grid label{height:52px!important;min-height:52px!important;padding:5px!important;border-radius:9px!important;background:#fff!important}.type-choice .type-pill{height:42px!important;min-height:42px!important;padding:5px 6px!important;gap:6px!important;border-radius:999px!important}.type-icon{width:26px!important;height:26px!important;font-size:8px!important}.type-copy strong{font-size:11px!important;line-height:1.05!important}.type-copy small{font-size:7px!important;line-height:1!important;margin-top:1px!important}
  .system-filter-row{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:7px!important;margin-top:8px!important}.system-filter-box,.system-filter-box.product-preview-box{height:74px!important;min-height:74px!important;padding:7px!important;border-radius:9px!important;background:#fbfdff!important;border-color:#d8e4f1!important}.system-filter-box label{height:15px!important;display:block!important;font-size:10px!important;line-height:15px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#10213b!important}.system-filter-box:not(.product-preview-box) select.brand-filter{height:36px!important;margin-top:6px!important;font-size:16px!important;line-height:36px!important;padding:0 8px!important;border-radius:8px!important}.product-preview-card{height:36px!important;margin-top:6px!important;border:1px solid #d8e4f1!important;border-radius:8px!important;background:#fff!important;padding:3px!important;display:flex!important;align-items:center!important;justify-content:center!important}.product-preview-image{height:30px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.product-preview-image img{max-width:100%!important;max-height:30px!important;object-fit:contain!important}.product-preview-image span,.product-preview-copy{display:none!important}
  .row2{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.row2>div{min-width:0!important}.qtywrap{height:52px!important;display:grid!important;grid-template-columns:40px 1fr 40px!important}.qtywrap button,.qtywrap input{height:52px!important}.qtywrap input{font-size:22px!important;text-align:center!important}.qtywrap button{font-size:20px!important}.auto-wrap{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}.auto-box{height:54px!important;padding:7px 6px!important;border-radius:9px!important;background:#f8fbff!important}.auto-box span{display:block!important;font-size:9px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#1f334f!important}.auto-box b{font-size:18px!important;line-height:1.05!important;margin-top:5px!important;white-space:nowrap!important;color:#0b5ee8!important}
  label{font-size:11px!important;line-height:1.15!important;color:#10213b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.row3,.speaker-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}input,select,.product-picker-input{height:40px!important;min-height:40px!important;font-size:16px!important;line-height:40px!important;margin-top:5px!important;border-radius:8px!important;padding:0 10px!important;background:#fff!important;color:#0f172a!important;box-shadow:none!important;transform:none!important}.product-picker-input{white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}.product-picker-input::placeholder,input::placeholder{font-size:12px!important;color:#94a3b8!important;opacity:.55!important}.product-picker-list{position:absolute!important;max-height:190px!important;overflow:auto!important;font-size:13px!important}.product-picker-option{min-height:34px!important;padding:8px 10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .system-box h2{cursor:pointer!important}.system-box h2::after{content:'⌄';font-size:18px;color:#53657d;margin-left:auto}.system-box.mobile-open h2::after{content:'⌃'}.system-box.mobile-collapsed .body{display:none!important}.system-box.mobile-collapsed{height:auto!important}.mobile-section-summary{display:block!important;padding:9px 14px 11px 43px!important;border-top:1px solid #edf2f7!important}.mobile-section-summary strong{display:block!important;font-size:12px!important;line-height:1.2!important;color:#0b5ee8!important}.mobile-section-summary span{display:block!important;margin-top:3px!important;font-size:10px!important;line-height:1.25!important;color:#64748b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .calculator-column>.card:nth-last-child(1) .body.row3{display:none!important}.calculator-column>.card:nth-last-child(1)::after{content:'Add installation fee and extra cost when needed';display:block;padding:0 12px 8px 43px;color:#64748b;font-size:10px;font-weight:800;border-top:1px solid #edf2f7}.button-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:10px!important}.btn-main,.btn-reset{height:42px!important;border-radius:9px!important;font-size:13px!important}
  .summary{margin-top:10px!important;border-radius:12px!important}.summary h2{height:40px!important;min-height:40px!important;padding:0 12px!important;font-size:15px!important}.live-summary-meta,.summary-table-wrap,.summary-total hr,.summary-total .sum-material,.summary-total .sum-install,.summary-total .sum-addon{display:none!important}.summary-total{display:block!important;margin:0!important;padding:10px!important;border:0!important}.summary-total .sum-grand{display:flex!important;height:54px!important;align-items:center!important;justify-content:space-between!important;margin:0!important;padding:0 14px!important;border-radius:10px!important;background:#123b70!important;color:#fff!important}.summary-total .sum-grand span{font-size:14px!important;color:#fff!important}.summary-total .sum-grand strong{font-size:24px!important;color:#fff!important}
  .mobile-bottom-nav{height:58px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)!important;border-top:1px solid #dbe7f6!important;box-shadow:0 -8px 24px rgba(15,23,42,.08)!important}.mobile-bottom-nav span{font-size:18px!important}.mobile-bottom-nav b{font-size:9px!important}.app-footer{display:none!important}
}

/* Premium phone final stability fixes */
@media(max-width:760px){
  .row2{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;align-items:end!important;gap:8px!important}
  .row2 label{height:14px!important;line-height:14px!important;margin:0!important}
  .qtywrap{height:52px!important;grid-template-columns:34px 1fr 34px!important}.qtywrap button,.qtywrap input{height:52px!important}
  .auto-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.auto-box{height:52px!important}.auto-box span{font-size:8.5px!important}.auto-box b{font-size:17px!important}
  input.product-picker-input,.product-picker-input:not(.has-value),.product-picker-input.has-value,input,select{font-size:16px!important;-webkit-text-size-adjust:100%!important;transform:none!important}
  .product-picker-input::placeholder,input::placeholder{font-size:12px!important;opacity:.45!important}
  .product-picker-input{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;letter-spacing:0!important}
}

/* Phone quantity card tighter premium spacing */
@media(max-width:760px){
  .row2{gap:6px!important}.row2 label{font-size:9px!important;height:12px!important;line-height:12px!important}
  .qtywrap{height:44px!important;grid-template-columns:30px 1fr 30px!important}.qtywrap button,.qtywrap input{height:44px!important}.qtywrap input{font-size:20px!important}.qtywrap button{font-size:18px!important}
  .auto-wrap{gap:5px!important}.auto-box{height:42px!important;padding:5px!important}.auto-box span{font-size:7.5px!important;height:10px!important;line-height:10px!important}.auto-box b{font-size:15px!important;margin-top:3px!important}
  .calculator-column .card:nth-child(2) .body{padding-top:7px!important;padding-bottom:7px!important}
}

/* Phone final: one-line quantity row, visible preview labels, fitted input values */
@media(max-width:760px){
  .calculator-column .card:nth-child(2) .body{padding:8px 10px!important}
  .calculator-column .card:nth-child(2) .row2{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(0,1.18fr)!important;gap:8px!important;align-items:end!important}
  .calculator-column .card:nth-child(2) .row2>div{min-width:0!important}
  .calculator-column .card:nth-child(2) .row2 label{height:13px!important;line-height:13px!important;font-size:9px!important;margin:0 0 4px!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .qtywrap{height:50px!important;grid-template-columns:30px minmax(0,1fr) 30px!important}.qtywrap button,.qtywrap input{height:50px!important}.qtywrap input{font-size:21px!important}.qtywrap button{font-size:18px!important}
  .auto-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.auto-box{height:50px!important;padding:6px!important}.auto-box span{height:12px!important;line-height:12px!important;font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.auto-box b{font-size:16px!important;margin-top:4px!important;line-height:1!important}
  .system-filter-box,.system-filter-box.product-preview-box{height:86px!important;min-height:86px!important;padding:7px!important;overflow:hidden!important}
  .system-filter-box label{height:18px!important;line-height:18px!important;font-size:11px!important;margin:0!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;color:#10213b!important}
  .system-filter-box:not(.product-preview-box) select.brand-filter{height:42px!important;line-height:42px!important;margin-top:7px!important;font-size:16px!important;font-weight:900!important}
  .product-preview-card{height:46px!important;margin-top:7px!important;padding:4px!important;border-radius:9px!important}
  .product-preview-image{height:38px!important;min-height:38px!important}.product-preview-image img{max-height:38px!important;max-width:100%!important;object-fit:contain!important}
  input.product-picker-input,.product-picker-input:not(.has-value),.product-picker-input.has-value{height:40px!important;min-height:40px!important;line-height:40px!important;font-size:clamp(12px,3.4vw,16px)!important;font-weight:800!important;padding:0 9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;letter-spacing:0!important}
  .row3 label,.speaker-grid label{font-size:16px!important;height:auto!important;line-height:1.18!important;margin:0 0 4px!important}
}

/* Phone final correction: quantity truly one-line and preview labels fully visible */
@media(max-width:760px){
  .calculator-column .card:nth-child(2) .row2{grid-template-columns:minmax(0,.72fr) minmax(0,1.48fr)!important;gap:7px!important;align-items:end!important}
  .calculator-column .card:nth-child(2) .body{padding:7px 9px!important}
  .calculator-column .card:nth-child(2) .row2 label{font-size:8px!important;height:11px!important;line-height:11px!important;margin:0 0 3px!important}
  .qtywrap{height:46px!important;grid-template-columns:26px minmax(0,1fr) 26px!important}.qtywrap button,.qtywrap input{height:46px!important}.qtywrap input{font-size:19px!important}.qtywrap button{font-size:17px!important}
  .auto-wrap{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}.auto-box{height:46px!important;padding:4px!important}.auto-box span{height:10px!important;line-height:10px!important;font-size:6.6px!important}.auto-box b{font-size:14px!important;margin-top:4px!important}
  .system-filter-box label,.system-filter-box.product-preview-box label,.system-filter-row .product-preview-box label{display:block!important;height:20px!important;min-height:20px!important;line-height:20px!important;font-size:10px!important;margin:0!important;padding:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#10213b!important;max-width:100%!important}
  .system-filter-box:not(.product-preview-box) label{font-size:11px!important;font-weight:900!important}
  .system-filter-box,.system-filter-box.product-preview-box{height:88px!important;min-height:88px!important;padding:7px!important}
  .product-preview-card{height:47px!important;margin-top:6px!important}.product-preview-image{height:39px!important}.product-preview-image img{max-height:39px!important}
  .row3,.speaker-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .row3 label,.speaker-grid label{font-size:16px!important;height:auto!important;line-height:1.18!important;margin:0 0 3px!important}
  input.product-picker-input,.product-picker-input:not(.has-value),.product-picker-input.has-value{font-size:13px!important;height:38px!important;min-height:38px!important;line-height:38px!important;padding:0 8px!important;text-overflow:ellipsis!important}
  .product-picker-input:focus{font-size:16px!important}
}

/* Phone product input full-width live-search fit */
@media(max-width:760px){
  .system-box.mobile-open .row3,
  .system-box.mobile-open .speaker-grid{grid-template-columns:1fr!important;gap:8px!important}
  .system-box.mobile-open .speaker-inline-pair{grid-column:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .system-box.mobile-open .row3>div,
  .system-box.mobile-open .speaker-grid>div{min-width:0!important;width:100%!important}
  .system-box.mobile-open label{font-size:10px!important;height:14px!important;line-height:14px!important;margin:0 0 3px!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .system-box.mobile-open input.product-picker-input,
  .system-box.mobile-open .product-picker-input:not(.has-value),
  .system-box.mobile-open .product-picker-input.has-value{width:100%!important;height:38px!important;min-height:38px!important;line-height:38px!important;font-size:12px!important;font-weight:800!important;padding:0 9px!important;background:#fff!important;color:#10213b!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;letter-spacing:0!important}
  .system-box.mobile-open .product-picker-input.has-value{font-size:clamp(10px,3.05vw,12px)!important;color:#0f172a!important;background:#f8fbff!important}
  .system-box.mobile-open .product-picker-input:focus{font-size:16px!important;background:#fff!important}
  .system-box.mobile-open .product-picker{position:relative!important;width:100%!important;margin-top:3px!important}
  .system-box.mobile-open .product-picker-list{left:0!important;right:0!important;top:calc(100% + 4px)!important;width:100%!important;max-width:100%!important;max-height:210px!important;border-radius:9px!important;padding:5px!important;box-shadow:0 14px 30px rgba(15,23,42,.16)!important;z-index:80!important}
  .system-box.mobile-open .product-picker-option{min-height:34px!important;padding:8px 9px!important;font-size:11px!important;line-height:1.2!important;font-weight:800!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#10213b!important;background:#fff!important}
  .system-box.mobile-open .product-picker-option:hover,
  .system-box.mobile-open .product-picker-option:focus{background:#eef5ff!important;color:#0b5ee8!important}
  .system-box.mobile-open .product-picker-empty{font-size:11px!important;padding:8px 9px!important}
}


/* Dual price mode */
.price-mode-control{margin-top:14px;display:inline-flex;align-items:center;gap:8px;padding:8px;border:1px solid #dbe4f0;border-radius:10px;background:#f8fbff}
.price-mode-control>span{font-size:13px;font-weight:900;color:#334155;margin-right:4px}
.price-mode-control label{height:34px;display:inline-flex!important;align-items:center;gap:7px;margin:0;padding:0 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-size:13px!important;font-weight:900;cursor:pointer}
.price-mode-control input{width:14px!important;height:14px!important;margin:0!important;padding:0!important}
.price-mode-control label:has(input:checked){border-color:#0b5ee8;background:#eaf2ff;color:#0b5ee8}
.product-table{min-width:1180px!important}
.product-table th:nth-child(1){width:90px!important}
.product-table th:nth-child(2){width:27%!important}
.product-table th:nth-child(3){width:12%!important}
.product-table th:nth-child(4){width:14%!important}
.product-table th:nth-child(5){width:10%!important}
.product-table th:nth-child(6){width:10%!important}
.product-table th:nth-child(7){width:10%!important}
.product-table th:nth-child(8){width:12%!important}
.dealer-price-cell{color:#0b5ee8!important}
@media(max-width:760px){.price-mode-control{width:100%;display:flex;justify-content:space-between}.price-mode-control label{flex:1;justify-content:center}.product-table{min-width:1060px!important}}


/* License price access and full desktop print/PDF summary */
.access-table{min-width:1120px!important}
.access-table th:nth-child(1){width:25%!important}.access-table th:nth-child(2){width:9%!important}.access-table th:nth-child(3){width:11%!important}.access-table th:nth-child(4){width:10%!important}.access-table th:nth-child(5){width:10%!important}.access-table th:nth-child(6){width:9%!important}.access-table th:nth-child(7){width:10%!important}.access-table th:nth-child(8){width:10%!important}.access-table th:nth-child(9){width:12%!important}
@media print{
  .live-summary-meta,.summary-table-wrap,.summary-total,.summary-total hr,.summary-total .sum-material,.summary-total .sum-install,.summary-total .sum-addon,.summary-total .sum-grand{display:block!important;visibility:visible!important}
  .summary-table{display:table!important;visibility:visible!important;width:100%!important}
  .summary-table thead{display:table-header-group!important;visibility:visible!important}
  .summary-table tbody{display:table-row-group!important;visibility:visible!important}
  .summary-table tr{display:table-row!important;visibility:visible!important}
  .summary-table th,.summary-table td{display:table-cell!important;visibility:visible!important;color:#0f172a!important;background:#fff!important}
  .summary-table td:last-child b{color:#0b5ee8!important}
  .summary-total{border:1px solid #ddd!important;margin:8px!important;padding:8px!important}
  .summary-total .sum-row{display:flex!important;visibility:visible!important;background:#fff!important;color:#0f172a!important;border-bottom:1px solid #eee!important}
  .summary-total .sum-grand{background:#123b70!important;color:#fff!important;border-bottom:0!important}
  .summary-total .sum-grand span,.summary-total .sum-grand strong{color:#fff!important}
}

/* One-page quotation print/PDF compact layout */
@media print{
  @page{size:A4 portrait;margin:6mm!important}
  html,body{width:210mm!important;min-height:0!important;background:#fff!important}
  .summary{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border:1px solid #d7dee8!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .summary h2{height:auto!important;min-height:0!important;padding:7px 9px!important;font-size:15px!important;line-height:1.05!important;background:#123b70!important;color:#fff!important}
  .summary h2 b{font-size:8px!important;padding:2px 5px!important}
  .live-summary-meta{display:block!important;padding:5px 9px!important;font-size:9px!important;line-height:1.1!important;background:#eef6ff!important;color:#1e3a8a!important}
  .summary-table-wrap{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;padding:5px 7px!important;overflow:visible!important;background:#fff!important}
  .summary-table{font-size:9px!important;line-height:1.12!important;page-break-inside:auto!important}
  .summary-table th,.summary-table td{padding:3px 5px!important;font-size:9px!important;line-height:1.12!important;border-bottom:1px solid #e5e7eb!important;vertical-align:top!important}
  .summary-table th{font-size:8px!important;background:#eef3f8!important;text-transform:uppercase!important}
  .summary-table td:first-child small{font-size:7px!important;line-height:1!important;margin-top:1px!important}
  .summary-table tr.summary-zero-row{display:none!important}
  .summary-total{display:block!important;margin:4px 7px 6px!important;padding:5px!important;border:1px solid #d7dee8!important;border-radius:5px!important;background:#fff!important}
  .summary-total hr{display:none!important}
  .summary-total .sum-row{display:flex!important;margin-bottom:3px!important;padding:4px 7px!important;min-height:0!important;border-radius:4px!important;font-size:9px!important;line-height:1.05!important;border-bottom:0!important}
  .summary-total .sum-row strong{font-size:11px!important;line-height:1.05!important}
  .summary-total .sum-grand{margin-top:4px!important;padding:6px 8px!important;background:#123b70!important;color:#fff!important}
  .summary-total .sum-grand span{font-size:11px!important;color:#fff!important}
  .summary-total .sum-grand strong{font-size:18px!important;color:#fff!important}
}


/* Customer/mobile print must always include full item list */
body.print-full-summary .live-summary-meta,
body.print-full-summary .summary-table-wrap,
body.print-full-summary .summary-total,
body.print-full-summary .summary-total .sum-material,
body.print-full-summary .summary-total .sum-install,
body.print-full-summary .summary-total .sum-addon,
body.print-full-summary .summary-total .sum-grand{display:block!important;visibility:visible!important}
body.print-full-summary .summary-table{display:table!important;visibility:visible!important;width:100%!important}
body.print-full-summary .summary-table thead{display:table-header-group!important;visibility:visible!important}
body.print-full-summary .summary-table tbody{display:table-row-group!important;visibility:visible!important}
body.print-full-summary .summary-table tr{display:table-row!important;visibility:visible!important}
body.print-full-summary .summary-table th,
body.print-full-summary .summary-table td{display:table-cell!important;visibility:visible!important}
@media print{
  body.print-full-summary .live-summary-meta,
  body.print-full-summary .summary-table-wrap,
  body.print-full-summary .summary-total,
  body.print-full-summary .summary-total .sum-material,
  body.print-full-summary .summary-total .sum-install,
  body.print-full-summary .summary-total .sum-addon,
  body.print-full-summary .summary-total .sum-grand{display:block!important;visibility:visible!important}
  body.print-full-summary .summary-table{display:table!important;visibility:visible!important;width:100%!important}
  body.print-full-summary .summary-table thead{display:table-header-group!important;visibility:visible!important}
  body.print-full-summary .summary-table tbody{display:table-row-group!important;visibility:visible!important}
  body.print-full-summary .summary-table tr{display:table-row!important;visibility:visible!important}
  body.print-full-summary .summary-table th,
  body.print-full-summary .summary-table td{display:table-cell!important;visibility:visible!important}
}


/* Final A4 print: one page, full item table, clean spacing */
@media print{
  @page{size:A4 portrait;margin:8mm!important}
  html,body{width:194mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
  body{font-family:Arial,Helvetica,sans-serif!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .sidebar,.topbar,.calculator-column,.mobile-bottom-nav,.app-footer{display:none!important;height:0!important;min-height:0!important;overflow:hidden!important}
  .main,.content,.dashboard-grid{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}
  .summary,.live-summary,#quotationSummary{display:block!important;visibility:visible!important;position:static!important;left:auto!important;top:auto!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid #cfd8e3!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;break-after:avoid!important;page-break-after:avoid!important}
  .summary *,.live-summary *,#quotationSummary *{visibility:visible!important}
  .summary h2{display:flex!important;align-items:center!important;justify-content:space-between!important;height:28px!important;min-height:28px!important;margin:0!important;padding:0 10px!important;background:#123b70!important;color:#fff!important;font-size:16px!important;line-height:28px!important;font-weight:900!important;page-break-after:avoid!important}
  .summary h2 b{display:inline-flex!important;align-items:center!important;height:16px!important;padding:0 7px!important;border-radius:999px!important;background:#bbf7d0!important;color:#064e3b!important;font-size:9px!important;line-height:16px!important}
  .live-summary-meta{display:block!important;margin:0!important;padding:5px 10px!important;background:#eef6ff!important;color:#1e3a8a!important;border-bottom:1px solid #dbeafe!important;font-size:10px!important;line-height:1.15!important;font-weight:900!important}
  .summary-table-wrap{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:8px 9px 6px!important;overflow:visible!important;background:#fff!important}
  .summary-table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:11px!important;line-height:1.2!important;page-break-inside:auto!important}
  .summary-table thead{display:table-header-group!important}.summary-table tbody{display:table-row-group!important}.summary-table tr{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .summary-table th,.summary-table td{display:table-cell!important;padding:6px 8px!important;border-bottom:1px solid #d9e2ec!important;color:#0f172a!important;background:#fff!important;vertical-align:middle!important;font-size:11px!important;line-height:1.2!important}
  .summary-table th{background:#edf3fa!important;color:#334155!important;text-transform:uppercase!important;font-size:10px!important;font-weight:900!important}
  .summary-table th:nth-child(1),.summary-table td:nth-child(1){width:68%!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .summary-table th:nth-child(2),.summary-table td:nth-child(2){width:12%!important;text-align:center!important}
  .summary-table th:nth-child(3),.summary-table td:nth-child(3){width:20%!important;text-align:right!important}
  .summary-table td:first-child{font-weight:800!important}.summary-table td:first-child small{display:block!important;margin-top:1px!important;color:#64748b!important;font-size:8px!important;line-height:1.05!important}.summary-table td:last-child b{color:#0b5ee8!important;font-weight:900!important}
  .summary-table tr.summary-zero-row{display:none!important}
  .summary-total{display:block!important;margin:6px 9px 8px!important;padding:8px!important;border:1px solid #d7dee8!important;border-radius:6px!important;background:#fff!important;page-break-inside:avoid!important;break-inside:avoid!important}
  .summary-total hr{display:none!important}
  .summary-total .sum-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 5px!important;padding:7px 10px!important;min-height:0!important;border:0!important;border-radius:5px!important;font-size:11px!important;line-height:1.1!important;font-weight:900!important;background:#fff!important;color:#0f172a!important}
  .summary-total .sum-row span{display:block!important;white-space:nowrap!important;color:inherit!important}.summary-total .sum-row strong{display:block!important;margin-left:auto!important;font-size:13px!important;line-height:1.1!important;color:#0b5ee8!important;text-align:right!important}
  .summary-total .sum-material{background:#eff6ff!important;color:#0b5ee8!important}.summary-total .sum-install{background:#fff7df!important;color:#b45309!important}.summary-total .sum-addon{background:#f5ecff!important;color:#7c3aed!important}
  .summary-total .sum-grand{height:40px!important;margin:6px 0 0!important;padding:0 12px!important;background:#123b70!important;color:#fff!important;border-radius:5px!important}
  .summary-total .sum-grand span{font-size:13px!important;color:#fff!important}.summary-total .sum-grand strong{font-size:22px!important;color:#fff!important}
}


/* Dashboard V1.0.9 icon polish and stronger light-gray cards */
body[data-page="dashboard"] .card{background:#fbfcff;border-color:#ccd8e8;box-shadow:0 10px 24px rgba(15,23,42,.075)}
body[data-page="dashboard"] .card h2{background:#f7f9fc;border-bottom-color:#dbe4f0;color:#07162f}
body[data-page="dashboard"] .body{background:#fbfcff}
body[data-page="dashboard"] .system-filter-box,
body[data-page="dashboard"] .auto-box,
body[data-page="dashboard"] .product-preview-box,
body[data-page="dashboard"] .product-picker-input,
body[data-page="dashboard"] input,
body[data-page="dashboard"] select{background:#f4f7fb;border-color:#cbd8e8}
body[data-page="dashboard"] .product-picker-input.has-value{background:#e9eef5;border-color:#b8c7da;color:#07162f}
body[data-page="dashboard"] .product-picker-input::placeholder,
body[data-page="dashboard"] input::placeholder{color:#94a3b8;opacity:.42}
body[data-page="dashboard"] label[data-i18n],
body[data-page="dashboard"] .auto-box span,
body[data-page="dashboard"] .small-clear,
body[data-page="dashboard"] .btn-main,
body[data-page="dashboard"] .btn-reset{display:inline-flex;align-items:center;gap:7px}
body[data-page="dashboard"] label[data-i18n]::before,
body[data-page="dashboard"] .auto-box span::before,
body[data-page="dashboard"] .card h2 span::before{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',Inter,Arial,sans-serif!important;line-height:1;background:transparent!important;border:0!important;color:inherit!important;box-shadow:none!important}
body[data-page="dashboard"] label[data-i18n]::before,
body[data-page="dashboard"] .auto-box span::before{width:19px;height:19px;font-size:15px}
body[data-page="dashboard"] .card h2 span::before{width:26px;height:26px;margin-right:3px;border-radius:8px;background:#eef5ff!important;font-size:17px}
body[data-page="dashboard"] [data-i18n="section_system_type"]::before{content:'📡'}
body[data-page="dashboard"] [data-i18n="section_qty"]::before{content:'🔢'}
body[data-page="dashboard"] #analogBox h2 span::before{content:'🎛️'}
body[data-page="dashboard"] #ipBox h2 span::before{content:'🌐'}
body[data-page="dashboard"] #speakerBox h2 span::before{content:'🔊'}
body[data-page="dashboard"] [data-i18n="section_addon"]::before{content:'🏷️'}
body[data-page="dashboard"] [data-i18n="filter_analog"]::before,
body[data-page="dashboard"] [data-i18n="filter_ip"]::before,
body[data-page="dashboard"] [data-i18n="filter_speaker"]::before{content:'🏷️'}
body[data-page="dashboard"] [data-i18n="label_camera_model"]::before,
body[data-page="dashboard"] [data-i18n="label_ip_camera"]::before{content:'📷'}
body[data-page="dashboard"] [data-i18n="label_dvr"]::before,
body[data-page="dashboard"] [data-i18n="label_nvr"]::before{content:'💽'}
body[data-page="dashboard"] [data-i18n="label_hdd"]::before{content:'💾'}
body[data-page="dashboard"] [data-i18n="label_power_supply"]::before{content:'🔌'}
body[data-page="dashboard"] [data-i18n="label_bnc"]::before{content:'🔗'}
body[data-page="dashboard"] [data-i18n="label_dc"]::before{content:'⚡'}
body[data-page="dashboard"] [data-i18n="label_ttm"]::before{content:'📦'}
body[data-page="dashboard"] [data-i18n="label_cable"]::before,
body[data-page="dashboard"] [data-i18n="label_power_cable"]::before{content:'〰️'}
body[data-page="dashboard"] [data-i18n="label_cable_meter_cam"]::before,
body[data-page="dashboard"] [data-i18n="label_cable_meter_speaker"]::before{content:'📏'}
body[data-page="dashboard"] [data-i18n="label_switch"]::before{content:'🔀'}
body[data-page="dashboard"] [data-i18n="label_rj45"]::before{content:'🔌'}
body[data-page="dashboard"] [data-i18n="label_speaker_model"]::before{content:'🔊'}
body[data-page="dashboard"] [data-i18n="label_amplifier"]::before{content:'🎚️'}
body[data-page="dashboard"] [data-i18n="label_install_fee"]::before{content:'🛠️'}
body[data-page="dashboard"] [data-i18n="label_addon_cost"]::before{content:'➕'}
body[data-page="dashboard"] [data-i18n="label_qty"]::before,
body[data-page="dashboard"] [data-i18n="label_qty_speaker"]::before{content:'🔢'}
body[data-page="dashboard"] [data-i18n="label_auto"]::before{content:'⚙️'}
body[data-page="dashboard"] .btn-reset::before{content:'↻';font-weight:900}
body[data-page="dashboard"] .btn-main::before{content:'💾';font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji'}
body[data-page="dashboard"] .small-clear::before{content:'×';font-weight:900}
@media print{body[data-page="dashboard"] label[data-i18n]::before,body[data-page="dashboard"] .auto-box span::before,body[data-page="dashboard"] .card h2 span::before,body[data-page="dashboard"] .btn-reset::before,body[data-page="dashboard"] .btn-main::before,body[data-page="dashboard"] .small-clear::before{content:none!important;display:none!important}}


/* Type selector icon correction: section numbers stay clean, badges use real icons */
body[data-page="dashboard"] .card h2 span::before{content:none!important;display:none!important}
body[data-page="dashboard"] .type-icon{font-size:0!important;color:transparent!important;background:#f8fbff!important;position:relative!important}
body[data-page="dashboard"] .type-icon::before{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',Inter,Arial,sans-serif!important;font-size:20px!important;line-height:1!important;color:#0b5ee8!important}
body[data-page="dashboard"] .icon-camera::before{content:'📷'}
body[data-page="dashboard"] .icon-network::before{content:'🌐'}
body[data-page="dashboard"] .icon-speaker::before{content:'🔊'}
@media(max-width:760px){body[data-page="dashboard"] .type-icon::before{font-size:16px!important}}
@media print{body[data-page="dashboard"] .type-icon::before{content:none!important;display:none!important}}


/* Final type button badges: blue SVG-style equipment icons */
body[data-page="dashboard"] .type-icon{
  width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:50%!important;
  background:linear-gradient(180deg,#eef6ff,#e6f0ff)!important;border:1px solid #c7d9f8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 8px rgba(37,99,235,.12)!important;
  color:transparent!important;font-size:0!important;position:relative!important;overflow:hidden!important;
}
body[data-page="dashboard"] .type-icon::before{
  content:''!important;position:absolute!important;inset:8px!important;width:auto!important;height:auto!important;
  display:block!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;
  font-size:0!important;line-height:0!important;color:transparent!important;
}
body[data-page="dashboard"] .icon-camera::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Cpath d='M15 22h30c3 0 5 2 5 5v11H18c-4 0-7-3-7-7v-5c0-2 2-4 4-4Z' fill='%230b5ee8'/%3E%3Cpath d='M50 28l8-5v20l-8-5V28Z' fill='%230b5ee8'/%3E%3Cpath d='M24 38v7m16-7v7M21 45h22' stroke='%230b5ee8' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='30' cy='30' r='6' fill='%23ffffff' opacity='.9'/%3E%3Ccircle cx='30' cy='30' r='3' fill='%230b5ee8'/%3E%3C/svg%3E")!important;
}
body[data-page="dashboard"] .icon-network::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Crect x='13' y='14' width='38' height='25' rx='5' fill='%230b5ee8'/%3E%3Cpath d='M22 24h20M22 31h12' stroke='%23fff' stroke-width='4' stroke-linecap='round' opacity='.9'/%3E%3Cpath d='M32 39v8M21 52h22' stroke='%230b5ee8' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='18' cy='53' r='5' fill='%230b5ee8'/%3E%3Ccircle cx='32' cy='53' r='5' fill='%230b5ee8'/%3E%3Ccircle cx='46' cy='53' r='5' fill='%230b5ee8'/%3E%3Cpath d='M18 48v-4h28v4' stroke='%230b5ee8' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
body[data-page="dashboard"] .icon-speaker::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Cpath d='M12 25h11l16-12v38L23 39H12V25Z' fill='%230b5ee8'/%3E%3Cpath d='M45 23c4 5 4 13 0 18M51 17c8 9 8 21 0 30' stroke='%230b5ee8' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}
@media(max-width:760px){body[data-page="dashboard"] .type-icon{width:30px!important;height:30px!important;flex-basis:30px!important}body[data-page="dashboard"] .type-icon::before{inset:6px!important}}


/* Reliable file-based type selector icons */
body[data-page="dashboard"] .type-icon{
  width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:50%!important;
  background:linear-gradient(180deg,#eef6ff,#e7f0ff)!important;border:1px solid #c4d7f7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 10px rgba(37,99,235,.14)!important;
  color:transparent!important;font-size:0!important;position:relative!important;overflow:hidden!important;
}
body[data-page="dashboard"] .type-icon::before{
  content:''!important;position:absolute!important;inset:9px!important;display:block!important;width:auto!important;height:auto!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;
}
body[data-page="dashboard"] .icon-camera::before{background-image:url('icons/type-camera.svg')!important}
body[data-page="dashboard"] .icon-network::before{background-image:url('icons/type-network.svg')!important}
body[data-page="dashboard"] .icon-speaker::before{background-image:url('icons/type-speaker.svg')!important}
@media(max-width:760px){body[data-page="dashboard"] .type-icon{width:30px!important;height:30px!important;flex-basis:30px!important}body[data-page="dashboard"] .type-icon::before{inset:6px!important}}


/* Type selector icons as real image elements */
body[data-page="dashboard"] .type-icon img{display:block!important;width:24px!important;height:24px!important;object-fit:contain!important;position:relative!important;z-index:2!important;opacity:1!important;visibility:visible!important;filter:none!important}
body[data-page="dashboard"] .type-icon::before{display:none!important;content:none!important;background-image:none!important}
body[data-page="dashboard"] .type-choice input:checked + .type-pill .type-icon img{transform:scale(1.04)}
@media(max-width:760px){body[data-page="dashboard"] .type-icon img{width:18px!important;height:18px!important}}

/* Premium CCTV System Type cards */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid{
  gap:16px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice{
  position:relative!important;
  min-height:118px!important;
  cursor:pointer!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
  position:relative!important;
  min-height:118px!important;
  padding:20px 20px 18px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.22)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  overflow:hidden!important;
  color:#fff!important;
  background:#2563eb!important;
  background-image:linear-gradient(135deg,#1d4ed8 0%,#2563eb 46%,#60a5fa 100%)!important;
  background-clip:padding-box!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 46%,rgba(255,255,255,.06))!important;
  pointer-events:none!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy{
  position:relative!important;
  z-index:1!important;
  text-align:right!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:0!important;
  flex:1 1 auto!important;
  max-width:calc(100% - 62px)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy strong{
  font-size:clamp(24px,1.9vw,30px)!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:-0.02em!important;
  color:#fff!important;
  text-shadow:0 2px 4px rgba(0,0,0,.18)!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy small{
  font-size:clamp(12px,0.85vw,14px)!important;
  line-height:1.08!important;
  font-weight:700!important;
  color:rgba(255,255,255,.88)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-shadow:0 1px 2px rgba(0,0,0,.14)!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px rgba(0,0,0,.12)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon img{
  width:24px!important;
  height:24px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(1) .type-pill{
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 46%,#60a5fa 100%)!important;
  background-image:linear-gradient(135deg,#1d4ed8 0%,#2563eb 46%,#60a5fa 100%)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(2) .type-pill{
  background:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 48%,#a78bfa 100%)!important;
  background-image:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 48%,#a78bfa 100%)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-pill{
  background:linear-gradient(135deg,#c2410c 0%,#f97316 48%,#fdba74 100%)!important;
  background-image:linear-gradient(135deg,#c2410c 0%,#f97316 48%,#fdba74 100%)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice:hover .type-pill{
  transform:translateY(-2px) scale(1.01)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.24),0 0 0 1px rgba(255,255,255,.18),0 0 0 6px rgba(11,94,232,.08)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice:has(input:checked) .type-pill{
  box-shadow:0 18px 42px rgba(15,23,42,.28),0 0 0 2px rgba(255,255,255,.30),0 0 0 6px rgba(59,130,246,.16),0 0 24px rgba(59,130,246,.28)!important;
  filter:saturate(1.08) brightness(1.02)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice:has(input:checked):hover .type-pill{
  transform:translateY(-3px) scale(1.02)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice input{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice strong,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice small{
  text-shadow:0 1px 1px rgba(0,0,0,.12)!important;
}
@media (max-width: 1150px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid{
    gap:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
    min-height:104px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy strong{
    font-size:clamp(22px,2.25vw,27px)!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy small{
    font-size:11px!important;
  }
}
@media (max-width: 760px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid{
    grid-template-columns:1fr!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
    min-height:92px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
    padding:16px 16px 14px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy strong{
    font-size:18px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy small{
    font-size:10px!important;
    letter-spacing:.05em!important;
  }
}

/* Final lock for section 3 and 4 input sizing on the real dashboard */
@media (min-width: 761px){
  body[data-page="dashboard"] #ipBox input,
  body[data-page="dashboard"] #ipBox select,
  body[data-page="dashboard"] #ipBox .product-picker-input,
  body[data-page="dashboard"] #ipBox .line-qty,
  body[data-page="dashboard"] #ipBox .cable-meter,
  body[data-page="dashboard"] #speakerBox input,
  body[data-page="dashboard"] #speakerBox select,
  body[data-page="dashboard"] #speakerBox .product-picker-input,
  body[data-page="dashboard"] #speakerBox .line-qty,
  body[data-page="dashboard"] #speakerBox .cable-meter{
    height:48px!important;
    min-height:48px!important;
    font-size:16px!important;
    line-height:48px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    box-sizing:border-box!important;
    transform:none!important;
    transition:none!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-qty,
  body[data-page="dashboard"] #speakerBox .product-picker-qty{
    grid-template-columns:minmax(0,1fr) 72px!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-qty-select,
  body[data-page="dashboard"] #speakerBox .product-picker-qty-select,
  body[data-page="dashboard"] #ipBox .product-picker,
  body[data-page="dashboard"] #speakerBox .product-picker{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:block!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-input,
  body[data-page="dashboard"] #speakerBox .product-picker-input{
    width:100%!important;
    min-width:0!important;
    display:block!important;
    font-size:16px!important;
    line-height:normal!important;
    font-weight:700!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-input:focus,
  body[data-page="dashboard"] #speakerBox .product-picker-input:focus,
  body[data-page="dashboard"] #ipBox .line-qty:focus,
  body[data-page="dashboard"] #speakerBox .line-qty:focus,
  body[data-page="dashboard"] #ipBox .cable-meter:focus,
  body[data-page="dashboard"] #speakerBox .cable-meter:focus{
    height:48px!important;
    min-height:48px!important;
    font-size:16px!important;
    line-height:48px!important;
    transform:none!important;
  }
}


/* Camera/speaker style fields */
@media (min-width: 1161px){
  body[data-page="dashboard"] .system-filter-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (min-width: 761px) and (max-width: 1160px){
  body[data-page="dashboard"] .system-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
body[data-page="dashboard"] label[data-i18n="label_camera_type"]::before{content:"🏷️";}
body[data-page="dashboard"] label[data-i18n="label_speaker_type"]::before{content:"🔈";}


/* Line-level item quantities */
body[data-page="dashboard"] .quantity-main-control{display:none!important;}
body[data-page="dashboard"] .quantity-main-control + div{grid-column:1 / -1;}
body[data-page="dashboard"] .product-picker-qty{display:grid;grid-template-columns:minmax(180px,1fr) 72px;gap:8px;align-items:end;margin-top:0;width:100%;min-width:0;}
body[data-page="dashboard"] .product-picker-qty .product-picker{margin-top:7px;}
body[data-page="dashboard"] .line-qty{height:42px;margin-top:7px;text-align:center;font-size:16px;font-weight:900;color:#0b5ee8;background:#fff;border-color:#cbd5e1;}
body[data-page="dashboard"] .line-qty::before{content:none;}
@media(max-width:760px){
  body[data-page="dashboard"] .product-picker-qty{grid-template-columns:minmax(150px,1fr) 50px!important;gap:5px!important;width:100%!important;min-width:0!important;}
  body[data-page="dashboard"] .line-qty{height:38px!important;min-height:38px!important;font-size:14px!important;padding:0 4px!important;margin-top:3px!important;}
  body[data-page="dashboard"] .quantity-main-control{display:none!important;}
}

/* Hard lock the dashboard viewport so the page itself does not scroll */
body[data-page="dashboard"]{
  overflow:hidden !important;
  height:100vh !important;
}
body[data-page="dashboard"] .main{
  height:100vh !important;
  overflow:hidden !important;
}
body[data-page="dashboard"] .content.dashboard-grid{
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
body[data-page="dashboard"] .calculator-column,
body[data-page="dashboard"] .summary{
  max-height:none !important;
  overflow:visible !important;
}

/* standard page scroll everywhere except the dashboard */
html,body{height:auto!important;overflow:auto!important;}
body[data-page="dashboard"]{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-height:100vh!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body[data-page="dashboard"] .sidebar{
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:248px!important;
  height:100vh!important;
  overflow:auto!important;
}
body[data-page="dashboard"] .main{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  width:auto!important;
  margin-left:248px!important;
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
  display:block!important;
}
body[data-page="dashboard"] .content.dashboard-grid{
  flex:0 0 auto;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)!important;
  gap:10px!important;
  align-items:start!important;
  align-content:start!important;
  padding:8px 10px!important;
}
body[data-page="dashboard"] .calculator-column,
body[data-page="dashboard"] .summary{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
body[data-page="dashboard"] .calculator-column{
  display:flex;
  flex-direction:column;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1),
body[data-page="dashboard"] .calculator-column > .card:nth-child(2),
body[data-page="dashboard"] .calculator-column > .card:nth-child(4){
  flex:0 0 auto;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(3){
  flex:0 0 auto;
  min-height:0;
  overflow:visible;
}
body[data-page="dashboard"] .summary > .card{
  flex:0 0 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
/* cache-buster: refreshed dashboard/sidebar layout */

/* Final desktop dashboard compaction to match the reference layout */
@media (min-width: 1161px){
  body.customer-view[data-page="dashboard"] .sidebar{
    display:block!important;
  }
  body[data-page="dashboard"] .main{margin-left:0!important;left:248px!important;right:0!important}
  body[data-page="dashboard"] .content.dashboard-grid{
    padding:6px 10px 8px!important;
    margin-top:0!important;
    gap:6px!important;
    grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)!important;
    align-items:start!important;
    align-content:start!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .calculator-column{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3){
    flex:0 0 auto!important;
    min-height:0!important;
    overflow:visible!important;
    display:block!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .body{
    flex:0 0 auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
body[data-page="dashboard"] .summary{overflow:visible!important}
  body[data-page="dashboard"] .summary{
    align-self:stretch!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
  }
  body[data-page="dashboard"] .summary > .card{
    flex:0 0 auto!important;
  }
  body[data-page="dashboard"] .card{margin-bottom:10px!important;border-radius:10px!important}
  body[data-page="dashboard"] .card h2{font-size:26px!important;padding:14px 16px!important;line-height:1.12!important}
  body[data-page="dashboard"] .body{padding:14px 16px!important}
  body[data-page="dashboard"] .type-grid{gap:12px!important}
  body[data-page="dashboard"] .type-grid label{min-height:72px!important;padding:12px 14px!important}
  body[data-page="dashboard"] .type-choice .type-pill{min-height:60px!important;padding:10px 14px!important;gap:12px!important}
  body[data-page="dashboard"] .type-icon{width:36px!important;height:36px!important;flex-basis:36px!important}
  body[data-page="dashboard"] .type-copy strong{font-size:20px!important}
  body[data-page="dashboard"] .type-copy small{font-size:14px!important;margin-top:4px!important}
  body[data-page="dashboard"] .price-mode-control{margin-top:4px!important;padding:4px 8px!important}
  body[data-page="dashboard"] .system-filter-row{gap:6px!important;margin-top:4px!important}
  body[data-page="dashboard"] .system-filter-box,
  body[data-page="dashboard"] .system-filter-box.product-preview-box{min-height:60px!important;padding:5px!important}
  body[data-page="dashboard"] .system-filter-box label{font-size:17px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body[data-page="dashboard"] .system-filter-box:not(.product-preview-box) select.brand-filter{height:42px!important;margin-top:6px!important;font-size:15px!important;padding:0 10px!important}
  body[data-page="dashboard"] .product-preview-card{height:28px!important;margin-top:3px!important;padding:2px!important;border-radius:8px!important}
  body[data-page="dashboard"] .product-preview-image{height:22px!important}
  body[data-page="dashboard"] .product-preview-image img{max-height:20px!important}
  body[data-page="dashboard"] .row2,
  body[data-page="dashboard"] .row3,
  body[data-page="dashboard"] .speaker-grid{gap:10px!important}
  body[data-page="dashboard"] label{font-size:18px!important;line-height:1.35!important}
  body[data-page="dashboard"] input,
  body[data-page="dashboard"] select,
  body[data-page="dashboard"] .product-picker-input{height:50px!important;font-size:15px!important;margin-top:10px!important;padding:0 12px!important}
  body[data-page="dashboard"] .qtywrap{height:82px!important}
  body[data-page="dashboard"] .qtywrap button,
  body[data-page="dashboard"] .qtywrap input{height:82px!important}
  body[data-page="dashboard"] .qtywrap input{font-size:30px!important}
  body[data-page="dashboard"] .auto-box{height:96px!important;padding:12px 14px!important}
  body[data-page="dashboard"] .auto-box span{font-size:14px!important}
  body[data-page="dashboard"] .auto-box b{font-size:28px!important}
  body[data-page="dashboard"] .speaker-mode-grid{gap:10px!important}
  body[data-page="dashboard"] .speaker-mode-grid label{min-height:42px!important;padding:8px 10px!important}
  body[data-page="dashboard"] .small-clear{padding:8px 12px!important;font-size:13px!important}
  body[data-page="dashboard"] .button-row{gap:12px!important}
  body[data-page="dashboard"] .btn-main,
  body[data-page="dashboard"] .btn-reset{height:46px!important;padding:0 18px!important}
  body[data-page="dashboard"] .summary-table-wrap{min-height:0!important;padding:12px 14px!important}
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{padding:12px 12px!important;font-size:15px!important}
  body[data-page="dashboard"] .summary-total{margin:0 14px 14px!important;padding:12px!important}
  body[data-page="dashboard"] .sum-row{padding:12px 14px!important;margin-bottom:8px!important}
  body[data-page="dashboard"] .sum-row strong{font-size:17px!important}
  body[data-page="dashboard"] .sum-row.grand span{font-size:18px!important}
  body[data-page="dashboard"] .sum-row.grand strong{font-size:28px!important}
  body[data-page="dashboard"] #analogBox .addon-inline-row{
    margin-top:6px!important;
  }
  body[data-page="dashboard"] #analogBox .addon-inline-buttons{
    margin-top:8px!important;
  }
}

/* Final print fit for one A4 page */
@media print{
  @page{size:A4 portrait;margin:6mm}
  html,body{height:auto!important;overflow:visible!important}
  body.print-full-summary{position:static!important;inset:auto!important;width:auto!important;height:auto!important;overflow:visible!important}
  body.print-full-summary .summary{position:static!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;overflow:visible!important;box-shadow:none!important;border:1px solid #dbe4ef!important}
  body.print-full-summary .summary h2{font-size:15px!important;padding:8px 10px!important}
  body.print-full-summary .live-summary-meta{font-size:10px!important;padding:6px 10px!important}
  body.print-full-summary .summary-table-wrap{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;padding:4px 6px!important;overflow:visible!important}
  body.print-full-summary .summary-table{display:table!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:9px!important;line-height:1.08!important;page-break-inside:auto!important}
  body.print-full-summary .summary-table thead{display:table-header-group!important}
  body.print-full-summary .summary-table tbody{display:table-row-group!important}
  body.print-full-summary .summary-table tr{display:table-row!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.print-full-summary .summary-table th,
  body.print-full-summary .summary-table td{display:table-cell!important;padding:4px 5px!important;border-bottom:1px solid #dbe4ef!important;vertical-align:top!important;font-size:9px!important;line-height:1.05!important}
  body.print-full-summary .summary-table th{font-size:8px!important;background:#edf3fa!important;text-transform:uppercase!important}
  body.print-full-summary .summary-table th:nth-child(1),
  body.print-full-summary .summary-table td:nth-child(1){width:68%!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body.print-full-summary .summary-table th:nth-child(2),
  body.print-full-summary .summary-table td:nth-child(2){width:12%!important;text-align:center!important}
  body.print-full-summary .summary-table th:nth-child(3),
  body.print-full-summary .summary-table td:nth-child(3){width:20%!important;text-align:right!important}
  body.print-full-summary .summary-table td:first-child{font-weight:800!important}
  body.print-full-summary .summary-table td:first-child small{display:block!important;margin-top:1px!important;color:#64748b!important;font-size:7px!important;line-height:1.02!important}
  body.print-full-summary .summary-table td:last-child b{color:#0b5ee8!important;font-weight:900!important}
  body.print-full-summary .summary-table tr.summary-zero-row{display:none!important}
  body.print-full-summary .summary-total{margin:6px 6px 8px!important;padding:6px!important}
  body.print-full-summary .summary-total hr{margin:8px 0!important}
  body.print-full-summary .sum-row{padding:5px 8px!important;margin-bottom:3px!important}
  body.print-full-summary .sum-row strong{font-size:13px!important}
  body.print-full-summary .sum-row.grand span{font-size:13px!important}
  body.print-full-summary .sum-row.grand strong{font-size:18px!important}
}


/* keep only the dashboard locked; other pages must scroll normally */

/* Dashboard top preview cards: let the product image fill the tile cleanly */
@media (min-width: 1161px){
  body[data-page="dashboard"] .topbar{
    min-height:72px!important;
    padding:12px 22px!important;
  }
  body[data-page="dashboard"] .topbar h1{
    font-size:26px!important;
    line-height:1.03!important;
  }
  body[data-page="dashboard"] .topbar p{
    margin-top:4px!important;
    font-size:13px!important;
  }
  body[data-page="dashboard"] .content.dashboard-grid{
    gap:10px!important;
    padding:6px 8px!important;
  }
  body[data-page="dashboard"] .card{
    margin-bottom:10px!important;
    border-radius:8px!important;
    box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
  }
  body[data-page="dashboard"] .card h2{
    font-size:16px!important;
    padding:8px 12px!important;
    line-height:1.02!important;
  }
  body[data-page="dashboard"] .body{
    padding:7px 11px!important;
  }
  body[data-page="dashboard"] .type-grid{
    gap:6px!important;
  }
  body[data-page="dashboard"] .type-grid label{
    min-height:52px!important;
    padding:8px 10px!important;
  }
  body[data-page="dashboard"] .type-choice .type-pill{
    min-height:48px!important;
    padding:6px 10px!important;
    gap:6px!important;
  }
  body[data-page="dashboard"] .type-icon{
    width:26px!important;
    height:26px!important;
  }
  body[data-page="dashboard"] .type-copy strong{
    font-size:13px!important;
  }
  body[data-page="dashboard"] .type-copy small{
    font-size:8px!important;
    margin-top:2px!important;
  }
  body[data-page="dashboard"] .price-mode-control{
    margin-top:3px!important;
    padding:3px 7px!important;
  }
  body[data-page="dashboard"] .price-mode-control label{
    font-size:11px!important;
  }
  body[data-page="dashboard"] .system-filter-row{
    gap:6px!important;
    margin-top:4px!important;
  }
  body[data-page="dashboard"] .system-filter-box,
  body[data-page="dashboard"] .system-filter-box.product-preview-box{
    min-height:50px!important;
    padding:4px!important;
  }
  body[data-page="dashboard"] .system-filter-box label{
    font-size:9px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .system-filter-box:not(.product-preview-box) select.brand-filter{
    height:26px!important;
    margin-top:2px!important;
    font-size:10px!important;
    padding:0 7px!important;
  }
  body[data-page="dashboard"] .product-preview-card{
    height:22px!important;
    margin-top:2px!important;
    padding:2px!important;
  }
  body[data-page="dashboard"] .product-preview-image{
    height:18px!important;
    min-height:18px!important;
  }
  body[data-page="dashboard"] .product-preview-image img{
    max-height:16px!important;
  }
  body[data-page="dashboard"] .row2,
  body[data-page="dashboard"] .row3,
  body[data-page="dashboard"] .speaker-grid{
    gap:6px!important;
  }
  body[data-page="dashboard"] label{
    font-size:9px!important;
    line-height:1.02!important;
  }
  body[data-page="dashboard"] input,
  body[data-page="dashboard"] select,
  body[data-page="dashboard"] .product-picker-input{
    height:28px!important;
    font-size:10px!important;
    margin-top:2px!important;
    padding:0 7px!important;
  }
  body[data-page="dashboard"] .product-picker-input{
    font-size:10px!important;
  }
  body[data-page="dashboard"] .qtywrap{
    height:48px!important;
  }
  body[data-page="dashboard"] .qtywrap button,
  body[data-page="dashboard"] .qtywrap input{
    height:48px!important;
  }
  body[data-page="dashboard"] .qtywrap input{
    font-size:20px!important;
  }
  body[data-page="dashboard"] .auto-box{
    height:48px!important;
    padding:5px!important;
  }
  body[data-page="dashboard"] .auto-box span{
    font-size:8px!important;
  }
  body[data-page="dashboard"] .auto-box b{
    font-size:15px!important;
    margin-top:3px!important;
  }
  body[data-page="dashboard"] .speaker-mode-grid{
    gap:6px!important;
    margin-bottom:8px!important;
  }
  body[data-page="dashboard"] .speaker-mode-grid label{
    min-height:30px!important;
    padding:5px 7px!important;
    font-size:10px!important;
  }
  body[data-page="dashboard"] .small-clear{
    padding:4px 8px!important;
    font-size:10px!important;
  }
  body[data-page="dashboard"] .button-row{
    gap:6px!important;
  }
  body[data-page="dashboard"] .btn-main,
  body[data-page="dashboard"] .btn-reset{
    height:32px!important;
    padding:0 12px!important;
    min-width:124px!important;
  }
  body[data-page="dashboard"] .summary-table-wrap{
    min-height:0!important;
    padding:7px 9px!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    padding:5px 7px!important;
    font-size:10px!important;
  }
  body[data-page="dashboard"] .summary-total{
    margin:0 9px 9px!important;
    padding:8px!important;
  }
  body[data-page="dashboard"] .sum-row{
    padding:6px 9px!important;
    margin-bottom:4px!important;
  }
  body[data-page="dashboard"] .sum-row strong{
    font-size:13px!important;
  }
  body[data-page="dashboard"] .sum-row.grand span{
    font-size:13px!important;
  }
  body[data-page="dashboard"] .sum-row.grand strong{
    font-size:18px!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box{
    min-height: 58px!important;
    padding: 5px!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card{
    height: 26px!important;
    margin-top: 3px!important;
    padding: 2px!important;
    border-radius: 8px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image{
    width:100%!important;
    height:20px!important;
    min-height:20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    border-radius:7px!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:2px!important;
    background:#fff!important;
  }
  body[data-page="dashboard"] #analogBox .addon-inline-row{
    margin-top:4px!important;
  }
  body[data-page="dashboard"] #analogBox .addon-inline-buttons{
    margin-top:6px!important;
  }
}

/* Final desktop cleanup for dashboard preview tiles:
   restore visible product image area after earlier compact overrides. */
@media (min-width: 1161px){
  body[data-page="dashboard"]{
    height:auto!important;
    min-height:100vh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body[data-page="dashboard"] .main{
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .content.dashboard-grid{
    overflow:visible!important;
  }
  body[data-page="dashboard"] .calculator-column,
  body[data-page="dashboard"] .summary{
    max-height:none!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .summary{
    position:sticky!important;
    top:18px!important;
  }
  body[data-page="dashboard"] .content.dashboard-grid{
    gap:12px!important;
  }
  body[data-page="dashboard"] .type-grid{
    gap:10px!important;
  }
  body[data-page="dashboard"] .type-grid label{
    min-height:64px!important;
    padding:10px 12px!important;
  }
  body[data-page="dashboard"] .type-choice .type-pill{
    min-height:56px!important;
    padding:8px 12px!important;
    gap:8px!important;
  }
  body[data-page="dashboard"] .system-filter-row{
    gap:8px!important;
    margin-top:6px!important;
    align-items:stretch!important;
  }
  body[data-page="dashboard"] .system-filter-box,
  body[data-page="dashboard"] .system-filter-box.product-preview-box{
    min-height:122px!important;
    padding:10px!important;
  }
  body[data-page="dashboard"] .system-filter-box label{
    font-size:10px!important;
    line-height:1.08!important;
  }
  body[data-page="dashboard"] .system-filter-box:not(.product-preview-box) select.brand-filter{
    height:44px!important;
    margin-top:6px!important;
    font-size:14px!important;
    padding:0 10px!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card,
  body[data-page="dashboard"] .product-preview-card{
    height:90px!important;
    margin-top:6px!important;
    padding:8px!important;
    border-radius:10px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image,
  body[data-page="dashboard"] .product-preview-image{
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    border-radius:8px!important;
    overflow:hidden!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image img,
  body[data-page="dashboard"] .product-preview-image img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:5px!important;
    background:#fff!important;
  }
  body[data-page="dashboard"] .product-preview-card.has-product{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 3px rgba(15,23,42,.04)!important;
  }
  body[data-page="dashboard"] .product-preview-card .product-preview-copy{
    display:none!important;
  }
}

/* Final dashboard scroll safety:
   keep the left calculator column usable when the compact desktop layout gets tight. */
/* removed: the dashboard should expand naturally so the equipment form does not clip */

/* Final desktop fit pass for the real dashboard:
   trim vertical spacing so the main form stays visible on standard widescreen desktops. */
@media (min-width: 1161px){
  body[data-page="dashboard"] .main{
    margin-left:248px!important;
    left:0!important;
    right:auto!important;
    width:calc(100vw - 248px)!important;
    max-width:calc(100vw - 248px)!important;
  }
  body[data-page="dashboard"] .topbar{
    min-height:50px!important;
    padding:4px 14px!important;
  }
  body[data-page="dashboard"] .topbar h1{
    font-size:19px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .topbar p{
    margin:1px 0 0!important;
    font-size:11px!important;
  }
  body[data-page="dashboard"] .actions button{
    height:32px!important;
    padding:0 12px!important;
  }
  body[data-page="dashboard"] .content.dashboard-grid{
    width:100%!important;
    padding:2px 8px 2px!important;
    gap:4px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card,
  body[data-page="dashboard"] .summary > .card{
    margin-bottom:3px!important;
  }
  body[data-page="dashboard"] .card h2{
    font-size:14px!important;
    padding:5px 10px!important;
  }
  body[data-page="dashboard"] .body{
    padding:5px 8px!important;
  }
  body[data-page="dashboard"] .type-grid,
  body[data-page="dashboard"] .row2,
  body[data-page="dashboard"] .row3,
  body[data-page="dashboard"] .speaker-grid{
    gap:6px!important;
  }
  body[data-page="dashboard"] .type-grid label{
    min-height:48px!important;
    padding:0 10px!important;
  }
  body[data-page="dashboard"] .type-choice strong{
    font-size:12px!important;
  }
  body[data-page="dashboard"] .type-choice small{
    font-size:8px!important;
    margin-top:1px!important;
  }
  body[data-page="dashboard"] input,
  body[data-page="dashboard"] select,
  body[data-page="dashboard"] .product-picker-input{
    height:30px!important;
    margin-top:3px!important;
    font-size:12px!important;
  }
  body[data-page="dashboard"] .qtywrap{
    height:46px!important;
    grid-template-columns:34px 1fr 34px!important;
  }
  body[data-page="dashboard"] .qtywrap button,
  body[data-page="dashboard"] .qtywrap input{
    height:46px!important;
  }
  body[data-page="dashboard"] .qtywrap input{
    font-size:18px!important;
  }
  body[data-page="dashboard"] .auto-wrap{
    gap:5px!important;
  }
  body[data-page="dashboard"] .auto-box{
    height:44px!important;
    padding:4px 5px!important;
  }
  body[data-page="dashboard"] .auto-box span{
    font-size:8px!important;
    white-space:nowrap!important;
  }
  body[data-page="dashboard"] .auto-box b{
    font-size:15px!important;
    margin-top:3px!important;
  }
  body[data-page="dashboard"] .small-clear{
    padding:4px 9px!important;
    font-size:10px!important;
  }
  body[data-page="dashboard"] .button-row{
    gap:6px!important;
  }
  body[data-page="dashboard"] .btn-main,
  body[data-page="dashboard"] .btn-reset{
    height:32px!important;
    padding:0 12px!important;
    min-width:108px!important;
  }
  body[data-page="dashboard"] .summary{
    top:8px!important;
  }
  body[data-page="dashboard"] .summary h2{
    font-size:14px!important;
    padding:6px 10px!important;
  }
  body[data-page="dashboard"] .summary-table-wrap{
    padding:6px 8px!important;
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .summary-total{
    margin:0 8px 8px!important;
    padding:8px!important;
    margin-top:auto!important;
  }
  body[data-page="dashboard"] .sum-row{
    padding:7px 10px!important;
    margin-bottom:4px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .body{
    padding-top:2px!important;
    padding-bottom:0!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker{
    margin-top:2px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
    height:28px!important;
    margin-top:2px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .row2{
    gap:4px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .button-row{
    margin-top:2px!important;
  }
  body[data-page="dashboard"].show-ip #ipBox h2,
  body[data-page="dashboard"].show-speaker #speakerBox h2{
    min-height:44px!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  body[data-page="dashboard"].show-ip #ipBox h2 > span,
  body[data-page="dashboard"].show-speaker #speakerBox h2 > span{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  body[data-page="dashboard"].show-ip #ipBox .small-clear,
  body[data-page="dashboard"].show-speaker #speakerBox .small-clear{
    float:none!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
  }
  body[data-page="dashboard"].show-ip #ipBox .body,
  body[data-page="dashboard"].show-speaker #speakerBox .body{
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  body[data-page="dashboard"].show-ip #ipBox .body{
    min-height:412px!important;
  }
  body[data-page="dashboard"].show-speaker #speakerBox .body{
    min-height:412px!important;
  }
}

@media (min-width: 761px){
  /* Keep IP and Speaker section inputs visually stable after reset/focus */
  body[data-page="dashboard"] #ipBox input,
  body[data-page="dashboard"] #ipBox select,
  body[data-page="dashboard"] #ipBox .product-picker-input,
  body[data-page="dashboard"] #ipBox .line-qty,
  body[data-page="dashboard"] #ipBox .cable-meter,
  body[data-page="dashboard"] #speakerBox input,
  body[data-page="dashboard"] #speakerBox select,
  body[data-page="dashboard"] #speakerBox .product-picker-input,
  body[data-page="dashboard"] #speakerBox .line-qty,
  body[data-page="dashboard"] #speakerBox .cable-meter{
    height:48px!important;
    min-height:48px!important;
    font-size:16px!important;
    line-height:48px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    box-sizing:border-box!important;
    transform:none!important;
    transition:none!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-qty,
  body[data-page="dashboard"] #speakerBox .product-picker-qty{
    grid-template-columns:minmax(0,1fr) 72px!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-qty-select,
  body[data-page="dashboard"] #speakerBox .product-picker-qty-select,
  body[data-page="dashboard"] #ipBox .product-picker,
  body[data-page="dashboard"] #speakerBox .product-picker{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:block!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-input,
  body[data-page="dashboard"] #speakerBox .product-picker-input{
    width:100%!important;
    min-width:0!important;
    display:block!important;
    font-size:16px!important;
    line-height:normal!important;
    font-weight:700!important;
  }
  body[data-page="dashboard"] #ipBox .product-picker-input:focus,
  body[data-page="dashboard"] #speakerBox .product-picker-input:focus,
  body[data-page="dashboard"] #ipBox .line-qty:focus,
  body[data-page="dashboard"] #speakerBox .line-qty:focus,
  body[data-page="dashboard"] #ipBox .cable-meter:focus,
  body[data-page="dashboard"] #speakerBox .cable-meter:focus{
    height:48px!important;
    min-height:48px!important;
    font-size:16px!important;
    line-height:48px!important;
    transform:none!important;
  }
  body[data-page="dashboard"].speaker-analog-mode #speakerBox .speaker-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  body[data-page="dashboard"].speaker-analog-mode #speakerBox .speaker-grid > div:not(.speaker-inline-pair){
    min-height:97px!important;
  }
  body[data-page="dashboard"].speaker-analog-mode #speakerBox .speaker-inline-pair{
    grid-column:span 3!important;
    min-height:86px!important;
  }
  body[data-page="dashboard"].speaker-ip-mode #speakerBox .speaker-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  body[data-page="dashboard"] #speakerBox .product-picker-qty{
    grid-template-columns:minmax(180px,1fr) 72px!important;
  }
  body[data-page="dashboard"] #ipBox h2,
  body[data-page="dashboard"] #speakerBox h2{
    font-size:19px!important;
    padding:12px 16px!important;
  }
  body[data-page="dashboard"] #ipBox .body,
  body[data-page="dashboard"] #speakerBox .body{
    padding:14px 18px 12px!important;
  }
  body[data-page="dashboard"] #ipBox .row3{
    gap:14px!important;
  }
  body[data-page="dashboard"] #ipBox .row3 > div{
    min-height:86px!important;
  }
  body[data-page="dashboard"] #ipBox .row3 > div:nth-child(-n+3){
    min-height:97px!important;
  }
  body[data-page="dashboard"].show-speaker #speakerBox .body{
    min-height:252px!important;
  }
}

body[data-page="dashboard"].show-ip #ipBox .row3 label,
body[data-page="dashboard"].show-speaker #speakerBox .speaker-grid label{
  font-size:16px!important;
  line-height:1.18!important;
  height:auto!important;
}

/* Live Quotation Summary readability boost */
body[data-page="dashboard"] .live-summary{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
body[data-page="dashboard"] .live-summary h2{
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.15!important;
  padding:14px 16px!important;
}
body[data-page="dashboard"] .live-summary-meta{
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.25!important;
  padding:10px 16px!important;
}
body[data-page="dashboard"] .live-summary .summary-table-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  padding:12px 14px 10px!important;
  overflow:visible!important;
}
body[data-page="dashboard"] .live-summary .summary-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
body[data-page="dashboard"] .live-summary .summary-table th,
body[data-page="dashboard"] .live-summary .summary-table td{
  font-size:15px!important;
  line-height:1.35!important;
  padding:12px 12px!important;
  border-bottom:1px solid #e5e7eb!important;
  vertical-align:middle!important;
}
body[data-page="dashboard"] .live-summary .summary-table th{
  font-weight:700!important;
  background:#edf3fa!important;
  color:#334155!important;
}
body[data-page="dashboard"] .live-summary .summary-table tbody tr{
  min-height:46px!important;
}
body[data-page="dashboard"] .live-summary .summary-table tbody tr:hover{
  background:#f8fbff!important;
}
body[data-page="dashboard"] .live-summary .summary-table th:nth-child(1),
body[data-page="dashboard"] .live-summary .summary-table td:nth-child(1){
  width:72%!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body[data-page="dashboard"] .live-summary .summary-table th:nth-child(2),
body[data-page="dashboard"] .live-summary .summary-table td:nth-child(2){
  width:12%!important;
  text-align:center!important;
}
body[data-page="dashboard"] .live-summary .summary-table th:nth-child(3),
body[data-page="dashboard"] .live-summary .summary-table td:nth-child(3){
  width:16%!important;
  text-align:right!important;
}
body[data-page="dashboard"] .live-summary .summary-table td{
  font-weight:500!important;
}
body[data-page="dashboard"] .live-summary .summary-table td:first-child{
  font-weight:600!important;
}
body[data-page="dashboard"] .live-summary .summary-table td:last-child b{
  font-weight:700!important;
}
body[data-page="dashboard"] .live-summary .summary-table td small{
  font-size:12px!important;
  line-height:1.15!important;
}
body[data-page="dashboard"] .live-summary .empty-cell{
  padding:24px 16px!important;
  font-size:15px!important;
  font-weight:600!important;
  text-align:center!important;
}
body[data-page="dashboard"] .live-summary .summary-total{
  margin:0 14px 14px!important;
  padding:12px!important;
  margin-top:auto!important;
  border-radius:10px!important;
}
body[data-page="dashboard"] .live-summary .sum-row{
  min-height:48px!important;
  padding:12px 14px!important;
  margin-bottom:8px!important;
  border-radius:8px!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
body[data-page="dashboard"] .live-summary .sum-row strong{
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.1!important;
}
body[data-page="dashboard"] .live-summary .sum-row.grand{
  min-height:58px!important;
  padding:12px 14px!important;
}
body[data-page="dashboard"] .live-summary .sum-row.grand span{
  font-size:18px!important;
  font-weight:700!important;
}
body[data-page="dashboard"] .live-summary .sum-row.grand strong{
  font-size:26px!important;
  font-weight:800!important;
  line-height:1.05!important;
}

/* Dashboard-wide UI/UX refinement pass */
:root{
  --dashboard-font:"Noto Sans Khmer","Battambang","Kantumruy Pro","Segoe UI",Arial,sans-serif;
  --dashboard-page-title:28px;
  --dashboard-section-title:26px;
  --dashboard-card-title:20px;
  --dashboard-label:18px;
  --dashboard-input:15px;
  --dashboard-placeholder:13px;
  --dashboard-sidebar:16px;
  --dashboard-table-head:15px;
  --dashboard-table-body:15px;
  --dashboard-total:18px;
  --dashboard-grand:28px;
  --dashboard-radius:12px;
  --dashboard-border:#dbe4ef;
  --dashboard-shadow:0 10px 28px rgba(15,23,42,.08);
}

body{
  font-family:var(--dashboard-font)!important;
  line-height:1.4;
  color:#0f172a;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

button,
input,
select,
textarea,
table{
  font-family:var(--dashboard-font)!important;
}

body[data-page="dashboard"] .sidebar{
  background:linear-gradient(180deg,#0b1220 0%,#111a2e 100%)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  box-shadow:10px 0 24px rgba(15,23,42,.08)!important;
}

body[data-page="dashboard"] .logo{
  min-height:82px!important;
  padding:0 18px!important;
  font-size:18px!important;
}

body[data-page="dashboard"] .logo strong{
  font-size:20px!important;
  line-height:1.08!important;
}

body[data-page="dashboard"] .menu{
  padding:16px 12px!important;
}

body[data-page="dashboard"] .menu-section{
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  margin-top:6px!important;
}

body[data-page="dashboard"] .menu a{
  min-height:46px!important;
  padding:11px 13px!important;
  margin:5px 0!important;
  border-radius:10px!important;
  font-size:var(--dashboard-sidebar)!important;
  font-weight:700!important;
  line-height:1.2!important;
  transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease!important;
}

body[data-page="dashboard"] .menu a:hover{
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  transform:translateX(1px)!important;
}

body[data-page="dashboard"] .menu a.active{
  background:#eaf2ff!important;
  color:#0b3f91!important;
  box-shadow:0 8px 20px rgba(11,94,232,.14)!important;
}

body[data-page="dashboard"] .nav-icon{
  width:32px!important;
  height:32px!important;
  border-radius:8px!important;
}

body[data-page="dashboard"] .sidebar-note{
  padding:14px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.35!important;
}

body[data-page="dashboard"] .main{
  background:#f6f8fc!important;
}

body[data-page="dashboard"] .topbar{
  min-height:86px!important;
  padding:16px 28px!important;
  border-bottom:1px solid #e4ebf3!important;
}

body[data-page="dashboard"] .topbar h1{
  font-size:var(--dashboard-page-title)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-0.02em!important;
}

body[data-page="dashboard"] .topbar p{
  font-size:14px!important;
  line-height:1.35!important;
}

body[data-page="dashboard"] .actions{
  gap:12px!important;
}

body[data-page="dashboard"] .actions button{
  height:46px!important;
  min-width:112px!important;
  padding:0 20px!important;
  border-radius:10px!important;
  font-size:15px!important;
  font-weight:700!important;
}

body[data-page="dashboard"] .content{
  padding:18px!important;
}

body[data-page="dashboard"] .dashboard-grid{
  gap:20px!important;
  align-items:stretch!important;
}

body[data-page="dashboard"] .card{
  border-radius:var(--dashboard-radius)!important;
  box-shadow:var(--dashboard-shadow)!important;
  border:1px solid var(--dashboard-border)!important;
  overflow:hidden!important;
}

body[data-page="dashboard"] .card h2{
  font-size:var(--dashboard-section-title)!important;
  font-weight:800!important;
  line-height:1.12!important;
  padding:16px 18px!important;
  border-bottom:1px solid #edf2f7!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}

body[data-page="dashboard"] .body{
  padding:18px!important;
}

body[data-page="dashboard"] label{
  font-size:var(--dashboard-label)!important;
  font-weight:700!important;
  line-height:1.35!important;
  margin-bottom:10px!important;
  letter-spacing:.01em!important;
}

body[data-page="dashboard"] input,
body[data-page="dashboard"] select,
body[data-page="dashboard"] .product-picker-input{
  height:50px!important;
  min-height:50px!important;
  margin-top:10px!important;
  border-radius:10px!important;
  padding:0 14px!important;
  font-size:var(--dashboard-input)!important;
  font-weight:500!important;
  line-height:1.3!important;
}

body[data-page="dashboard"] input::placeholder,
body[data-page="dashboard"] select::placeholder,
body[data-page="dashboard"] .product-picker-input::placeholder{
  font-size:var(--dashboard-placeholder)!important;
  font-weight:400!important;
  color:#94a3b8!important;
  opacity:.65!important;
}

body[data-page="dashboard"] .button-row{
  gap:12px!important;
  margin-top:16px!important;
}

body[data-page="dashboard"] .btn-main,
body[data-page="dashboard"] .btn-reset,
body[data-page="dashboard"] .btn-secondary,
body[data-page="dashboard"] .btn-link{
  height:46px!important;
  min-height:46px!important;
  border-radius:10px!important;
  padding:0 20px!important;
  font-size:15px!important;
  font-weight:700!important;
}

body[data-page="dashboard"] .small-clear{
  height:36px!important;
  padding:0 12px!important;
  border-radius:8px!important;
  font-size:13px!important;
  font-weight:700!important;
}

body[data-page="dashboard"] .type-grid{
  gap:14px!important;
}

body[data-page="dashboard"] .type-choice .type-pill{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}

body[data-page="dashboard"] .type-pill .type-copy{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:4px!important;
}

body[data-page="dashboard"] .type-pill .type-copy strong{
  font-size:clamp(18px,1.5vw,22px)!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-shadow:0 1px 2px rgba(0,0,0,.14)!important;
}

body[data-page="dashboard"] .type-pill .type-copy small{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:1px!important;
  text-transform:uppercase!important;
}

body[data-page="dashboard"] .type-pill .type-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
}

body[data-page="dashboard"] .type-pill .type-icon img{
  width:24px!important;
  height:24px!important;
}

body[data-page="dashboard"] .auto-wrap{
  gap:12px!important;
}

body[data-page="dashboard"] .auto-box{
  height:96px!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  border:1px solid #dbe4ef!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 6px 16px rgba(15,23,42,.04)!important;
}

body[data-page="dashboard"] .auto-box span{
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.15!important;
}

body[data-page="dashboard"] .auto-box b{
  font-size:28px!important;
  font-weight:800!important;
  line-height:1.05!important;
  margin-top:8px!important;
}

body[data-page="dashboard"] .summary,
body[data-page="dashboard"] .live-summary{
  border-radius:var(--dashboard-radius)!important;
  border:1px solid #dbe4ef!important;
  box-shadow:var(--dashboard-shadow)!important;
}

body[data-page="dashboard"] .summary h2,
body[data-page="dashboard"] .live-summary h2{
  font-size:24px!important;
  font-weight:800!important;
  line-height:1.12!important;
  padding:16px 16px!important;
}

body[data-page="dashboard"] .live-summary-meta{
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.3!important;
  padding:12px 16px!important;
}

body[data-page="dashboard"] .summary-table-wrap{
  padding:12px 14px 10px!important;
}

body[data-page="dashboard"] .summary-table th,
body[data-page="dashboard"] .summary-table td{
  font-size:15px!important;
  line-height:1.4!important;
  padding:13px 12px!important;
  border-bottom:1px solid #e5e7eb!important;
  vertical-align:middle!important;
}

body[data-page="dashboard"] .summary-table th{
  font-weight:700!important;
  background:#eef3fa!important;
  color:#334155!important;
}

body[data-page="dashboard"] .summary-table tbody tr:hover{
  background:#f8fbff!important;
}

body[data-page="dashboard"] .summary-table th:nth-child(1),
body[data-page="dashboard"] .summary-table td:nth-child(1){
  width:72%!important;
}

body[data-page="dashboard"] .summary-table th:nth-child(2),
body[data-page="dashboard"] .summary-table td:nth-child(2){
  width:12%!important;
}

body[data-page="dashboard"] .summary-table th:nth-child(3),
body[data-page="dashboard"] .summary-table td:nth-child(3){
  width:16%!important;
}

body[data-page="dashboard"] .summary-table td{
  font-weight:500!important;
}

body[data-page="dashboard"] .summary-table td:first-child{
  font-weight:600!important;
}

body[data-page="dashboard"] .summary-table td small{
  font-size:12px!important;
  line-height:1.15!important;
}

body[data-page="dashboard"] .empty-cell{
  padding:24px 16px!important;
  font-size:16px!important;
  font-weight:700!important;
  text-align:center!important;
}

body[data-page="dashboard"] .summary-total{
  margin:0 14px 14px!important;
  padding:12px!important;
  margin-top:auto!important;
  border-radius:10px!important;
}

body[data-page="dashboard"] .sum-row{
  min-height:48px!important;
  padding:12px 14px!important;
  margin-bottom:8px!important;
  border-radius:8px!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.2!important;
}

body[data-page="dashboard"] .sum-row strong{
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.1!important;
}

body[data-page="dashboard"] .sum-row.grand{
  min-height:58px!important;
  padding:12px 14px!important;
}

body[data-page="dashboard"] .sum-row.grand span{
  font-size:18px!important;
  font-weight:700!important;
}

body[data-page="dashboard"] .sum-row.grand strong{
  font-size:28px!important;
  font-weight:800!important;
  line-height:1.05!important;
}

body[data-page="dashboard"] .quote-table,
body[data-page="dashboard"] .data-table,
body[data-page="dashboard"] .manager-table,
body[data-page="dashboard"] .install-table,
body[data-page="dashboard"] .access-table{
  font-size:14px!important;
}

body[data-page="dashboard"] .quote-table th,
body[data-page="dashboard"] .data-table th,
body[data-page="dashboard"] .manager-table th,
body[data-page="dashboard"] .install-table th,
body[data-page="dashboard"] .access-table th{
  font-size:14px!important;
  font-weight:700!important;
}

body[data-page="dashboard"] .quote-table td,
body[data-page="dashboard"] .data-table td,
body[data-page="dashboard"] .manager-table td,
body[data-page="dashboard"] .install-table td,
body[data-page="dashboard"] .access-table td{
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.35!important;
}

body[data-page="dashboard"] .quote-table th,
body[data-page="dashboard"] .quote-table td{
  padding:10px 12px!important;
}

body[data-page="dashboard"] .app-footer{
  font-family:var(--dashboard-font)!important;
  font-size:12px!important;
  line-height:1.35!important;
}

@media (max-width: 1150px){
  body[data-page="dashboard"] .dashboard-grid{
    gap:16px!important;
  }
  body[data-page="dashboard"] .card h2,
  body[data-page="dashboard"] .summary h2,
  body[data-page="dashboard"] .live-summary h2{
    font-size:20px!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    font-size:14px!important;
    padding:10px 10px!important;
  }
  body[data-page="dashboard"] .sum-row{
    min-height:44px!important;
    padding:10px 12px!important;
  }
  body[data-page="dashboard"] .sum-row.grand strong{
    font-size:24px!important;
  }
}

@media (max-width: 760px){
  body[data-page="dashboard"] .content{
    padding:12px!important;
  }
  body[data-page="dashboard"] .topbar{
    padding:12px 14px!important;
  }
  body[data-page="dashboard"] .topbar h1{
    font-size:22px!important;
  }
  body[data-page="dashboard"] .card h2,
  body[data-page="dashboard"] .summary h2,
  body[data-page="dashboard"] .live-summary h2{
    font-size:18px!important;
    padding:12px 14px!important;
  }
  body[data-page="dashboard"] .body{
    padding:14px!important;
  }
  body[data-page="dashboard"] input,
  body[data-page="dashboard"] select,
  body[data-page="dashboard"] .product-picker-input{
    height:44px!important;
    min-height:44px!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    font-size:13px!important;
    padding:9px 8px!important;
  }
  body[data-page="dashboard"] .sum-row{
    min-height:42px!important;
    font-size:14px!important;
  }
  body[data-page="dashboard"] .sum-row.grand strong{
    font-size:22px!important;
  }
}

@media (min-width: 1161px){
  body[data-page="dashboard"] .card h2{
    font-size:26px!important;
    font-weight:800!important;
    line-height:1.12!important;
    padding:14px 16px!important;
  }
  body[data-page="dashboard"] .system-filter-box label,
  body[data-page="dashboard"] .row3 label,
  body[data-page="dashboard"] .speaker-grid label,
  body[data-page="dashboard"] label{
    font-size:18px!important;
    font-weight:700!important;
    line-height:1.35!important;
    margin-bottom:10px!important;
    letter-spacing:.01em!important;
  }
  body[data-page="dashboard"] input,
  body[data-page="dashboard"] select,
  body[data-page="dashboard"] .product-picker-input{
    height:50px!important;
    min-height:50px!important;
    margin-top:10px!important;
    font-size:15px!important;
    line-height:1.3!important;
  }
  body[data-page="dashboard"] .system-filter-box:not(.product-preview-box) select.brand-filter{
    height:50px!important;
    margin-top:10px!important;
    font-size:15px!important;
  }
  body[data-page="dashboard"] .summary h2,
  body[data-page="dashboard"] .live-summary h2{
    font-size:24px!important;
    font-weight:800!important;
    line-height:1.12!important;
  }
  body[data-page="dashboard"] .live-summary-meta{
    font-size:17px!important;
    font-weight:700!important;
    line-height:1.3!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    font-size:15px!important;
    line-height:1.4!important;
  }
  body[data-page="dashboard"] .sum-row{
    font-size:17px!important;
  }
  body[data-page="dashboard"] .sum-row.grand span{
    font-size:18px!important;
  }
  body[data-page="dashboard"] .sum-row.grand strong{
    font-size:28px!important;
  }
  body[data-page="dashboard"] .type-copy strong{
    font-size:20px!important;
  }
  body[data-page="dashboard"] .type-copy small{
    font-size:14px!important;
  }
}

/* Section 2-4 typography only */
@media (min-width: 1161px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) h2,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) h2,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) h2{
    font-size:28px!important;
    font-weight:800!important;
    line-height:1.08!important;
  }

  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box span{
    font-size:18px!important;
    font-weight:700!important;
    line-height:1.15!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box b{
    font-size:40px!important;
    font-weight:800!important;
    line-height:1.02!important;
  }

  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) label,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) label{
    font-size:18px!important;
    font-weight:700!important;
    line-height:1.35!important;
  }

  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) select,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .product-picker-input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
    font-size:17px!important;
    font-weight:500!important;
    line-height:1.2!important;
  }

  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) input::placeholder,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) select::placeholder,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .product-picker-input::placeholder,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input::placeholder,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select::placeholder,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input::placeholder{
    font-size:15px!important;
    font-weight:400!important;
    line-height:1.2!important;
  }

  body[data-page="dashboard"] .calculator-column > .card:nth-child(3) .small-clear{
    font-size:14px!important;
    font-weight:700!important;
  }
}

/* Section 3 Clear button placement only - keep Clear at the far right of the section header */
body[data-page="dashboard"] #analogBox h2,
body[data-page="dashboard"] #ipBox h2,
body[data-page="dashboard"] #speakerBox h2{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
}
body[data-page="dashboard"] #analogBox h2 .small-clear,
body[data-page="dashboard"] #ipBox h2 .small-clear,
body[data-page="dashboard"] #speakerBox h2 .small-clear{
  float:none!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}

/* Form label-to-input spacing reference: match "Additional Accessories Cost" */
body[data-page="dashboard"] label{
  margin-bottom:10px!important;
}
body[data-page="dashboard"] input:not([type="radio"]):not([type="checkbox"]),
body[data-page="dashboard"] select,
body[data-page="dashboard"] textarea,
body[data-page="dashboard"] .product-picker-input,
body[data-page="dashboard"] .product-preview-card{
  margin-top:2px!important;
}
body[data-page="dashboard"] .product-picker,
body[data-page="dashboard"] .product-picker-qty,
body[data-page="dashboard"] .product-picker-qty-select{
  margin-top:0!important;
}

/* Stronger dashboard form spacing override: keep all labels attached like "Additional Accessories Cost" */
body[data-page="dashboard"] .calculator-column > .card label,
body[data-page="dashboard"] #analogBox label,
body[data-page="dashboard"] #ipBox label,
body[data-page="dashboard"] #speakerBox label{
  margin-bottom:10px!important;
}
body[data-page="dashboard"] .calculator-column > .card .system-filter-box:not(.product-preview-box) select.brand-filter,
body[data-page="dashboard"] .calculator-column > .card .system-filter-box.product-preview-box .product-preview-card,
body[data-page="dashboard"] #analogBox input:not([type="radio"]):not([type="checkbox"]),
body[data-page="dashboard"] #analogBox select,
body[data-page="dashboard"] #analogBox .product-picker-input,
body[data-page="dashboard"] #ipBox input:not([type="radio"]):not([type="checkbox"]),
body[data-page="dashboard"] #ipBox select,
body[data-page="dashboard"] #ipBox .product-picker-input,
body[data-page="dashboard"] #speakerBox input:not([type="radio"]):not([type="checkbox"]),
body[data-page="dashboard"] #speakerBox select,
body[data-page="dashboard"] #speakerBox .product-picker-input,
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]),
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
  margin-top:2px!important;
}
body[data-page="dashboard"] #analogBox .product-picker,
body[data-page="dashboard"] #analogBox .product-picker-qty,
body[data-page="dashboard"] #analogBox .product-picker-qty-select,
body[data-page="dashboard"] #ipBox .product-picker,
body[data-page="dashboard"] #ipBox .product-picker-qty,
body[data-page="dashboard"] #ipBox .product-picker-qty-select,
body[data-page="dashboard"] #speakerBox .product-picker,
body[data-page="dashboard"] #speakerBox .product-picker-qty,
body[data-page="dashboard"] #speakerBox .product-picker-qty-select{
  margin-top:0!important;
}

/* Section 4 picker wrapper spacing: match "Additional Accessories Cost" */
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker,
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-qty,
body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-qty-select{
  margin-top:0!important;
}

/* Product display readability: show full product names and prices, no hidden ellipsis */
body[data-page="dashboard"] .product-picker-input.has-value{
  font-size:16px!important;
  font-weight:800!important;
  color:#0f172a!important;
}
body[data-page="dashboard"] .product-picker-list{
  max-height:340px!important;
  overflow:auto!important;
  z-index:95!important;
}
body[data-page="dashboard"] .product-picker-option{
  min-height:44px!important;
  padding:10px 12px!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]::after{
  content:attr(data-full-label);
  display:block;
  margin-top:6px;
  padding:8px 10px;
  border:1px solid #dbe4ef;
  border-radius:8px;
  background:#f8fbff;
  color:#10213b;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product{
  height:auto!important;
  min-height:118px!important;
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:start!important;
  padding:10px!important;
  overflow:visible!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image{
  width:96px!important;
  height:96px!important;
  min-width:96px!important;
  flex:0 0 96px!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image img{
  max-width:100%!important;
  max-height:100%!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy{
  display:block!important;
  min-width:0!important;
  line-height:1.22!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy strong,
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy small{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy strong{
  font-size:15px!important;
  font-weight:800!important;
  color:#0f172a!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy small{
  margin-top:6px!important;
  font-size:14px!important;
  font-weight:800!important;
  color:#0b5ee8!important;
}

/* Product preview card: give full product name and price full-width space */
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product{
  min-height:150px!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  gap:8px!important;
  align-items:stretch!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image{
  width:100%!important;
  height:76px!important;
  min-width:0!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy{
  width:100%!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy strong{
  font-size:15px!important;
  line-height:1.2!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy small{
  font-size:15px!important;
  line-height:1.15!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]::after{
  font-size:15px!important;
  font-weight:800!important;
}

/* Product selected display: show once inside the input box, not duplicated below */
body[data-page="dashboard"] .product-picker[data-full-label]{
  position:relative!important;
}
body[data-page="dashboard"] .product-picker[data-full-label] .product-picker-input.has-value{
  height:auto!important;
  min-height:58px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
  color:transparent!important;
  caret-color:#0f172a!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]::after{
  content:attr(data-full-label)!important;
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  pointer-events:none!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]:focus-within::after{
  display:none!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  color:#0f172a!important;
}

/* Section 1 product previews: image-only clean preview cards */
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:150px!important;
  min-height:150px!important;
  padding:6px!important;
  overflow:hidden!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-copy{
  display:none!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:0!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  background:#fff!important;
}

/* Section 1 product previews: keep card size fixed before and after selection */
body[data-page="dashboard"] .system-filter-box.product-preview-box{
  min-height:198px!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card,
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:150px!important;
  min-height:150px!important;
  max-height:150px!important;
  padding:6px!important;
  overflow:hidden!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image,
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:0!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image img,
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  background:#fff!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-copy{
  display:none!important;
}

/* Product picker dropdown: one-line rows so more products are visible */
body[data-page="dashboard"] .product-picker-option{
  min-height:36px!important;
  height:36px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:36px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-page="dashboard"] .product-picker-list{
  max-height:320px!important;
}

/* Product picker dropdown: expand to show all product rows */
body[data-page="dashboard"] .product-picker-list{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  z-index:9999!important;
}
body[data-page="dashboard"] .product-picker-option{
  flex:0 0 36px!important;
}

/* Product picker text weight: product values normal, labels remain bold */
body[data-page="dashboard"] .product-picker-input,
body[data-page="dashboard"] .product-picker-input.has-value,
body[data-page="dashboard"] .product-picker[data-full-label]::after,
body[data-page="dashboard"] .product-picker-option{
  font-weight:500!important;
}

/* Final A4 Live Quotation Summary print/PDF layout - full width, compact one-page invoice */
@media print{
  @page{size:A4 portrait;margin:7mm!important}
  html,
  body{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body.print-full-summary{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body.print-full-summary *{
    visibility:hidden!important;
  }
  body.print-full-summary .sidebar,
  body.print-full-summary .topbar,
  body.print-full-summary .calculator-column,
  body.print-full-summary .mobile-bottom-nav,
  body.print-full-summary .app-footer{
    display:none!important;
    height:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.print-full-summary .app,
  body.print-full-summary .main,
  body.print-full-summary .content,
  body.print-full-summary .dashboard-grid,
  body.print-full-summary .summary-column{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    transform:none!important;
  }
  body.print-full-summary .summary,
  body.print-full-summary .live-summary,
  body.print-full-summary #quotationSummary{
    visibility:visible!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:196mm!important;
    max-width:196mm!important;
    min-width:196mm!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    border:1px solid #cfd8e3!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.print-full-summary .summary *,
  body.print-full-summary .live-summary *,
  body.print-full-summary #quotationSummary *{
    visibility:visible!important;
    box-sizing:border-box!important;
  }
  body.print-full-summary .summary h2{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0 10px!important;
    background:#123b70!important;
    color:#fff!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:30px!important;
    overflow:hidden!important;
  }
  body.print-full-summary .summary h2 b{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:16px!important;
    padding:0 7px!important;
    border-radius:999px!important;
    background:#bbf7d0!important;
    color:#064e3b!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:16px!important;
    white-space:nowrap!important;
  }
  body.print-full-summary .live-summary-meta{
    display:block!important;
    margin:0!important;
    padding:6px 10px!important;
    background:#eef6ff!important;
    color:#1e3a8a!important;
    border-bottom:1px solid #dbeafe!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1.2!important;
  }
  body.print-full-summary .summary-table-wrap{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:7px 9px 5px!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body.print-full-summary .summary-table{
    display:table!important;
    width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    margin:0!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:10px!important;
    line-height:1.14!important;
    page-break-inside:auto!important;
  }
  body.print-full-summary .summary-table thead{display:table-header-group!important}
  body.print-full-summary .summary-table tbody{display:table-row-group!important}
  body.print-full-summary .summary-table tr{
    display:table-row!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.print-full-summary .summary-table th,
  body.print-full-summary .summary-table td{
    display:table-cell!important;
    padding:4px 6px!important;
    border-bottom:1px solid #d9e2ec!important;
    color:#0f172a!important;
    background:#fff!important;
    vertical-align:middle!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.14!important;
    overflow:visible!important;
  }
  body.print-full-summary .summary-table th{
    background:#edf3fa!important;
    color:#334155!important;
    text-transform:uppercase!important;
    font-size:10px!important;
    font-weight:900!important;
  }
  body.print-full-summary .summary-table th:nth-child(1),
  body.print-full-summary .summary-table td:nth-child(1){
    width:70%!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body.print-full-summary .summary-table th:nth-child(2),
  body.print-full-summary .summary-table td:nth-child(2){
    width:10%!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  body.print-full-summary .summary-table th:nth-child(3),
  body.print-full-summary .summary-table td:nth-child(3){
    width:20%!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  body.print-full-summary .summary-table td:first-child small{
    display:block!important;
    margin-top:1px!important;
    color:#64748b!important;
    font-size:7px!important;
    line-height:1.02!important;
  }
  body.print-full-summary .summary-table td:last-child b{
    color:#0b5ee8!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body.print-full-summary .summary-table tr.summary-zero-row{
    display:none!important;
  }
  body.print-full-summary .summary-total{
    display:block!important;
    margin:5px 9px 7px!important;
    padding:6px!important;
    border:1px solid #d7dee8!important;
    border-radius:6px!important;
    background:#fff!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  body.print-full-summary .summary-total hr{display:none!important}
  body.print-full-summary .summary-total .sum-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    min-height:0!important;
    margin:0 0 4px!important;
    padding:6px 9px!important;
    border:0!important;
    border-radius:5px!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1.1!important;
    color:#0f172a!important;
  }
  body.print-full-summary .summary-total .sum-row span{
    white-space:nowrap!important;
    color:inherit!important;
  }
  body.print-full-summary .summary-total .sum-row strong{
    margin-left:auto!important;
    color:#0b5ee8!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1.1!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  body.print-full-summary .summary-total .sum-material{background:#eff6ff!important;color:#0b5ee8!important}
  body.print-full-summary .summary-total .sum-install{background:#fff7df!important;color:#b45309!important}
  body.print-full-summary .summary-total .sum-addon{background:#f5ecff!important;color:#7c3aed!important}
  body.print-full-summary .summary-total .sum-grand{
    height:36px!important;
    margin:5px 0 0!important;
    padding:0 11px!important;
    background:#123b70!important;
    color:#fff!important;
    border-radius:5px!important;
  }
  body.print-full-summary .summary-total .sum-grand span{
    color:#fff!important;
    font-size:12px!important;
  }
  body.print-full-summary .summary-total .sum-grand strong{
    color:#fff!important;
    font-size:20px!important;
  }
}

/* 2026-06-18: Compact CCTV System Type cards while making card words easier to read */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice{
  min-height:92px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
  min-height:92px!important;
  padding:12px 18px!important;
  gap:10px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy{
  gap:4px!important;
  max-width:calc(100% - 58px)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy strong{
  font-size:clamp(28px,2.1vw,34px)!important;
  line-height:1!important;
  font-weight:800!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy small{
  font-size:clamp(13px,.95vw,15px)!important;
  line-height:1.05!important;
}

/* 2026-06-18: Khmer mode professional wording/readability override */
@font-face{
  font-family:"Kantumruy Pro";
  font-style:normal;
  font-weight:800 900;
  font-display:swap;
  src:url("fonts/khmer/KantumruyPro-Bold.ttf") format("truetype");
}
html[data-lang="km"],
html[data-lang="km"] body,
html[data-lang="km"] button,
html[data-lang="km"] input,
html[data-lang="km"] select,
html[data-lang="km"] textarea,
html[data-lang="km"] table,
html[data-lang="km"] label,
html[data-lang="km"] .card,
html[data-lang="km"] .summary,
html[data-lang="km"] .sidebar{
  font-family:"Kantumruy Pro","Noto Sans Khmer","Battambang","Khmer OS Battambang",sans-serif!important;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
}
html[data-lang="km"] body[data-page="dashboard"] .card h2,
html[data-lang="km"] body[data-page="dashboard"] .summary h2,
html[data-lang="km"] body[data-page="dashboard"] .topbar h1{
  font-weight:900!important;
  letter-spacing:-0.01em!important;
  line-height:1.28!important;
}
html[data-lang="km"] body[data-page="dashboard"] label,
html[data-lang="km"] body[data-page="dashboard"] .field-label,
html[data-lang="km"] body[data-page="dashboard"] .auto-box span,
html[data-lang="km"] body[data-page="dashboard"] .summary-table th,
html[data-lang="km"] body[data-page="dashboard"] .summary-table td,
html[data-lang="km"] body[data-page="dashboard"] .sum-row,
html[data-lang="km"] body[data-page="dashboard"] .menu a,
html[data-lang="km"] body[data-page="dashboard"] button{
  font-weight:800!important;
  line-height:1.35!important;
}
html[data-lang="km"] body[data-page="dashboard"] input,
html[data-lang="km"] body[data-page="dashboard"] select,
html[data-lang="km"] body[data-page="dashboard"] textarea,
html[data-lang="km"] body[data-page="dashboard"] .product-select{
  font-weight:700!important;
  line-height:1.35!important;
}
html[data-lang="km"] body[data-page="dashboard"] input::placeholder,
html[data-lang="km"] body[data-page="dashboard"] textarea::placeholder{
  font-weight:600!important;
  color:#9aa8bc!important;
}
html[data-lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy strong{
  font-family:"Kantumruy Pro","Noto Sans Khmer","Battambang",sans-serif!important;
  font-weight:900!important;
  line-height:1!important;
}
html[data-lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy small{
  font-weight:800!important;
  line-height:1.05!important;
}

/* 2026-06-18: Move product quantity controls to Section 1 preview tiles */
body[data-page="dashboard"] .system-filter-box.product-preview-box{
  position:relative!important;
}
body[data-page="dashboard"] .system-filter-box.product-preview-box[data-has-preview-qty="1"] > label{
  padding-right:112px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-page="dashboard"] .product-preview-qty-controls{
  position:absolute!important;
  top:8px!important;
  right:10px!important;
  z-index:6!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  pointer-events:auto!important;
}
body[data-page="dashboard"] .product-preview-qty-controls[hidden]{
  display:none!important;
}
body[data-page="dashboard"] .product-preview-qty-btn{
  width:34px!important;
  height:24px!important;
  min-height:24px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.65)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#38bdf8 0%,#0284c7 100%)!important;
  color:#fff!important;
  box-shadow:0 2px 6px rgba(2,132,199,.28),inset 0 1px 0 rgba(255,255,255,.55)!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
}
body[data-page="dashboard"] .product-preview-qty-btn:hover{
  background:linear-gradient(180deg,#60a5fa 0%,#0b5ee8 100%)!important;
  transform:translateY(-1px)!important;
}
body[data-page="dashboard"] .product-preview-qty-value{
  min-width:28px!important;
  height:24px!important;
  padding:0 7px!important;
  border:1px solid #bfdbfe!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0b5ee8!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 2px 6px rgba(15,23,42,.08)!important;
}
body[data-page="dashboard"] #analogBox .product-picker-qty,
body[data-page="dashboard"] #ipBox .product-picker-qty,
body[data-page="dashboard"] #speakerBox .product-picker-qty{
  grid-template-columns:minmax(0,1fr)!important;
}
body[data-page="dashboard"] #analogBox .product-picker-qty > .line-qty,
body[data-page="dashboard"] #ipBox .product-picker-qty > .line-qty,
body[data-page="dashboard"] #speakerBox .product-picker-qty > .line-qty{
  position:absolute!important;
  width:1px!important;
  min-width:1px!important;
  height:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
@media(max-width:760px){
  body[data-page="dashboard"] .system-filter-box.product-preview-box[data-has-preview-qty="1"] > label{
    padding-right:92px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-controls{
    top:6px!important;
    right:7px!important;
    gap:4px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-btn{
    width:28px!important;
    height:22px!important;
    min-height:22px!important;
    font-size:16px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-value{
    min-width:24px!important;
    height:22px!important;
    font-size:12px!important;
  }
}

/* 2026-06-18: Professional larger preview quantity controls */
body[data-page="dashboard"] .system-filter-box.product-preview-box[data-has-preview-qty="1"] > label{
  padding-right:138px!important;
}
body[data-page="dashboard"] .product-preview-qty-controls{
  top:7px!important;
  right:12px!important;
  gap:8px!important;
  padding:3px 4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(191,219,254,.9)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
  backdrop-filter:blur(6px)!important;
}
body[data-page="dashboard"] .product-preview-qty-btn{
  width:40px!important;
  height:30px!important;
  min-height:30px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  background:linear-gradient(180deg,#38bdf8 0%,#0284c7 100%)!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(2,132,199,.34),inset 0 1px 0 rgba(255,255,255,.55)!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
}
body[data-page="dashboard"] .product-preview-qty-value{
  min-width:38px!important;
  height:30px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%)!important;
  color:#0b5ee8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 8px rgba(15,23,42,.08)!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
}
@media(max-width:760px){
  body[data-page="dashboard"] .system-filter-box.product-preview-box[data-has-preview-qty="1"] > label{
    padding-right:112px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-controls{
    top:5px!important;
    right:6px!important;
    gap:5px!important;
    padding:2px 3px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-btn{
    width:32px!important;
    height:24px!important;
    min-height:24px!important;
    font-size:18px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-value{
    min-width:30px!important;
    height:24px!important;
    font-size:13px!important;
  }
}

/* 2026-06-18: Laptop Chrome 100% dashboard fit mode - no page scroll */
@media (min-width: 1000px) and (max-height: 1100px){
  html,
  body[data-page="dashboard"]{
    height:100vh!important;
    max-height:100vh!important;
    overflow:hidden!important;
  }
  body[data-page="dashboard"] .main{
    height:100vh!important;
    min-height:100vh!important;
    overflow:hidden!important;
  }
  body[data-page="dashboard"] .topbar{
    min-height:52px!important;
    height:52px!important;
    padding:6px 12px!important;
    gap:10px!important;
  }
  body[data-page="dashboard"] .topbar h1{
    font-size:22px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .topbar p{
    margin-top:2px!important;
    font-size:11px!important;
    line-height:1.1!important;
  }
  body[data-page="dashboard"] .actions{
    gap:6px!important;
  }
  body[data-page="dashboard"] .actions button{
    height:32px!important;
    padding:0 12px!important;
    border-radius:7px!important;
    font-size:12px!important;
    line-height:1!important;
  }
  body[data-page="dashboard"] .content.dashboard-grid{
    height:calc(100vh - 52px)!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:5px 6px!important;
    gap:6px!important;
    grid-template-columns:minmax(0,1fr) minmax(300px,34%)!important;
    align-items:start!important;
  }
  body[data-page="dashboard"] .calculator-column,
  body[data-page="dashboard"] .summary-column{
    height:100%!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .calculator-column > .card{
    margin-bottom:4px!important;
    border-radius:7px!important;
    box-shadow:0 4px 12px rgba(15,23,42,.05)!important;
  }
  body[data-page="dashboard"] .card h2,
  body[data-page="dashboard"] #analogBox h2,
  body[data-page="dashboard"] #ipBox h2,
  body[data-page="dashboard"] #speakerBox h2,
  body[data-page="dashboard"] .summary h2,
  body[data-page="dashboard"] .live-summary h2{
    min-height:0!important;
    padding:6px 10px!important;
    font-size:18px!important;
    line-height:1.08!important;
    font-weight:800!important;
  }
  body[data-page="dashboard"] .body{
    padding:6px 8px!important;
  }
  body[data-page="dashboard"] label,
  body[data-page="dashboard"] .system-filter-box label,
  body[data-page="dashboard"] .row3 label,
  body[data-page="dashboard"] #analogBox label,
  body[data-page="dashboard"] #ipBox label,
  body[data-page="dashboard"] #speakerBox label{
    font-size:11px!important;
    line-height:1.05!important;
    margin-bottom:2px!important;
    font-weight:800!important;
  }
  body[data-page="dashboard"] input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] select,
  body[data-page="dashboard"] textarea,
  body[data-page="dashboard"] .product-picker-input{
    height:32px!important;
    min-height:32px!important;
    margin-top:1px!important;
    padding:0 8px!important;
    font-size:12px!important;
    line-height:1.05!important;
    border-radius:7px!important;
  }
  body[data-page="dashboard"] input::placeholder,
  body[data-page="dashboard"] textarea::placeholder,
  body[data-page="dashboard"] .product-picker-input::placeholder{
    font-size:11px!important;
  }
  body[data-page="dashboard"] .type-grid{
    gap:6px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
    min-height:58px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
    padding:7px 10px!important;
    gap:8px!important;
    border-radius:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
    border-radius:10px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon img{
    width:19px!important;
    height:19px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy{
    gap:1px!important;
    max-width:calc(100% - 42px)!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy strong{
    font-size:clamp(19px,1.7vw,25px)!important;
    line-height:1!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy small{
    font-size:10px!important;
    line-height:1!important;
  }
  body[data-page="dashboard"] .price-mode{
    min-height:0!important;
    padding:4px 6px!important;
    gap:6px!important;
  }
  body[data-page="dashboard"] .price-mode label{
    min-height:28px!important;
    height:28px!important;
    padding:0 8px!important;
    font-size:11px!important;
  }
  body[data-page="dashboard"] .system-filter-row{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:6px!important;
  }
  body[data-page="dashboard"] .system-filter-box,
  body[data-page="dashboard"] .system-filter-box.product-preview-box{
    min-height:88px!important;
    height:88px!important;
    padding:5px!important;
    border-radius:7px!important;
    overflow:hidden!important;
  }
  body[data-page="dashboard"] .system-filter-box:not(.product-preview-box) select.brand-filter{
    height:32px!important;
    min-height:32px!important;
    margin-top:3px!important;
    font-size:12px!important;
    font-weight:800!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card,
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product{
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    margin-top:3px!important;
    padding:3px!important;
    border-radius:7px!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image,
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product .product-preview-image{
    height:100%!important;
    width:100%!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image img{
    max-height:52px!important;
    max-width:100%!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box[data-has-preview-qty="1"] > label{
    padding-right:112px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-controls{
    top:4px!important;
    right:5px!important;
    gap:4px!important;
    padding:2px 3px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-btn{
    width:30px!important;
    height:22px!important;
    min-height:22px!important;
    font-size:17px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-value{
    min-width:28px!important;
    height:22px!important;
    font-size:12px!important;
  }
  body[data-page="dashboard"] .auto-wrap{
    gap:6px!important;
  }
  body[data-page="dashboard"] .auto-box,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box{
    height:54px!important;
    padding:5px 8px!important;
    border-radius:8px!important;
  }
  body[data-page="dashboard"] .auto-box span,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box span{
    font-size:11px!important;
    line-height:1!important;
  }
  body[data-page="dashboard"] .auto-box b,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box b{
    font-size:24px!important;
    line-height:1!important;
    margin-top:2px!important;
  }
  body[data-page="dashboard"] .row3,
  body[data-page="dashboard"] #analogBox .row3,
  body[data-page="dashboard"] #ipBox .row3,
  body[data-page="dashboard"] #speakerBox .row3{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px 7px!important;
  }
  body[data-page="dashboard"] .field-block,
  body[data-page="dashboard"] .brand-row{
    margin-top:4px!important;
    margin-bottom:4px!important;
  }
  body[data-page="dashboard"] .product-picker[data-full-label] .product-picker-input.has-value{
    min-height:34px!important;
    height:34px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
  }
  body[data-page="dashboard"] .product-picker[data-full-label]::after{
    left:8px!important;
    right:8px!important;
    font-size:10.5px!important;
    line-height:1.1!important;
    font-weight:800!important;
  }
  body[data-page="dashboard"] .product-picker-list{
    max-height:190px!important;
  }
  body[data-page="dashboard"] .product-picker-option{
    min-height:28px!important;
    padding:6px 8px!important;
    font-size:11px!important;
    line-height:1.1!important;
  }
  body[data-page="dashboard"] .small-clear{
    height:26px!important;
    min-height:26px!important;
    padding:0 9px!important;
    font-size:11px!important;
    border-radius:6px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .body.row3{
    padding:6px 8px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .action-bar{
    padding:8px 8px 8px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .button-row{
    gap:8px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-main,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-reset,
  body[data-page="dashboard"] .btn-main,
  body[data-page="dashboard"] .btn-reset{
    height:32px!important;
    min-height:32px!important;
    padding:0 14px!important;
    border-radius:7px!important;
    font-size:12px!important;
  }
  body[data-page="dashboard"] .summary{
    position:relative!important;
    top:auto!important;
    height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  body[data-page="dashboard"] .live-summary-meta{
    padding:6px 10px!important;
    font-size:13px!important;
    line-height:1.1!important;
  }
  body[data-page="dashboard"] .summary-table-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    padding:6px 8px!important;
    overflow:auto!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    padding:6px 7px!important;
    font-size:11px!important;
    line-height:1.12!important;
  }
  body[data-page="dashboard"] .summary-total{
    flex:0 0 auto!important;
    margin:4px 8px 8px!important;
    padding:6px!important;
    border-radius:8px!important;
  }
  body[data-page="dashboard"] .sum-row{
    min-height:28px!important;
    padding:6px 8px!important;
    margin-bottom:4px!important;
    font-size:12px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .sum-row strong{
    font-size:12px!important;
  }
  body[data-page="dashboard"] .sum-row.grand{
    min-height:34px!important;
  }
  body[data-page="dashboard"] .sum-row.grand span{
    font-size:13px!important;
  }
  body[data-page="dashboard"] .sum-row.grand strong{
    font-size:20px!important;
  }
  body[data-page="dashboard"] .app-footer{
    display:none!important;
  }
}

/* 2026-06-18: Final laptop fit correction for high-specificity dashboard rules */
@media (min-width: 1000px) and (max-height: 820px){
  body[data-page="dashboard"] .calculator-column > .card > h2,
  body[data-page="dashboard"] .calculator-column > .system-box > h2,
  body[data-page="dashboard"] #analogBox > h2,
  body[data-page="dashboard"] #ipBox > h2,
  body[data-page="dashboard"] #speakerBox > h2{
    height:auto!important;
    min-height:0!important;
    padding:4px 8px!important;
    font-size:16px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .calculator-column > .card > .body,
  body[data-page="dashboard"] .calculator-column > .system-box > .body,
  body[data-page="dashboard"] #analogBox > .body,
  body[data-page="dashboard"] #ipBox > .body,
  body[data-page="dashboard"] #speakerBox > .body{
    padding:4px 6px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) > h2,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) > h2{
    padding:4px 8px!important;
    font-size:16px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > .body,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) > .body,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) > .body{
    padding:4px 6px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
    min-height:48px!important;
    height:48px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill{
    padding:5px 8px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy strong{
    font-size:22px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy small{
    font-size:9px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  body[data-page="dashboard"] .price-mode{
    padding:2px 4px!important;
    margin:3px 0!important;
  }
  body[data-page="dashboard"] .price-mode label{
    height:24px!important;
    min-height:24px!important;
    font-size:10px!important;
    margin:0!important;
  }
  body[data-page="dashboard"] .system-filter-row{
    gap:4px!important;
    margin-top:3px!important;
  }
  body[data-page="dashboard"] .system-filter-box,
  body[data-page="dashboard"] .system-filter-box.product-preview-box{
    height:68px!important;
    min-height:68px!important;
    padding:3px!important;
  }
  body[data-page="dashboard"] .system-filter-box label,
  body[data-page="dashboard"] .system-filter-box.product-preview-box label{
    height:13px!important;
    min-height:13px!important;
    margin:0!important;
    font-size:9px!important;
    line-height:13px!important;
  }
  body[data-page="dashboard"] .system-filter-box:not(.product-preview-box) select.brand-filter{
    height:28px!important;
    min-height:28px!important;
    margin-top:3px!important;
    font-size:11px!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card,
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-card.has-product{
    height:43px!important;
    min-height:43px!important;
    max-height:43px!important;
    margin-top:3px!important;
    padding:2px!important;
  }
  body[data-page="dashboard"] .system-filter-box.product-preview-box .product-preview-image img{
    max-height:39px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-controls{
    top:2px!important;
    right:3px!important;
    gap:3px!important;
    padding:1px 2px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-btn{
    width:25px!important;
    height:18px!important;
    min-height:18px!important;
    font-size:14px!important;
  }
  body[data-page="dashboard"] .product-preview-qty-value{
    min-width:22px!important;
    height:18px!important;
    font-size:10px!important;
    padding:0 5px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box,
  body[data-page="dashboard"] .auto-box{
    height:44px!important;
    min-height:44px!important;
    padding:4px 6px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box span,
  body[data-page="dashboard"] .auto-box span{
    font-size:9px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(2) .auto-box b,
  body[data-page="dashboard"] .auto-box b{
    font-size:19px!important;
    margin-top:1px!important;
  }
  body[data-page="dashboard"] #analogBox > .body.row3,
  body[data-page="dashboard"] #ipBox > .body.row3,
  body[data-page="dashboard"] #speakerBox > .body.row3{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:3px 5px!important;
    padding:4px 6px!important;
  }
  body[data-page="dashboard"] #analogBox .row3 label,
  body[data-page="dashboard"] #ipBox .row3 label,
  body[data-page="dashboard"] #speakerBox .row3 label,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) label{
    font-size:9px!important;
    line-height:1!important;
    margin:0 0 1px!important;
  }
  body[data-page="dashboard"] #analogBox input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] #analogBox select,
  body[data-page="dashboard"] #analogBox .product-picker-input,
  body[data-page="dashboard"] #ipBox input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] #ipBox select,
  body[data-page="dashboard"] #ipBox .product-picker-input,
  body[data-page="dashboard"] #speakerBox input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] #speakerBox select,
  body[data-page="dashboard"] #speakerBox .product-picker-input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
    height:26px!important;
    min-height:26px!important;
    margin-top:1px!important;
    padding:0 6px!important;
    font-size:10px!important;
  }
  body[data-page="dashboard"] .product-picker[data-full-label] .product-picker-input.has-value{
    height:28px!important;
    min-height:28px!important;
    padding-top:2px!important;
    padding-bottom:2px!important;
  }
  body[data-page="dashboard"] .product-picker[data-full-label]::after{
    left:6px!important;
    right:6px!important;
    font-size:8.5px!important;
    line-height:1!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) > .body.row3{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;
    padding:4px 6px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .action-bar{
    padding:4px 6px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-main,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .btn-reset{
    height:26px!important;
    min-height:26px!important;
    padding:0 10px!important;
    font-size:10px!important;
    border-radius:6px!important;
  }
  body[data-page="dashboard"] .summary h2,
  body[data-page="dashboard"] .live-summary h2{
    padding:5px 8px!important;
    font-size:16px!important;
  }
  body[data-page="dashboard"] .live-summary-meta{
    padding:4px 8px!important;
    font-size:11px!important;
  }
  body[data-page="dashboard"] .summary-table-wrap{
    padding:4px 6px!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    padding:4px 5px!important;
    font-size:9px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .summary-total{
    margin:3px 6px 5px!important;
    padding:4px!important;
  }
  body[data-page="dashboard"] .sum-row{
    min-height:22px!important;
    padding:4px 6px!important;
    margin-bottom:3px!important;
    font-size:10px!important;
  }
  body[data-page="dashboard"] .sum-row strong{
    font-size:10px!important;
  }
  body[data-page="dashboard"] .sum-row.grand{
    min-height:27px!important;
  }
  body[data-page="dashboard"] .sum-row.grand strong{
    font-size:16px!important;
  }
}

/* 2026-06-18: Keep selected products and live summary rows one-line at Chrome 100% / zoomed views */
body[data-page="dashboard"] .product-picker[data-full-label] .product-picker-input.has-value{
  height:32px!important;
  min-height:32px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]::after{
  top:50%!important;
  transform:translateY(-50%)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1!important;
  max-height:1.2em!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]:focus-within::after{
  display:none!important;
}
body[data-page="dashboard"] .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  color:#0f172a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-page="dashboard"] .summary-table{
  table-layout:fixed!important;
}
body[data-page="dashboard"] .summary-table th:nth-child(1),
body[data-page="dashboard"] .summary-table td:nth-child(1){
  width:66%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body[data-page="dashboard"] .summary-table th:nth-child(2),
body[data-page="dashboard"] .summary-table td:nth-child(2){
  width:12%!important;
  white-space:nowrap!important;
  text-align:center!important;
}
body[data-page="dashboard"] .summary-table th:nth-child(3),
body[data-page="dashboard"] .summary-table td:nth-child(3){
  width:22%!important;
  white-space:nowrap!important;
  text-align:right!important;
}
body[data-page="dashboard"] .summary-table td:first-child small{
  display:none!important;
}
body[data-page="dashboard"] .sum-row span,
body[data-page="dashboard"] .sum-row strong{
  white-space:nowrap!important;
}
@media (min-width: 1000px) and (max-height: 820px){
  body[data-page="dashboard"] #analogBox input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] #analogBox select,
  body[data-page="dashboard"] #analogBox .product-picker-input,
  body[data-page="dashboard"] #ipBox input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] #ipBox select,
  body[data-page="dashboard"] #ipBox .product-picker-input,
  body[data-page="dashboard"] #speakerBox input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] #speakerBox select,
  body[data-page="dashboard"] #speakerBox .product-picker-input,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]),
  body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
    height:28px!important;
    min-height:28px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body[data-page="dashboard"] .product-picker[data-full-label] .product-picker-input.has-value{
    height:28px!important;
    min-height:28px!important;
  }
  body[data-page="dashboard"] .product-picker[data-full-label]::after{
    font-size:9.5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-height:12px!important;
  }
  body[data-page="dashboard"] .summary-table th:nth-child(1),
  body[data-page="dashboard"] .summary-table td:nth-child(1){
    width:64%!important;
  }
  body[data-page="dashboard"] .summary-table th:nth-child(3),
  body[data-page="dashboard"] .summary-table td:nth-child(3){
    width:24%!important;
  }
}

/* 2026-06-18: Final force Live Summary item cells one-line */
body[data-page="dashboard"] .summary.live-summary .summary-table th:nth-child(1),
body[data-page="dashboard"] .summary.live-summary .summary-table td:nth-child(1),
body[data-page="dashboard"] .live-summary .summary-table tbody tr td:first-child{
  width:64%!important;
  max-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body[data-page="dashboard"] .summary.live-summary .summary-table th:nth-child(2),
body[data-page="dashboard"] .summary.live-summary .summary-table td:nth-child(2){
  width:12%!important;
  white-space:nowrap!important;
  text-align:center!important;
}
body[data-page="dashboard"] .summary.live-summary .summary-table th:nth-child(3),
body[data-page="dashboard"] .summary.live-summary .summary-table td:nth-child(3){
  width:24%!important;
  white-space:nowrap!important;
  text-align:right!important;
}
body[data-page="dashboard"] .summary.live-summary .summary-table td:first-child small{
  display:none!important;
}

/* 2026-06-18: Section 1 polish - clearer type badges and price mode readability */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2{
  min-height:42px!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.15!important;
  color:#07162f!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2 span{
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:0!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-shadow:0 1px 2px rgba(0,0,0,.22)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon img{
  display:none!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice.type-analog .type-icon::after{
  content:"HD"!important;
  font-size:13px!important;
  line-height:1!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice.type-ip .type-icon::after{
  content:"IP"!important;
  font-size:13px!important;
  line-height:1!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice.type-speaker .type-icon::after{
  content:"SPK"!important;
  font-size:11px!important;
  line-height:1!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control{
  margin-top:8px!important;
  padding:6px 8px!important;
  gap:8px!important;
  background:#f8fbff!important;
  border:1px solid #d6e3f3!important;
  border-radius:10px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control > span{
  font-size:14px!important;
  font-weight:900!important;
  color:#172033!important;
  white-space:nowrap!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label{
  height:30px!important;
  min-height:30px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  font-size:14px!important;
  font-weight:900!important;
  gap:7px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label b{
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label:has(input[value="special"]){
  background:#eaf2ff!important;
  border-color:#93c5fd!important;
  color:#0b5ee8!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label:has(input[value="dealer"]){
  background:#fff4e6!important;
  border-color:#fdba74!important;
  color:#b45309!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label:has(input:checked){
  box-shadow:0 0 0 2px rgba(11,94,232,.12)!important;
  filter:saturate(1.08)!important;
}
@media (min-width:1000px) and (max-height:820px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2{
    min-height:34px!important;
    padding:7px 10px!important;
    font-size:16px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control{
    margin-top:5px!important;
    padding:4px 7px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control > span,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label b{
    font-size:12px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label{
    height:24px!important;
    min-height:24px!important;
    padding:0 9px!important;
  }
}

/* 2026-06-18: Section 1 icon selector correction for live markup */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(1) .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice[type-analog] .type-icon::after{
  content:"HD"!important;
  display:block!important;
  font-size:13px!important;
  line-height:1!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(2) .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice[type-ip] .type-icon::after{
  content:"IP"!important;
  display:block!important;
  font-size:13px!important;
  line-height:1!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice[type-speaker] .type-icon::after{
  content:"SPK"!important;
  display:block!important;
  font-size:11px!important;
  line-height:1!important;
}
@media (min-width:1000px) and (max-height:820px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control > span,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label,
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label b{
    font-size:13px!important;
  }
}

/* 2026-06-18: Section 1 restore larger readable type icons */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.20)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 18px rgba(0,0,0,.14)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon::after{
  content:none!important;
  display:none!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon img{
  display:block!important;
  width:25px!important;
  height:25px!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0,0,0,.28))!important;
}
@media (min-width:1000px) and (max-height:820px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon img{
    width:23px!important;
    height:23px!important;
  }
}

/* 2026-06-18: Section 1 remove old text badge layer after restoring icons */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(1) .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(2) .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice[type-analog] .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice[type-ip] .type-icon::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-choice[type-speaker] .type-icon::after{
  content:none!important;
  display:none!important;
  font-size:0!important;
}

/* 2026-06-18: Section 1 full-size visual icons inside type cards */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  border-radius:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.22)!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 10px 22px rgba(0,0,0,.16)!important;
  overflow:hidden!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon::after{
  content:none!important;
  display:none!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon img{
  display:block!important;
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0,0,0,.30))!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy{
  max-width:calc(100% - 60px)!important;
}
@media (min-width:1000px) and (max-height:820px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
    border-radius:15px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-icon img{
    width:32px!important;
    height:32px!important;
    max-width:32px!important;
    max-height:32px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-pill .type-copy{
    max-width:calc(100% - 54px)!important;
  }
}

/* 2026-06-18: Match Section 1 title typography to Section 2 */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2{
  font-size:28px!important;
  font-weight:800!important;
  line-height:1.08!important;
  min-height:55px!important;
  padding:12px 16px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2 span{
  font-size:28px!important;
  font-weight:800!important;
  line-height:1.08!important;
}
@media (min-width:1000px) and (max-height:820px){
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2{
    font-size:16px!important;
    font-weight:800!important;
    line-height:1.05!important;
    min-height:26px!important;
    height:26px!important;
    padding:4px 8px!important;
  }
  body[data-page="dashboard"] .calculator-column > .card:nth-child(1) > h2 span{
    font-size:16px!important;
    font-weight:800!important;
    line-height:1.05!important;
  }
}

/* 2026-06-18: Speaker mode selector readable text and normal radio sizing */
body[data-page="dashboard"] #speakerBox .speaker-mode-grid label{
  min-height:48px!important;
  height:48px!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-align:center!important;
}
body[data-page="dashboard"] #speakerBox .speaker-mode-grid label span{
  display:inline-block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:calc(100% - 36px)!important;
  font-size:inherit!important;
  font-weight:900!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-page="dashboard"] #speakerBox .speaker-mode-grid input[type="radio"]{
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  flex:0 0 22px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#0b5ee8!important;
}
@media (min-width:1000px) and (max-height:820px){
  body[data-page="dashboard"] #speakerBox .speaker-mode-grid label{
    min-height:42px!important;
    height:42px!important;
    padding:0 12px!important;
    gap:10px!important;
    font-size:16px!important;
  }
  body[data-page="dashboard"] #speakerBox .speaker-mode-grid input[type="radio"]{
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    flex-basis:20px!important;
  }
  body[data-page="dashboard"] #speakerBox .speaker-mode-grid label span{
    max-width:calc(100% - 30px)!important;
  }
}

/* 2026-06-18: Speaker mode selector background colors */
body[data-page="dashboard"] #speakerBox .speaker-mode-grid label:nth-child(1){
  background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%)!important;
  border-color:#fdba74!important;
  color:#9a3412!important;
}
body[data-page="dashboard"] #speakerBox .speaker-mode-grid label:nth-child(2){
  background:linear-gradient(180deg,#eef6ff 0%,#dbeafe 100%)!important;
  border-color:#93c5fd!important;
  color:#1d4ed8!important;
}
body[data-page="dashboard"] #speakerBox .speaker-mode-grid label:has(input:checked){
  box-shadow:0 0 0 2px rgba(11,94,232,.16),0 8px 18px rgba(15,23,42,.08)!important;
  filter:saturate(1.08)!important;
}
body[data-page="dashboard"] #speakerBox .speaker-mode-grid label:nth-child(1):has(input:checked){
  background:linear-gradient(180deg,#fed7aa 0%,#fb923c 100%)!important;
  border-color:#f97316!important;
  color:#7c2d12!important;
}
body[data-page="dashboard"] #speakerBox .speaker-mode-grid label:nth-child(2):has(input:checked){
  background:linear-gradient(180deg,#bfdbfe 0%,#60a5fa 100%)!important;
  border-color:#2563eb!important;
  color:#0f2f6d!important;
}

/* 2026-06-18: Hide duplicate inner label under Section 2 Auto Calculate Accessories */
body[data-page="dashboard"] .calculator-column > .card:nth-child(2) label[data-i18n="label_auto"]{
  display:none!important;
}

/* 2026-06-18: Lock dashboard form input boxes to Cable Meter reference size */
html body[data-page="dashboard"] .calculator-column .system-box input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column .system-box select,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker-input,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  margin-top:1px!important;
  padding:0 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:12px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] .calculator-column .system-box .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  margin-top:1px!important;
  padding:0 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
  line-height:12px!important;
  box-sizing:border-box!important;
  transform:none!important;
}

/* 2026-06-18: Comfort-size fixed dashboard inputs after user review */
html body[data-page="dashboard"] .calculator-column .system-box input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column .system-box select,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker-input,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin-top:2px!important;
  padding:0 8px!important;
  border-radius:8px!important;
  font-size:13px!important;
  line-height:36px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] .calculator-column .system-box .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column .system-box .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin-top:2px!important;
  padding:0 8px!important;
  border-radius:8px!important;
  font-size:13px!important;
  line-height:36px!important;
  box-sizing:border-box!important;
  transform:none!important;
}

/* 2026-06-18: Strong ID-specific fixed comfortable inputs */
html body[data-page="dashboard"] #analogBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #analogBox select,
html body[data-page="dashboard"] #analogBox .product-picker-input,
html body[data-page="dashboard"] #ipBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #ipBox select,
html body[data-page="dashboard"] #ipBox .product-picker-input,
html body[data-page="dashboard"] #speakerBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #speakerBox select,
html body[data-page="dashboard"] #speakerBox .product-picker-input,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin-top:2px!important;
  padding:0 8px!important;
  border-radius:8px!important;
  font-size:13px!important;
  line-height:36px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] #analogBox .product-picker-input.has-value,
html body[data-page="dashboard"] #analogBox .product-picker-input:focus,
html body[data-page="dashboard"] #analogBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #analogBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker-input:focus,
html body[data-page="dashboard"] #ipBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker-input:focus,
html body[data-page="dashboard"] #speakerBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin-top:2px!important;
  padding:0 8px!important;
  border-radius:8px!important;
  font-size:13px!important;
  line-height:36px!important;
  box-sizing:border-box!important;
  transform:none!important;
}

/* 2026-06-18: Larger eye-comfort dashboard input boxes */
html body[data-page="dashboard"] .calculator-column input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column select,
html body[data-page="dashboard"] .calculator-column .product-picker-input{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin-top:3px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:15px!important;
  line-height:42px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] .calculator-column .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin-top:3px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:15px!important;
  line-height:42px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] .calculator-column input::placeholder,
html body[data-page="dashboard"] .calculator-column .product-picker-input::placeholder{
  font-size:14px!important;
}

/* 2026-06-18: Stronger eye-comfort inputs override */
html body[data-page="dashboard"] #analogBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #analogBox select,
html body[data-page="dashboard"] #analogBox .product-picker-input,
html body[data-page="dashboard"] #ipBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #ipBox select,
html body[data-page="dashboard"] #ipBox .product-picker-input,
html body[data-page="dashboard"] #speakerBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #speakerBox select,
html body[data-page="dashboard"] #speakerBox .product-picker-input,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin-top:3px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:15px!important;
  line-height:42px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] #analogBox .product-picker-input.has-value,
html body[data-page="dashboard"] #analogBox .product-picker-input:focus,
html body[data-page="dashboard"] #analogBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #analogBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker-input:focus,
html body[data-page="dashboard"] #ipBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker-input:focus,
html body[data-page="dashboard"] #speakerBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  margin-top:3px!important;
  padding:0 10px!important;
  border-radius:9px!important;
  font-size:15px!important;
  line-height:42px!important;
  box-sizing:border-box!important;
  transform:none!important;
}

/* 2026-06-18: Extra-large eye-comfort dashboard inputs */
html body[data-page="dashboard"] #analogBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #analogBox select,
html body[data-page="dashboard"] #analogBox .product-picker-input,
html body[data-page="dashboard"] #ipBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #ipBox select,
html body[data-page="dashboard"] #ipBox .product-picker-input,
html body[data-page="dashboard"] #speakerBox input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] #speakerBox select,
html body[data-page="dashboard"] #speakerBox .product-picker-input,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) select,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input{
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  margin-top:4px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:17px!important;
  line-height:50px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] #analogBox .product-picker-input.has-value,
html body[data-page="dashboard"] #analogBox .product-picker-input:focus,
html body[data-page="dashboard"] #analogBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #analogBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker-input:focus,
html body[data-page="dashboard"] #ipBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #ipBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker-input:focus,
html body[data-page="dashboard"] #speakerBox .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] #speakerBox .product-picker[data-full-label]:focus-within .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker-input:focus,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label] .product-picker-input.has-value,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) .product-picker[data-full-label]:focus-within .product-picker-input.has-value{
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  margin-top:4px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:17px!important;
  line-height:50px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
html body[data-page="dashboard"] .calculator-column input::placeholder,
html body[data-page="dashboard"] .calculator-column .product-picker-input::placeholder{
  font-size:16px!important;
}

/* 2026-06-18: Make equipment form labels fit larger input boxes */
html body[data-page="dashboard"] #analogBox .row3 label,
html body[data-page="dashboard"] #ipBox .row3 label,
html body[data-page="dashboard"] #speakerBox .row3 label,
html body[data-page="dashboard"] #speakerBox .speaker-grid label,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) label{
  display:flex!important;
  align-items:center!important;
  min-height:24px!important;
  height:24px!important;
  margin:0 0 6px!important;
  font-size:18px!important;
  line-height:24px!important;
  font-weight:900!important;
  color:#07162f!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body[data-page="dashboard"] #analogBox .row3 label::before,
html body[data-page="dashboard"] #ipBox .row3 label::before,
html body[data-page="dashboard"] #speakerBox .row3 label::before,
html body[data-page="dashboard"] #speakerBox .speaker-grid label::before,
html body[data-page="dashboard"] .calculator-column > .card:nth-child(6) label::before{
  flex:0 0 auto!important;
  margin-right:6px!important;
}

/* 2026-06-18: Keep admin sidebar fixed while navigating/clicking */
@media (min-width:761px){
  body.admin-view .sidebar{
    width:248px!important;
    min-width:248px!important;
    max-width:248px!important;
    flex:0 0 248px!important;
    flex-shrink:0!important;
    box-sizing:border-box!important;
  }
  body.admin-view .main{
    margin-left:248px!important;
    width:calc(100% - 248px)!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

/* 2026-06-18: Keep sidebar inner sizing consistent across admin pages */
@media (min-width:761px){
  body.admin-view .logo{
    min-height:82px!important;
    height:82px!important;
    padding:0 18px!important;
    font-size:18px!important;
    box-sizing:border-box!important;
  }
  body.admin-view .logo strong{
    font-size:20px!important;
    line-height:1.08!important;
  }
  body.admin-view .menu{
    padding:16px 12px!important;
    box-sizing:border-box!important;
  }
  body.admin-view .menu-section{
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:.06em!important;
    margin-top:6px!important;
  }
  body.admin-view .menu a{
    width:100%!important;
    min-height:46px!important;
    padding:11px 13px!important;
    margin:5px 0!important;
    border-radius:10px!important;
    font-size:var(--dashboard-sidebar, 16px)!important;
    font-weight:700!important;
    line-height:1.2!important;
    box-sizing:border-box!important;
  }
  body.admin-view .nav-icon{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
  }
  body.admin-view .sidebar-note{
    padding:14px!important;
    border-radius:10px!important;
    font-size:13px!important;
    line-height:1.35!important;
    box-sizing:border-box!important;
  }
}

/* 2026-06-18: Sticky headers with scrollable admin list tables */
@media (min-width:761px){
  body.admin-view .list-page .table-wrap{
    max-height:calc(100vh - 260px)!important;
    min-height:220px!important;
    overflow:auto!important;
    position:relative!important;
    border:1px solid #e2e8f0!important;
    border-radius:10px!important;
    background:#fff!important;
    scrollbar-gutter:stable!important;
  }
  body.admin-view .list-page .table-wrap .data-table{
    margin:0!important;
  }
  body.admin-view .list-page .table-wrap .data-table thead th{
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    background:#eef4fb!important;
    box-shadow:0 1px 0 #dbe4f0!important;
  }
}

/* 2026-06-18: Keep list filters/toolbars sticky above scrollable tables */
@media (min-width:761px){
  body.admin-view .list-page .manager-card > .body > .manager-toolbar,
  body.admin-view .list-page .manager-card > .body > .quote-toolbar{
    position:sticky!important;
    top:0!important;
    z-index:12!important;
    background:#fff!important;
    margin:0 0 12px!important;
    padding:0 0 12px!important;
    border-bottom:1px solid #eef2f7!important;
  }
}

/* 2026-06-18: Professional manager/list page polish */
@media (min-width:761px){
  body.admin-view .content.list-page{
    display:grid!important;
    gap:16px!important;
    padding:18px 20px 30px!important;
    background:linear-gradient(180deg,#eef4fb 0,#f7f9fc 170px,#f7f9fc 100%)!important;
  }
  body.admin-view .list-page .manager-card{
    margin:0!important;
    border:1px solid #d8e3f2!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 12px 30px rgba(15,23,42,.07)!important;
    overflow:hidden!important;
  }
  body.admin-view .list-page .manager-card > h2{
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 20px!important;
    margin:0!important;
    border-bottom:1px solid #dbe7f5!important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
    color:#07162f!important;
    font-size:21px!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
  }
  body.admin-view .list-page .manager-card > .body{
    padding:18px 20px!important;
  }
  body.admin-view .list-page .manager-form{
    max-width:none!important;
    padding:16px!important;
    border:1px solid #e2eaf5!important;
    border-radius:12px!important;
    background:#f8fbff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  body.admin-view .list-page .manager-form .row2,
  body.admin-view .list-page .manager-form .row3{
    gap:14px!important;
  }
  body.admin-view .list-page .manager-form .row2 + .row2,
  body.admin-view .list-page .manager-form .row2 + .row3,
  body.admin-view .list-page .manager-form .row3 + .row2,
  body.admin-view .list-page .manager-form .row3 + .row3,
  body.admin-view .list-page .manager-form .field-block{
    margin-top:14px!important;
  }
  body.admin-view .list-page label{
    color:#17223a!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:900!important;
    margin:0!important;
  }
  body.admin-view .list-page input,
  body.admin-view .list-page select{
    height:44px!important;
    margin-top:6px!important;
    border:1px solid #cfdbea!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:15px!important;
    font-weight:800!important;
    box-shadow:0 1px 0 rgba(15,23,42,.03)!important;
  }
  body.admin-view .list-page input[readonly]{
    background:#eef3f9!important;
    color:#0f172a!important;
  }
  body.admin-view .list-page input:focus,
  body.admin-view .list-page select:focus{
    border-color:#0b5ee8!important;
    box-shadow:0 0 0 3px rgba(11,94,232,.12)!important;
  }
  body.admin-view .list-page input::placeholder{
    color:#9aa9bd!important;
    font-size:13px!important;
    font-weight:700!important;
  }
  body.admin-view .list-page .button-row{
    gap:12px!important;
    margin-top:14px!important;
    padding-top:2px!important;
  }
  body.admin-view .list-page .button-row .btn-main,
  body.admin-view .list-page .button-row .btn-secondary{
    min-width:110px!important;
    height:42px!important;
    border-radius:9px!important;
    padding:0 18px!important;
    font-size:14px!important;
    font-weight:900!important;
  }
  body.admin-view .list-page .manager-toolbar,
  body.admin-view .list-page .quote-toolbar{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 0 14px!important;
    margin:0 0 14px!important;
    border-bottom:1px solid #edf2f7!important;
    background:#fff!important;
  }
  body.admin-view .list-page .manager-toolbar .muted,
  body.admin-view .list-page .quote-toolbar .muted{
    display:inline-flex!important;
    align-items:center!important;
    min-height:34px!important;
    padding:0 12px!important;
    border:1px solid #dbe7f5!important;
    border-radius:999px!important;
    background:#f8fbff!important;
    color:#53657d!important;
    font-size:13px!important;
    font-weight:800!important;
  }
  body.admin-view .list-page .manager-filter-form{
    width:280px!important;
    max-width:100%!important;
  }
  body.admin-view .list-page .table-wrap{
    border-radius:12px!important;
    border:1px solid #d8e3f2!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
    background:#fff!important;
  }
  body.admin-view .list-page .data-table{
    font-size:14px!important;
  }
  body.admin-view .list-page .data-table th{
    height:42px!important;
    padding:10px 12px!important;
    background:#eef4fb!important;
    color:#27364f!important;
    font-size:13px!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
  }
  body.admin-view .list-page .data-table td{
    padding:11px 12px!important;
    color:#17223a!important;
    border-bottom:1px solid #e7edf5!important;
    font-size:14px!important;
    font-weight:700!important;
  }
  body.admin-view .list-page .data-table tbody tr:hover{
    background:#f7fbff!important;
  }
  body.admin-view .list-page .data-table .main-cell strong{
    font-size:14px!important;
    font-weight:900!important;
    color:#07162f!important;
  }
  body.admin-view .list-page .data-table .main-cell span{
    color:#64748b!important;
    font-size:12px!important;
    font-weight:700!important;
  }
  body.admin-view .list-page .status-label{
    height:26px!important;
    padding:0 10px!important;
    border-radius:999px!important;
    font-size:11px!important;
    font-weight:900!important;
  }
  body.admin-view .list-page .table-btn{
    height:30px!important;
    min-width:56px!important;
    padding:0 10px!important;
    border-radius:7px!important;
    font-size:12px!important;
    font-weight:900!important;
  }
}
@media (max-width:760px){
  body.admin-view .content.list-page{display:grid!important;gap:12px!important;}
  body.admin-view .list-page .manager-card{border-radius:12px!important;}
  body.admin-view .list-page .manager-card > h2{font-size:18px!important;padding:14px 16px!important;}
  body.admin-view .list-page .manager-form{padding:12px!important;border:1px solid #e2eaf5!important;border-radius:10px!important;background:#f8fbff!important;}
}

/* 2026-06-18: Device lock management UI */
body.admin-view .list-page .device-cell{
  min-width:210px!important;
  white-space:normal!important;
}
body.admin-view .list-page .device-cell strong{
  display:block!important;
  color:#07162f!important;
  font-weight:900!important;
  line-height:1.25!important;
}
body.admin-view .list-page .device-cell span{
  display:block!important;
  margin-top:3px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.admin-view .list-page .access-table{min-width:1280px!important;}
body.admin-view .list-page .log-table{min-width:1180px!important;}
body.admin-view .list-page .access-table th:nth-child(5),
body.admin-view .list-page .access-table td:nth-child(5){width:230px!important;}
body.admin-view .list-page .access-table th:nth-child(11),
body.admin-view .list-page .access-table td:nth-child(11){width:210px!important;}
body.admin-view .list-page .table-btn.neutral{background:#fff!important;color:#334155!important;border-color:#cbd5e1!important;}


/* 2026-06-18: Reusable, easy search controls for all admin list tables */
body.admin-view .list-page .table-search-bar{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid #dbe7f5!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 8px 22px rgba(15,35,80,.06)!important;
}
body.admin-view .list-page .table-search-field{
  flex:1 1 520px!important;
  min-width:240px!important;
}
body.admin-view .list-page .table-search-field label{
  display:block!important;
  margin:0 0 6px!important;
  color:#0f1f3a!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.25!important;
}
body.admin-view .list-page .table-search-input-wrap{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
}
body.admin-view .list-page .table-search-icon{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#0b5ee8!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  pointer-events:none!important;
}
body.admin-view .list-page .table-search-input-wrap input{
  width:100%!important;
  height:46px!important;
  padding:0 14px 0 44px!important;
  border:1px solid #bdd0ea!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:16px!important;
  font-weight:700!important;
  outline:none!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04)!important;
}
body.admin-view .list-page .table-search-input-wrap input:focus{
  border-color:#0b5ee8!important;
  box-shadow:0 0 0 3px rgba(11,94,232,.14), inset 0 1px 2px rgba(15,23,42,.04)!important;
}
body.admin-view .list-page .table-search-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
  flex-wrap:wrap!important;
}
body.admin-view .list-page .table-search-btn{
  height:46px!important;
  min-width:92px!important;
  padding:0 18px!important;
  border-radius:11px!important;
  border:1px solid transparent!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
body.admin-view .list-page .table-search-btn.primary{
  background:#0b5ee8!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(11,94,232,.18)!important;
}
body.admin-view .list-page .table-search-btn.neutral{
  background:#fff!important;
  color:#334155!important;
  border-color:#cbd5e1!important;
}
body.admin-view .list-page .table-search-count{
  min-width:118px!important;
  color:#64748b!important;
  font-size:13px!important;
  font-weight:900!important;
  text-align:right!important;
  white-space:nowrap!important;
}
body.admin-view .list-page .table-search-empty-row .empty-cell{
  height:72px!important;
  text-align:center!important;
  color:#64748b!important;
  font-size:15px!important;
  font-weight:900!important;
  background:#f8fbff!important;
}
@media (max-width:760px){
  body.admin-view .list-page .table-search-bar{
    align-items:stretch!important;
    flex-direction:column!important;
    gap:10px!important;
    padding:12px!important;
  }
  body.admin-view .list-page .table-search-actions{
    justify-content:flex-start!important;
  }
  body.admin-view .list-page .table-search-btn{
    height:42px!important;
    min-width:84px!important;
  }
  body.admin-view .list-page .table-search-count{
    width:100%!important;
    text-align:left!important;
  }
}


/* 2026-06-18: Keep table search beside filters/actions in one toolbar row */
body.admin-view .list-page .manager-toolbar.has-table-search,
body.admin-view .list-page .quote-toolbar.has-table-search,
body.admin-view .list-page .table-search-toolbar{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  flex-wrap:wrap!important;
}
body.admin-view .list-page .manager-toolbar.has-table-search .manager-filter-form{
  flex:0 0 280px!important;
  width:280px!important;
}
body.admin-view .list-page .manager-toolbar.has-table-search .muted,
body.admin-view .list-page .quote-toolbar.has-table-search .muted{
  flex:0 0 auto!important;
}
body.admin-view .list-page .manager-toolbar.has-table-search .btn-main,
body.admin-view .list-page .quote-toolbar.has-table-search .btn-main{
  flex:0 0 auto!important;
}
body.admin-view .list-page .has-table-search .table-search-bar,
body.admin-view .list-page .table-search-toolbar .table-search-bar{
  flex:1 1 560px!important;
  min-width:360px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.admin-view .list-page .has-table-search .table-search-actions,
body.admin-view .list-page .table-search-toolbar .table-search-actions{
  align-self:flex-end!important;
}
@media (min-width:761px){
  body.admin-view .list-page .manager-card > .body > .manager-toolbar.table-search-toolbar{
    position:sticky!important;
    top:0!important;
    z-index:12!important;
    background:#fff!important;
    margin:0 0 12px!important;
    padding:0 0 12px!important;
    border-bottom:1px solid #eef2f7!important;
  }
}
@media (max-width:1100px){
  body.admin-view .list-page .has-table-search .table-search-bar,
  body.admin-view .list-page .table-search-toolbar .table-search-bar{
    flex-basis:100%!important;
    min-width:0!important;
  }
}
@media (max-width:760px){
  body.admin-view .list-page .manager-toolbar.has-table-search,
  body.admin-view .list-page .quote-toolbar.has-table-search,
  body.admin-view .list-page .table-search-toolbar{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body.admin-view .list-page .manager-toolbar.has-table-search .manager-filter-form,
  body.admin-view .list-page .has-table-search .table-search-bar,
  body.admin-view .list-page .table-search-toolbar .table-search-bar{
    width:100%!important;
    flex-basis:auto!important;
    min-width:0!important;
  }
}

/* 2026-06-18: Keep Section 3 live product pickers in front of following sections */
body[data-page="dashboard"] .calculator-column,
body[data-page="dashboard"] .calculator-column .card,
body[data-page="dashboard"] .system-box,
body[data-page="dashboard"] .system-box .body,
body[data-page="dashboard"] .row2,
body[data-page="dashboard"] .row3,
body[data-page="dashboard"] .speaker-grid,
body[data-page="dashboard"] .speaker-inline-pair{
  overflow:visible!important;
}
body[data-page="dashboard"] .calculator-column .card:focus-within,
body[data-page="dashboard"] .system-box:focus-within{
  position:relative!important;
  z-index:300!important;
}
body[data-page="dashboard"] .product-picker{
  position:relative!important;
  z-index:1!important;
}
body[data-page="dashboard"] .product-picker:focus-within{
  z-index:10000!important;
}
body[data-page="dashboard"] .product-picker-list{
  z-index:10001!important;
  max-height:280px!important;
}

/* 2026-06-18: Apply deep teal-blue brand color to topbar and sidebar */
:root{
  --kh-brand-teal:#075681;
  --kh-brand-teal-dark:#064b70;
  --kh-brand-teal-soft:#0a668f;
  --kh-brand-teal-text:#eefaff;
  --kh-brand-teal-muted:#c7eaf6;
}
.sidebar,
body.admin-view .sidebar,
body[data-page="dashboard"] .sidebar,
html[data-lang="km"] .sidebar{
  background:linear-gradient(180deg,var(--kh-brand-teal) 0%,var(--kh-brand-teal-dark) 100%)!important;
  color:var(--kh-brand-teal-text)!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
}
.logo,
body.admin-view .logo,
body[data-page="dashboard"] .logo{
  background:rgba(255,255,255,.04)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
.logo:hover,
body.admin-view .logo:hover,
body[data-page="dashboard"] .logo:hover{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.logo-mark,
.auth-brand .logo-mark{
  background:#fff!important;
  color:var(--kh-brand-teal)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.12)!important;
}
.logo strong,
.logo small,
body.admin-view .logo strong,
body[data-page="dashboard"] .logo strong{
  color:#fff!important;
}
.menu-section{
  color:#c9edf8!important;
}
.menu a{
  color:#eaf8ff!important;
  border-color:transparent!important;
}
.menu a:hover{
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
}
.menu a.active{
  background:#f0fbff!important;
  color:#064f78!important;
  border-color:rgba(255,255,255,.45)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.10)!important;
}
.nav-icon{
  background:rgba(255,255,255,.15)!important;
  color:#def6ff!important;
}
.menu a:hover .nav-icon{
  background:rgba(255,255,255,.24)!important;
  color:#fff!important;
}
.menu a.active .nav-icon{
  background:var(--kh-brand-teal)!important;
  color:#fff!important;
}
.sidebar-note,
.sidebar-quotes,
.sidebar-quote-item{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#d8f3fb!important;
}
.sidebar-quote-item:hover{
  background:rgba(255,255,255,.15)!important;
}
.sidebar-quotes-head,
.sidebar-quote-meta,
.sidebar-note-small{
  color:#c7eaf6!important;
}
.topbar,
body.admin-view .topbar,
body[data-page="dashboard"] .topbar{
  background:linear-gradient(180deg,var(--kh-brand-teal) 0%,#07517a 100%)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 22px rgba(7,86,129,.18)!important;
}
.topbar::before,
body[data-page="dashboard"] .topbar::before{
  color:#fff!important;
}
.topbar h1,
body[data-page="dashboard"] .topbar h1,
html[lang='km'] .topbar h1,
html[data-lang="km"] body[data-page="dashboard"] .topbar h1{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.14)!important;
}
.topbar p,
body[data-page="dashboard"] .topbar p,
html[lang='km'] .topbar p{
  color:var(--kh-brand-teal-muted)!important;
}
.user-chip strong,
.user-chip small{
  color:#eefaff!important;
}
.actions button,
.topbar .actions button,
.topbar .actions form.auth-inline button,
.btn-ghost{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.55)!important;
}
.actions button:hover,
.topbar .actions button:hover,
.topbar .actions form.auth-inline button:hover,
.btn-ghost:hover{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
.actions .print,
.topbar .actions .print,
.topbar .actions .lang-toggle{
  background:#fff!important;
  color:var(--kh-brand-teal)!important;
  border-color:#fff!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
}
.actions .print:hover,
.topbar .actions .print:hover,
.topbar .actions .lang-toggle:hover{
  background:#eaf8ff!important;
  color:#064f78!important;
}
@media(max-width:760px){
  .topbar,
  body[data-page="dashboard"] .topbar{
    background:linear-gradient(180deg,var(--kh-brand-teal) 0%,#07517a 100%)!important;
    color:#fff!important;
  }
  .topbar::before,
  body[data-page="dashboard"] .topbar::before{
    color:#fff!important;
  }
}

/* 2026-06-18: Login screen blue gradient style from reference image */
body.auth-page{
  min-height:100vh!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:
    radial-gradient(circle at 18% 10%, rgba(191,224,255,.95) 0%, rgba(120,184,244,.78) 22%, rgba(77,145,212,.40) 42%, transparent 62%),
    radial-gradient(circle at 74% 48%, rgba(96,157,223,.92) 0%, rgba(49,112,181,.80) 36%, rgba(15,72,138,.72) 68%, rgba(4,49,101,.92) 100%),
    linear-gradient(135deg,#9bd0ff 0%,#4f95dc 42%,#10539b 100%)!important;
  color:#fff!important;
}
body.auth-page::before{
  content:''!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.06) 30%, rgba(255,255,255,0) 62%),
    radial-gradient(circle at 45% 46%, rgba(255,255,255,.16), transparent 20%),
    radial-gradient(circle at 50% 78%, rgba(0,37,92,.38), transparent 34%)!important;
  opacity:1!important;
  mask-image:none!important;
}
body.auth-page::after{
  content:''!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,31,75,.18))!important;
  filter:none!important;
  animation:none!important;
}
body.auth-page .auth-shell-center{
  width:min(520px,100%)!important;
  min-height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  z-index:1!important;
}
body.auth-page .auth-card-center{
  width:min(430px,100%)!important;
  padding:0 8px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  text-align:center!important;
}
body.auth-page .auth-card-center::before{
  display:none!important;
}
body.auth-page .auth-ring{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  width:94px!important;
  height:94px!important;
  margin:0 auto 18px!important;
  border-radius:50%!important;
  border:0!important;
  background:#073b7d!important;
  box-shadow:0 18px 42px rgba(0,42,104,.28), inset 0 1px 0 rgba(255,255,255,.16)!important;
  opacity:1!important;
}
body.auth-page .auth-ring::before{
  content:''!important;
  position:absolute!important;
  left:50%!important;
  top:21px!important;
  width:26px!important;
  height:26px!important;
  transform:translateX(-50%)!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
body.auth-page .auth-ring::after{
  content:''!important;
  position:absolute!important;
  left:50%!important;
  top:50px!important;
  width:50px!important;
  height:30px!important;
  transform:translateX(-50%)!important;
  border:3px solid #fff!important;
  border-bottom:0!important;
  border-radius:50px 50px 0 0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
body.auth-page .auth-card-center h1{
  max-width:none!important;
  margin:0 0 34px!important;
  color:rgba(255,255,255,.92)!important;
  font-family:"Segoe UI", "Noto Sans Khmer", "Battambang", sans-serif!important;
  font-size:28px!important;
  font-weight:300!important;
  line-height:1.2!important;
  letter-spacing:.25em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  text-shadow:0 2px 10px rgba(0,45,110,.16)!important;
}
body.auth-page .auth-form-center{
  width:100%!important;
  max-width:320px!important;
  margin:0 auto!important;
  color:#fff!important;
  text-align:left!important;
}
body.auth-page .auth-form-center label:not(.auth-remember){
  display:none!important;
}
body.auth-page .auth-input-line{
  height:52px!important;
  margin:0 0 22px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  border:0!important;
  border-bottom:2px solid rgba(255,255,255,.78)!important;
  background:transparent!important;
}
body.auth-page .auth-input-icon{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:0!important;
  box-shadow:none!important;
}
body.auth-page .auth-input-icon::before{
  display:block!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:32px!important;
  text-align:center!important;
}
body.auth-page .auth-input-line .auth-input-icon:first-child::before{
  content:'✉'!important;
}
body.auth-page .auth-password-wrap .auth-input-icon::before{
  content:'🔒'!important;
  font-size:19px!important;
}
body.auth-page .auth-form-center input[type="email"],
body.auth-page .auth-form-center input[type="password"]{
  height:50px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:50px!important;
  letter-spacing:.04em!important;
  box-shadow:none!important;
  outline:none!important;
}
body.auth-page .auth-form-center input[type="email"]::placeholder,
body.auth-page .auth-form-center input[type="password"]::placeholder{
  color:rgba(255,255,255,.86)!important;
  font-size:18px!important;
  font-weight:400!important;
  letter-spacing:.04em!important;
  opacity:1!important;
}
body.auth-page .auth-input-line:focus-within{
  border-bottom-color:#fff!important;
  box-shadow:0 8px 18px rgba(255,255,255,.08)!important;
}
body.auth-page .auth-password-wrap[hidden]{
  display:none!important;
}
body.auth-page .auth-remember{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:4px 0 34px!important;
  color:rgba(255,255,255,.94)!important;
  font-size:13px!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
  cursor:pointer!important;
}
body.auth-page .auth-remember input{
  width:14px!important;
  height:14px!important;
  min-height:14px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#073b7d!important;
  border-radius:2px!important;
}
body.auth-page .auth-submit,
body.auth-page .btn-main.auth-submit{
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  border:0!important;
  border-radius:0!important;
  background:#064486!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(0,48,112,.20)!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
body.auth-page .auth-submit:hover,
body.auth-page .btn-main.auth-submit:hover{
  background:#053a75!important;
  filter:none!important;
}
body.auth-page .auth-alert{
  max-width:360px!important;
  margin:0 auto 22px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:10px!important;
  background:rgba(127,29,29,.28)!important;
  color:#fff!important;
  text-align:left!important;
}
body.auth-page .auth-lang-toggle,
body.auth-page .auth-mode-toggle{
  top:18px!important;
  height:34px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  background:rgba(5,53,111,.24)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:blur(8px)!important;
}
body.auth-page .auth-lang-toggle{
  right:18px!important;
}
body.auth-page .auth-mode-toggle{
  right:104px!important;
}
body.auth-page .auth-lang-toggle:hover,
body.auth-page .auth-mode-toggle:hover,
body.auth-page .auth-mode-toggle.is-admin{
  background:rgba(5,53,111,.38)!important;
  color:#fff!important;
}
@media(max-width:760px){
  body.auth-page{
    padding:18px!important;
  }
  body.auth-page .auth-card-center{
    width:min(390px,100%)!important;
  }
  body.auth-page .auth-ring{
    width:84px!important;
    height:84px!important;
    margin-bottom:16px!important;
  }
  body.auth-page .auth-card-center h1{
    font-size:22px!important;
    letter-spacing:.18em!important;
    margin-bottom:28px!important;
  }
  body.auth-page .auth-form-center{
    max-width:310px!important;
  }
  body.auth-page .auth-input-line{
    gap:14px!important;
  }
  body.auth-page .auth-lang-toggle,
  body.auth-page .auth-mode-toggle{
    position:fixed!important;
    top:12px!important;
  }
}

/* 2026-06-18: Match login reference title wording per mode/language */
body.auth-page .auth-card-center h1{
  font-size:0!important;
  letter-spacing:0!important;
}
body.auth-page .auth-card-center h1::after{
  content:'CUSTOMER LOGIN';
  display:block!important;
  color:rgba(255,255,255,.92)!important;
  font-family:"Segoe UI", "Noto Sans Khmer", "Battambang", sans-serif!important;
  font-size:28px!important;
  font-weight:300!important;
  line-height:1.2!important;
  letter-spacing:.25em!important;
  text-transform:uppercase!important;
  text-align:center!important;
  text-shadow:0 2px 10px rgba(0,45,110,.16)!important;
}
body.auth-page[data-auth-mode="admin"] .auth-card-center h1::after{
  content:'ADMIN LOGIN';
}
html[lang="km"] body.auth-page .auth-card-center h1::after,
html[data-lang="km"] body.auth-page .auth-card-center h1::after{
  content:'ការចូលប្រើអតិថិជន';
  font-size:30px!important;
  font-weight:300!important;
  letter-spacing:.08em!important;
  text-transform:none!important;
}
html[lang="km"] body.auth-page[data-auth-mode="admin"] .auth-card-center h1::after,
html[data-lang="km"] body.auth-page[data-auth-mode="admin"] .auth-card-center h1::after{
  content:'ការចូលប្រើអាដមីន';
}
@media(max-width:760px){
  body.auth-page .auth-card-center h1::after{
    font-size:22px!important;
    letter-spacing:.18em!important;
  }
  html[lang="km"] body.auth-page .auth-card-center h1::after,
  html[data-lang="km"] body.auth-page .auth-card-center h1::after{
    font-size:24px!important;
    letter-spacing:.05em!important;
  }
}

/* 2026-06-18: Premium login polish with organized mode/language controls */
body.auth-page{
  background:
    radial-gradient(circle at 18% 12%, rgba(222,242,255,.82) 0%, rgba(129,190,245,.58) 24%, rgba(65,137,211,.18) 44%, transparent 62%),
    radial-gradient(circle at 76% 44%, rgba(98,164,231,.86) 0%, rgba(42,111,186,.78) 36%, rgba(11,71,143,.86) 70%, rgba(3,40,91,.96) 100%),
    linear-gradient(135deg,#9ed3ff 0%,#4e96dd 42%,#0b4f98 100%)!important;
}
body.auth-page .auth-shell-center{
  width:min(560px,100%)!important;
}
body.auth-page .auth-card-center{
  width:min(470px,100%)!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-auto-rows:auto!important;
  column-gap:10px!important;
  row-gap:0!important;
  align-items:center!important;
  justify-items:center!important;
  padding:26px 42px 38px!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(7,56,119,.13))!important;
  box-shadow:0 34px 90px rgba(0,47,113,.30), inset 0 1px 0 rgba(255,255,255,.22)!important;
  backdrop-filter:blur(18px)!important;
  overflow:visible!important;
}
body.auth-page .auth-card-center::before{
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:1px!important;
  border-radius:29px!important;
  background:linear-gradient(140deg,rgba(255,255,255,.16),transparent 32%,rgba(255,255,255,.07) 66%,transparent)!important;
  pointer-events:none!important;
}
body.auth-page .auth-mode-toggle,
body.auth-page .auth-lang-toggle{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  z-index:2!important;
  height:42px!important;
  min-width:0!important;
  width:100%!important;
  margin:0 0 24px!important;
  padding:0 14px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  background:rgba(5,52,111,.22)!important;
  color:#f4fbff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 10px 26px rgba(0,48,112,.10)!important;
  backdrop-filter:blur(12px)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
body.auth-page .auth-mode-toggle{
  grid-column:1!important;
  grid-row:1!important;
}
body.auth-page .auth-lang-toggle{
  grid-column:2!important;
  grid-row:1!important;
}
body.auth-page .auth-mode-toggle::before,
body.auth-page .auth-lang-toggle::before{
  display:inline-flex!important;
  width:22px!important;
  height:22px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
}
body.auth-page .auth-mode-toggle::before{
  content:'👤'!important;
}
body.auth-page .auth-mode-toggle.is-admin::before{
  content:'🔐'!important;
}
body.auth-page .auth-lang-toggle::before{
  content:'🌐'!important;
}
body.auth-page .auth-mode-toggle:hover,
body.auth-page .auth-lang-toggle:hover,
body.auth-page .auth-mode-toggle.is-admin{
  background:rgba(6,68,134,.42)!important;
  border-color:rgba(255,255,255,.56)!important;
  color:#fff!important;
}
body.auth-page .auth-ring{
  grid-column:1 / -1!important;
  grid-row:auto!important;
  width:104px!important;
  height:104px!important;
  margin:0 auto 18px!important;
  background:linear-gradient(180deg,#083f83 0%,#062f69 100%)!important;
  box-shadow:0 18px 44px rgba(0,45,105,.30), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.auth-page .auth-card-center h1{
  grid-column:1 / -1!important;
  margin:0 0 28px!important;
}
body.auth-page .auth-card-center h1::after{
  font-size:27px!important;
  letter-spacing:.22em!important;
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 3px 14px rgba(0,44,112,.22)!important;
}
html[lang="km"] body.auth-page .auth-card-center h1::after,
html[data-lang="km"] body.auth-page .auth-card-center h1::after{
  font-size:29px!important;
  letter-spacing:.055em!important;
  font-weight:400!important;
}
body.auth-page .auth-alert,
body.auth-page .auth-form-center{
  grid-column:1 / -1!important;
  position:relative!important;
  z-index:2!important;
}
body.auth-page .auth-form-center{
  width:100%!important;
  max-width:340px!important;
}
body.auth-page .auth-input-line{
  height:56px!important;
  margin-bottom:20px!important;
  border-bottom:2px solid rgba(255,255,255,.82)!important;
}
body.auth-page .auth-input-icon{
  width:34px!important;
  height:34px!important;
  flex-basis:34px!important;
}
body.auth-page .auth-input-icon::before{
  font-size:21px!important;
}
body.auth-page .auth-form-center input[type="email"],
body.auth-page .auth-form-center input[type="password"]{
  font-size:18px!important;
  font-weight:500!important;
}
body.auth-page .auth-form-center input[type="email"]::placeholder,
body.auth-page .auth-form-center input[type="password"]::placeholder{
  color:rgba(255,255,255,.82)!important;
}
body.auth-page .auth-remember{
  justify-content:space-between!important;
  margin:8px 0 28px!important;
  padding:0 2px!important;
  width:100%!important;
}
body.auth-page .auth-remember span{
  color:rgba(255,255,255,.92)!important;
}
body.auth-page .auth-submit,
body.auth-page .btn-main.auth-submit{
  height:56px!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#074a91,#053f80)!important;
  box-shadow:0 18px 40px rgba(0,44,108,.22), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
body.auth-page .auth-submit:hover,
body.auth-page .btn-main.auth-submit:hover{
  background:linear-gradient(180deg,#08539f,#064487)!important;
}
@media(max-width:760px){
  body.auth-page .auth-card-center{
    width:min(420px,100%)!important;
    padding:22px 22px 30px!important;
    border-radius:24px!important;
  }
  body.auth-page .auth-mode-toggle,
  body.auth-page .auth-lang-toggle{
    height:40px!important;
    margin-bottom:20px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  body.auth-page .auth-ring{
    width:92px!important;
    height:92px!important;
  }
  body.auth-page .auth-card-center h1::after{
    font-size:22px!important;
    letter-spacing:.16em!important;
  }
  html[lang="km"] body.auth-page .auth-card-center h1::after,
  html[data-lang="km"] body.auth-page .auth-card-center h1::after{
    font-size:23px!important;
    letter-spacing:.035em!important;
  }
  body.auth-page .auth-form-center{
    max-width:320px!important;
  }
}

/* 2026-06-18: Add country flags to language toggle buttons */
[data-lang-toggle],
.lang-toggle[data-lang-toggle],
.topbar .actions .lang-toggle[data-lang-toggle],
body.auth-page .auth-lang-toggle[data-lang-toggle]{
  gap:8px!important;
}
[data-lang-toggle] .lang-label,
.lang-toggle[data-lang-toggle] .lang-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}
[data-lang-toggle] .lang-label::before,
.lang-toggle[data-lang-toggle] .lang-label::before{
  content:'🇰🇭'!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  font-size:18px!important;
  line-height:1!important;
  box-shadow:0 2px 7px rgba(0,0,0,.14)!important;
}
html[lang="en"] [data-lang-toggle] .lang-label::before,
html[data-lang="en"] [data-lang-toggle] .lang-label::before{
  content:'🇺🇸'!important;
}
html[lang="km"] [data-lang-toggle] .lang-label::before,
html[data-lang="km"] [data-lang-toggle] .lang-label::before{
  content:'🇰🇭'!important;
}
body.auth-page .auth-lang-toggle[data-lang-toggle]::before{
  content:none!important;
  display:none!important;
}
body.auth-page .auth-lang-toggle[data-lang-toggle] .lang-label::before{
  background:rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 2px 8px rgba(0,0,0,.16)!important;
}
.topbar .actions .lang-toggle[data-lang-toggle] .lang-label::before{
  background:#fff!important;
}


/* 2026-06-18: CSS flag color badges for language toggle, no emoji fallback */
[data-lang-toggle] .lang-label::before,
.lang-toggle[data-lang-toggle] .lang-label::before{
  content:""!important;
  display:inline-flex!important;
  width:32px!important;
  height:22px!important;
  flex:0 0 32px!important;
  border-radius:5px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
  overflow:hidden!important;
  font-size:0!important;
  line-height:0!important;
}
html[lang="km"] body [data-lang-toggle] .lang-label::before,
html[data-lang="km"] body [data-lang-toggle] .lang-label::before{
  content:""!important;
  background:linear-gradient(to bottom,#0b4ea2 0 25%,#e00025 25% 75%,#0b4ea2 75% 100%)!important;
}
html[lang="en"] body [data-lang-toggle] .lang-label::before,
html[data-lang="en"] body [data-lang-toggle] .lang-label::before{
  content:""!important;
  background:linear-gradient(#2456a6 0 0) left top/14px 12px no-repeat,repeating-linear-gradient(to bottom,#b22234 0 2px,#fff 2px 4px)!important;
}
body.auth-page .auth-lang-toggle[data-lang-toggle] .lang-label::before,
.topbar .actions .lang-toggle[data-lang-toggle] .lang-label::before{
  border-color:rgba(255,255,255,.86)!important;
}

/* 2026-06-18: Auth/topbar language badge color override */
html[lang="km"] body.auth-page .auth-lang-toggle[data-lang-toggle] .lang-label::before,
html[data-lang="km"] body.auth-page .auth-lang-toggle[data-lang-toggle] .lang-label::before,
html[lang="km"] body .topbar .actions .lang-toggle[data-lang-toggle] .lang-label::before,
html[data-lang="km"] body .topbar .actions .lang-toggle[data-lang-toggle] .lang-label::before{
  background:linear-gradient(to bottom,#0b4ea2 0 25%,#e00025 25% 75%,#0b4ea2 75% 100%)!important;
}
html[lang="en"] body.auth-page .auth-lang-toggle[data-lang-toggle] .lang-label::before,
html[data-lang="en"] body.auth-page .auth-lang-toggle[data-lang-toggle] .lang-label::before,
html[lang="en"] body .topbar .actions .lang-toggle[data-lang-toggle] .lang-label::before,
html[data-lang="en"] body .topbar .actions .lang-toggle[data-lang-toggle] .lang-label::before{
  background:linear-gradient(#2456a6 0 0) left top/14px 12px no-repeat,repeating-linear-gradient(to bottom,#b22234 0 2px,#fff 2px 4px)!important;
}

/* 2026-06-18: Soft premium CCTV System Type card colors only */
body[data-page="dashboard"] .type-grid label.type-analog{
  background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 48%,#bfdbfe 100%)!important;
  border-color:#bfdbfe!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 8px 20px rgba(37,99,235,.08)!important;
}
body[data-page="dashboard"] .type-grid label.type-ip{
  background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 48%,#ddd6fe 100%)!important;
  border-color:#ddd6fe!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 8px 20px rgba(109,40,217,.08)!important;
}
body[data-page="dashboard"] .type-grid label.type-speaker{
  background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 48%,#fed7aa 100%)!important;
  border-color:#fed7aa!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 8px 20px rgba(234,88,12,.08)!important;
}
body[data-page="dashboard"] .type-grid label.type-analog .type-pill{
  background:linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px rgba(37,99,235,.16)!important;
}
body[data-page="dashboard"] .type-grid label.type-ip .type-pill{
  background:linear-gradient(135deg,#7c3aed 0%,#a78bfa 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px rgba(109,40,217,.14)!important;
}
body[data-page="dashboard"] .type-grid label.type-speaker .type-pill{
  background:linear-gradient(135deg,#f97316 0%,#fdba74 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 18px rgba(234,88,12,.13)!important;
}
body[data-page="dashboard"] .type-grid label.type-analog:has(input:checked){
  border-color:#60a5fa!important;
  box-shadow:0 0 0 3px rgba(96,165,250,.18),0 10px 24px rgba(37,99,235,.10)!important;
}
body[data-page="dashboard"] .type-grid label.type-ip:has(input:checked){
  border-color:#a78bfa!important;
  box-shadow:0 0 0 3px rgba(167,139,250,.18),0 10px 24px rgba(109,40,217,.10)!important;
}
body[data-page="dashboard"] .type-grid label.type-speaker:has(input:checked){
  border-color:#fdba74!important;
  box-shadow:0 0 0 3px rgba(253,186,116,.20),0 10px 24px rgba(234,88,12,.10)!important;
}
body[data-page="dashboard"] .type-grid label.type-analog:hover,
body[data-page="dashboard"] .type-grid label.type-ip:hover,
body[data-page="dashboard"] .type-grid label.type-speaker:hover{
  filter:saturate(.98) brightness(1.01)!important;
}

/* 2026-06-18: Soft premium visible gradients for the three CCTV type pills */
body[data-page="dashboard"] .type-grid > .type-choice:nth-child(1) .type-pill{
  background:linear-gradient(135deg,#2563eb 0%,#3b82f6 55%,#93c5fd 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 18px rgba(37,99,235,.13)!important;
}
body[data-page="dashboard"] .type-grid > .type-choice:nth-child(2) .type-pill{
  background:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 55%,#c4b5fd 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 18px rgba(109,40,217,.12)!important;
}
body[data-page="dashboard"] .type-grid > .type-choice:nth-child(3) .type-pill{
  background:linear-gradient(135deg,#ea580c 0%,#fb923c 55%,#fed7aa 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 8px 18px rgba(234,88,12,.12)!important;
}
body[data-page="dashboard"] .type-grid > .type-choice:nth-child(1){
  border-color:#bfdbfe!important;
  box-shadow:0 6px 18px rgba(37,99,235,.06)!important;
}
body[data-page="dashboard"] .type-grid > .type-choice:nth-child(2){
  border-color:#ddd6fe!important;
  box-shadow:0 6px 18px rgba(109,40,217,.06)!important;
}
body[data-page="dashboard"] .type-grid > .type-choice:nth-child(3){
  border-color:#fed7aa!important;
  box-shadow:0 6px 18px rgba(234,88,12,.06)!important;
}

/* 2026-06-18: Final soft premium override with exact existing selector specificity */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(1) .type-pill{
  background:linear-gradient(135deg,#2563eb 0%,#3b82f6 55%,#93c5fd 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 18px rgba(37,99,235,.13)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(2) .type-pill{
  background:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 55%,#c4b5fd 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 18px rgba(109,40,217,.12)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-pill{
  background:linear-gradient(135deg,#ea580c 0%,#fb923c 55%,#fed7aa 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 8px 18px rgba(234,88,12,.12)!important;
}

/* 2026-06-18: Khmer CCTV type cards fit text neatly and use softer premium colors */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  justify-content:space-between!important;
  gap:12px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:calc(100% - 64px)!important;
  align-items:flex-end!important;
  text-align:right!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
  font-size:clamp(18px,1.08vw,22px)!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  font-size:12px!important;
  line-height:1.1!important;
  margin-top:3px!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(1) .type-pill{
  background:linear-gradient(135deg,#3b82f6 0%,#60a5fa 56%,#bfdbfe 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 7px 16px rgba(37,99,235,.10)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(2) .type-pill{
  background:linear-gradient(135deg,#7c3aed 0%,#a78bfa 56%,#ddd6fe 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 7px 16px rgba(109,40,217,.10)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-pill{
  background:linear-gradient(135deg,#f97316 0%,#fb923c 56%,#fed7aa 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 7px 16px rgba(234,88,12,.10)!important;
}

/* 2026-06-18: Give Khmer CCTV type card titles more usable width */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  gap:8px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  flex:1 0 calc(100% - 56px)!important;
  flex-basis:calc(100% - 56px)!important;
  width:calc(100% - 56px)!important;
  max-width:calc(100% - 56px)!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  width:100%!important;
}

/* 2026-06-18: Make Khmer CCTV type card wording fuller without changing card size */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  padding:8px 10px!important;
  gap:6px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  flex:1 1 0%!important;
  flex-basis:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  align-items:flex-end!important;
  justify-content:center!important;
  text-align:right!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(20px,1.45vw,28px)!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  text-shadow:0 1px 2px rgba(15,23,42,.18)!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  font-size:12px!important;
  line-height:1.05!important;
  margin-top:2px!important;
  letter-spacing:.01em!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(1) .type-pill{
  background:linear-gradient(135deg,#60a5fa 0%,#93c5fd 58%,#dbeafe 100%)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(2) .type-pill{
  background:linear-gradient(135deg,#8b5cf6 0%,#c4b5fd 58%,#ede9fe 100%)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-pill{
  background:linear-gradient(135deg,#fb923c 0%,#fdba74 58%,#ffedd5 100%)!important;
}

/* 2026-06-18: Professional Khmer type-card text contrast */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  position:relative!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:linear-gradient(90deg,rgba(15,23,42,.04),rgba(15,23,42,.18))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 2px 5px rgba(15,23,42,.42),0 1px 1px rgba(15,23,42,.30)!important;
  filter:none!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  color:rgba(255,255,255,.92)!important;
  -webkit-text-fill-color:rgba(255,255,255,.92)!important;
  text-shadow:0 1px 3px rgba(15,23,42,.36)!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-copy{
  background:linear-gradient(90deg,rgba(120,53,15,.05),rgba(120,53,15,.20))!important;
}

/* 2026-06-18: Remove unwanted shine/line overlay behind CCTV type card colors */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  animation:none!important;
  background:none!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice input:checked + .type-pill::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  animation:none!important;
  background:none!important;
}

/* 2026-06-18: Lock final clean Khmer CCTV type-button style */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill::after,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice input:checked + .type-pill::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  animation:none!important;
  background:none!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  padding:8px 10px!important;
  gap:6px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  flex:1 1 0%!important;
  flex-basis:0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  align-items:flex-end!important;
  justify-content:center!important;
  text-align:right!important;
  position:relative!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:linear-gradient(90deg,rgba(15,23,42,.04),rgba(15,23,42,.18))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:nth-child(3) .type-copy{
  background:linear-gradient(90deg,rgba(120,53,15,.05),rgba(120,53,15,.20))!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  width:100%!important;
  max-width:100%!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:clamp(20px,1.45vw,28px)!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  text-shadow:0 2px 5px rgba(15,23,42,.42),0 1px 1px rgba(15,23,42,.30)!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  color:rgba(255,255,255,.92)!important;
  -webkit-text-fill-color:rgba(255,255,255,.92)!important;
  font-size:12px!important;
  line-height:1.05!important;
  margin-top:2px!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 3px rgba(15,23,42,.36)!important;
}

/* 2026-06-18: Show full Khmer type-card wording without changing card size */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  padding:8px 8px!important;
  gap:5px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  flex:1 1 0%!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  padding:5px 7px!important;
  justify-content:center!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  font-size:clamp(14px,1.18vw,23px)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  font-size:11px!important;
  line-height:1.05!important;
  margin-top:1px!important;
}

/* 2026-06-18: Keep Khmer type-card full text while locking original button height */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  box-sizing:border-box!important;
  padding:7px 8px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  padding:4px 6px!important;
  max-height:72px!important;
  box-sizing:border-box!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  font-size:clamp(13.5px,1.08vw,22px)!important;
  line-height:1.04!important;
  letter-spacing:-.025em!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  font-size:10px!important;
  line-height:1!important;
  margin-top:1px!important;
}

/* 2026-06-18: Hide outer frame around CCTV type buttons; keep only colored buttons visible */
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:hover,
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:has(input:checked){
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  border-color:rgba(255,255,255,.34)!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice:has(input:checked) .type-pill{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 0 3px rgba(255,255,255,.42),0 8px 18px rgba(15,23,42,.10)!important;
}

/* 2026-06-18: Final admin sidebar size lock across all pages */
body.admin-view .sidebar,
body.admin-view[data-page] .sidebar,
body.admin-view.show-analog .sidebar,
body.admin-view.show-ip .sidebar,
body.admin-view.show-speaker .sidebar{
  width:248px!important;
  min-width:248px!important;
  max-width:248px!important;
  box-sizing:border-box!important;
  transform:none!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
}
body.admin-view .main,
body.admin-view[data-page] .main{
  margin-left:248px!important;
}
body.admin-view .sidebar .logo,
body.admin-view .sidebar .brand{
  width:247px!important;
  min-height:82px!important;
  box-sizing:border-box!important;
}
body.admin-view .sidebar .menu{
  width:100%!important;
  padding:14px 12px!important;
  box-sizing:border-box!important;
}
body.admin-view .sidebar .menu-section{
  height:auto!important;
  min-height:34px!important;
  padding:16px 10px 8px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  box-sizing:border-box!important;
}
body.admin-view .sidebar .menu a,
body.admin-view .sidebar .menu a.active,
body.admin-view .sidebar .menu a:hover,
html[lang="km"] body.admin-view .sidebar .menu a,
html[lang="km"] body.admin-view .sidebar .menu a.active,
html[lang="km"] body.admin-view .sidebar .menu a:hover{
  width:223px!important;
  min-width:223px!important;
  max-width:223px!important;
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  padding:11px 13px!important;
  margin:3px 0!important;
  gap:11px!important;
  box-sizing:border-box!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
  transform:none!important;
}
body.admin-view .sidebar .menu a .nav-icon,
body.admin-view .sidebar .menu a.active .nav-icon,
body.admin-view .sidebar .menu a:hover .nav-icon{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  flex:0 0 30px!important;
  font-size:12px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
body.admin-view .sidebar-note{
  width:auto!important;
  margin:12px!important;
  padding:12px!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:700!important;
  box-sizing:border-box!important;
}

/* 2026-06-18: Bigger fixed Khmer CCTV type-card wording */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  box-sizing:border-box!important;
  padding:7px 8px!important;
  gap:4px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  height:72px!important;
  max-height:72px!important;
  min-width:0!important;
  padding:5px 7px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  justify-content:center!important;
  align-items:flex-end!important;
  text-align:right!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(18px,1.34vw,30px)!important;
  font-weight:900!important;
  line-height:1.03!important;
  letter-spacing:-.055em!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  font-size:11px!important;
  line-height:1!important;
  margin-top:1px!important;
}

/* 2026-06-18: Responsive bigger Khmer type-card text, fixed card size */
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
  container-type:inline-size!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  padding:6px 7px!important;
  gap:2px!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
  height:74px!important;
  max-height:74px!important;
  padding:4px 5px!important;
  overflow:hidden!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
  font-size:clamp(16px,5.8cqw,30px)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
  font-size:10.5px!important;
  line-height:1!important;
  margin-top:1px!important;
}

/* 2026-06-18: Keep admin sidebar layout visually sticky while navigating pages */
html:has(body.admin-view){
  overflow-y:scroll!important;
  scrollbar-gutter:stable!important;
}
body.admin-view{
  min-height:100vh!important;
  scrollbar-gutter:stable!important;
}
body.admin-view .main{
  width:calc(100vw - 248px - var(--admin-scrollbar-gutter, 0px))!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* 2026-06-18: Lock desktop admin topbar to one stable row while using sidebar */
@media (min-width:761px){
  body.admin-view .topbar,
  body.admin-view[data-page] .topbar,
  body[data-page="dashboard"].admin-view .topbar{
    height:80px!important;
    min-height:80px!important;
    max-height:80px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:16px 28px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.admin-view .topbar > div:first-child{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.admin-view .topbar h1,
  body[data-page="dashboard"].admin-view .topbar h1,
  html[lang="km"] body.admin-view .topbar h1,
  html[data-lang="km"] body.admin-view .topbar h1{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:clamp(24px,2.05vw,32px)!important;
    line-height:1.08!important;
    margin:0!important;
  }
  body.admin-view .topbar p,
  body[data-page="dashboard"].admin-view .topbar p{
    display:none!important;
  }
  body.admin-view .topbar .actions,
  body[data-page="dashboard"].admin-view .topbar .actions{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow:visible!important;
    min-width:0!important;
  }
  body.admin-view .topbar .actions form.auth-inline,
  body[data-page="dashboard"].admin-view .topbar .actions form.auth-inline{
    flex:0 0 auto!important;
    margin:0!important;
  }
  body.admin-view .topbar .actions button,
  body.admin-view .topbar .actions form.auth-inline button,
  body[data-page="dashboard"].admin-view .topbar .actions button,
  body[data-page="dashboard"].admin-view .topbar .actions form.auth-inline button{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    min-width:auto!important;
    padding:0 12px!important;
    font-size:14px!important;
    line-height:1!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }
  body.admin-view .topbar .actions form.auth-inline button{
    min-width:92px!important;
  }
  body.admin-view .topbar .actions .print:not(.lang-toggle){
    min-width:116px!important;
  }
  body.admin-view .topbar .actions .lang-toggle{
    min-width:82px!important;
    padding:0 12px!important;
  }
}

/* 2026-06-18: Keep topbar sign-out button same width on every admin page */
@media (min-width:761px){
  body.admin-view .topbar .actions form.auth-inline,
  body[data-page="dashboard"].admin-view .topbar .actions form.auth-inline{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    flex:0 0 92px!important;
  }
  body.admin-view .topbar .actions form.auth-inline button,
  body[data-page="dashboard"].admin-view .topbar .actions form.auth-inline button{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
  }
}

/* 2026-06-18: Show full Khmer wording in CCTV type boxes without changing box size */
@media (min-width:761px){
  html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-pill{
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    box-sizing:border-box!important;
    padding:5px 6px!important;
    gap:2px!important;
  }
  html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy{
    height:80px!important;
    max-height:80px!important;
    min-width:0!important;
    padding:2px 4px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    justify-content:center!important;
    align-items:flex-end!important;
    text-align:right!important;
  }
  html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy strong{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(15.5px,5.6cqw,29px)!important;
    font-weight:900!important;
    line-height:1.16!important;
    letter-spacing:-.03em!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    -webkit-line-clamp:unset!important;
    -webkit-box-orient:initial!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  html[lang="km"] body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .type-grid > .type-choice .type-copy small{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    font-size:10px!important;
    line-height:1.1!important;
    margin-top:1px!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}

/* 2026-06-18: Make admin dashboard shell stay sticky/stable during sidebar navigation */
@media (min-width:761px){
  body.admin-view .topbar,
  body[data-page="dashboard"].admin-view .topbar{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
    height:80px!important;
    min-height:80px!important;
    max-height:80px!important;
  }
  body.admin-view .content,
  body[data-page="dashboard"].admin-view .content{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

/* 2026-06-18: Remove sidebar click flicker/jitter during page navigation */
@media (min-width:761px){
  body.admin-view .sidebar,
  body.admin-view .sidebar *,
  body.admin-view .sidebar .menu a,
  body.admin-view .sidebar .menu a.active,
  body.admin-view .sidebar .menu a:hover,
  body.admin-view .sidebar .nav-icon,
  body.admin-view .sidebar .logo{
    transition:none!important;
    animation:none!important;
  }
  body.admin-view .sidebar .menu a,
  body.admin-view .sidebar .menu a.active,
  body.admin-view .sidebar .menu a:hover{
    transform:none!important;
  }
}

/* 2026-06-18: Prevent browser scroll anchoring from shaking admin pages on navigation */
html:has(body.admin-view),
body.admin-view,
body.admin-view .main,
body.admin-view .topbar,
body.admin-view .sidebar,
body.admin-view .content{
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
}

/* 2026-06-18: Access Manager professional table layout and sticky scroll polish */
@media (min-width:761px){
  body.admin-view[data-page="access_manager"] .content.list-page{
    gap:14px!important;
    padding:18px 20px 34px!important;
  }
  body.admin-view[data-page="access_manager"] .manager-card{
    border-color:#d8e4f1!important;
    box-shadow:0 10px 24px rgba(15,35,80,.06)!important;
  }
  body.admin-view[data-page="access_manager"] .manager-card > h2{
    min-height:54px!important;
    padding:0 18px!important;
  }
  body.admin-view[data-page="access_manager"] .manager-card > .body{
    padding:16px 18px!important;
  }
  body.admin-view[data-page="access_manager"] .license-form,
  body.admin-view[data-page="access_manager"] .log-search-form{
    gap:12px!important;
    padding:14px!important;
  }
  body.admin-view[data-page="access_manager"] .license-form .row2,
  body.admin-view[data-page="access_manager"] .license-form .row3,
  body.admin-view[data-page="access_manager"] .log-search-form .row3{
    gap:12px!important;
  }
  body.admin-view[data-page="access_manager"] .license-form .field-block,
  body.admin-view[data-page="access_manager"] .license-form .row2 + .row2,
  body.admin-view[data-page="access_manager"] .license-form .row2 + .row3,
  body.admin-view[data-page="access_manager"] .license-form .row3 + .row2,
  body.admin-view[data-page="access_manager"] .license-form .row3 + .row3,
  body.admin-view[data-page="access_manager"] .log-search-form .row3 + .row3{
    margin-top:12px!important;
  }
  body.admin-view[data-page="access_manager"] .manager-toolbar,
  body.admin-view[data-page="access_manager"] .table-search-toolbar{
    min-height:48px!important;
    align-items:center!important;
    padding:0 0 12px!important;
    margin:0 0 12px!important;
  }
  body.admin-view[data-page="access_manager"] .table-search-bar{
    align-items:center!important;
    gap:10px!important;
  }
  body.admin-view[data-page="access_manager"] .table-search-field label{
    margin-bottom:5px!important;
  }
  body.admin-view[data-page="access_manager"] .table-search-input-wrap input,
  body.admin-view[data-page="access_manager"] .table-search-btn{
    height:42px!important;
  }
  body.admin-view[data-page="access_manager"] .table-search-count{
    align-self:center!important;
  }
  body.admin-view[data-page="access_manager"] .manager-card:nth-of-type(2) .table-wrap{
    max-height:310px!important;
    min-height:180px!important;
    overflow:auto!important;
  }
  body.admin-view[data-page="access_manager"] .manager-card:nth-of-type(3) .table-wrap{
    max-height:clamp(330px,38vh,520px)!important;
    min-height:280px!important;
    overflow:auto!important;
  }
  body.admin-view[data-page="access_manager"] .table-wrap{
    position:relative!important;
    overflow:auto!important;
    border-radius:12px!important;
    scrollbar-gutter:stable!important;
  }
  body.admin-view[data-page="access_manager"] .data-table{
    border-collapse:separate!important;
    border-spacing:0!important;
    table-layout:auto!important;
  }
  body.admin-view[data-page="access_manager"] .data-table thead th{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
    background:#eaf2fb!important;
    box-shadow:0 1px 0 #d8e4f1!important;
  }
  body.admin-view[data-page="access_manager"] .data-table td{
    line-height:1.35!important;
    vertical-align:middle!important;
    background:#fff!important;
  }
  body.admin-view[data-page="access_manager"] .data-table tbody tr:nth-child(even) td{
    background:#fbfdff!important;
  }
  body.admin-view[data-page="access_manager"] .data-table tbody tr:hover td{
    background:#f4f9ff!important;
  }
  body.admin-view[data-page="access_manager"] .access-table{
    min-width:1500px!important;
  }
  body.admin-view[data-page="access_manager"] .log-table{
    min-width:1600px!important;
  }
  body.admin-view[data-page="access_manager"] .access-table th:first-child,
  body.admin-view[data-page="access_manager"] .access-table td:first-child{
    position:sticky!important;
    left:0!important;
    min-width:300px!important;
    width:300px!important;
    z-index:12!important;
    box-shadow:1px 0 0 #e2e8f0!important;
  }
  body.admin-view[data-page="access_manager"] .access-table thead th:first-child{
    z-index:32!important;
    background:#eaf2fb!important;
  }
  body.admin-view[data-page="access_manager"] .access-table th:last-child,
  body.admin-view[data-page="access_manager"] .access-table td:last-child{
    position:sticky!important;
    right:0!important;
    min-width:230px!important;
    width:230px!important;
    z-index:13!important;
    box-shadow:-1px 0 0 #e2e8f0!important;
  }
  body.admin-view[data-page="access_manager"] .access-table thead th:last-child{
    z-index:33!important;
    background:#eaf2fb!important;
  }
  body.admin-view[data-page="access_manager"] .log-table th:nth-child(1),
  body.admin-view[data-page="access_manager"] .log-table td:nth-child(1){
    position:sticky!important;
    left:0!important;
    min-width:170px!important;
    width:170px!important;
    z-index:12!important;
    box-shadow:1px 0 0 #e2e8f0!important;
  }
  body.admin-view[data-page="access_manager"] .log-table th:nth-child(2),
  body.admin-view[data-page="access_manager"] .log-table td:nth-child(2){
    position:sticky!important;
    left:170px!important;
    min-width:260px!important;
    width:260px!important;
    z-index:12!important;
    box-shadow:1px 0 0 #e2e8f0!important;
  }
  body.admin-view[data-page="access_manager"] .log-table thead th:nth-child(1),
  body.admin-view[data-page="access_manager"] .log-table thead th:nth-child(2){
    z-index:34!important;
    background:#eaf2fb!important;
  }
  body.admin-view[data-page="access_manager"] .device-cell,
  body.admin-view[data-page="access_manager"] .log-agent,
  body.admin-view[data-page="access_manager"] .log-session{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  body.admin-view[data-page="access_manager"] .device-cell span{
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.admin-view[data-page="access_manager"] .log-agent{
    min-width:430px!important;
    max-width:520px!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:700!important;
  }
  body.admin-view[data-page="access_manager"] .log-session{
    min-width:190px!important;
    max-width:250px!important;
    color:#334155!important;
    font-size:13px!important;
    font-weight:700!important;
  }
  body.admin-view[data-page="access_manager"] .access-table .table-actions{
    justify-content:flex-start!important;
    gap:8px!important;
  }
}


/* 2026-06-18: Demo price support in product table and price mode controls */
body.admin-view .list-page .product-table{min-width:1460px!important;}
body.admin-view .list-page .demo-price-cell{color:#7c3aed!important;font-weight:900!important;}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label:has(input[value="demo"]){
  border-color:#d8b4fe!important;
  color:#6d28d9!important;
  background:#faf5ff!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label:has(input[value="demo"]:checked){
  border-color:#7c3aed!important;
  background:#f3e8ff!important;
  color:#5b21b6!important;
}
body[data-page="dashboard"] .calculator-column > .card:nth-child(1) .price-mode-control label:has(input:disabled){
  cursor:default!important;
  opacity:1!important;
}


/* 2026-06-18: Dashboard footer/version placed under action buttons */
body[data-page="dashboard"] .calculator-column > .dashboard-footer{
  display:block!important;
  margin:8px 0 0!important;
  padding:10px 12px 16px!important;
  text-align:center!important;
  color:#64748b!important;
  font-family:var(--dashboard-font)!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.35!important;
}
@media (max-width:760px){
  body[data-page="dashboard"] .calculator-column > .dashboard-footer{
    display:none!important;
  }
}


/* 2026-06-18: Keep dashboard version directly under action buttons */
body[data-page="dashboard"] .action-bar > .dashboard-footer,
body[data-page="dashboard"] .calculator-column .action-bar > .dashboard-footer{
  display:block!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px solid rgba(148,163,184,.22)!important;
  text-align:left!important;
  color:#64748b!important;
  font-family:var(--dashboard-font)!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.35!important;
}
@media (max-width:760px){
  body[data-page="dashboard"] .action-bar > .dashboard-footer,
  body[data-page="dashboard"] .calculator-column .action-bar > .dashboard-footer{
    display:block!important;
    font-size:11px!important;
  }
}

/* 2026-06-18: Final desktop A4 print width fix for Live Quotation Summary */
@media print{
  @page{size:A4 portrait;margin:8mm!important}
  html,
  body,
  body[data-page="dashboard"]{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body[data-page="dashboard"] *{
    visibility:hidden!important;
  }
  body[data-page="dashboard"] .sidebar,
  body[data-page="dashboard"] .topbar,
  body[data-page="dashboard"] .calculator-column,
  body[data-page="dashboard"] .mobile-bottom-nav,
  body[data-page="dashboard"] .app-footer{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body[data-page="dashboard"] .app,
  body[data-page="dashboard"] .main,
  body[data-page="dashboard"] .content,
  body[data-page="dashboard"] .dashboard-grid,
  body[data-page="dashboard"] .summary-column{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
  }
  body[data-page="dashboard"] .summary,
  body[data-page="dashboard"] .live-summary,
  body[data-page="dashboard"] #quotationSummary{
    visibility:visible!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    border:1px solid #cfd8e3!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  body[data-page="dashboard"] .summary *,
  body[data-page="dashboard"] .live-summary *,
  body[data-page="dashboard"] #quotationSummary *{
    visibility:visible!important;
    box-sizing:border-box!important;
  }
  body[data-page="dashboard"] .summary h2{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0 12px!important;
    background:#123b70!important;
    color:#fff!important;
    font-size:18px!important;
    font-weight:900!important;
    line-height:34px!important;
    overflow:hidden!important;
  }
  body[data-page="dashboard"] .summary h2 b{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:18px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    background:#bbf7d0!important;
    color:#064e3b!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:18px!important;
    white-space:nowrap!important;
  }
  body[data-page="dashboard"] .live-summary-meta{
    display:block!important;
    margin:0!important;
    padding:8px 12px!important;
    background:#eef6ff!important;
    color:#1e3a8a!important;
    border-bottom:1px solid #dbeafe!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.22!important;
  }
  body[data-page="dashboard"] .summary-table-wrap{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:9px 11px 7px!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body[data-page="dashboard"] .summary-table{
    display:table!important;
    width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.18!important;
    page-break-inside:auto!important;
  }
  body[data-page="dashboard"] .summary-table thead{display:table-header-group!important}
  body[data-page="dashboard"] .summary-table tbody{display:table-row-group!important}
  body[data-page="dashboard"] .summary-table tr{
    display:table-row!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    display:table-cell!important;
    padding:6px 8px!important;
    border-bottom:1px solid #d9e2ec!important;
    color:#0f172a!important;
    background:#fff!important;
    vertical-align:middle!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.18!important;
    overflow:visible!important;
  }
  body[data-page="dashboard"] .summary-table th{
    background:#edf3fa!important;
    color:#334155!important;
    text-transform:uppercase!important;
    font-size:11px!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-table th:nth-child(1),
  body[data-page="dashboard"] .summary-table td:nth-child(1){
    width:70%!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  body[data-page="dashboard"] .summary-table th:nth-child(2),
  body[data-page="dashboard"] .summary-table td:nth-child(2){
    width:10%!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  body[data-page="dashboard"] .summary-table th:nth-child(3),
  body[data-page="dashboard"] .summary-table td:nth-child(3){
    width:20%!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  body[data-page="dashboard"] .summary-table td:first-child small{
    display:block!important;
    margin-top:1px!important;
    color:#64748b!important;
    font-size:8px!important;
    line-height:1.05!important;
  }
  body[data-page="dashboard"] .summary-table td:last-child b{
    color:#0b5ee8!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body[data-page="dashboard"] .summary-table tr.summary-zero-row{
    display:none!important;
  }
  body[data-page="dashboard"] .summary-total{
    display:block!important;
    margin:7px 11px 9px!important;
    padding:8px!important;
    border:1px solid #d7dee8!important;
    border-radius:6px!important;
    background:#fff!important;
    page-break-inside:avoid!important;
    break-inside:avoid!important;
  }
  body[data-page="dashboard"] .summary-total hr{display:none!important}
  body[data-page="dashboard"] .summary-total .sum-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    min-height:0!important;
    margin:0 0 5px!important;
    padding:7px 10px!important;
    border:0!important;
    border-radius:5px!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1.1!important;
    color:#0f172a!important;
  }
  body[data-page="dashboard"] .summary-total .sum-row strong{
    margin-left:auto!important;
    color:#0b5ee8!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.1!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  body[data-page="dashboard"] .summary-total .sum-material{background:#eff6ff!important;color:#0b5ee8!important}
  body[data-page="dashboard"] .summary-total .sum-install{background:#fff7df!important;color:#b45309!important}
  body[data-page="dashboard"] .summary-total .sum-addon{background:#f5ecff!important;color:#7c3aed!important}
  body[data-page="dashboard"] .summary-total .sum-grand{
    height:42px!important;
    margin:6px 0 0!important;
    padding:0 12px!important;
    background:#123b70!important;
    color:#fff!important;
    border-radius:5px!important;
  }
  body[data-page="dashboard"] .summary-total .sum-grand span{
    color:#fff!important;
    font-size:14px!important;
  }
  body[data-page="dashboard"] .summary-total .sum-grand strong{
    color:#fff!important;
    font-size:24px!important;
  }
}

/* 2026-06-18: Hide mobile summary back control from printed quotation */
@media print{
  body[data-page="dashboard"] .mobile-summary-back{
    display:none!important;
    visibility:hidden!important;
  }
}

/* 2026-06-18: Readable standard A4 quotation print typography */
@media print{
  @page{size:A4 portrait;margin:8mm!important}
  body[data-page="dashboard"] .summary,
  body[data-page="dashboard"] .live-summary,
  body[data-page="dashboard"] #quotationSummary{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    border:1px solid #b9c7d8!important;
    background:#fff!important;
  }
  body[data-page="dashboard"] .summary h2{
    height:44px!important;
    min-height:44px!important;
    padding:0 16px!important;
    font-size:24px!important;
    line-height:44px!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
  body[data-page="dashboard"] .summary h2 b{
    height:22px!important;
    padding:0 10px!important;
    font-size:12px!important;
    line-height:22px!important;
  }
  body[data-page="dashboard"] .live-summary-meta{
    padding:10px 16px!important;
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-table-wrap{
    padding:12px 14px 10px!important;
  }
  body[data-page="dashboard"] .summary-table{
    font-size:15px!important;
    line-height:1.28!important;
  }
  body[data-page="dashboard"] .summary-table th,
  body[data-page="dashboard"] .summary-table td{
    padding:9px 12px!important;
    font-size:15px!important;
    line-height:1.28!important;
    font-weight:700!important;
    border-bottom:1px solid #cfd8e3!important;
  }
  body[data-page="dashboard"] .summary-table th{
    padding:10px 12px!important;
    font-size:14px!important;
    font-weight:900!important;
    background:#e8f0f8!important;
  }
  body[data-page="dashboard"] .summary-table td:first-child{
    font-weight:800!important;
  }
  body[data-page="dashboard"] .summary-table td:first-child small{
    margin-top:3px!important;
    font-size:11px!important;
    line-height:1.15!important;
  }
  body[data-page="dashboard"] .summary-table td:nth-child(2){
    font-size:15px!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-table td:last-child b{
    font-size:15px!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-total{
    margin:12px 14px 14px!important;
    padding:12px!important;
    border:1px solid #cfd8e3!important;
    border-radius:7px!important;
  }
  body[data-page="dashboard"] .summary-total .sum-row{
    min-height:36px!important;
    margin:0 0 7px!important;
    padding:9px 13px!important;
    font-size:15px!important;
    line-height:1.2!important;
    border-radius:6px!important;
  }
  body[data-page="dashboard"] .summary-total .sum-row span{
    font-size:15px!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-total .sum-row strong{
    font-size:16px!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-total .sum-grand{
    height:54px!important;
    margin-top:8px!important;
    padding:0 16px!important;
    border-radius:6px!important;
  }
  body[data-page="dashboard"] .summary-total .sum-grand span{
    font-size:18px!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-total .sum-grand strong{
    font-size:32px!important;
    font-weight:900!important;
  }
}

/* 2026-06-18: Ensure printed grand total is large for both total class variants */
@media print{
  body[data-page="dashboard"] .summary-total .sum-row.grand{
    height:54px!important;
    min-height:54px!important;
    margin-top:8px!important;
    padding:0 16px!important;
    background:#123b70!important;
    color:#fff!important;
    border-radius:6px!important;
  }
  body[data-page="dashboard"] .summary-total .sum-row.grand span{
    color:#fff!important;
    font-size:18px!important;
    font-weight:900!important;
  }
  body[data-page="dashboard"] .summary-total .sum-row.grand strong{
    color:#fff!important;
    font-size:32px!important;
    font-weight:900!important;
  }
}

/* 2026-06-18: Strong final print override for extra-large A4 quotation table */
@media print{
  body.print-full-summary[data-page="dashboard"] .summary-table,
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table,
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table{
    font-size:22px!important;
    line-height:1.35!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-table th,
  body.print-full-summary[data-page="dashboard"] .summary-table td,
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table th,
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table td,
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table th,
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table td{
    font-size:22px!important;
    line-height:1.35!important;
    padding:14px 18px!important;
    font-weight:850!important;
    border-bottom:2px solid #d5dee9!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-table th,
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table th,
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table th{
    font-size:20px!important;
    font-weight:900!important;
    background:#e8f0f8!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-table td:first-child,
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table td:first-child,
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table td:first-child{
    font-weight:900!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-table td:first-child small,
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table td:first-child small,
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table td:first-child small{
    font-size:15px!important;
    line-height:1.2!important;
    margin-top:4px!important;
    font-weight:800!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-table td:nth-child(2),
  body.print-full-summary[data-page="dashboard"] .summary-table td:last-child b,
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table td:nth-child(2),
  body.print-full-summary[data-page="dashboard"] .live-summary .summary-table td:last-child b,
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table td:nth-child(2),
  body.print-full-summary[data-page="dashboard"] #quotationSummary .summary-table td:last-child b{
    font-size:22px!important;
    font-weight:900!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary h2,
  body.print-full-summary[data-page="dashboard"] .live-summary h2,
  body.print-full-summary[data-page="dashboard"] #quotationSummary h2{
    font-size:34px!important;
    line-height:60px!important;
    height:60px!important;
    min-height:60px!important;
  }
  body.print-full-summary[data-page="dashboard"] .live-summary-meta{
    font-size:24px!important;
    line-height:1.25!important;
    padding:15px 20px!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-row{
    min-height:54px!important;
    font-size:22px!important;
    padding:13px 18px!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-row span{
    font-size:22px!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-row strong{
    font-size:24px!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-grand,
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-row.grand{
    height:78px!important;
    min-height:78px!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-grand span,
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-row.grand span{
    font-size:26px!important;
  }
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-grand strong,
  body.print-full-summary[data-page="dashboard"] .summary-total .sum-row.grand strong{
    font-size:48px!important;
  }
}
