:root {
  --primary: #12343d;
  --primary-2: #0c2830;
  --accent: #24b7aa;
  --accent-hover: #16998f;
  --accent-pale: #e8f8f6;
  --ink: #152d35;
  --muted: #71858b;
  --line: #dce7e9;
  --paper: #fff;
  --surface: #f5f8f8;
  --surface-alt: #f8fbfb;
  --app-bg: #f5f8f8;
  --admin-bg: #f3f7f7;
  --input-bg: #fbfcfc;
  --input-border: #d7e3e5;
  --sidebar-bg: #0c2830;
  --sidebar-text: #a9bcc0;
  --sidebar-active-bg: #174b54;
  --sidebar-active-text: #fff;
  --topbar-bg: #fff;
  --hero-start: #0c2830;
  --hero-end: #174d55;
  --hero-text: #fff;
  --button-text: #fff;
  --success: #2ba88c;
  --warning: #c48713;
  --danger: #b83b44;
  --info: #2e6393;
  --table-header-bg: #f3f7f7;
  --table-header-text: #64787d;
  --table-stripe: #f8fbfb;
  --table-hover: #eef8f6;
  --selection-bg: #bfeee8;
  --focus-color: #24b7aa;
  --app-font: Arial, sans-serif;
  --app-font-size: 16px;
  --customer-label-size: 14px;
  --customer-input-size: 16px;
  --customer-specification-size: 16px;
  --customer-field-height: 48px;
  --customer-textarea-height: 92px;
  --customer-field-padding: 13px;
  --customer-item-padding: 18px;
  --catalog-field-height: 42px;
  --catalog-card-padding: 16px;
  --heading-weight: 800;
  --content-max: 1450px;
  --sidebar-width: 248px;
  --topbar-height: 72px;
  --card-padding: 21px;
  --control-height: 44px;
  --nav-item-height: 44px;
  --card-radius: 17px;
  --field-radius: 10px;
  --button-radius: 10px;
  --badge-radius: 99px;
  --ui-border-width: 1px;
  --hero-padding: 58px;
  --shadow: 0 16px 50px rgba(16, 49, 58, .08);
  --app-shadow: 0 12px 38px rgba(16, 49, 58, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--surface); font-family: Arial, sans-serif; font-size: 14px; }
button, input, select, textarea, output { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
.site-container { width: min(1180px, calc(100% - 36px)); margin-inline: auto; }
.honeypot { position: fixed !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

.button { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 11px; padding: 0 17px; font-weight: 700; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .55; cursor: wait; transform: none; }
.button-primary { color: #fff; background: var(--primary); box-shadow: 0 10px 26px rgba(18, 52, 61, .17); }
.button-primary:hover { background: var(--primary-2); }
.button-light { color: var(--primary); background: #eff6f5; border-color: #d7e7e5; }
.button-ghost { color: var(--primary); background: #fff; border-color: var(--line); }
.button-large { min-height: 52px; padding-inline: 24px; }
.eyebrow { color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .04em; }

.brand-lockup { min-width: 0; display: inline-flex; align-items: center; gap: 11px; }
.brand-lockup > span:last-child { min-width: 0; display: grid; gap: 3px; }
.brand-lockup strong { color: var(--primary); font-size: 13px; line-height: 1.25; white-space: nowrap; }
.brand-lockup small { color: #75898e; font-size: 8px; direction: ltr; text-align: right; white-space: nowrap; }
.brand-symbol { width: 43px; height: 43px; flex: 0 0 auto; border-radius: 13px; background: var(--primary); display: grid; place-items: center; transform: rotate(45deg); box-shadow: inset 0 0 0 4px rgba(255,255,255,.08); }
.brand-symbol i { width: 18px; height: 18px; border: 4px solid var(--accent); display: block; }
.brand-logo-image { width: auto; max-width: 115px; height: 52px; object-fit: contain; }
.brand-compact .brand-symbol { width: 35px; height: 35px; border-radius: 10px; }
.brand-compact .brand-symbol i { width: 14px; height: 14px; border-width: 3px; }
.brand-compact .brand-logo-image { max-width: 95px; height: 42px; }

.notice { margin: 0 0 16px; padding: 13px 16px; border: 1px solid; border-radius: 12px; line-height: 1.7; }
.notice ul { margin: 7px 0 0; padding-right: 20px; }
.notice-success { color: #146c5f; background: #e7f8f4; border-color: #bce8df; }
.notice-error { color: #9b333b; background: #fff0f1; border-color: #f0c9cc; }

/* Public form */
.public-header { height: 76px; background: rgba(255,255,255,.96); border-bottom: 1px solid #e4ecee; position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand-link { min-width: 0; }
.header-actions { display: flex; align-items: center; gap: 15px; }
.secure-note { display: inline-flex; align-items: center; gap: 7px; color: #71858a; font-size: 11px; }
.secure-note i { width: 8px; height: 8px; border-radius: 50%; background: #28b985; box-shadow: 0 0 0 4px #e1f6ee; }
.quote-hero { padding: 58px 0 93px; color: #fff; background: linear-gradient(120deg, var(--primary-2), var(--primary) 62%, #174d55); position: relative; overflow: hidden; }
.customer-language-bar { min-height: 38px; margin-bottom: 16px; position: relative; z-index: 3; display: flex; justify-content: flex-end; }
.language-switcher { padding: 4px; display: inline-flex; align-items: center; gap: 3px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.language-switcher a { min-width: 84px; min-height: 30px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; color: #d2e0e2; font-size: 11px; font-weight: 800; }
.language-switcher a.active { color: var(--primary-2); background: #fff; box-shadow: 0 5px 16px rgba(0,0,0,.14); }
.quote-hero::before, .quote-hero::after { content: ''; position: absolute; border: 1px solid rgba(255,255,255,.07); transform: rotate(45deg); }
.quote-hero::before { width: 350px; height: 350px; left: -120px; top: -185px; }
.quote-hero::after { width: 230px; height: 230px; right: 12%; bottom: -170px; }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 70px; align-items: center; position: relative; z-index: 1; }
.hero-grid-single { grid-template-columns: minmax(0,820px); }
.quote-hero h1 { margin: 13px 0 16px; font-size: clamp(34px, 4.7vw, 59px); line-height: 1.13; letter-spacing: -.045em; }
.quote-hero h1 em { color: #71d9cf; font-style: normal; }
.quote-hero p { max-width: 680px; margin: 0; color: #c1d1d4; font-size: 15px; line-height: 1.85; }
.hero-points { margin-top: 25px; display: flex; flex-wrap: wrap; gap: 9px; }
.hero-points span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 99px; color: #d4e2e4; background: rgba(255,255,255,.04); font-size: 10px; }
.hero-stat-card { padding: 26px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.06); box-shadow: 0 25px 60px rgba(0,0,0,.14); }
.hero-stat-card > span { color: var(--accent); font-size: 10px; }
.hero-stat-card strong { display: block; margin: 10px 0; font-size: 24px; }
.hero-stat-card p { font-size: 12px; line-height: 1.8; }
.form-wrap { position: relative; margin-top: -52px; padding-bottom: 60px; z-index: 3; }
.request-form { display: grid; gap: 18px; }
.form-card { padding: 28px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow); }
.compact-card { padding-bottom: 23px; }
.section-heading { margin-bottom: 23px; display: flex; align-items: flex-start; gap: 13px; }
.section-heading > span { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; color: var(--primary); background: var(--accent-pale); font-weight: 800; }
.section-heading h2 { margin: 0 0 5px; font-size: 19px; }
.section-heading p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.section-heading.with-action { align-items: center; }
.section-heading.with-action > div { flex: 1; }
.section-heading.small { margin-top: 24px; margin-bottom: 17px; }
.section-heading.small:first-child { margin-top: 0; }
.section-heading.small > span { width: 32px; height: 32px; font-size: 11px; }
.section-heading.small h2 { font-size: 16px; }
.form-grid { display: grid; gap: 15px; }
.form-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.span-full { grid-column: 1 / -1; }
.field { min-width: 0; display: grid; gap: 7px; }
.field > span, .mini-form label > span, .settings-form label > span, .settings-textareas label > span, .type-edit-form label > span { color: #5f747a; font-size: 10px; font-weight: 700; }
.field b { color: #d04f59; }
.field input, .field select, .field textarea, .mini-form input, .mini-form select, .settings-form input, .settings-form select, .settings-textareas textarea, .type-edit-form input { width: 100%; min-height: 44px; border: 1px solid #d7e3e5; border-radius: 10px; padding: 0 12px; color: var(--ink); background: #fbfcfc; outline: none; transition: border .15s, box-shadow .15s; }
.field textarea, .settings-textareas textarea { min-height: 85px; padding: 11px 12px; line-height: 1.75; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, .mini-form input:focus, .settings-form input:focus, .settings-textareas textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(36,183,170,.09); background: #fff; }
.field input::placeholder, .field textarea::placeholder { color: #a7b3b6; }
.items-stack { display: grid; gap: 12px; }
.product-item { position: relative; display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 16px; padding: 18px 19px; border: 1px solid #dce7e9; border-radius: 15px; background: #fafcfc; }
.item-number { padding-left: 14px; border-left: 1px solid #dce6e8; display: grid; align-content: center; justify-items: center; gap: 3px; }
.item-number span { color: #93a1a5; font-size: 8px; }
.item-number strong { color: var(--primary); font-size: 21px; }
.product-grid { display: grid; grid-template-columns: 1.45fr repeat(5,minmax(85px,.7fr)); gap: 12px; align-items: end; }
.product-type-field { grid-column: auto; }
.item-notes { grid-column: 1 / -1; }
.field.read-only output { min-height: 44px; display: flex; align-items: center; padding: 0 12px; border: 1px dashed #cbdadb; border-radius: 10px; color: #4b686d; background: #f0f6f6; font-size: 11px; }
.remove-item { position: absolute; left: -8px; top: -8px; width: 26px; height: 26px; border: 1px solid #f0ccd0; border-radius: 50%; color: var(--danger); background: #fff; cursor: pointer; font-size: 16px; }
.remove-item[hidden] { display: none; }
.quantity-summary { margin-top: 16px; padding: 15px 18px; display: grid; grid-template-columns: 130px minmax(170px,auto) 1fr; gap: 26px; align-items: center; border-radius: 13px; color: #fff; background: var(--primary); }
.quantity-summary > div { display: grid; gap: 4px; }
.quantity-summary span { color: #9fb3b8; font-size: 9px; }
.quantity-summary strong { font-size: 15px; }
.quantity-summary p { margin: 0; color: #b7c8cb; font-size: 9px; text-align: left; }
.submit-row { padding: 19px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
.submit-row > div { display: grid; gap: 5px; }
.submit-row > div strong { font-size: 15px; }
.submit-row > div span { color: var(--muted); font-size: 10px; }
.client-error { margin: 0; }
.success-banner { margin-bottom: 18px; padding: 18px 20px; display: flex; align-items: center; gap: 15px; border: 1px solid #bce7dc; border-radius: 15px; color: #145e55; background: #e9f9f5; box-shadow: var(--shadow); }
.success-icon { width: 43px; height: 43px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #29ad92; font-size: 20px; }
.success-banner > div:nth-child(2) { display: grid; gap: 3px; }
.success-banner span { font-size: 10px; }
.success-banner strong { font-size: 16px; direction: ltr; text-align: right; }
.success-banner p { margin: 0; font-size: 11px; }
.public-footer { padding: 31px 0; border-top: 1px solid var(--line); background: #fff; }
.public-footer .site-container { display: flex; align-items: center; gap: 28px; }
.public-footer p { margin: 0; color: #72858a; font-size: 10px; }

html[dir="ltr"] .customer-body { text-align: left; }
html[dir="ltr"] .customer-body .item-number { padding-right: 14px; padding-left: 0; border-right: 1px solid #dce6e8; border-left: 0; }
html[dir="ltr"] .customer-body .remove-item { right: -8px; left: auto; }
html[dir="ltr"] .customer-body .compact-summary { margin-right: 0; margin-left: auto; }
html[dir="ltr"] .customer-body .success-banner strong { text-align: left; }

/* Installer and login */
.install-body, .login-body { min-height: 100vh; background: linear-gradient(145deg, #eef5f5, #f9fbfb 50%, #e9f3f2); }
.install-shell { width: min(1120px, calc(100% - 34px)); min-height: 100vh; margin: auto; padding: 45px 0; display: grid; grid-template-columns: .75fr 1.25fr; gap: 28px; align-items: start; }
.install-intro { position: sticky; top: 45px; padding: 35px; border-radius: 22px; color: #fff; background: linear-gradient(145deg, var(--primary), var(--primary-2)); box-shadow: var(--shadow); }
.install-intro h1 { margin: 12px 0 14px; font-size: 34px; }
.install-intro p { margin: 0; color: #bfd0d3; line-height: 1.9; }
.requirements { margin-top: 27px; display: grid; gap: 9px; }
.requirements > div { min-height: 42px; padding: 9px 11px; display: flex; align-items: center; gap: 10px; border-radius: 10px; background: rgba(255,255,255,.07); font-size: 11px; }
.requirements b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; }
.req-ok b { color: #fff; background: #2ba88c; }
.req-error b { color: #fff; background: #d45760; }
.install-card, .login-card { padding: 30px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.install-button { width: 100%; margin-top: 24px; }
.login-shell { width: min(940px, calc(100% - 34px)); min-height: 100vh; margin: auto; padding: 35px 0; display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; }
.login-brand-panel { padding: 46px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 0 24px 24px 0; color: #fff; background: linear-gradient(145deg, var(--primary), var(--primary-2)); }
.login-brand-panel .brand-lockup strong { color: #fff; }
.login-brand-panel .brand-lockup small { color: #a8c0c4; }
.login-brand-panel .brand-symbol { background: rgba(255,255,255,.1); }
.login-brand-panel h1 { margin: 12px 0; font-size: 37px; line-height: 1.3; }
.login-brand-panel p { color: #b9cbce; line-height: 1.8; }
.login-card { border-radius: 24px 0 0 24px; display: flex; flex-direction: column; justify-content: center; }
.login-card h2 { margin: 0 0 8px; font-size: 27px; }
.login-card > p { margin: 0 0 22px; color: var(--muted); }
.login-card form { display: grid; gap: 16px; }
.back-link { margin-top: 20px; color: #6c8186; text-align: center; font-size: 11px; }

/* Admin */
.admin-body { background: #f3f7f7; }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0,1fr); }
.admin-sidebar { height: 100vh; position: sticky; top: 0; z-index: 35; padding: 24px 16px 16px; display: flex; flex-direction: column; color: #fff; background: var(--primary-2); }
.sidebar-brand { min-height: 63px; padding: 0 7px 18px; border-bottom: 1px solid rgba(255,255,255,.1); overflow: hidden; }
.sidebar-brand .brand-lockup strong { color: #fff; font-size: 11px; }
.sidebar-brand .brand-lockup small { color: #809a9f; font-size: 6.5px; }
.sidebar-brand .brand-logo-image { filter: brightness(0) invert(1); max-width: 90px; }
.admin-nav { margin-top: 22px; display: grid; gap: 7px; }
.admin-nav a { min-height: 44px; padding: 0 13px; display: flex; align-items: center; gap: 11px; border-radius: 10px; color: #a9bcc0; font-size: 11px; font-weight: 700; }
.admin-nav a i { width: 8px; height: 8px; border: 2px solid #6e898f; border-radius: 2px; transform: rotate(45deg); }
.admin-nav a:hover { color: #fff; background: rgba(255,255,255,.05); }
.admin-nav a.active { color: #fff; background: rgba(36,183,170,.16); }
.admin-nav a.active i { border-color: var(--accent); background: var(--accent); }
.sidebar-user { margin-top: auto; padding: 13px 6px 0; border-top: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: 35px minmax(0,1fr) 28px; gap: 9px; align-items: center; }
.avatar { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: var(--primary); background: #daf2ef; font-weight: 800; }
.sidebar-user > div { min-width: 0; display: grid; gap: 3px; }
.sidebar-user strong, .sidebar-user small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar-user strong { font-size: 9px; }
.sidebar-user small { color: #7f9a9f; font-size: 7px; direction: ltr; text-align: right; }
.sidebar-user button { width: 28px; height: 28px; border: 0; border-radius: 8px; color: #acc0c3; background: rgba(255,255,255,.06); cursor: pointer; }
.admin-main { min-width: 0; }
.admin-topbar { height: 72px; position: sticky; top: 0; z-index: 25; padding: 0 28px; display: flex; align-items: center; gap: 17px; border-bottom: 1px solid #dfe8e9; background: rgba(255,255,255,.95); backdrop-filter: blur(14px); }
.admin-topbar > div { display: grid; gap: 3px; margin-left: auto; }
.admin-topbar > div strong { font-size: 13px; }
.admin-topbar > div span { color: #7d8f94; font-size: 8px; }
.mobile-menu { display: none; }
.admin-content { width: min(1450px, 100%); margin: 0 auto; padding: 29px 28px 55px; }
.admin-page-title { margin-bottom: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; }
.admin-page-title h1 { margin: 7px 0 6px; font-size: 28px; letter-spacing: -.03em; }
.admin-page-title p { margin: 0; color: var(--muted); font-size: 11px; }
.stat-grid { margin-bottom: 17px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.stat-grid > div { padding: 17px 19px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(19,54,63,.035); }
.stat-grid span, .stat-grid small { display: block; color: var(--muted); font-size: 9px; }
.stat-grid strong { display: block; margin: 6px 0 3px; color: var(--primary); font-size: 27px; }
.workspace-grid { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 15px; align-items: start; }
.requests-panel, .review-panel, .admin-card { border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 8px 30px rgba(19,54,63,.035); }
.requests-panel { position: sticky; top: 88px; overflow: hidden; }
.panel-toolbar { padding: 12px; display: grid; grid-template-columns: minmax(0,1fr) 105px; gap: 7px; border-bottom: 1px solid var(--line); }
.panel-toolbar input, .panel-toolbar select { min-width: 0; min-height: 38px; padding: 0 10px; border: 1px solid #d9e4e5; border-radius: 9px; background: #f8fbfb; outline: none; font-size: 9px; }
.panel-toolbar .button { grid-column: 1 / -1; min-height: 34px; font-size: 9px; }
.requests-list { max-height: calc(100vh - 240px); overflow-y: auto; }
.request-card { width: 100%; padding: 14px 13px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px 12px; border-bottom: 1px solid #edf1f2; background: #fff; }
.request-card:hover { background: #f8fbfb; }
.request-card.active { background: #edf8f6; box-shadow: inset -3px 0 var(--accent); }
.request-card > div:first-child { min-width: 0; display: grid; gap: 4px; }
.request-card strong, .request-card span, .request-card small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.request-card strong { font-size: 11px; }
.request-card span { color: #7a8b90; font-size: 8px; }
.request-card small { color: #9aa8ab; font-size: 7px; direction: ltr; text-align: right; }
.request-card > div:last-child { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 7px; }
.request-card b { color: #819196; font-size: 7px; }
.status-chip { width: max-content; min-height: 22px; padding: 0 8px; display: inline-flex; align-items: center; border-radius: 99px; font-size: 8px; font-weight: 800; }
.status-new { color: #8c5c00; background: #fff0ce; }
.status-review { color: #2e6393; background: #e8f1fb; }
.status-sent { color: #0c7468; background: #dcf5f0; }
.status-cancelled { color: #8d4248; background: #f8e7e9; }
.review-panel { min-width: 0; padding: 21px; }
.empty-review, .empty-state { padding: 46px 20px; text-align: center; color: #839398; }
.empty-review { min-height: 420px; display: grid; place-content: center; gap: 7px; }
.empty-review strong { color: var(--ink); }
.review-head { padding-bottom: 17px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e5edef; }
.review-head h2 { margin: 9px 0 5px; font-size: 21px; }
.review-head p { margin: 0; color: #829297; font-size: 9px; }
.quote-serial { min-width: 180px; padding: 10px 12px; display: grid; gap: 4px; border: 1px dashed #b9d0cf; border-radius: 10px; background: #f1f9f7; direction: ltr; text-align: left; }
.quote-serial span { color: #77908e; font-size: 8px; }
.quote-serial strong { color: var(--primary); font-size: 10px; }
.customer-info-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid #e2eaeb; border-radius: 12px; background: #e2eaeb; overflow: hidden; }
.customer-info-grid > div { min-width: 0; padding: 10px 11px; display: grid; gap: 4px; background: #fafcfc; }
.customer-info-grid .wide { grid-column: span 4; }
.customer-info-grid span { color: #87969a; font-size: 8px; }
.customer-info-grid strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 9px; }
.customer-note { margin-top: 11px; padding: 11px 13px; border: 1px solid #eee0c3; border-radius: 11px; background: #fff9ec; }
.customer-note span { color: #987c3e; font-size: 8px; }
.customer-note p { margin: 5px 0 0; font-size: 10px; line-height: 1.7; }
.price-table-wrap, .catalog-table-wrap { margin-top: 15px; overflow-x: auto; }
.price-table, .catalog-table { width: 100%; min-width: 750px; border-collapse: collapse; }
.price-table th, .catalog-table th { padding: 9px; border-bottom: 1px solid #dfe8e9; color: #6d7f83; background: #f2f7f6; text-align: right; font-size: 7.5px; }
.price-table td, .catalog-table td { padding: 10px 9px; border-bottom: 1px solid #e8eeee; font-size: 9px; }
.price-table td:first-child { min-width: 185px; }
.price-table td:first-child strong, .price-table td:first-child span, .price-table td:first-child small { display: block; }
.price-table td:first-child span { margin-top: 3px; color: #75878b; font-size: 7px; }
.price-table td:first-child small { margin-top: 3px; color: #9aa6a8; font-size: 6.5px; }
.price-table input, .catalog-table input { width: 100%; min-width: 80px; min-height: 34px; padding: 0 7px; border: 1px solid #cfdddf; border-radius: 8px; outline: none; font-size: 9px; }
.adjustment-grid { margin-top: 15px; display: grid; grid-template-columns: repeat(3,minmax(0,.75fr)) minmax(210px,1.25fr); gap: 9px; }
.adjustment-grid > label, .adjustment-grid > div { display: grid; gap: 5px; }
.adjustment-grid span { color: #73858a; font-size: 8px; }
.adjustment-grid input { min-height: 38px; padding: 0 9px; border: 1px solid #d5e1e3; border-radius: 9px; outline: none; }
.adjustment-grid > div { padding: 9px 12px; border-radius: 11px; color: #fff; background: var(--primary); }
.adjustment-grid > div span { color: #9bb0b4; }
.adjustment-grid > div strong { font-size: 16px; }
.adjustment-grid > div small { color: #75d2c9; font-size: 7px; }
.admin-textarea { margin-top: 14px; display: grid; gap: 6px; }
.admin-textarea span { color: #6d7f83; font-size: 8px; }
.admin-textarea textarea { padding: 10px; border: 1px solid #d7e3e5; border-radius: 10px; resize: vertical; outline: none; line-height: 1.7; }
.review-actions, .issued-actions { margin-top: 15px; padding-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid #e5edef; }
.review-actions .button, .issued-actions .button, .share-button { min-height: 39px; font-size: 9px; }
.issued-actions { align-items: center; }
.issued-actions > div:first-child { min-width: 220px; flex: 1; display: grid; gap: 4px; }
.issued-actions > div span { color: #71858a; direction: ltr; text-align: right; font-size: 7px; word-break: break-all; }
.issued-actions form { display: inline-flex; }
.share-button { padding: 0 14px; border: 0; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; cursor: pointer; }
.share-button.whatsapp { color: #147747; background: #dff5e8; }
.share-button.email { color: #336796; background: #e7f0f9; }
.danger-row { margin-top: 10px; text-align: left; }
.text-danger { padding: 4px 7px; border: 0; color: var(--danger); background: transparent; cursor: pointer; font-size: 9px; }
.catalog-layout { margin-bottom: 15px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 15px; }
.catalog-downloads { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.catalog-import-card { margin-bottom: 15px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.catalog-import-card > div { min-width: 0; }
.catalog-import-card h2 { margin-bottom: 5px; }
.catalog-import-card p { margin: 0; max-width: 720px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.catalog-import-card form { min-width: 390px; display: flex; align-items: center; gap: 9px; }
.catalog-import-card input[type="file"] { min-width: 0; flex: 1; padding: 8px; border: 1px solid #d7e3e5; border-radius: 9px; background: #f8fbfb; font-size: 8px; }
.admin-card { padding: 21px; }
.admin-card h2 { margin: 0 0 16px; font-size: 16px; }
.mini-form, .settings-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.mini-form label, .settings-form label, .type-edit-form label { min-width: 0; display: grid; gap: 6px; }
.mini-form input, .mini-form select, .settings-form input, .settings-form select, .type-edit-form input { min-height: 40px; }
.mini-form .button { align-self: end; }
.variant-form { grid-template-columns: repeat(4,minmax(0,1fr)); }
.catalog-table-card { margin-bottom: 20px; }
.card-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.card-title-row h2 { margin-bottom: 4px; }
.card-title-row p { margin: 0; color: var(--muted); font-size: 9px; }
.card-title-row select { min-width: 260px; min-height: 38px; padding: 0 9px; border: 1px solid #d7e3e5; border-radius: 9px; }
.type-edit-form { margin-top: 17px; padding: 14px; display: grid; grid-template-columns: 1.2fr 1.2fr .5fr auto auto; gap: 10px; align-items: end; border-radius: 12px; background: #f5f9f9; }
.check-field { min-height: 38px; display: flex !important; align-items: center; gap: 8px !important; color: #53696e; font-size: 9px; cursor: pointer; }
.check-field input { width: 16px !important; min-height: 16px !important; accent-color: var(--accent); }
.table-save { min-height: 31px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; color: var(--primary); background: var(--accent-pale); cursor: pointer; font-size: 8px; font-weight: 800; }
.settings-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 15px; align-items: start; }
.settings-form .wide { grid-column: 1 / -1; }
.logo-preview { min-height: 110px; padding: 14px; display: grid; place-items: center; border: 1px dashed #cbdadc; border-radius: 13px; background: #f8fbfb; }
.logo-preview img { max-width: 230px; max-height: 95px; object-fit: contain; }
.logo-upload { margin-top: 12px; display: grid; gap: 8px; }
.logo-upload > input { width: 100%; padding: 7px; border: 1px solid #d6e2e4; border-radius: 9px; font-size: 8px; }
.settings-form.narrow { margin-top: 14px; }
.notes-settings { grid-column: 1 / -1; }
.settings-textareas { margin: 15px 0; display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 12px; }
.settings-textareas label { display: grid; gap: 6px; }
.quote-layout-settings { min-width: 0; }
.quote-layout-settings h3 { margin: 22px 0 10px; color: #52696e; font-size: 11px; }
.quote-layout-settings .layout-help { margin: -5px 0 10px; color: #819195; font-size: 8px; line-height: 1.7; }
.layout-controls-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.layout-controls-grid.four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.layout-controls-grid label, .layout-color-grid label { min-width: 0; display: grid; gap: 6px; }
.layout-controls-grid label > span, .layout-color-grid label > span { color: #5f747a; font-size: 9px; font-weight: 700; }
.layout-controls-grid input, .layout-controls-grid select { width: 100%; min-height: 39px; padding: 0 9px; border: 1px solid #d7e3e5; border-radius: 9px; background: #fbfcfc; }
.layout-color-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.layout-color-grid input { width: 100%; min-height: 43px; padding: 4px; border: 1px solid #d7e3e5; border-radius: 9px; background: #fff; }
.layout-preset-bar { margin: 15px 0 4px; padding: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; border: 1px solid #d9e6e7; border-radius: 11px; background: #f7fbfa; }
.layout-preset-bar > span { margin-left: 4px; color: #61767b; font-size: 9px; font-weight: 800; }
.layout-preset-bar button { padding: 7px 11px; border: 1px solid #c9dddd; border-radius: 8px; color: #31575b; background: #fff; cursor: pointer; font: 700 8px inherit; }
.layout-preset-bar button:hover { color: #fff; border-color: var(--accent); background: var(--accent); }
.layout-watermark-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.layout-watermark-grid > label { min-width: 0; display: grid; gap: 6px; }
.layout-watermark-grid > label > span { color: #5f747a; font-size: 9px; font-weight: 700; }
.layout-watermark-grid input:not([type="checkbox"]) { width: 100%; min-height: 39px; padding: 0 9px; border: 1px solid #d7e3e5; border-radius: 9px; background: #fbfcfc; }
.layout-watermark-grid .check-field { align-self: end; min-height: 39px; padding: 7px 10px; border: 1px solid #dce7e9; border-radius: 9px; background: #f8fbfb; }
.section-order-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; list-style: none; }
.section-order-list li { min-height: 42px; padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid #dce7e9; border-radius: 9px; background: #f8fbfb; color: #415b61; font-size: 9px; }
.section-order-list li > div { display: flex; gap: 4px; }
.section-order-list button { width: 28px; height: 28px; border: 0; border-radius: 7px; color: var(--primary); background: #e6f4f2; cursor: pointer; }
.layout-preview-card { position: sticky; top: 82px; }
.layout-preview-card > div:first-child p { margin: -9px 0 14px; color: var(--muted); font-size: 8px; }
.layout-preview-shell { padding: 12px; border: 1px solid #d8e4e5; border-radius: 13px; background: #edf3f3; overflow: auto; }
.layout-preview-paper { width: 100%; min-height: 450px; padding: 18px; position: relative; display: flex; flex-direction: column; gap: 8px; overflow: hidden; color: #101b1f; background: #fff; box-shadow: 0 10px 28px rgba(20,48,56,.09); font-family: Arial, sans-serif; font-size: 7px; line-height: 1.55; }
.layout-preview-paper > *:not(.preview-watermark) { position: relative; z-index: 1; }
.preview-watermark { max-width: 80%; position: absolute; z-index: 0; top: 52%; left: 50%; transform: translate(-50%,-50%) rotate(-30deg); color: var(--primary); font-size: 30px; font-weight: 900; line-height: 1; white-space: nowrap; opacity: .05; pointer-events: none; }
.layout-preview-paper header { padding: 10px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--primary); border-radius: 7px; }
.layout-preview-paper header > div:last-child { min-width: 0; display: grid; gap: 4px; }
.layout-preview-paper header strong { font-size: 11px; }
.layout-preview-paper header span { color: #667b80; direction: ltr; }
.layout-preview-paper header small { display: block; color: #667b80; font-size: 5px; font-weight: 400; }
.preview-logo { width: 58px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border: 1px dashed #a8b9bc; color: #7c9094; font-size: 7px; }
.layout-preview-paper section { margin: 0; padding: 8px; border: 1px solid #d1dcde; border-radius: 5px; }
.layout-preview-paper [data-preview-section="title"], .layout-preview-paper [data-preview-section="totals"], .layout-preview-paper [data-preview-section="signatures"] { display: flex; justify-content: space-between; gap: 8px; }
.layout-preview-paper [data-preview-section="title"] b { font-size: 16px; }
.layout-preview-paper [data-preview-section="title"] i { padding: 4px 7px; border-radius: 4px; color: #fff; background: var(--primary); font-style: normal; }
.layout-preview-paper [data-preview-section="meta"] { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.layout-preview-paper [data-preview-section="table"] { padding: 0; display: grid; grid-template-columns: 2fr 1fr 1fr; overflow: hidden; }
.layout-preview-paper [data-preview-section="table"] > * { padding: 5px; border-left: 1px solid #d5dfe0; text-align: center; }
.layout-preview-paper [data-preview-section="table"] b { color: #fff; background: var(--primary); }
.layout-preview-paper [data-preview-section="notes"] { display: grid; gap: 5px; }
.layout-preview-paper footer { margin-top: auto; padding-top: 5px; order: 999; border-top: 1px solid #bac7ca; color: #73858a; font-size: 6px; }
.settings-save-bar { grid-column: 1 / -1; padding: 14px 17px; position: sticky; bottom: 10px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid #cbdedb; border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 15px 40px rgba(12,49,57,.14); backdrop-filter: blur(12px); }
.settings-save-bar span { color: var(--muted); font-size: 9px; }
.content-editor-form { display: grid; gap: 16px; }
.content-editor-section { display: grid; gap: 18px; transition: border-color .18s, box-shadow .18s; }
.content-editor-section.has-unsaved-texts { border-color: color-mix(in srgb,var(--accent) 62%,var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent), var(--app-shadow); }
.bilingual-editor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; align-items: start; }
.language-editor { min-width: 0; padding: 13px; display: grid; gap: 10px; border: var(--ui-border-width) solid var(--line); border-radius: var(--card-radius); background: var(--surface-alt); }
.language-editor-heading { padding: 2px 2px 10px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.language-editor-heading strong { color: var(--primary); font-size: 14px; }
.language-editor-heading span { padding: 5px 8px; border-radius: var(--badge-radius); color: var(--muted); background: var(--paper); font-size: 8px; font-weight: 800; }
.content-text-group { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); overflow: hidden; }
.content-text-group > summary { min-height: 46px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink); cursor: pointer; list-style: none; font-size: 11px; font-weight: 800; }
.content-text-group > summary::-webkit-details-marker { display: none; }
.content-text-group > summary i { color: var(--muted); font-size: 14px; font-style: normal; transition: transform .16s; }
.content-text-group[open] > summary { border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--surface-alt) 72%,var(--paper)); }
.content-text-group[open] > summary i { transform: rotate(180deg); }
.content-fields-grid { padding: 13px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.content-fields-grid label { min-width: 0; display: grid; align-content: start; gap: 6px; }
.content-fields-grid label > span { color: var(--muted); font-size: 9px; font-weight: 800; }
.content-fields-grid input, .content-fields-grid textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--input-border); border-radius: var(--field-radius); color: var(--ink); background: var(--input-bg); outline: none; }
.content-fields-grid textarea { min-height: 82px; line-height: 1.65; resize: vertical; }
.content-fields-grid .content-field-wide { grid-column: 1 / -1; }
.base-export-fields { grid-template-columns: repeat(3,minmax(0,1fr)); }
.base-export-fields textarea { min-height: 92px; }
.content-fields-grid input:focus, .content-fields-grid textarea:focus { border-color: var(--focus-color); box-shadow: 0 0 0 3px color-mix(in srgb,var(--focus-color) 13%,transparent); background: var(--paper); }
.content-fields-grid small { color: var(--muted); font-size: 8px; line-height: 1.55; }
.language-editor[dir="ltr"] .content-fields-grid :is(input,textarea) { direction: ltr; text-align: left; }
.quote-copy-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; align-items: start; }
.quote-copy-groups .content-text-group { align-self: start; }
.quote-copy-groups .content-fields-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.template-token-help { padding: 11px 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 13px; border: 1px solid color-mix(in srgb,var(--info) 24%,var(--line)); border-radius: 11px; color: var(--muted); background: color-mix(in srgb,var(--info) 6%,var(--paper)); font-size: 9px; }
.template-token-help strong { color: var(--info); }
.template-token-help code { padding: 2px 5px; border-radius: 5px; color: var(--primary); background: var(--accent-pale); direction: ltr; }
.users-grid { display: grid; grid-template-columns: minmax(420px,.85fr) minmax(0,1.15fr); gap: 15px; align-items: start; }
.user-form { display: grid; gap: 15px; }
.permissions-box { padding: 14px; border: 1px solid #dce7e9; border-radius: 12px; background: #f8fbfb; }
.full-access { padding-bottom: 10px; border-bottom: 1px solid #dce6e8; font-weight: 800; }
.permission-grid { margin-top: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.active-user { padding: 8px 10px; border-radius: 10px; background: #edf8f6; }
.users-list { display: grid; gap: 8px; }
.users-list article { padding: 11px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto auto; gap: 10px; align-items: center; border: 1px solid #e1e9ea; border-radius: 11px; }
.users-list article > div { min-width: 0; display: grid; gap: 3px; }
.users-list strong, .users-list small, .users-list em { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.users-list strong { font-size: 10px; }
.users-list small { color: #788b8f; font-size: 8px; direction: ltr; text-align: right; }
.users-list em { color: #90a0a3; font-size: 7px; font-style: normal; }

/* Quote paper */
.quote-body { background: #e8eeee; }
.quote-screen { min-height: 100vh; padding: 1px 20px 55px; overflow-x: auto; }
.quote-actions { width: min(210mm, 100%); margin: 16px auto 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; position: sticky; top: 9px; z-index: 10; }
.pdf-feedback { width: min(210mm, calc(100% - 16px)); margin: 10px auto 0; padding: 10px 13px; border: 1px solid #b9ded7; border-radius: 10px; color: #176b5e; background: #e9f8f5; font-size: 10px; text-align: center; }
.pdf-feedback.error { color: #9b333b; border-color: #f0c9cc; background: #fff0f1; }
.pdf-feedback.notice { color: #7d6514; border-color: #eadca9; background: #fff9e7; }
.delivery-focus { outline: 3px solid rgba(36,183,170,.3); animation: deliveryPulse 1.1s ease-in-out infinite alternate; }
@keyframes deliveryPulse { to { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(36,183,170,.28); } }
.quotation-paper { width: 210mm; min-height: 297mm; margin: 13px auto 0; padding: var(--quote-pad-top,10mm) var(--quote-pad-right,11mm) var(--quote-pad-bottom,12mm) var(--quote-pad-left,11mm); position: relative; display: flex; flex-direction: column; color: var(--quote-text,#101b1f); background: #fff; box-shadow: 0 22px 60px rgba(12,37,45,.14); font-family: Arial, sans-serif; font-size: var(--quote-body-font,8px); line-height: var(--quote-line-height,1.55); }
.quotation-header { min-height: 35mm; padding: var(--quote-header-padding,5mm); order: 0; display: flex; direction: rtl; gap: 6mm; align-items: center; border: 1.4px solid var(--primary); border-radius: 12px; }
.quotation-header.logo-left { direction: ltr; }
.quotation-header.logo-left .company-heading { direction: rtl; }
.quotation-header.logo-left .quotation-brand { padding-left: 0; padding-right: 5mm; border-left: 0; border-right: 1px solid #d8e2e4; }
.quotation-header.logo-center { flex-direction: column; }
.quotation-header.logo-center .quotation-brand { width: 100%; height: auto; padding: 0 0 3mm; border-left: 0; border-bottom: 1px solid #d8e2e4; }
.quotation-header.logo-center .company-heading { width: 100%; text-align: center; }
.quotation-header.logo-center .company-heading h2 { text-align: center; }
.quotation-brand { width: var(--quote-logo-width,38mm); height: 25mm; flex: 0 0 auto; padding-left: 5mm; display: grid; place-items: center; border-left: 1px solid #d8e2e4; overflow: hidden; }
.quotation-brand .brand-lockup > span:last-child { display: none; }
.quotation-brand .brand-logo-image { max-width: var(--quote-logo-width,38mm); max-height: 25mm; height: auto; }
.quotation-brand .brand-symbol { width: 16mm; height: 16mm; border-radius: 5mm; }
.company-heading { min-width: 0; flex: 1; }
.company-heading h1 { margin: 0; font-size: var(--quote-company-font,15px); line-height: 1.45; }
.company-heading h2 { margin: 1mm 0 2.5mm; color: #25525d; font: 700 10px Arial, sans-serif; direction: ltr; text-align: right; }
.company-lines { display: grid; grid-template-columns: 1fr 1.35fr; gap: 1.2mm 4mm; color: #41565c; font-size: 7.2px; }
.company-lines span:nth-child(n+3) { grid-column: span 2; }
.company-lines b { color: #142c34; }
.quotation-paper [data-layout-section] { margin-top: var(--quote-section-gap,3mm); margin-bottom: 0; }
.quotation-title { display: flex; align-items: stretch; justify-content: space-between; gap: 5mm; }
.quotation-title > div:first-child { display: flex; align-items: baseline; gap: 3mm; }
.quotation-title > div:first-child, .quotation-title h3 { white-space: nowrap; }
.quotation-title > div:first-child span { color: var(--primary); font: 800 8px Arial, sans-serif; letter-spacing: .15em; }
.quotation-title h3 { margin: 0; font-size: var(--quote-title-font,22px); }
.serial-box { min-width: 49mm; padding: 2.3mm 4mm; display: flex; align-items: center; justify-content: space-between; gap: 4mm; border-radius: 8px; color: #fff; background: var(--primary); }
.serial-box span { color: #a8bdc2; font-size: 7px; }
.serial-box strong { color: #8be0d8; font: 800 9px Arial, sans-serif; }
.quote-meta-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border: 1px solid #aebfc3; border-radius: 8px; background: #c9d5d7; overflow: hidden; }
.quote-meta-grid > div { min-width: 0; padding: 2.4mm 2.5mm; display: grid; gap: 1.2mm; background: #fff; }
.quote-meta-grid > div:nth-child(n+5) { grid-column: span 2; }
.quote-meta-grid span { color: var(--quote-muted,#667b80); font-size: var(--quote-body-font,8px); }
.quote-meta-grid strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 8px; }
.quotation-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.quotation-table-section { width: 100%; }
.quotation-table thead { display: table-header-group; }
.quotation-table tr { page-break-inside: avoid; }
.quotation-table th { padding: var(--quote-cell-padding,2.2mm) 1.5mm; border: 1px solid #1e414b; color: var(--quote-table-text,#fff); background: var(--quote-table-bg,var(--primary)); font-size: var(--quote-table-font,7.5px); }
.quotation-table th:nth-child(1) { width: 7mm; }.quotation-table th:nth-child(2) { width: 22mm; }.quotation-table th:nth-child(4) { width: 17mm; }.quotation-table th:nth-child(5) { width: 15mm; }.quotation-table th:nth-child(6), .quotation-table th:nth-child(7) { width: 25mm; }
.quotation-table td { padding: var(--quote-cell-padding,2.2mm) 1.7mm; border: 1px solid #aebdc0; text-align: center; vertical-align: middle; font-size: var(--quote-table-font,7.5px); }
.quotation-table tbody tr:nth-child(even) td { background: #f6f9f9; }
.quotation-table td:nth-child(3) { text-align: right; }
.quotation-table td:nth-child(3) strong, .quotation-table td:nth-child(3) span, .quotation-table td:nth-child(3) small { display: block; }
.quotation-table td:nth-child(3) span { margin-top: 1mm; color: #51696e; font-size: 6.8px; }
.quotation-table td:nth-child(3) small { margin-top: 1mm; color: #7d8c8f; font-size: 6.2px; }
.quote-totals { display: grid; grid-template-columns: minmax(0,1.5fr) 58mm; border: 1px solid #9eafb3; border-radius: 8px; overflow: hidden; }
.amount-words { padding: 4mm; display: flex; flex-direction: column; justify-content: center; background: #f6f9f9; }
.amount-words span { color: #65797e; font-size: 7px; }
.amount-words p { margin: 2mm 0 0; font-size: 9px; font-weight: 700; line-height: 1.8; }
.totals-list { border-right: 1px solid #b5c2c5; }
.totals-list > div { min-height: 8mm; padding: 1.7mm 3mm; display: flex; align-items: center; justify-content: space-between; gap: 3mm; border-bottom: 1px solid #d4dddf; }
.totals-list > div:last-child { border-bottom: 0; }
.totals-list span { color: #61767b; font-size: 7px; }
.totals-list strong { font: 700 8px Arial, sans-serif; }
.totals-list .grand-total { min-height: 11mm; color: #fff; background: var(--primary); }
.totals-list .grand-total span { color: #c1d0d3; font-size: 8px; }
.totals-list .grand-total strong { color: #8de0d8; font-size: 11px; }
.quotation-notes { padding-top: 2.5mm; border-top: 1.5px solid var(--primary); }
.quotation-notes h4 { margin: 0 0 1.5mm; font-size: 9px; }
.quotation-notes ol { margin: 0; padding-right: 5mm; display: grid; gap: .8mm; }
.quotation-notes li { color: #334b52; font-size: var(--quote-notes-font,7px); line-height: var(--quote-line-height,1.55); }
.special-note { margin: 2mm 0 0; padding: 2mm 3mm; border-radius: 5px; color: #23484c; background: #f4f9f8; font-size: var(--quote-notes-font,7px); line-height: var(--quote-line-height,1.55); }
.signatures { padding: 0 12mm; display: grid; grid-template-columns: 1fr 1fr; gap: 25mm; }
.signatures > div { min-height: 22mm; display: grid; justify-items: center; align-content: start; gap: 2mm; border-bottom: 1px dotted #63787d; }
.signatures span { color: #6e8186; font-size: 6.8px; }.signatures strong { font-size: 8px; }.signatures i { color: #829195; font-size: 6.5px; font-style: normal; }
.quotation-footer { position: absolute; right: var(--quote-pad-right,11mm); left: var(--quote-pad-left,11mm); bottom: 5mm; padding-top: 2mm; display: flex; justify-content: space-between; border-top: 1px solid #b5c2c5; color: #73858a; font-size: var(--quote-footer-font,6px); }
.not-found { min-height: 100vh; padding: 25px; display: grid; place-content: center; justify-items: center; text-align: center; }
.not-found > strong { color: var(--accent); font-size: 70px; }.not-found h1 { margin: 8px 0; }.not-found p { color: var(--muted); }

@media (max-width: 1250px) {
  .product-grid { grid-template-columns: 1.3fr repeat(3,minmax(90px,.7fr)); }
  .workspace-grid { grid-template-columns: 300px minmax(0,1fr); }
  .customer-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .customer-info-grid .wide { grid-column: span 2; }
  .adjustment-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .adjustment-grid > div { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }.hero-stat-card { max-width: 620px; }
  .form-grid.three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: fixed; right: -260px; width: 248px; transition: right .2s ease; box-shadow: -20px 0 50px rgba(0,0,0,.2); }
  body.sidebar-open .admin-sidebar { right: 0; }
  .mobile-menu { width: 39px; height: 39px; display: grid; place-items: center; border: 0; border-radius: 10px; color: var(--primary); background: #edf5f4; cursor: pointer; }
  .workspace-grid, .catalog-layout, .settings-grid, .users-grid { grid-template-columns: 1fr; }
  .layout-preview-card { position: static; }
  .requests-panel { position: static; }.requests-list { max-height: 420px; }.notes-settings { grid-column: auto; }
  .install-shell { grid-template-columns: 1fr; }.install-intro { position: static; }.login-shell { grid-template-columns: 1fr; }.login-brand-panel, .login-card { border-radius: 22px; }.login-brand-panel { min-height: 380px; }
}

@media (max-width: 700px) {
  .site-container { width: min(100% - 22px, 1180px); }
  .public-header { height: 68px; }.header-actions .secure-note { display: none; }.header-actions .button { min-height: 38px; padding-inline: 11px; font-size: 10px; }
  .brand-lockup strong { max-width: 185px; overflow: hidden; text-overflow: ellipsis; font-size: 10px; }.brand-lockup small { display: none; }.brand-symbol { width: 35px; height: 35px; border-radius: 10px; }.brand-logo-image { max-width: 85px; height: 42px; }
  .quote-hero { padding: 43px 0 80px; }.quote-hero h1 { font-size: 34px; }.quote-hero p { font-size: 13px; }.hero-stat-card { padding: 20px; }
  .form-wrap { margin-top: -42px; }.form-card { padding: 20px 14px; border-radius: 16px; }.section-heading { margin-bottom: 19px; }.section-heading.with-action { flex-wrap: wrap; }.section-heading.with-action .button { width: 100%; }
  .form-grid.three, .form-grid.two { grid-template-columns: 1fr; }.span-full { grid-column: auto; }
  .product-item { grid-template-columns: 1fr; padding: 16px 12px; }.item-number { padding: 0 0 8px; display: flex; justify-content: flex-start; gap: 7px; border-left: 0; border-bottom: 1px solid #dce6e8; }.item-number strong { font-size: 14px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.product-type-field, .item-notes { grid-column: 1 / -1; }.remove-item { left: 7px; top: 7px; }
  .quantity-summary { grid-template-columns: 1fr 1.5fr; gap: 12px; }.quantity-summary p { grid-column: 1 / -1; text-align: right; }
  .submit-row { align-items: stretch; flex-direction: column; }.submit-row .button { width: 100%; }.public-footer .site-container { align-items: flex-start; flex-direction: column; gap: 12px; }
  html[dir="ltr"] .customer-body .item-number { padding: 0 0 8px; border-right: 0; border-bottom: 1px solid #dce6e8; }
  html[dir="ltr"] .customer-body .remove-item { right: 7px; left: auto; }
  .install-shell { width: min(100% - 20px, 1120px); padding: 16px 0; }.install-intro, .install-card { padding: 22px 16px; }.install-intro h1 { font-size: 28px; }
  .login-shell { width: min(100% - 20px, 940px); padding: 12px 0; }.login-brand-panel { min-height: 290px; padding: 28px 21px; }.login-brand-panel h1 { font-size: 29px; }.login-card { padding: 25px 18px; }
  .admin-topbar { height: 64px; padding: 0 12px; }.admin-topbar .button { min-height: 35px; padding-inline: 9px; font-size: 8px; }.admin-topbar > div span { display: none; }
  .admin-content { padding: 20px 9px 45px; }.admin-page-title { align-items: stretch; flex-direction: column; }.admin-page-title h1 { font-size: 23px; }.admin-page-title .button { width: 100%; }
  .stat-grid { gap: 7px; }.stat-grid > div { padding: 12px 9px; }.stat-grid strong { font-size: 21px; }.stat-grid span, .stat-grid small { font-size: 7px; }
  .review-panel, .admin-card { padding: 15px 11px; border-radius: 14px; }.review-head { flex-direction: column; }.quote-serial { width: 100%; }
  .price-table-wrap { margin-inline: -11px; padding-inline: 11px; }.adjustment-grid { grid-template-columns: 1fr 1fr; }.adjustment-grid > label:nth-child(3) { grid-column: span 2; }
  .review-actions .button, .issued-actions .button, .issued-actions .share-button, .issued-actions form { flex: 1 1 calc(50% - 8px); }.issued-actions form .share-button { width: 100%; }.issued-actions > div:first-child { flex-basis: 100%; }
  .mini-form, .settings-form, .variant-form, .type-edit-form, .settings-textareas, .permission-grid { grid-template-columns: 1fr; }.settings-form .wide { grid-column: auto; }.card-title-row { align-items: stretch; flex-direction: column; }.card-title-row select { width: 100%; min-width: 0; }
  .catalog-downloads, .catalog-import-card, .catalog-import-card form, .settings-save-bar { align-items: stretch; flex-direction: column; }
  .catalog-downloads .button, .catalog-import-card .button { width: 100%; }
  .catalog-import-card form { min-width: 0; }
  .layout-controls-grid, .layout-controls-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-color-grid, .section-order-list { grid-template-columns: 1fr 1fr; }
  .settings-save-bar { position: static; }
  .users-list article { grid-template-columns: 35px minmax(0,1fr) auto; }.users-list article form { grid-column: 3; }
  .quote-screen { padding-inline: 8px; }.quote-actions { width: 100%; position: static; justify-content: stretch; }.quote-actions .button { flex: 1; padding-inline: 7px; font-size: 9px; }.quotation-paper { margin-right: 0; margin-left: 0; transform-origin: top right; }
  .quote-actions .share-button { flex: 1 1 calc(50% - 8px); }
}

@page { size: A4; margin: 0; }
@media print {
  html, body { width: 210mm; min-height: 297mm; background: #fff !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .quote-screen { margin: 0; padding: 0; background: #fff; overflow: visible; }
  .quote-actions { display: none !important; }
  .quotation-paper { width: 210mm; min-height: 297mm; margin: 0; box-shadow: none; page-break-after: always; }
}

/* v1.2 responsive refresh */
.customer-body .quote-hero { padding: 48px 0 82px; }
.customer-body .hero-grid-single { width: 100%; max-width: 900px; }
.customer-body .quote-hero h1 { max-width: 790px; margin: 11px 0 13px; font-size: clamp(28px, 3.7vw, 43px); line-height: 1.25; letter-spacing: -.025em; }
.customer-body .quote-hero p { max-width: 800px; font-size: 13px; line-height: 1.9; }
.customer-fields-grid .span-full { grid-column: span 2; }
.product-item { border-color: #d5e3e4; background: linear-gradient(145deg,#fff,#f7fbfa); box-shadow: 0 8px 24px rgba(18,52,61,.035); }
.product-grid { grid-template-columns: minmax(210px,1.45fr) repeat(3,minmax(100px,.72fr)); gap: 11px; }
.product-grid .item-notes { grid-column: span 2; }
.compact-summary { width: min(100%,390px); margin-right: auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; padding: 0; overflow: hidden; background: #d3e2e3; }
.compact-summary > div { min-height: 62px; padding: 11px 16px; justify-content: center; background: var(--primary); }
.quote-submit-pulse { transform-origin: center; animation: quoteSubmitPulse 3.2s ease-in-out infinite; }
.quote-submit-pulse:hover { animation-play-state: paused; }
@keyframes quoteSubmitPulse { 0%,100% { transform: scale(1); box-shadow: 0 10px 26px rgba(18,52,61,.17); } 50% { transform: scale(1.035); box-shadow: 0 15px 34px rgba(18,52,61,.27); } }
@media (prefers-reduced-motion: reduce) { .quote-submit-pulse { animation: none; } }

.topbar-user-chip { max-width: 180px; padding: 5px 9px; border: 1px solid #dbe7e8; border-radius: 99px; color: #6e8186; background: #f7faf9; font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stat-grid { max-width: 880px; gap: 9px; }
.stat-grid > div { min-height: 86px; padding: 12px 15px; }
.stat-grid strong { margin: 4px 0 2px; font-size: 22px; line-height: 1; }
.stat-grid span { color: #526b70; font-size: 8.5px; font-weight: 800; }
.stat-grid small { font-size: 7.5px; }
.restricted-note { margin-top: 12px; padding: 11px 13px; border: 1px solid #d9e6e7; border-radius: 10px; color: #6e8388; background: #f5f9f9; font-size: 9px; }

.reports-title { align-items: center; }
.report-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.report-filter label { display: grid; gap: 5px; color: var(--muted); font-size: 8px; }
.report-filter input { min-height: 38px; padding: 0 9px; border: 1px solid #d6e2e4; border-radius: 9px; background: #fff; }
.report-stat-grid { margin-bottom: 15px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.report-stat-grid article { min-width: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(19,54,63,.035); }
.report-stat-grid span, .report-stat-grid small { display: block; color: var(--muted); font-size: 8px; }
.report-stat-grid strong { display: block; margin: 6px 0 4px; color: var(--primary); font-size: clamp(16px,2vw,23px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.report-export-card { margin-bottom: 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.report-export-card h2 { margin-bottom: 5px; }
.report-export-card p { margin: 0; color: var(--muted); font-size: 9px; }
.report-export-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.reports-grid { margin-bottom: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; align-items: start; }
.report-table-wrap { width: 100%; overflow-x: auto; }
.report-table { width: 100%; min-width: 520px; border-collapse: collapse; }
.report-table th, .report-table td { padding: 10px 9px; border-bottom: 1px solid #e4ecee; text-align: right; font-size: 8.5px; }
.report-table th { color: #64787d; background: #f3f7f7; font-size: 7.5px; }
.empty-cell { padding: 25px !important; color: var(--muted); text-align: center !important; }
.report-list { display: grid; }
.report-list > a { padding: 10px 4px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e7eeee; }
.report-list > a:hover { background: #f8fbfb; }
.report-list > a > div { min-width: 0; display: grid; gap: 4px; }
.report-list > a > div:last-child { justify-items: end; }
.report-list strong, .report-list span, .report-list b, .report-list small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.report-list strong { font-size: 9px; }.report-list span, .report-list small { color: var(--muted); font-size: 7px; }.report-list b { color: var(--primary); font-size: 9px; }
.empty-state.compact { min-height: 120px; padding: 35px 15px; }
.activity-card { margin-top: 15px; }

.layout-visibility-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.layout-visibility-grid .check-field { padding: 7px 10px; border: 1px solid #dce7e9; border-radius: 9px; background: #f8fbfb; }
.catalog-readonly input { pointer-events: none; color: #677b80; background: #f3f6f6; }
.catalog-readonly .table-save { display: none; }
.users-grid-single { grid-template-columns: 1fr; }
.permission-template { display: grid; gap: 6px; }
.permission-template > span { color: #5f747a; font-size: 9px; font-weight: 700; }
.permission-template select { min-height: 41px; padding: 0 10px; border: 1px solid #d7e3e5; border-radius: 9px; background: #fff; }
.permission-groups { margin-top: 11px; display: grid; gap: 9px; }
.permission-groups > section { padding: 10px; border: 1px solid #e0e9ea; border-radius: 10px; background: #fff; }
.permission-groups > section > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.permission-groups > section > div:first-child strong { color: var(--primary); font-size: 9px; }
.permission-groups [data-toggle-permission-group] { padding: 4px 7px; border: 0; border-radius: 7px; color: #24736b; background: #e7f6f3; cursor: pointer; font-size: 7px; }
.field small { color: #89999d; font-size: 7.5px; line-height: 1.5; }

.quotation-viewport { width: min(210mm,100%); margin: 13px auto 0; position: relative; overflow: visible; }
.quotation-scale { width: 210mm; }
.quotation-paper { margin: 0; border-radius: 2px; }
.quotation-header { min-height: var(--quote-header-height,27mm); border-color: var(--quote-border,#aebfc3); border-radius: var(--quote-radius,2.5mm); }
.quotation-header.header-style-line { padding-right: 0; padding-left: 0; border: 0; border-bottom: 1.3px solid var(--primary); border-radius: 0; }
.quotation-header.header-style-plain { border: 0; border-radius: 0; }
.quotation-header.header-style-boxed { border: 1.2px solid var(--quote-border,#aebfc3); }
.quotation-title.title-align-right { justify-content: flex-start; }
.quotation-title.title-align-right .serial-box { margin-right: auto; }
.quotation-title.title-align-center { justify-content: center; text-align: center; }
.quotation-title.title-align-center .serial-box { min-width: 38mm; }
.quotation-title.title-align-center > div:first-child { justify-content: center; }
.quote-meta-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 4mm; border: 0; border-block: 1px solid var(--quote-border,#aebfc3); border-radius: 0; background: transparent; overflow: visible; }
.quote-meta-grid.meta-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.quote-meta-grid.meta-cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.quote-meta-grid.meta-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.quote-meta-grid.meta-cols-2 > :last-child:nth-child(2n+1) { grid-column: span 2; }
.quote-meta-grid.meta-cols-3 > :last-child:nth-child(3n+1) { grid-column: span 3; }
.quote-meta-grid.meta-cols-3 > :last-child:nth-child(3n+2) { grid-column: span 2; }
.quote-meta-grid.meta-cols-4 > :last-child:nth-child(4n+1) { grid-column: span 4; }
.quote-meta-grid.meta-cols-4 > :last-child:nth-child(4n+2) { grid-column: span 3; }
.quote-meta-grid.meta-cols-4 > :last-child:nth-child(4n+3) { grid-column: span 2; }
.quote-meta-grid > div, .quote-meta-grid > div:nth-child(n+5) { min-width: 0; padding: var(--quote-meta-padding,1.3mm) 0; grid-column: auto; display: grid; align-content: center; gap: .4mm; background: transparent; }
.quote-meta-grid span { flex: 0 0 auto; color: var(--quote-muted,#667b80); font-size: var(--quote-meta-font,7.2px); }
.quote-meta-grid strong { min-width: 0; white-space: normal; overflow: visible; color: var(--quote-text,#101b1f); font-size: var(--quote-meta-font,7.2px); line-height: 1.45; }
.quote-meta-grid.meta-style-boxed { gap: 1px; border: 1px solid var(--quote-border,#aebfc3); border-radius: var(--quote-radius,2.5mm); background: var(--quote-border,#aebfc3); overflow: hidden; }
.quote-meta-grid.meta-style-boxed > div { padding: var(--quote-meta-padding,1.3mm) 1.7mm; background: #fff; }
.quote-meta-grid.meta-style-plain { border: 0; }
.quotation-table th { width: auto !important; border-color: var(--quote-border,#aebfc3); }
.quotation-table .line-col { width: 7mm !important; }
.quotation-table .code-col { width: 19mm !important; }
.quotation-table .quantity-col { width: 17mm !important; }
.quotation-table .unit-col { width: 15mm !important; }
.quotation-table .price-col, .quotation-table .total-col { width: 25mm !important; }
.quotation-table td { height: auto; border-color: var(--quote-border,#aebfc3); text-align: center; }
.quotation-table .product-cell { text-align: right !important; }
.quotation-table .product-cell strong, .quotation-table .product-cell span, .quotation-table .product-cell small { display: block; color: var(--quote-product,#000); }
.quotation-table .product-cell strong { font-size: var(--quote-product-font,9px); line-height: 1.35; }
.quotation-table .product-specification,.proforma-table .product-specification { font-size: var(--quote-specification-font,var(--quote-product-font,9px)); font-weight: 700; }
.quotation-table .product-cell span { margin-top: .6mm; font-size: var(--quote-table-font,7.5px); line-height: 1.4; }
.quotation-table .product-cell small { margin-top: .5mm; color: var(--quote-muted,#667b80); font-size: var(--quote-notes-font,7px); }
.quotation-table tbody tr:nth-child(even) td { background: var(--quote-stripe,#f6f9f9); }
.quotation-paper.density-compact .quotation-table th, .quotation-paper.density-compact .quotation-table td { padding-top: max(.8mm,calc(var(--quote-cell-padding,2.2mm) - .8mm)); padding-bottom: max(.8mm,calc(var(--quote-cell-padding,2.2mm) - .8mm)); }
.quotation-paper.density-normal .quotation-table th, .quotation-paper.density-normal .quotation-table td { padding-top: var(--quote-cell-padding,2.2mm); padding-bottom: var(--quote-cell-padding,2.2mm); }
.quotation-paper.density-relaxed .quotation-table th, .quotation-paper.density-relaxed .quotation-table td { padding-top: calc(var(--quote-cell-padding,2.2mm) + .8mm); padding-bottom: calc(var(--quote-cell-padding,2.2mm) + .8mm); }
.quotation-notes h4 { color: var(--quote-heading,var(--primary)); }
.quote-totals { display: flex; direction: ltr; border-color: var(--quote-border,#aebfc3); border-radius: var(--quote-radius,2.5mm); }
.amount-words { min-width: 0; display: block; background: var(--quote-stripe,#f6f9f9); }
.amount-words p { width: 100%; }
.amount-words { flex: 1; direction: rtl; }
.totals-list { width: 58mm; flex: 0 0 58mm; direction: rtl; border-right: 0; border-left: 1px solid #b5c2c5; }
.totals-list .grand-total { background: var(--quote-total-bg,var(--primary)); }
.totals-list .grand-total strong { font-size: var(--quote-total-font,11px); }
.serial-box { display: grid; grid-template-columns: 1fr; align-content: center; justify-items: start; gap: .7mm; }
.serial-box strong { white-space: nowrap; }
.signatures span, .signatures strong, .signatures i { white-space: nowrap; }

/* Advanced quotation designer */
.quotation-paper { overflow: hidden; background: var(--quote-page-bg,#fff); }
.quotation-paper.font-arial { font-family: Arial, sans-serif; }
.quotation-paper.font-tahoma { font-family: Arial, sans-serif; }
.quotation-paper.font-trebuchet { font-family: Arial, sans-serif; }
.quotation-paper :is(.company-heading h2,.quotation-title > div:first-child span,.serial-box strong,.totals-list strong) { font-family: inherit; }
.quotation-paper > *:not(.quotation-watermark) { position: relative; z-index: 1; }
.quotation-watermark { max-width: calc(100% - 24mm); position: absolute; z-index: 0; top: 51%; left: 50%; transform: translate(-50%,-50%) rotate(var(--quote-watermark-angle,-30deg)); color: var(--quote-watermark,var(--primary)); font-size: var(--quote-watermark-font,42px); font-weight: 900; line-height: 1; text-align: center; white-space: nowrap; opacity: var(--quote-watermark-opacity,.05); pointer-events: none; }
.quotation-header { gap: var(--quote-header-gap,6mm); }
.quotation-brand { height: var(--quote-logo-height,25mm); }
.quotation-header.logo-center .quotation-brand { height: var(--quote-logo-height,25mm); min-height: var(--quote-logo-height,25mm); }
.quotation-brand .brand-logo-image { max-height: var(--quote-logo-height,25mm); }
.company-heading { text-align: right; }
.company-heading h2 { text-align: inherit; }
.quotation-header.company-align-center .company-heading, .quotation-header.company-align-center .company-heading h2 { text-align: center; }
.quotation-header.company-align-left .company-heading, .quotation-header.company-align-left .company-heading h2 { text-align: left; }
.company-lines { font-size: var(--quote-company-details-font,7.2px); }
.company-lines span, .company-lines span:nth-child(n+3) { grid-column: auto; }
.company-lines .company-address { grid-column: 1 / -1; }
.quotation-title { padding: var(--quote-title-padding,1.5mm); color: var(--quote-title-color,var(--quote-text)); background: var(--quote-title-bg,#fff); border-radius: var(--quote-radius,2.5mm); }
.quotation-title h3 { color: inherit; }
.quotation-title.title-style-plain { border: 0; }
.quotation-title.title-style-line { border: 0; border-bottom: var(--quote-table-border,.35mm) solid var(--quote-border,#aebfc3); border-radius: 0; }
.quotation-title.title-style-boxed { border: var(--quote-table-border,.35mm) solid var(--quote-border,#aebfc3); }
.quotation-title.title-style-filled { border: var(--quote-table-border,.35mm) solid var(--quote-border,#aebfc3); }
.quotation-table th, .quotation-table td { border-width: var(--quote-table-border,.35mm); }
.quotation-table th { height: var(--quote-table-header-height,8mm); text-align: center; }
.quotation-table.header-align-right th { text-align: right; }
.quotation-table.header-align-left th { text-align: left; }
.quotation-table .line-col { width: var(--quote-line-col,7mm) !important; }
.quotation-table .code-col { width: var(--quote-code-col,19mm) !important; }
.quotation-table .quantity-col { width: var(--quote-quantity-col,17mm) !important; }
.quotation-table .unit-col { width: var(--quote-unit-col,15mm) !important; }
.quotation-table .price-col { width: var(--quote-price-col,25mm) !important; }
.quotation-table .total-col { width: var(--quote-total-col,25mm) !important; }
.quotation-table.product-align-center .product-cell { text-align: center !important; }
.quotation-paper.no-stripes .quotation-table tbody tr:nth-child(even) td { background: transparent; }
.amount-words { background: var(--quote-amount-bg,#f6f9f9); }
.totals-list { width: var(--quote-totals-width,58mm); flex-basis: var(--quote-totals-width,58mm); }
.quote-totals.without-amount-words .totals-list { margin-left: auto; }
.quote-totals.totals-style-line { border-right: 0; border-left: 0; border-radius: 0; }
.quote-totals.totals-style-plain { border: 0; border-radius: 0; }
.quote-totals.totals-style-plain .totals-list { border: 0; }
.totals-list .grand-total, .totals-list .grand-total span, .totals-list .grand-total strong { color: var(--quote-total-text,#fff); }
.quotation-notes { padding: var(--quote-notes-padding,2.5mm); background: var(--quote-notes-bg,#fff); }
.quotation-notes.notes-style-line { border: 0; border-top: var(--quote-table-border,.35mm) solid var(--primary); border-radius: 0; }
.quotation-notes.notes-style-boxed { border: var(--quote-table-border,.35mm) solid var(--quote-border,#aebfc3); border-radius: var(--quote-radius,2.5mm); }
.quotation-notes.notes-style-plain { border: 0; border-radius: 0; }
.signatures { gap: var(--quote-signature-gap,25mm); }
.signatures > div { min-height: var(--quote-signature-height,22mm); }
.quotation-footer { bottom: var(--quote-footer-bottom,5mm); padding-top: var(--quote-footer-padding,2mm); }
.quotation-footer.footer-align-right { justify-content: flex-start; text-align: right; }
.quotation-footer.footer-align-center { justify-content: center; text-align: center; }

@media (max-width: 1100px) {
  .report-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reports-grid { grid-template-columns: 1fr; }
  .report-export-card { align-items: stretch; flex-direction: column; }
  .report-export-actions { justify-content: flex-start; }
}

@media (max-width: 700px) {
  .customer-body .quote-hero { padding: 34px 0 70px; }
  .customer-body .quote-hero h1 { font-size: clamp(25px,8vw,32px); line-height: 1.32; }
  .customer-body .quote-hero p { font-size: 12px; }
  .customer-fields-grid .span-full { grid-column: auto; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-grid .product-type-field, .product-grid .item-notes { grid-column: 1 / -1; }
  .compact-summary { width: 100%; }
  .quote-submit-pulse { animation-duration: 3.8s; }
  .admin-topbar { gap: 7px; }
  .admin-topbar > div { margin-left: auto; }
  .admin-topbar > a { display: none; }
  .topbar-user-chip { max-width: 105px; padding: 4px 7px; font-size: 7px; }
  .stat-grid { max-width: none; }
  .stat-grid > div { min-height: 73px; padding: 10px 8px; }
  .stat-grid strong { font-size: 19px; }
  .reports-title { align-items: stretch; }
  .report-filter { display: grid; grid-template-columns: 1fr 1fr; }
  .report-filter .button { grid-column: 1 / -1; }
  .report-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .report-stat-grid article { padding: 11px 9px; }
  .report-stat-grid strong { font-size: 17px; }
  .report-export-actions { display: grid; }
  .report-export-actions .button { width: 100%; }
  .layout-visibility-grid, .permission-grid { grid-template-columns: 1fr; }
  .layout-watermark-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .users-list article { grid-template-columns: 35px minmax(0,1fr) auto; }
  .quotation-viewport { width: 100%; margin-top: 9px; }
  .quote-screen { overflow-x: hidden; }
  .quote-actions { padding-bottom: 2px; }
}

@media (max-width: 390px) {
  .site-container { width: min(100% - 16px,1180px); }
  .form-card { padding-inline: 11px; }
  .product-item { padding-inline: 9px; }
  .product-grid { gap: 8px; }
  .report-stat-grid { grid-template-columns: 1fr; }
  .layout-controls-grid, .layout-controls-grid.four, .layout-color-grid, .layout-watermark-grid, .section-order-list { grid-template-columns: 1fr; }
  .layout-preset-bar > span { width: 100%; }
}

@media print {
  .quotation-viewport { width: 210mm !important; height: auto !important; margin: 0 !important; overflow: visible !important; }
  .quotation-scale { width: 210mm !important; position: static !important; left: auto !important; transform: none !important; }
  .quotation-paper { margin: 0 !important; border-radius: 0; }
  .pdf-feedback { display: none !important; }
}

/* universal responsive and installable app layer */
html { max-width: 100%; overflow-x: clip; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
main, section, article, aside, header, footer, form, nav, div, label { min-width: 0; }
button, input, select, textarea, output { max-width: 100%; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(36,183,170,.34); outline-offset: 2px; }
.price-table-wrap, .catalog-table-wrap, .report-table-wrap { max-width: 100%; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; }
.adjustment-grid > label, .adjustment-grid > div { min-width: 0; }
.adjustment-grid input { width: 100%; min-width: 0; }
.admin-sidebar { height: 100vh; height: 100dvh; padding-top: calc(24px + env(safe-area-inset-top)); padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
.admin-topbar { height: auto; min-height: calc(72px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); padding-right: max(28px, env(safe-area-inset-right)); padding-left: max(28px, env(safe-area-inset-left)); }
.quote-screen { padding-right: max(20px, env(safe-area-inset-right)); padding-bottom: calc(55px + env(safe-area-inset-bottom)); padding-left: max(20px, env(safe-area-inset-left)); }
.install-body, .login-body, .not-found { min-height: 100vh; min-height: 100dvh; }
.admin-sidebar-backdrop { display: none; }

/* Install suggestion */
.pwa-install-banner { width: min(720px, calc(100% - 24px)); min-height: 78px; padding: 11px 52px 11px 12px; position: fixed; z-index: 9998; right: 50%; bottom: max(12px, env(safe-area-inset-bottom)); display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 12px; align-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; color: #fff; background: rgba(12,40,48,.97); box-shadow: 0 20px 60px rgba(4,25,31,.32); backdrop-filter: blur(18px); transform: translate(50%,calc(100% + 34px)); opacity: 0; transition: transform .25s ease, opacity .25s ease; }
.pwa-install-banner.is-visible { transform: translate(50%,0); opacity: 1; }
.pwa-install-banner img { width: 52px; height: 52px; border-radius: 14px; box-shadow: 0 8px 20px rgba(0,0,0,.22); }
.pwa-install-copy { display: grid; gap: 4px; }
.pwa-install-copy strong { font-size: 13px; line-height: 1.45; }
.pwa-install-copy span { color: #bad0d4; font-size: 10px; line-height: 1.55; }
.pwa-install-action { min-height: 42px; padding: 0 15px; border: 0; border-radius: 11px; color: #12343d; background: #71d9cf; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.pwa-install-close { width: 34px; height: 34px; position: absolute; top: 8px; right: 9px; border: 0; border-radius: 50%; color: #b7c9cc; background: rgba(255,255,255,.07); font-size: 20px; line-height: 1; cursor: pointer; }
.pwa-install-help { position: fixed; z-index: 10000; inset: 0; display: grid; align-items: end; pointer-events: none; opacity: 0; transition: opacity .22s ease; }
.pwa-install-help.is-visible { pointer-events: auto; opacity: 1; }
.pwa-install-help-backdrop { position: absolute; inset: 0; border: 0; background: rgba(3,21,26,.58); backdrop-filter: blur(4px); cursor: default; }
.pwa-install-help > section { width: min(100%,620px); max-height: min(82dvh,680px); margin-inline: auto; padding: 16px 22px calc(26px + env(safe-area-inset-bottom)); position: relative; overflow-y: auto; border-radius: 26px 26px 0 0; color: var(--ink); background: #fff; box-shadow: 0 -20px 70px rgba(0,0,0,.22); transform: translateY(100%); transition: transform .24s ease; }
.pwa-install-help.is-visible > section { transform: translateY(0); }
.pwa-help-handle { width: 44px; height: 5px; margin: 0 auto 16px; border-radius: 99px; background: #d7e1e3; }
.pwa-help-close { width: 38px; height: 38px; position: absolute; top: 15px; left: 16px; border: 0; border-radius: 50%; color: #657a7f; background: #edf3f3; font-size: 23px; cursor: pointer; }
.pwa-install-help img { width: 64px; height: 64px; border-radius: 18px; }
.pwa-install-help h2 { margin: 14px 0 18px; font-size: 21px; }
.pwa-install-help ol { margin: 0; padding-right: 24px; display: grid; gap: 13px; }
.pwa-install-help li { padding-right: 3px; color: #3d565c; font-size: 14px; line-height: 1.75; }
.pwa-install-help p { margin: 17px 0 0; padding: 11px 13px; border-radius: 11px; color: #667b80; background: #f1f6f6; font-size: 11px; line-height: 1.7; }
.pwa-share-symbol { width: 25px; height: 25px; display: inline-grid; place-items: center; border: 1px solid #9eafb3; border-radius: 7px; color: #24736b; font-size: 16px; }
body.pwa-help-open { overflow: hidden; }

@media screen and (max-width: 1250px) {
  .admin-content { width: 100%; }
  .layout-controls-grid.four { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .layout-color-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media screen and (max-width: 980px) {
  .admin-sidebar { width: min(82vw,300px); right: 0; z-index: 100; box-shadow: -20px 0 55px rgba(0,0,0,.24); transform: translateX(110%); transition: transform .22s ease; }
  body.sidebar-open { overflow: hidden; }
  body.sidebar-open .admin-sidebar { right: 0; transform: translateX(0); }
  .admin-sidebar-backdrop { position: fixed; z-index: 90; inset: 0; display: block; border: 0; background: rgba(4,24,29,.52); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility .2s ease; }
  body.sidebar-open .admin-sidebar-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }
  .admin-topbar { min-height: calc(68px + env(safe-area-inset-top)); padding-right: max(18px,env(safe-area-inset-right)); padding-left: max(18px,env(safe-area-inset-left)); }
  .admin-content { padding-inline: 18px; }
  .workspace-grid { gap: 18px; }
  .requests-panel { position: static; }
  .requests-list { max-height: min(44dvh,430px); }
  .catalog-layout, .settings-grid, .users-grid, .reports-grid { grid-template-columns: minmax(0,1fr); }
  .layout-preview-card { position: static; }
  .report-export-card, .catalog-import-card { align-items: stretch; flex-direction: column; }
  .catalog-import-card form { width: 100%; min-width: 0; }
  .report-export-actions, .catalog-downloads { justify-content: flex-start; }
  .bilingual-editor-grid, .quote-copy-groups { grid-template-columns: minmax(0,1fr); }
  .base-export-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media screen and (max-width: 820px) {
  body { font-size: 15px; }
  .site-container { width: min(100% - 28px,1180px); }
  .quote-hero { padding-top: calc(42px + env(safe-area-inset-top)); }
  .customer-body .quote-hero { padding-top: calc(36px + env(safe-area-inset-top)); }
  .customer-body .quote-hero h1 { font-size: clamp(27px,7vw,38px); }
  .customer-body .quote-hero p { font-size: 14px; }
  .form-card { padding: 22px 18px; }
  .field > span, .mini-form label > span, .settings-form label > span, .settings-textareas label > span, .type-edit-form label > span { font-size: 12px; }
  .field small { font-size: 10px; }
  .field input, .field select, .field textarea, .mini-form input, .mini-form select, .settings-form input, .settings-form select, .settings-textareas textarea, .type-edit-form input, .panel-toolbar input, .panel-toolbar select, .report-filter input, .layout-controls-grid input, .layout-controls-grid select, .layout-watermark-grid input:not([type="checkbox"]), .permission-template select, .content-fields-grid input, .content-fields-grid textarea { min-height: 48px; font-size: 16px; }
  .button, .share-button { min-height: 46px; font-size: 13px; }
  .section-heading h2 { font-size: 19px; }
  .section-heading p { font-size: 12px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .field.read-only output { min-height: 48px; font-size: 13px; }
  .quantity-summary span { font-size: 11px; }
  .quantity-summary strong { font-size: 17px; }
  .submit-row > div span { font-size: 11px; line-height: 1.55; }
  .admin-page-title h1 { font-size: 25px; }
  .admin-page-title p { font-size: 12px; line-height: 1.65; }
  .topbar-user-chip { max-width: 130px; font-size: 10px; }
  .admin-card h2 { font-size: 18px; }
  .card-title-row p, .catalog-import-card p, .report-export-card p { font-size: 11px; }
  .panel-toolbar { grid-template-columns: minmax(0,1fr) 128px; }
  .panel-toolbar .button { min-height: 42px; font-size: 11px; }
  .request-card { min-height: 68px; padding: 14px; }
  .request-card strong { font-size: 13px; }
  .request-card span { font-size: 10px; }
  .request-card small, .request-card b, .status-chip { font-size: 9px; }
  .review-panel, .admin-card { padding: 18px 15px; }
  .customer-info-grid span, .adjustment-grid span, .admin-textarea span { font-size: 10px; }
  .customer-info-grid strong, .price-table td, .catalog-table td { font-size: 11px; }
  .price-table th, .catalog-table th, .report-table th { font-size: 10px; }
  .review-actions .button, .issued-actions .button, .share-button { min-height: 44px; font-size: 11px; }
  .report-stat-grid span, .report-stat-grid small { font-size: 10px; }
  .report-table td, .report-list strong, .report-list b { font-size: 11px; }
  .report-list span, .report-list small { font-size: 9px; }
  .layout-controls-grid label > span, .layout-color-grid label > span, .layout-watermark-grid > label > span, .permission-template > span { font-size: 11px; }
  .layout-visibility-grid .check-field, .permission-grid .check-field, .check-field { min-height: 44px; font-size: 11px; }
  .settings-save-bar span { font-size: 11px; }
  .users-list strong { font-size: 12px; }
  .users-list small { font-size: 10px; }
  .users-list em { font-size: 9px; line-height: 1.55; }
  .quote-screen { padding-right: max(8px,env(safe-area-inset-right)); padding-left: max(8px,env(safe-area-inset-left)); }
  .quote-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .quote-actions .button, .quote-actions .share-button { width: 100%; min-height: 44px; font-size: 11px; }
  .pdf-feedback { font-size: 11px; line-height: 1.6; }
}

@media screen and (max-width: 600px) {
  .site-container { width: min(100% - 20px,1180px); }
  .customer-body .quote-hero { padding-bottom: 68px; }
  .customer-language-bar { margin-bottom: 12px; }
  .language-switcher { width: 100%; }
  .language-switcher a { flex: 1; min-width: 0; }
  .customer-body .quote-hero h1 { margin-top: 9px; font-size: clamp(25px,8.2vw,33px); line-height: 1.28; }
  .customer-body .quote-hero p { font-size: 13px; line-height: 1.8; }
  .form-wrap { margin-top: -38px; padding-bottom: calc(38px + env(safe-area-inset-bottom)); }
  .form-card { padding: 19px 14px; border-radius: 16px; }
  .form-grid.three, .form-grid.two, .mini-form, .settings-form, .variant-form, .type-edit-form, .settings-textareas { grid-template-columns: minmax(0,1fr); }
  .customer-fields-grid .span-full, .settings-form .wide { grid-column: auto; }
  .language-editor { padding: 9px; }
  .content-fields-grid, .quote-copy-groups .content-fields-grid { grid-template-columns: minmax(0,1fr); padding: 10px; }
  .base-export-fields { grid-template-columns: minmax(0,1fr); }
  .content-editor-section .card-title-row .button { width: 100%; }
  .template-token-help { align-items: flex-start; flex-direction: column; }
  .section-heading { gap: 10px; }
  .section-heading > span { width: 36px; height: 36px; }
  .section-heading.with-action { align-items: stretch; flex-direction: column; }
  .section-heading.with-action > span { position: absolute; }
  .section-heading.with-action > div { padding-right: 48px; }
  html[dir="ltr"] .section-heading.with-action > div { padding-right: 0; padding-left: 48px; }
  .section-heading.with-action .button { width: 100%; }
  .compact-summary { width: 100%; }
  .submit-row { padding: 16px; align-items: stretch; flex-direction: column; }
  .submit-row .button { width: 100%; }
  .success-banner { padding: 15px; align-items: flex-start; }
  .install-shell, .login-shell { min-height: 100dvh; padding-top: calc(12px + env(safe-area-inset-top)); padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .install-intro, .install-card, .login-brand-panel, .login-card { padding: 23px 17px; }
  .install-intro h1 { font-size: 27px; }
  .login-brand-panel { min-height: 220px; }
  .login-brand-panel h1 { font-size: 26px; }
  .login-card h2 { font-size: 24px; }
  .admin-topbar { min-height: calc(62px + env(safe-area-inset-top)); padding-right: max(10px,env(safe-area-inset-right)); padding-left: max(10px,env(safe-area-inset-left)); gap: 8px; }
  .admin-topbar > div strong { max-width: 115px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
  .mobile-menu { width: 44px; height: 44px; flex: 0 0 auto; font-size: 20px; }
  .topbar-user-chip { max-width: 105px; margin-right: auto; padding: 6px 8px; font-size: 9px; }
  .admin-content { padding: 18px 9px calc(40px + env(safe-area-inset-bottom)); }
  .admin-page-title { gap: 12px; }
  .admin-page-title h1 { font-size: 22px; line-height: 1.35; }
  .stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .stat-grid > div { min-height: 78px; padding: 10px 7px; }
  .stat-grid strong { font-size: 20px; }
  .stat-grid span { font-size: 8px; line-height: 1.45; }
  .stat-grid small { font-size: 7px; line-height: 1.35; }
  .panel-toolbar { grid-template-columns: minmax(0,1fr); }
  .panel-toolbar .button { grid-column: auto; }
  .requests-list { max-height: min(42dvh,360px); }
  .review-head { align-items: stretch; flex-direction: column; }
  .quote-serial { width: 100%; min-width: 0; }
  .customer-info-grid { grid-template-columns: minmax(0,1fr); }
  .customer-info-grid .wide { grid-column: auto; }
  .adjustment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .adjustment-grid > label:nth-child(3), .adjustment-grid > div { grid-column: 1 / -1; }
  .issued-actions > div:first-child { min-width: 0; flex-basis: 100%; }
  .report-filter { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-filter .button { grid-column: 1 / -1; }
  .report-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-export-actions, .catalog-downloads, .catalog-import-card form { display: grid; grid-template-columns: minmax(0,1fr); }
  .report-export-actions .button, .catalog-downloads .button, .catalog-import-card .button { width: 100%; }
  .layout-controls-grid, .layout-controls-grid.four, .layout-watermark-grid { grid-template-columns: minmax(0,1fr); }
  .layout-color-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-visibility-grid, .permission-grid { grid-template-columns: minmax(0,1fr); }
  .section-order-list { grid-template-columns: minmax(0,1fr); }
  .layout-preset-bar > span { width: 100%; }
  .layout-preset-bar button { flex: 1 1 calc(50% - 8px); min-height: 40px; font-size: 10px; }
  .settings-save-bar { position: static; align-items: stretch; flex-direction: column; }
  .settings-save-bar .button { width: 100%; }
  .users-list article { grid-template-columns: 42px minmax(0,1fr); align-items: start; }
  .users-list article > .table-save, .users-list article > form { grid-column: auto; }
  .users-list article > .table-save { grid-column: 1; width: 100%; }
  .users-list article > form { grid-column: 2; justify-self: end; }
  .report-list > a { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .quote-actions { position: static; }
  .not-found { padding: max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }
  .not-found > strong { font-size: 56px; }
  .pwa-install-banner { width: calc(100% - 16px); min-height: 0; padding: 10px 42px 10px 10px; grid-template-columns: 48px minmax(0,1fr); gap: 10px; border-radius: 18px; }
  .pwa-install-banner img { width: 48px; height: 48px; border-radius: 13px; }
  .pwa-install-copy strong { font-size: 12px; }
  .pwa-install-copy span { font-size: 9px; }
  .pwa-install-action { min-height: 40px; grid-column: 1 / -1; font-size: 12px; }
  .pwa-install-close { top: 7px; right: 7px; }
}

@media screen and (max-width: 520px) {
  .product-grid { grid-template-columns: minmax(0,1fr); }
  .product-grid .product-type-field, .product-grid .item-notes { grid-column: auto; }
  .product-item { padding: 15px 11px; }
  .quantity-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .review-actions, .issued-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .review-actions .button, .issued-actions .button, .issued-actions .share-button, .issued-actions form { width: 100%; }
  .issued-actions form .share-button { width: 100%; }
  .report-filter { grid-template-columns: minmax(0,1fr); }
  .report-filter .button { grid-column: auto; }
  .report-stat-grid { gap: 7px; }
  .report-stat-grid article { padding: 11px 9px; }
  .catalog-table, .price-table { min-width: 680px; }
  .activity-table { min-width: 620px; }
}

@media screen and (max-width: 380px) {
  .site-container { width: min(100% - 14px,1180px); }
  .form-card, .review-panel, .admin-card { padding-inline: 10px; }
  .admin-content { padding-inline: 6px; }
  .topbar-user-chip { max-width: 85px; }
  .stat-grid > div { padding-inline: 5px; }
  .stat-grid strong { font-size: 18px; }
  .quote-actions { grid-template-columns: minmax(0,1fr); }
  .layout-color-grid { grid-template-columns: minmax(0,1fr); }
  .pwa-install-help > section { padding-inline: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .pwa-install-banner, .pwa-install-help, .pwa-install-help > section, .admin-sidebar, .admin-sidebar-backdrop { transition: none !important; }
}

@media print {
  html, body { max-width: none; overflow: visible !important; }
  .pwa-install-banner, .pwa-install-help, .admin-sidebar-backdrop { display: none !important; }
}

/* v1.5 device-accurate responsive layer */
.visually-hidden { width: 1px !important; height: 1px !important; padding: 0 !important; position: absolute !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
html, body { width: 100%; min-width: 0; }
body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
.table-field { width: 100%; display: block; }
.table-field select { width: 100%; min-width: 110px; min-height: 38px; padding: 0 9px; border: 1px solid #cddbdd; border-radius: 8px; color: var(--ink); background: #fff; outline: none; }
.table-field select:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(36,183,170,.1); }
body:not(.mas-design) .tab-requests .request-spec-cell [data-request-code] { margin-top: 5px; }
body:not(.mas-design) .tab-requests .request-items-help { margin-top: 10px; padding: 10px 12px; border: 1px solid #d7e6e5; border-radius: 10px; color: #587076; background: #f3f9f8; font-size: 9px; line-height: 1.65; }
body:not(.mas-design) .tab-requests .request-items-table tr.has-spec-error { background: #fff5f5; }
body:not(.mas-design) .tab-requests .request-items-table tr.has-spec-error select { border-color: #d98087; }
body:not(.mas-design) .tab-requests .request-quantity-value { display: inline !important; }
.catalog-import-card input[type="file"], .logo-upload input[type="file"] { width: 100%; }
.catalog-import-card input[type="file"]::file-selector-button, .logo-upload input[type="file"]::file-selector-button { margin-left: 8px; padding: 8px 10px; border: 0; border-radius: 7px; color: var(--primary); background: #e8f5f3; font-weight: 700; cursor: pointer; }

@media screen and (max-width: 1320px) {
  .workspace-grid { grid-template-columns: minmax(0,1fr); }
  .requests-panel { position: static; }
  .requests-list { max-height: 330px; }
}

@media screen and (max-width: 1180px) {
  .admin-shell { grid-template-columns: minmax(0,1fr); }
  .admin-sidebar { width: min(82vw,300px); position: fixed; top: 0; right: 0; z-index: 100; box-shadow: -20px 0 55px rgba(0,0,0,.24); transform: translateX(110%); transition: transform .22s ease; }
  body.sidebar-open { overflow: hidden; }
  body.sidebar-open .admin-sidebar { right: 0; transform: translateX(0); }
  .mobile-menu { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border: 0; border-radius: 10px; color: var(--primary); background: #edf5f4; cursor: pointer; }
  .admin-sidebar-backdrop { position: fixed; z-index: 90; inset: 0; display: block; border: 0; background: rgba(4,24,29,.52); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility .2s ease; }
  body.sidebar-open .admin-sidebar-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }
  .admin-main { width: 100%; }
  .admin-content { width: 100%; }
}

@media screen and (max-width: 1024px) {
  body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]),
  body select,
  body textarea {
    font-size: 16px !important;
  }
  .field input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), .field select, .field textarea,
  .mini-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), .mini-form select,
  .settings-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), .settings-form select,
  .settings-textareas textarea, .type-edit-form input:not([type="checkbox"]):not([type="radio"]),
  .panel-toolbar input, .panel-toolbar select, .report-filter input, .table-field select,
  .price-table input:not([type="checkbox"]), .catalog-table input:not([type="checkbox"]),
  .layout-controls-grid input:not([type="color"]), .layout-controls-grid select,
  .layout-watermark-grid input:not([type="checkbox"]):not([type="color"]), .permission-template select {
    min-height: 46px;
    font-size: 16px;
  }
}

@media screen and (max-width: 900px) {
  .settings-grid, .users-grid, .catalog-layout, .reports-grid { grid-template-columns: minmax(0,1fr); }
  .layout-preview-card { position: static; }
  .notes-settings { grid-column: auto; }
  .report-export-card, .catalog-import-card { align-items: stretch; flex-direction: column; }
  .catalog-import-card form { width: 100%; min-width: 0; }
  .report-export-actions, .catalog-downloads { justify-content: flex-start; }
}

@media screen and (max-width: 860px) {
  .admin-topbar { display: grid; grid-template-columns: auto minmax(0,1fr) auto; }
  .admin-topbar > div { margin: 0; }
  .admin-topbar > a { display: none; }
  .topbar-user-chip { max-width: 120px; margin: 0; justify-self: end; }
  .customer-info-grid strong { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
  .price-table-wrap, .catalog-table-wrap, .report-table-wrap { margin-inline: 0; padding-inline: 0; overflow: visible; scrollbar-gutter: auto; }

  .catalog-table, .catalog-table tbody, .catalog-table tr, .catalog-table td { width: 100%; min-width: 0; display: block; }
  .catalog-table thead { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0,0,0,0); }
  .catalog-table tbody { display: grid; gap: 12px; }
  .catalog-table tr { padding: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; border: 1px solid #dce7e9; border-radius: 12px; background: #fbfdfd; }
  .catalog-table td { padding: 0; border: 0; }
  .catalog-table td::before { margin-bottom: 4px; display: block; color: #6a7f84; font-size: 10px; font-weight: 800; }
  .catalog-table td:nth-child(1)::before { content: "الكود"; }.catalog-table td:nth-child(2)::before { content: "القطر"; }.catalog-table td:nth-child(3)::before { content: "الضغط"; }.catalog-table td:nth-child(4)::before { content: "السمك"; }.catalog-table td:nth-child(5)::before { content: "الطول"; }.catalog-table td:nth-child(6)::before { content: "السعر"; }.catalog-table td:nth-child(7)::before { content: "فعال"; }
  .catalog-table td:last-child { grid-column: 1 / -1; }
  .catalog-table input:not([type="checkbox"]) { width: 100%; min-width: 0; min-height: 46px; font-size: 16px; }
  .catalog-table .table-save { width: 100%; min-height: 44px; font-size: 12px; }

  .report-table, .report-table tbody, .report-table tr, .report-table td { width: 100%; min-width: 0; display: block; }
  .report-table thead { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0,0,0,0); }
  .report-table tbody { display: grid; gap: 10px; }
  .report-table tr { padding: 10px 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; border: 1px solid #e0e9ea; border-radius: 11px; background: #fbfdfd; }
  .report-table td { padding: 0; border: 0; font-size: 11px; overflow-wrap: anywhere; }
  .report-table td::before { margin-bottom: 3px; display: block; color: #71858a; font-size: 9px; font-weight: 800; }
  .report-table:not(.activity-table) td:nth-child(1)::before { content: "الشهر"; }.report-table:not(.activity-table) td:nth-child(2)::before { content: "الطلبات"; }.report-table:not(.activity-table) td:nth-child(3)::before { content: "المصدرة"; }.report-table:not(.activity-table) td:nth-child(4)::before { content: "القيمة"; }
  .activity-table td:nth-child(1)::before { content: "المستخدم"; }.activity-table td:nth-child(2)::before { content: "العملية"; }.activity-table td:nth-child(3)::before { content: "التفاصيل"; }.activity-table td:nth-child(4)::before { content: "التاريخ"; }
  .report-table .empty-cell { grid-column: 1 / -1; }
  .report-table .empty-cell::before { content: none !important; }
}

@media screen and (max-width: 520px) {
  .admin-topbar { grid-template-columns: 44px minmax(0,1fr) minmax(68px,auto); }
  .admin-topbar > div strong { max-width: none; }
  .topbar-user-chip { max-width: 92px; }
  .stat-grid { grid-template-columns: minmax(0,1fr); }
  .stat-grid > div { min-height: 68px; padding: 11px 13px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2px 10px; }
  .stat-grid span { font-size: 10px; }.stat-grid strong { grid-row: span 2; margin: 0; font-size: 23px; }.stat-grid small { font-size: 9px; }
  body:not(.mas-design) .tab-requests .request-items-table tr, .catalog-table tr, .report-table tr { grid-template-columns: minmax(0,1fr); }
  body:not(.mas-design) .tab-requests .request-items-table .request-spec-cell, .catalog-table td:last-child, .report-table .empty-cell { grid-column: auto; }
  .adjustment-grid { grid-template-columns: minmax(0,1fr); }
  .adjustment-grid > label:nth-child(3), .adjustment-grid > div { grid-column: auto; }
  .report-list > a { grid-template-columns: minmax(0,1fr); }
  .report-list > a > div:last-child { justify-items: start; }
  .quote-actions { grid-template-columns: minmax(0,1fr); }
  .pwa-install-help > section { max-height: 90dvh; }
}

@media screen and (max-width: 360px) {
  .admin-content { padding-inline: 5px; }
  .review-panel, .admin-card, .form-card { padding-inline: 9px; }
  .admin-topbar { padding-inline: max(7px,env(safe-area-inset-left)); gap: 6px; }
  .topbar-user-chip { max-width: 76px; padding-inline: 6px; }
  .section-heading.with-action > div { padding-right: 44px; }
  .pwa-install-banner { width: calc(100% - 10px); }
}

@media screen and (orientation: landscape) and (max-height: 520px) {
  .admin-sidebar { overflow-y: auto; }
  .requests-list { max-height: 240px; }
  .login-brand-panel { min-height: 150px; }
  .pwa-install-help > section { max-height: 94dvh; }
}

@media print {
  body { overflow: visible !important; }
  body:not(.mas-design) .tab-requests .request-items-help { display: none !important; }
}

/* v1.6 complete application appearance system */
::selection { color: var(--ink); background: var(--selection-bg); }
body { color: var(--ink); background-color: var(--app-bg); font-family: var(--app-font); font-size: var(--app-font-size); }
h1, h2, h3, h4, h5, h6, .admin-page-title h1, .card-title-row h2 { font-weight: var(--heading-weight); }
.site-container { width: min(var(--content-max), calc(100% - 36px)); }
.admin-shell { grid-template-columns: var(--sidebar-width) minmax(0,1fr); }
.admin-content { width: min(var(--content-max),100%); }
.admin-topbar { min-height: calc(var(--topbar-height) + env(safe-area-inset-top)); height: auto; }
.admin-nav a { min-height: var(--nav-item-height); }
.button { min-height: var(--control-height); border-radius: var(--button-radius); }
.status-chip { border-radius: var(--badge-radius); }

.customer-body, .install-body, .login-body, .not-found { background-color: var(--app-bg); }
.admin-body { background-color: var(--admin-bg); }
.app-background-gradient.customer-body,
.app-background-gradient.install-body,
.app-background-gradient.login-body,
.app-background-gradient.admin-body { background-image: linear-gradient(145deg, color-mix(in srgb,var(--accent-pale) 58%,transparent), transparent 48%, color-mix(in srgb,var(--primary) 8%,transparent)); background-attachment: fixed; }
.app-background-mesh.customer-body,
.app-background-mesh.install-body,
.app-background-mesh.login-body,
.app-background-mesh.admin-body { background-image: radial-gradient(circle at 10% 5%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 34%),radial-gradient(circle at 88% 20%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 32%),linear-gradient(145deg,var(--app-bg),var(--admin-bg)); background-attachment: fixed; }

.form-card, .product-item, .install-card, .login-card, .requests-panel, .review-panel, .admin-card,
.stat-grid > div, .report-stat-grid article, .permissions-box, .permission-groups > section,
.customer-info-grid > div, .request-card, .appearance-preview-window {
  border-color: var(--line); border-width: var(--ui-border-width); border-radius: var(--card-radius); background-color: var(--paper);
}
.form-card, .review-panel, .admin-card { padding: var(--card-padding); }
.app-card-elevated :is(.form-card,.product-item,.install-card,.login-card,.requests-panel,.review-panel,.admin-card,.stat-grid > div,.report-stat-grid article) { box-shadow: var(--app-shadow); }
.app-card-bordered :is(.form-card,.product-item,.install-card,.login-card,.requests-panel,.review-panel,.admin-card,.stat-grid > div,.report-stat-grid article) { border-width: max(1px,var(--ui-border-width)); box-shadow: none; }
.app-card-flat :is(.form-card,.product-item,.install-card,.login-card,.requests-panel,.review-panel,.admin-card,.stat-grid > div,.report-stat-grid article) { border-color: transparent; box-shadow: none; }
.app-card-glass :is(.form-card,.product-item,.install-card,.login-card,.requests-panel,.review-panel,.admin-card,.stat-grid > div,.report-stat-grid article) { background: var(--paper); background: color-mix(in srgb,var(--paper) 86%,transparent); box-shadow: var(--app-shadow); backdrop-filter: blur(18px); }

.field input, .field select, .field textarea, .mini-form input, .mini-form select,
.settings-form input, .settings-form select, .settings-textareas textarea, .type-edit-form input,
.panel-toolbar input, .panel-toolbar select, .report-filter input, .permission-template select,
.catalog-table input, .price-table input, .table-field select, .catalog-import-card input[type="file"],
.appearance-field input, .appearance-field select {
  min-height: var(--control-height); border-color: var(--input-border); border-radius: var(--field-radius); color: var(--ink); background-color: var(--input-bg);
}
.field > span, .mini-form label > span, .settings-form label > span, .settings-textareas label > span,
.type-edit-form label > span, .appearance-field > span, .permission-template > span { color: var(--muted); }
.field input::placeholder, .field textarea::placeholder, input::placeholder, textarea::placeholder { color: color-mix(in srgb,var(--muted) 70%,transparent); }
.field.read-only output { min-height: var(--control-height); border-color: var(--input-border); border-radius: var(--field-radius); color: var(--muted); background: var(--surface-alt); }
.field input:focus, .field select:focus, .field textarea:focus, .mini-form input:focus, .settings-form input:focus,
.settings-textareas textarea:focus, .appearance-field input:focus, .appearance-field select:focus, .table-field select:focus {
  border-color: var(--focus-color); background-color: var(--paper); box-shadow: 0 0 0 4px color-mix(in srgb,var(--focus-color) 18%,transparent);
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: var(--focus-color); }
.app-focus-soft :is(button,a,input,select,textarea):focus-visible { outline-width: 2px; outline-offset: 1px; }

.button-primary { color: var(--button-text); background: var(--primary); box-shadow: 0 10px 26px color-mix(in srgb,var(--primary) 22%,transparent); }
.button-primary:hover { background: color-mix(in srgb,var(--primary) 88%,var(--accent)); }
.app-button-gradient .button-primary { color: var(--button-text); background: linear-gradient(135deg,var(--primary),var(--accent)); }
.app-button-outline .button-primary { color: var(--primary); border-color: var(--primary); background: transparent; box-shadow: none; }
.app-button-outline .button-primary:hover { color: var(--button-text); background: var(--primary); }
.button-light { color: var(--primary); border-color: color-mix(in srgb,var(--accent) 26%,var(--line)); background: var(--accent-pale); }
.button-ghost { color: var(--primary); border-color: var(--line); background: var(--paper); }
.text-danger { color: var(--danger); }

.quote-hero, .login-brand-panel, .install-intro { color: var(--hero-text); background: linear-gradient(120deg,var(--hero-start),var(--primary) 62%,var(--hero-end)); }
.customer-body .quote-hero { padding-top: var(--hero-padding); padding-bottom: calc(var(--hero-padding) + 35px); }
.quote-hero h1, .quote-hero h1 em, .login-brand-panel h1, .install-intro h1 { color: var(--hero-text); }
.quote-hero h1 em { color: var(--accent); }
.quote-hero p, .login-brand-panel p, .install-intro p { color: color-mix(in srgb,var(--hero-text) 76%,transparent); }
.app-hero-solid :is(.quote-hero,.login-brand-panel,.install-intro) { background: var(--hero-start); }
.app-hero-light :is(.quote-hero,.login-brand-panel,.install-intro) { color: var(--ink); background: var(--accent-pale); }
.app-hero-light :is(.quote-hero,.login-brand-panel,.install-intro) :is(h1,h2,strong) { color: var(--ink); }
.app-hero-light :is(.quote-hero,.login-brand-panel,.install-intro) p { color: var(--muted); }
.app-hero-light .login-brand-panel .brand-lockup strong { color: var(--ink); }

.admin-sidebar { width: var(--sidebar-width); color: var(--sidebar-text); background: var(--sidebar-bg); }
.app-sidebar-gradient .admin-sidebar { background: linear-gradient(165deg,var(--sidebar-bg),var(--primary-dark,var(--primary-2)) 65%,color-mix(in srgb,var(--accent) 24%,var(--sidebar-bg))); }
.admin-nav a { border-radius: var(--field-radius); color: var(--sidebar-text); }
.admin-nav a:hover { color: var(--sidebar-active-text); background: color-mix(in srgb,var(--sidebar-active-bg) 56%,transparent); }
.admin-nav a.active { color: var(--sidebar-active-text); background: var(--sidebar-active-bg); }
.app-nav-outline .admin-nav a.active { color: var(--sidebar-active-text); border: 1px solid var(--accent); background: transparent; }
.app-nav-solid .admin-nav a.active { color: var(--sidebar-active-text); background: var(--accent); }
.admin-nav a.active i { border-color: var(--accent); background: var(--accent); }
.sidebar-user strong { color: var(--sidebar-active-text); }
.sidebar-user small { color: var(--sidebar-text); }
.sidebar-user button { color: var(--sidebar-text); }
.sidebar-brand .brand-lockup strong { color: var(--sidebar-active-text); }
.sidebar-brand .brand-lockup small { color: var(--sidebar-text); }
.app-sidebar-logo-natural .sidebar-brand .brand-logo-image { filter: none; }
.admin-topbar { border-color: var(--line); background: var(--topbar-bg); }
.app-topbar-glass .admin-topbar { background: var(--topbar-bg); background: color-mix(in srgb,var(--topbar-bg) 88%,transparent); backdrop-filter: blur(18px); }
.app-topbar-bordered .admin-topbar { border-bottom-width: 2px; backdrop-filter: none; }
.topbar-user-chip, .mobile-menu { color: var(--primary); background: var(--accent-pale); }

.section-heading > span, .avatar { color: var(--primary); background: var(--accent-pale); }
.eyebrow { color: var(--accent); }
.section-heading p, .admin-page-title p, .card-title-row p, .report-list span, .report-list small,
.stat-grid span, .stat-grid small, .report-stat-grid span, .report-stat-grid small { color: var(--muted); }
.stat-grid strong, .report-stat-grid strong, .report-list b, .quantity-summary strong { color: var(--primary); }
.quantity-summary { color: var(--button-text); background: var(--primary); }
.quantity-summary span, .quantity-summary p { color: color-mix(in srgb,var(--button-text) 70%,transparent); }
.request-card { border-color: var(--line); background: var(--paper); }
.request-card:hover { background: var(--table-hover); }
.request-card.active { background: var(--accent-pale); box-shadow: inset -3px 0 var(--accent); }
.customer-info-grid, .quote-meta-grid { border-color: var(--line); background: var(--line); }
.customer-info-grid > div { background: var(--surface-alt); }
.customer-info-grid span, .request-card span, .request-card b, .review-head p { color: var(--muted); }
.quote-serial, body:not(.mas-design) .tab-requests .request-items-help { border-color: color-mix(in srgb,var(--accent) 35%,var(--line)); background: color-mix(in srgb,var(--accent-pale) 72%,var(--paper)); }
.submit-row, .public-footer, .type-edit-form, .settings-save-bar, .users-list article,
.logo-preview, .layout-preset-bar, .layout-watermark-grid .check-field, .layout-visibility-grid .check-field,
.section-order-list li, .permissions-box, .permission-groups > section, .restricted-note {
  border-color: var(--line); color: var(--ink); background: var(--paper);
}
.settings-save-bar { background: var(--paper); background: color-mix(in srgb,var(--paper) 94%,transparent); box-shadow: var(--app-shadow); }
.product-item, .type-edit-form, .logo-preview, .layout-preset-bar, .layout-watermark-grid .check-field,
.layout-visibility-grid .check-field, .section-order-list li, .permissions-box, .restricted-note { background: var(--surface-alt); }
.layout-preview-shell { border-color: var(--line); background: var(--surface-alt); }
.layout-preset-bar button, .section-order-list button, .permission-groups [data-toggle-permission-group] { color: var(--primary); border-color: var(--line); background: var(--accent-pale); }
.layout-controls-grid input, .layout-controls-grid select, .layout-color-grid input,
.layout-watermark-grid input:not([type="checkbox"]), .report-filter input, .adjustment-grid input,
.catalog-import-card input[type="file"], .permission-template select, .table-field select {
  border-color: var(--input-border); border-radius: var(--field-radius); color: var(--ink); background: var(--input-bg);
}
.catalog-import-card input[type="file"]::file-selector-button, .logo-upload input[type="file"]::file-selector-button { color: var(--primary); background: var(--accent-pale); }
.active-user { color: var(--success); background: color-mix(in srgb,var(--success) 12%,var(--paper)); }
.customer-note { color: var(--warning); border-color: color-mix(in srgb,var(--warning) 30%,var(--line)); background: color-mix(in srgb,var(--warning) 10%,var(--paper)); }
.remove-item { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 30%,var(--line)); background: var(--paper); }
.topbar-user-chip { color: var(--primary); border-color: var(--line); background: var(--accent-pale); }
.report-list > a { border-color: var(--line); }.report-list > a:hover { background: var(--table-hover); }
.catalog-readonly input { color: var(--muted); background: var(--surface-alt); }
.adjustment-grid span { color: var(--muted); }
.adjustment-grid > div { color: var(--button-text); background: var(--primary); }
.adjustment-grid > div span { color: color-mix(in srgb,var(--button-text) 70%,transparent); }
.adjustment-grid > div small { color: var(--accent); }
.quote-body { background: var(--admin-bg); }

.price-table th, .catalog-table th, .report-table th { color: var(--table-header-text); background: var(--table-header-bg); }
.price-table td, .catalog-table td, .report-table td { border-color: var(--line); }
.app-table-striped :is(.price-table,.catalog-table,.report-table) tbody tr:nth-child(even) td { background: var(--table-stripe); }
.app-table-bordered :is(.price-table,.catalog-table,.report-table) { border: var(--ui-border-width) solid var(--line); border-collapse: separate; border-spacing: 0; }
.app-table-bordered :is(.price-table,.catalog-table,.report-table) :is(th,td) { border-inline-start: var(--ui-border-width) solid var(--line); }
.app-table-bordered :is(.price-table,.catalog-table,.report-table) :is(th,td):first-child { border-inline-start: 0; }
:is(.price-table,.catalog-table,.report-table) tbody tr:hover td { background: var(--table-hover); }

.notice-success, .success-banner { color: var(--success); border-color: color-mix(in srgb,var(--success) 35%,var(--line)); background: color-mix(in srgb,var(--success) 13%,var(--paper)); }
.notice-error { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 35%,var(--line)); background: color-mix(in srgb,var(--danger) 11%,var(--paper)); }
.success-icon { color: var(--button-text); background: var(--success); }
.status-new { color: color-mix(in srgb,var(--warning) 72%,var(--ink)); background: color-mix(in srgb,var(--warning) 18%,var(--paper)); }
.status-review { color: var(--info); background: color-mix(in srgb,var(--info) 14%,var(--paper)); }
.status-sent { color: var(--success); background: color-mix(in srgb,var(--success) 15%,var(--paper)); }
.status-cancelled { color: var(--danger); background: color-mix(in srgb,var(--danger) 13%,var(--paper)); }
.pwa-install-banner { background: color-mix(in srgb,var(--sidebar-bg) 96%,transparent); }
.pwa-install-action { color: var(--primary-2); background: var(--accent); }
.pwa-install-help > section { color: var(--ink); background: var(--paper); }
.pwa-help-handle { background: var(--line); }
.pwa-help-close { color: var(--muted); background: var(--surface-alt); }
.pwa-install-help p { color: var(--muted); background: var(--surface-alt); }

.app-density-compact { --card-padding: min(var(--card-padding),17px); --control-height: min(var(--control-height),42px); }
.app-density-compact :is(.settings-grid,.users-grid,.catalog-layout,.reports-grid,.appearance-editor-stack) { gap: 10px; }
.app-density-spacious { --card-padding: max(var(--card-padding),27px); --control-height: max(var(--control-height),48px); }
.app-density-spacious :is(.settings-grid,.users-grid,.catalog-layout,.reports-grid,.appearance-editor-stack) { gap: 20px; }
.app-motion-subtle *, .app-motion-subtle *::before, .app-motion-subtle *::after { animation-duration: .45s !important; transition-duration: .12s !important; }
.app-motion-none *, .app-motion-none *::before, .app-motion-none *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
@media (min-width: 1181px) {
  .app-topbar-static .admin-topbar { position: relative; top: auto; }
  .app-sidebar-static .admin-sidebar { height: auto; min-height: 100vh; position: relative; top: auto; }
}

* { scrollbar-color: var(--accent) var(--surface-alt); scrollbar-width: thin; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: var(--surface-alt); }
*::-webkit-scrollbar-thumb { border: 2px solid var(--surface-alt); border-radius: 99px; background: var(--accent); }
.app-scrollbars-native * { scrollbar-color: auto; scrollbar-width: auto; }
.app-scrollbars-native *::-webkit-scrollbar { width: auto; height: auto; }

/* Appearance editor */
.appearance-form { display: grid; gap: 16px; }
.appearance-title { align-items: center; }
.appearance-presets-card { padding: 18px; }
.appearance-current-theme { padding: 7px 10px; border-radius: var(--badge-radius); color: var(--muted); background: var(--surface-alt); font-size: 9px; }
.appearance-current-theme strong { color: var(--primary); }
.appearance-presets { margin-top: 15px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.appearance-presets button { min-width: 0; min-height: 94px; padding: 11px 8px; display: grid; place-items: center; align-content: center; gap: 5px; border: var(--ui-border-width) solid var(--line); border-radius: var(--card-radius); color: var(--ink); background: var(--surface-alt); cursor: pointer; }
.appearance-presets button:hover { border-color: var(--accent); transform: translateY(-1px); }
.appearance-presets button.active { border-color: var(--accent); background: var(--accent-pale); box-shadow: 0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent); }
.appearance-presets button > span { direction: ltr; display: flex; }
.appearance-presets button i { width: 23px; height: 23px; margin-left: -4px; display: block; border: 2px solid var(--paper); border-radius: 50%; background: var(--preset-color); box-shadow: 0 2px 7px rgba(0,0,0,.12); }
.appearance-presets button strong { font-size: 10px; }
.appearance-presets button small { color: var(--muted); font-size: 7px; }
.appearance-designer-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,430px); gap: 16px; align-items: start; }
.appearance-editor-stack { display: grid; gap: 13px; }
details.appearance-group { padding: 0; overflow: hidden; }
.appearance-group summary { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; cursor: pointer; user-select: none; }
.appearance-group summary::-webkit-details-marker { display: none; }
.appearance-group summary > span { display: grid; gap: 4px; }
.appearance-group summary strong { color: var(--ink); font-size: 13px; }
.appearance-group summary small { color: var(--muted); font-size: 8px; line-height: 1.6; }
.appearance-group summary > i { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--primary); background: var(--accent-pale); font-style: normal; transition: transform .18s ease; }
.appearance-group[open] summary > i { transform: rotate(180deg); }
.appearance-fields-grid { padding: 0 18px 18px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.appearance-field { min-width: 0; display: grid; gap: 6px; }
.appearance-field > span { font-size: 9px; font-weight: 800; }
.appearance-field > select, .appearance-field > input { width: 100%; padding-inline: 10px; border: var(--ui-border-width) solid var(--input-border); outline: none; }
.appearance-number-control { position: relative; }
.appearance-number-control input { width: 100%; padding-right: 10px; padding-left: 44px; border: var(--ui-border-width) solid var(--input-border); outline: none; }
.appearance-number-control em { position: absolute; top: 50%; left: 10px; color: var(--muted); font-size: 8px; font-style: normal; transform: translateY(-50%); pointer-events: none; }
.appearance-color-field > div { min-height: var(--control-height); padding: 5px; display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 7px; border: var(--ui-border-width) solid var(--input-border); border-radius: var(--field-radius); background: var(--input-bg); }
.appearance-color-field input[type="color"] { width: 46px; height: 34px; min-height: 34px; padding: 0; border: 0; border-radius: calc(var(--field-radius) - 3px); overflow: hidden; cursor: pointer; }
.appearance-color-field input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.appearance-color-field input[type="color"]::-webkit-color-swatch { border: 0; }
.appearance-color-field [data-color-hex] { width: 100%; min-width: 0; min-height: 32px; padding: 0 7px; border: 0; border-radius: calc(var(--field-radius) - 4px); color: var(--muted); background: transparent; direction: ltr; text-align: left; outline: none; font-size: 9px; font-weight: 800; }
.appearance-color-field [data-color-hex]:focus { color: var(--ink); background: var(--paper); box-shadow: 0 0 0 2px color-mix(in srgb,var(--focus-color) 22%,transparent); }
.appearance-color-field [data-color-hex].invalid { color: var(--danger); background: color-mix(in srgb,var(--danger) 10%,var(--paper)); }
.appearance-toggle { min-height: var(--control-height); padding: 8px 10px; border: var(--ui-border-width) solid var(--line); border-radius: var(--field-radius); background: var(--surface-alt); }
.appearance-preview-card { position: sticky; top: calc(var(--topbar-height) + 16px); padding: 16px; }
.appearance-preview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.appearance-preview-heading h2 { margin: 0 0 5px; font-size: 14px; }
.appearance-preview-heading p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.6; }
#appearance-unsaved { padding: 5px 7px; border-radius: var(--badge-radius); color: var(--warning); background: color-mix(in srgb,var(--warning) 14%,var(--paper)); font-size: 7px; white-space: nowrap; }
.appearance-preview-window { height: 520px; margin-top: 13px; display: grid; grid-template-columns: 104px minmax(0,1fr); overflow: hidden; border: var(--ui-border-width) solid var(--line); background: var(--admin-bg); box-shadow: var(--app-shadow); }
.appearance-preview-window > aside { padding: 13px 8px; color: var(--sidebar-text); background: var(--sidebar-bg); }
.app-sidebar-gradient .appearance-preview-window > aside { background: linear-gradient(165deg,var(--sidebar-bg),var(--primary-2)); }
.appearance-preview-brand { padding-bottom: 12px; display: flex; align-items: center; gap: 6px; border-bottom: 1px solid color-mix(in srgb,var(--sidebar-text) 20%,transparent); }
.appearance-preview-brand > i { width: 23px; height: 23px; flex: 0 0 auto; border: 4px solid var(--accent); border-radius: 7px; transform: rotate(45deg); }
.appearance-preview-brand > span { min-width: 0; display: grid; gap: 2px; }
.appearance-preview-brand b, .appearance-preview-brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.appearance-preview-brand b { color: var(--sidebar-active-text); font-size: 7px; }.appearance-preview-brand small { font-size: 4.5px; }
.appearance-preview-window nav { margin-top: 14px; display: grid; gap: 5px; }
.appearance-preview-window nav span { min-height: 28px; padding: 0 7px; display: flex; align-items: center; gap: 6px; border-radius: calc(var(--field-radius) * .7); color: var(--sidebar-text); font-size: 6.5px; }
.appearance-preview-window nav span i { width: 5px; height: 5px; border: 1px solid currentColor; transform: rotate(45deg); }
.appearance-preview-window nav span.active { color: var(--sidebar-active-text); background: var(--sidebar-active-bg); }
.appearance-preview-main { min-width: 0; }
.appearance-preview-main > header { min-height: 43px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--ink); background: var(--topbar-bg); }
.appearance-preview-main > header b { font-size: 8px; }.appearance-preview-main > header span { padding: 4px 6px; border-radius: var(--badge-radius); color: var(--primary); background: var(--accent-pale); font-size: 5.5px; }
.appearance-preview-main > main { padding: 11px; display: grid; gap: 9px; }
.appearance-preview-hero { min-height: 76px; padding: 7px 9px; display: grid; grid-template-rows: auto auto; align-content: var(--hero-vertical-align); gap: 3px; overflow: hidden; border-radius: calc(var(--card-radius) * .65); color: var(--hero-text); background: linear-gradient(135deg,var(--hero-start),var(--hero-end)); }
.app-hero-solid .appearance-preview-hero { background: var(--hero-start); }
.app-hero-light .appearance-preview-hero { color: var(--ink); background: var(--surface-alt); border: var(--ui-border-width) solid var(--line); }
.appearance-preview-hero > nav { display: flex; justify-content: var(--hero-language-align); gap: 4px; }
.appearance-preview-hero > nav span { padding: 2px 4px; border: 1px solid currentColor; border-radius: var(--badge-radius); font-size: 4.5px; opacity: .82; }
.appearance-preview-hero > div { max-width: 100%; }
.appearance-preview-hero small { display: block; color: var(--accent); font-size: 5px; font-weight: 800; text-align: var(--hero-eyebrow-align); }
.appearance-preview-hero h3 { margin: 2px 0; display: grid; gap: var(--hero-title-gap); line-height: 1.05; }
.appearance-preview-hero h3 > span { display: block; text-align: var(--hero-title-start-align); }
.appearance-preview-hero h3 > em { display: block; color: var(--accent); font-style: normal; text-align: var(--hero-emphasis-align); }
.appearance-preview-hero p { margin: 0; color: inherit; line-height: 1.35; text-align: var(--hero-description-align); opacity: .82; }
.appearance-preview-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.appearance-preview-stats article { padding: 7px; display: grid; gap: 4px; border: var(--ui-border-width) solid var(--line); border-radius: calc(var(--card-radius) * .65); background: var(--paper); box-shadow: var(--app-shadow); }
.appearance-preview-stats small { color: var(--muted); font-size: 5px; }.appearance-preview-stats strong { color: var(--primary); font-size: 13px; }
.appearance-preview-surface { padding: 9px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: var(--ui-border-width) solid var(--line); border-radius: calc(var(--card-radius) * .7); background: var(--paper); box-shadow: var(--app-shadow); }
.appearance-preview-surface > div { min-width: 0; display: grid; gap: 3px; }.appearance-preview-surface strong { font-size: 7px; }.appearance-preview-surface span:not(.status-chip) { color: var(--muted); font-size: 5px; }
.appearance-preview-surface .status-chip { min-height: 17px; padding-inline: 5px; font-size: 5px; white-space: nowrap; }
.appearance-preview-controls { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 6px; align-items: end; }
.appearance-preview-controls label { display: grid; gap: 3px; }.appearance-preview-controls label span { color: var(--muted); font-size: 5px; }
.appearance-preview-controls input { width: 100%; min-height: 28px; padding-inline: 7px; border: var(--ui-border-width) solid var(--input-border); border-radius: calc(var(--field-radius) * .7); color: var(--ink); background: var(--input-bg); font-size: 6px; }
.appearance-preview-controls .button { min-height: 28px; padding-inline: 7px; font-size: 5.5px; }
.appearance-preview-table { overflow: hidden; border: var(--ui-border-width) solid var(--line); border-radius: calc(var(--card-radius) * .65); }
.appearance-preview-table > div { min-height: 26px; padding: 0 7px; display: grid; grid-template-columns: 1.4fr .6fr .8fr; align-items: center; gap: 4px; border-bottom: 1px solid var(--line); background: var(--paper); }
.appearance-preview-table > div:first-child { color: var(--table-header-text); background: var(--table-header-bg); }.appearance-preview-table > div:last-child { border-bottom: 0; }
.appearance-preview-table > div:nth-child(3) { background: var(--table-stripe); }
.appearance-preview-table :is(b,span) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 5.5px; }
.appearance-preview-alerts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
.appearance-preview-alerts span { padding: 5px 2px; border-radius: var(--badge-radius); text-align: center; font-size: 5px; }
.appearance-preview-alerts .success { color: var(--success); background: color-mix(in srgb,var(--success) 14%,var(--paper)); }
.appearance-preview-alerts .warning { color: var(--warning); background: color-mix(in srgb,var(--warning) 14%,var(--paper)); }
.appearance-preview-alerts .danger { color: var(--danger); background: color-mix(in srgb,var(--danger) 14%,var(--paper)); }
.appearance-preview-alerts .info { color: var(--info); background: color-mix(in srgb,var(--info) 14%,var(--paper)); }
.appearance-preview-note { margin-top: 10px; padding: 8px 10px; border-radius: var(--field-radius); color: var(--muted); background: var(--surface-alt); font-size: 7px; line-height: 1.6; }
.appearance-save-bar { grid-column: auto; }

@media screen and (max-width: 1320px) {
  .appearance-presets { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .appearance-designer-grid { grid-template-columns: minmax(0,1fr) 380px; }
  .appearance-fields-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width: 1180px) {
  .admin-shell { grid-template-columns: minmax(0,1fr); }
  .admin-sidebar { width: min(82vw,var(--sidebar-width),320px); }
  .admin-main, .admin-topbar, .admin-content { width: 100%; }
}
@media screen and (max-width: 860px) {
  body:not(.mas-design) .tab-requests .request-items-table tr, .catalog-table tr, .report-table tr { border-color: var(--line); background: var(--paper); box-shadow: var(--app-shadow); }
  body:not(.mas-design) .tab-requests .request-items-table td::before, .catalog-table td::before, .report-table td::before { color: var(--muted); }
  body:not(.mas-design) .tab-requests .request-items-table .request-spec-cell { border-color: var(--line); }
}
@media screen and (max-width: 1050px) {
  .appearance-designer-grid { grid-template-columns: minmax(0,1fr); }
  .appearance-preview-card { position: static; }
  .appearance-preview-window { max-width: 620px; margin-inline: auto; }
}
@media screen and (max-width: 700px) {
  .site-container { width: min(var(--content-max),calc(100% - 20px)); }
  .customer-body .quote-hero { padding-top: max(34px,calc(var(--hero-padding) * .7)); padding-bottom: max(68px,calc(var(--hero-padding) + 10px)); }
  .appearance-title { align-items: stretch; flex-direction: column; }
  .appearance-title .button { width: 100%; }
  .appearance-presets-card { padding: 13px; }
  .appearance-presets { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .appearance-group summary { padding: 14px 12px; }
  .appearance-fields-grid { padding: 0 12px 13px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .appearance-preview-window { height: 470px; grid-template-columns: 88px minmax(0,1fr); }
  .appearance-preview-controls { grid-template-columns: minmax(0,1fr) auto; }
  .appearance-preview-controls .button:last-child { grid-column: 1 / -1; }
}
@media screen and (max-width: 430px) {
  .appearance-fields-grid { grid-template-columns: minmax(0,1fr); }
  .appearance-presets { gap: 7px; }
  .appearance-presets button { min-height: 88px; padding-inline: 5px; }
  .appearance-preview-card { padding: 10px; }
  .appearance-preview-window { height: 460px; grid-template-columns: 74px minmax(0,1fr); }
  .appearance-preview-window > aside { padding-inline: 5px; }
  .appearance-preview-brand > span { display: none; }
  .appearance-preview-brand { justify-content: center; }
  .appearance-preview-window nav span { padding-inline: 4px; font-size: 5.5px; }
  .appearance-preview-stats { gap: 3px; }
  .appearance-preview-main > main { padding: 7px; gap: 6px; }
  .appearance-preview-alerts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media print {
  .appearance-form, .appearance-title { display: none !important; }
  .quotation-paper { color-scheme: light; }
}

/* v1.7 Proforma A4 template — measured from the approved company reference */
.layout-template-choice { margin: 14px 0 18px; padding: 13px; display: grid; grid-template-columns: minmax(240px,.7fr) minmax(280px,1.3fr); align-items: center; gap: 16px; border: 1px solid #b8d8d4; border-radius: 12px; background: #f2fbf9; }
.layout-template-choice label { display: grid; gap: 6px; }
.layout-template-choice label span { font-size: 9px; font-weight: 900; }
.layout-template-choice select { width: 100%; }
.layout-template-choice p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.75; }
.layout-preset-bar button.featured { color: #fff; border-color: var(--primary); background: var(--primary); }
.layout-preview-paper.preview-template-proforma [data-preview-section="table"] { grid-auto-flow: row; }

.quotation-document { width: 210mm; margin: 0; display: grid; gap: 13px; direction: rtl; }
.quotation-document.pdf-exporting { gap: 0; }
.quotation-document .quotation-paper { margin: 0; }
.proforma-paper { width: 210mm; height: 297mm; min-height: 297mm; padding: var(--quote-pad-top,7mm) var(--quote-pad-right,7mm) var(--quote-pad-bottom,7mm) var(--quote-pad-left,7mm); display: block; position: relative; overflow: hidden; color: var(--quote-text,#000); background: var(--quote-page-bg,#fff); font-size: var(--quote-body-font,9px); line-height: var(--quote-line-height,1.35); direction: rtl; break-after: page; page-break-after: always; }
.proforma-paper:last-child { break-after: auto; page-break-after: auto; }
.proforma-paper :is(h1,h2,p) { color: inherit; }
.proforma-header { width: 100%; height: var(--quote-header-height,33mm); min-height: 33mm; padding: var(--quote-header-padding,1mm); flex: 0 0 auto; display: grid; grid-template-columns: var(--quote-logo-width,39mm) minmax(0,1fr); align-items: stretch; gap: var(--quote-header-gap,1mm); direction: ltr; border: var(--quote-table-border,.35mm) solid var(--quote-border,#000); border-radius: var(--quote-radius,3.5mm); overflow: hidden; }
.proforma-header.logo-right { direction: rtl; }
.proforma-header.logo-right .proforma-company { direction: rtl; }
.proforma-header.logo-center { height: auto; grid-template-columns: 1fr; grid-template-rows: var(--quote-logo-height,28mm) auto; }
.proforma-header.logo-center .proforma-logo { width: 100%; height: var(--quote-logo-height,28mm); }
.proforma-header.logo-center .proforma-company { text-align: center; }
.proforma-header.header-style-line { border: 0; border-bottom: var(--quote-table-border,.35mm) solid var(--quote-border,#000); border-radius: 0; }
.proforma-header.header-style-plain { border: 0; border-radius: 0; }
.proforma-logo { min-width: 0; display: grid; place-items: center; overflow: hidden; }
.proforma-logo .brand-lockup { width: 100%; height: 100%; display: grid; place-items: center; }
.proforma-logo .brand-lockup > span:last-child { display: none; }
.proforma-logo .brand-logo-image { width: auto; height: auto; max-width: var(--quote-logo-width,39mm); max-height: var(--quote-logo-height,28mm); object-fit: contain; }
.proforma-logo .brand-symbol { width: 23mm; height: 23mm; border-radius: 50%; }
.proforma-company { min-width: 0; padding: 1.1mm 2.8mm 1mm 1mm; display: flex; flex-direction: column; align-items: stretch; direction: rtl; text-align: right; }
.proforma-header.company-align-center .proforma-company { text-align: center; }.proforma-header.company-align-left .proforma-company { text-align: left; }
.proforma-print-line { height: 3.6mm; margin-bottom: .4mm; color: var(--quote-muted,#000); font-size: max(7px,calc(var(--quote-company-details-font,10.4px) - 2.4px)); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.proforma-company h1 { margin: 0 0 1.1mm; display: flex; align-items: baseline; justify-content: flex-start; gap: 1.5mm; font-size: var(--quote-company-font,11.5px); font-weight: 800; line-height: 1.25; white-space: nowrap; }
.proforma-header.company-align-center h1 { justify-content: center; }.proforma-header.company-align-left h1 { justify-content: flex-end; }
.proforma-company h1 b { font-size: var(--quote-company-font,11.5px); }
.proforma-company h1 i, .proforma-company p i { font-style: normal; }
.proforma-company p { min-height: 4.2mm; margin: 0; font-size: var(--quote-company-details-font,10.4px); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.proforma-company p strong { font-weight: 400; }
.proforma-company .proforma-web { padding-left: 4mm; display: flex; justify-content: flex-end; gap: 5mm; text-align: right; }
.proforma-title { height: 10.5mm; margin: 0; padding: var(--quote-title-padding,0); flex: 0 0 auto; display: flex; align-items: center; justify-content: center; gap: 2.2mm; color: var(--quote-title-color,var(--quote-text,#000)); background: var(--quote-title-bg,#fff); border-radius: var(--quote-radius,3.5mm); font-size: var(--quote-title-font,22px); font-weight: 900; line-height: 1; white-space: nowrap; }
.proforma-title b { font-size: var(--quote-title-font,22px); }
.proforma-title.title-align-right { justify-content: flex-start; }.proforma-title.title-align-spread { justify-content: space-between; }
.proforma-title.title-style-line { border-bottom: var(--quote-table-border,.35mm) solid var(--quote-border,#000); border-radius: 0; }
.proforma-title.title-style-boxed, .proforma-title.title-style-filled { border: var(--quote-table-border,.35mm) solid var(--quote-border,#000); }

.proforma-meta { height: auto; min-height: 0; flex: 0 0 auto; position: relative; direction: rtl; border: var(--quote-table-border,.35mm) solid var(--quote-border,#000); border-radius: var(--quote-radius,3.5mm); background: var(--quote-page-bg,#fff); overflow: visible; }
.proforma-meta.meta-style-lines { border-right: 0; border-left: 0; border-radius: 0; }.proforma-meta.meta-style-plain { border: 0; border-radius: 0; }
.proforma-paper .proforma-field { height: auto; min-height: 0; position: static; display: block; direction: rtl; text-align: right; font-size: var(--quote-meta-font,10.5px); line-height: 1.4; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.proforma-field strong { display: inline; margin-left: 1.4mm; font-weight: 800; white-space: nowrap; }
.proforma-field span { display: inline; white-space: nowrap; }
.field-branch, .field-currency, .field-customer, .field-due, .field-phone, .field-address { right: 2.6mm; width: 79mm; }
.field-date, .field-agent, .field-tax-number { right: 86mm; width: 55mm; }
.field-reference, .field-shipping { left: 2.6mm; width: 50mm; }
.field-branch, .field-date, .field-reference { top: 2.4mm; }
.field-currency, .field-agent { top: 8.1mm; }
.field-customer { top: 13.8mm; }.field-due, .field-tax-number { top: 19.5mm; }.field-phone { top: 25.2mm; }.field-address, .field-shipping { top: 30.9mm; }
.field-customer span, .field-address span { font-size: max(8px,calc(var(--quote-meta-font,10.5px) - .5px)); }

.proforma-table-wrap { width: 100%; height: auto; margin-top: var(--quote-section-gap,.5mm); flex: 0 0 auto; overflow: visible; }
.proforma-table { width: 100%; height: auto; border-collapse: collapse; table-layout: fixed; direction: rtl; }
.proforma-table th, .proforma-table td { border: var(--quote-table-border,.35mm) solid var(--quote-border,#000); color: var(--quote-text,#000); background: var(--quote-page-bg,#fff); text-align: center; }
.proforma-table th { height: var(--quote-table-header-height,6.5mm); padding: .5mm; color: var(--quote-table-text,#000); background: var(--quote-table-bg,#fff); font-size: var(--quote-table-font,10px); font-weight: 800; line-height: 1.15; text-align: center; vertical-align: middle; }
.proforma-table.header-align-right th { text-align: right; }.proforma-table.header-align-left th { text-align: left; }
.proforma-table td { height: var(--proforma-item-min-height,var(--proforma-row-height,13.1mm)); max-height: none; padding: var(--quote-cell-padding,1.2mm) .6mm .5mm; font-size: var(--quote-table-font,10px); line-height: 1.23; vertical-align: top; overflow: visible; white-space: normal; overflow-wrap: anywhere; }
.proforma-paper.density-normal .proforma-table td { padding-top: calc(var(--quote-cell-padding,1.2mm) + .4mm); padding-bottom: calc(var(--quote-cell-padding,1.2mm) + .4mm); }
.proforma-paper.density-relaxed .proforma-table td { padding-top: calc(var(--quote-cell-padding,1.2mm) + .8mm); padding-bottom: calc(var(--quote-cell-padding,1.2mm) + .8mm); }
.proforma-table tbody tr:nth-child(even) td { background: var(--quote-stripe,#fff); }.proforma-paper.no-stripes .proforma-table tbody tr:nth-child(even) td { background: var(--quote-page-bg,#fff); }
.proforma-table .proforma-product { padding-top: .7mm; color: var(--quote-product,#000); font-size: var(--quote-product-font,10.5px); text-align: right; }
.proforma-table.product-align-center .proforma-product { text-align: center; }
.proforma-product strong, .proforma-product span, .proforma-product small { display: block; max-width: 100%; overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.proforma-product strong { font-size: var(--quote-product-font,10.5px); font-weight: 400; }.proforma-product span { display:block; margin-top: .2mm; }.proforma-product small { display:block; margin-top: .2mm; color: var(--quote-muted,#000); font-size: max(6px,calc(var(--quote-notes-font,10.5px) - 3px)); }
.variant-spec-pair { display:grid; grid-template-columns:minmax(78px,1fr) minmax(105px,1fr); gap:6px; }
.customer-body .field > span { font-size:var(--customer-label-size,14px); }
.customer-body :is(input,select,textarea) { font-size:var(--customer-input-size,16px); }
.customer-body [data-specification] { font-size:var(--customer-specification-size,16px); }
.customer-body .request-form :is(input:not([type="checkbox"]),select,output) { min-height:var(--customer-field-height,48px); padding-inline:var(--customer-field-padding,13px); }
.customer-body .request-form textarea { min-height:var(--customer-textarea-height,92px); padding:var(--customer-field-padding,13px); }
.customer-body .product-item { padding:var(--customer-item-padding,18px); }
@media screen and (min-width:900px) {
  .admin-content :is(input,select,textarea,button) { font-size:max(12px,calc(var(--app-font-size,16px) * .82)); }
  .admin-content :is(.field > span,label > span,.table-field > span) { font-size:max(11px,calc(var(--app-font-size,16px) * .72)); }
  .admin-content :is(small,.layout-help,.request-items-help) { font-size:max(10px,calc(var(--app-font-size,16px) * .64)); }
}

/* v1.9.10: clearer catalogue cards and per-size specification controls */
.catalog-variant-cards { margin-top:12px; overflow:visible; }
.catalog-thickness-table,.catalog-thickness-table tbody { width:100%; min-width:0; display:block; }
.catalog-thickness-table thead { width:1px; height:1px; position:absolute; overflow:hidden; clip:rect(0,0,0,0); }
.catalog-thickness-table tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.catalog-thickness-table tr { min-width:0; padding:var(--catalog-card-padding,16px); display:grid; grid-template-columns:1.25fr .75fr .75fr; align-content:start; gap:11px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 7%,transparent); }
.catalog-thickness-table tr[hidden] { display:none !important; }
.catalog-thickness-table td { min-width:0; padding:0; border:0; background:transparent !important; }
.catalog-thickness-table td::before { content:attr(data-label); margin-bottom:5px; display:block; color:var(--muted); font-size:10px; font-weight:800; }
.catalog-thickness-table td:nth-child(4) { grid-column:1 / -1; }
.catalog-thickness-table td:nth-child(8) { grid-column:1 / -1; }
.catalog-thickness-table input:not([type="checkbox"]),.catalog-thickness-table select { width:100%; min-width:0; min-height:var(--catalog-field-height,42px); padding-inline:11px; border:1px solid var(--input-border); border-radius:var(--field-radius); color:var(--ink); background:var(--input-bg); font-size:max(12px,calc(var(--app-font-size,16px) * .78)); }
.variant-spec-thicknesses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.variant-spec-card { min-width:0; padding:11px; display:grid; gap:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-alt); transition:.16s ease; }
.variant-spec-card.is-enabled { border-color:color-mix(in srgb,var(--success) 38%,var(--line)); background:color-mix(in srgb,var(--success) 5%,var(--paper)); }
.variant-spec-card.is-disabled { opacity:.72; }
.variant-spec-toggle { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; cursor:pointer; }
.variant-spec-toggle > input { width:18px; height:18px; accent-color:var(--success); }
.variant-spec-toggle > span { min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.variant-spec-toggle strong { font-size:12px; }.variant-spec-toggle small { padding:2px 6px; border-radius:99px; color:var(--primary); background:var(--accent-pale); font-size:8px; }
.variant-spec-toggle em { color:var(--muted); font-size:9px; font-style:normal; font-weight:750; }
.variant-spec-card.is-enabled .variant-spec-toggle em { color:var(--success); }
.variant-spec-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.variant-spec-pair label { min-width:0; display:grid; gap:4px; }.variant-spec-pair label > span { color:var(--muted); font-size:9px; font-weight:750; }
.variant-active-toggle { min-height:var(--catalog-field-height,42px); display:flex; align-items:center; gap:8px; }.variant-active-toggle input { width:18px; height:18px; accent-color:var(--success); }
.variant-card-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding-top:3px; border-top:1px dashed var(--line); }
.variant-card-actions .table-save { min-width:130px; min-height:40px; }.variant-card-actions .text-danger { margin-inline-start:auto; }
.catalog-manager-card .catalog-editor-section > summary { min-height:58px; }
.catalog-secondary-panel { padding:0; overflow:hidden; }
.catalog-panel-toggle { min-height:68px; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; background:var(--paper); }
.catalog-panel-toggle::-webkit-details-marker { display:none; }
.catalog-panel-toggle > span { min-width:0; display:grid; gap:4px; }.catalog-panel-toggle strong { color:var(--ink); font-size:14px; }.catalog-panel-toggle small { color:var(--muted); font-size:10px; }
.catalog-panel-toggle i { padding:7px 11px; border-radius:99px; color:var(--primary); background:var(--accent-pale); font-size:10px; font-style:normal; font-weight:800; }
.catalog-secondary-panel[open] > .catalog-panel-toggle { border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--accent-pale) 45%,var(--paper)); }
.catalog-secondary-panel[open] > .catalog-panel-toggle i { color:var(--button-text); background:var(--primary); }
.catalog-panel-content { padding:18px; }
@media screen and (max-width:1180px) { .catalog-thickness-table tbody { grid-template-columns:minmax(0,1fr); } }
@media screen and (max-width:700px) {
  .catalog-thickness-table tr { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-thickness-table td:nth-child(4),.catalog-thickness-table td:nth-child(8) { grid-column:1 / -1; }
  .variant-spec-thicknesses { grid-template-columns:minmax(0,1fr); }
  .variant-spec-toggle { grid-template-columns:auto minmax(0,1fr); }.variant-spec-toggle em { grid-column:2; }
  .variant-card-actions { align-items:stretch; flex-direction:column; }.variant-card-actions :is(.table-save,.text-danger) { width:100%; margin:0; }
}

.proforma-summary { width: 100%; height: 46mm; margin-top: var(--quote-section-gap,.5mm); padding: 2.4mm 2.8mm; flex: 0 0 auto; display: grid; grid-template-columns: var(--quote-totals-width,66mm) minmax(0,1fr); gap: 5mm; direction: ltr; border: var(--quote-table-border,.35mm) solid var(--quote-border,#000); border-radius: var(--quote-radius,3.5mm); background: var(--quote-amount-bg,#fff); overflow: hidden; }
.proforma-summary.totals-style-line { border-right: 0; border-left: 0; border-radius: 0; }.proforma-summary.totals-style-plain { border: 0; border-radius: 0; }
.proforma-totals-list { display: grid; grid-template-rows: repeat(6,1fr); direction: rtl; }
.proforma-totals-list > div { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 32mm; align-items: center; gap: 2mm; font-size: var(--quote-total-font,12.5px); }
.proforma-totals-list > div:nth-child(5) { color: var(--quote-total-text,#000); background: var(--quote-total-bg,#fff); }
.proforma-totals-list strong { text-align: right; }.proforma-totals-list span { text-align: left; font-size: var(--quote-total-font,12.5px); font-weight: 800; white-space: nowrap; }
.proforma-summary-copy { min-width: 0; display: grid; grid-template-rows: 6.4mm 6.4mm minmax(0,1fr); direction: rtl; }
.proforma-summary-copy > div { display: grid; grid-template-columns: minmax(0,1fr) 30mm; align-items: center; gap: 2mm; font-size: var(--quote-total-font,12.5px); }
.proforma-summary-copy > div strong { text-align: right; }.proforma-summary-copy > div b { text-align: left; font-size: var(--quote-total-font,12.5px); }
.proforma-summary-copy p { max-width: 115mm; margin: 1mm auto 0; padding: .5mm 1mm; align-self: center; background: var(--quote-amount-bg,#fff); border-radius: var(--quote-radius,3.5mm); font-size: var(--quote-total-font,12.5px); font-weight: 800; line-height: 1.75; text-align: center; }

.proforma-paper > .proforma-final-zone { width: 100%; height: auto; min-height: calc(var(--proforma-terms-height,24mm) + var(--quote-signature-height,31mm)); margin-top: var(--quote-section-gap,.5mm); position: static; }
.proforma-paper > .proforma-final-zone.without-signatures { min-height: var(--proforma-terms-height,24mm); }
.proforma-terms { height: auto; min-height: var(--proforma-terms-height,24mm); padding: var(--quote-notes-padding,3mm); display: block; direction: rtl; text-align: center; background: var(--quote-notes-bg,#fff); overflow: visible; }
.proforma-terms.notes-style-line { border-top: var(--quote-table-border,.35mm) solid var(--quote-border,#000); }.proforma-terms.notes-style-boxed { border: var(--quote-table-border,.35mm) solid var(--quote-border,#000); border-radius: var(--quote-radius,3.5mm); }
.proforma-terms h3 { margin: 0 0 1mm; color: var(--quote-heading,#000); font-size: var(--quote-notes-font,10.5px); }
.proforma-terms p { width: 100%; margin: 0 0 1mm; display: block; direction: rtl; text-align: center; font-size: var(--quote-notes-font,10.5px); line-height: 1.28; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.proforma-terms .proforma-validity { font-weight: 900; }
.proforma-terms .proforma-extra-term { max-width: 184mm; margin-right: auto; margin-left: auto; color: var(--quote-muted,#222); font-size: var(--quote-notes-font,10.5px); }
.proforma-terms .proforma-thanks { margin-top: 1.8mm; margin-bottom: 0; font-size: max(8px,calc(var(--quote-notes-font,10.5px) + .5px)); font-weight: 800; }
.proforma-signatures { width: auto; height: var(--quote-signature-height,31mm); padding: 1.5mm 0 0 10mm; display: flex; flex-direction: row; align-items: flex-start; justify-content: flex-start; gap: var(--quote-signature-gap,25mm); direction: ltr; }
.proforma-signatures > div { width: 28mm; flex: 0 0 28mm; display: grid; align-content: start; justify-items: center; gap: 2mm; direction: rtl; font-size: 11px; }
.proforma-signatures > div:first-child { margin-top: 10mm; }
.proforma-signatures strong { font-weight: 800; }.proforma-signatures span { font-size: 8px; }
.proforma-continued { height: 104mm; display: grid; place-content: center; justify-items: center; gap: 3mm; font-size: 15px; }
.proforma-continued span { font-size: 10px; }
.proforma-paper > .proforma-footer { height: 6mm; padding-top: var(--quote-footer-padding,0); position: absolute; right: var(--quote-pad-right,7mm); bottom: var(--quote-footer-bottom,5mm); left: var(--quote-pad-left,7mm); display: grid; grid-template-columns: repeat(3,1fr); align-items: end; direction: ltr; border: 0; color: var(--quote-muted,#000); font-size: var(--quote-footer-font,9px); }
.proforma-footer span:nth-child(1), .proforma-footer span:nth-child(2), .proforma-footer strong { text-align: center; }.proforma-footer strong { color: var(--quote-text,#000); font-size: var(--quote-footer-font,9px); }
.proforma-footer.footer-align-right > * { text-align: right; }.proforma-footer.footer-align-center > * { text-align: center; }

@media screen and (max-width: 700px) {
  .layout-template-choice { grid-template-columns: 1fr; }
}

@media print {
  .quotation-document { margin: 0 !important; gap: 0 !important; }
  .quotation-document .quotation-paper { margin: 0 !important; box-shadow: none !important; }
  .quotation-document .quotation-paper:last-child { page-break-after: auto !important; break-after: auto !important; }
}

/* v1.9 customer hero, pipe specifications and export controls */
:root {
  --hero-min-height: 330px;
  --hero-content-width: 900px;
  --hero-title-size: 43px;
  --hero-emphasis-size: 43px;
  --hero-description-size: 13px;
  --hero-title-gap: 3px;
  --hero-vertical-align: center;
  --hero-language-align: end;
  --hero-eyebrow-align: start;
  --hero-title-start-align: start;
  --hero-emphasis-align: start;
  --hero-description-align: start;
}
.customer-body .quote-hero { min-height: var(--hero-min-height); display: grid; grid-template-rows: auto auto; align-content: var(--hero-vertical-align); }
.customer-body .customer-language-bar { justify-content: var(--hero-language-align); }
.customer-body .hero-grid-single { max-width: var(--hero-content-width); }
.customer-body .quote-hero .eyebrow { display: block; text-align: var(--hero-eyebrow-align); }
.customer-body .quote-hero h1 { width: 100%; max-width: 100%; display: grid; gap: var(--hero-title-gap); font-size: clamp(22px,6.5vw,var(--hero-title-size)); }
.customer-body .quote-hero h1 .hero-title-main { display: block; text-align: var(--hero-title-start-align); }
.customer-body .quote-hero h1 em { display: block; font-size: clamp(22px,6.5vw,var(--hero-emphasis-size)); text-align: var(--hero-emphasis-align); }
.customer-body .quote-hero p { width: 100%; max-width: 100%; font-size: clamp(10px,3.2vw,var(--hero-description-size)); text-align: var(--hero-description-align); }
.product-grid { grid-template-columns: minmax(180px,1.3fr) minmax(155px,1.05fr) repeat(3,minmax(88px,.72fr)); }
.product-grid .item-notes { grid-column: span 3; }
.catalog-layout > .admin-card:last-child { grid-column: 1 / -1; }
.catalog-specifications { margin-top: 15px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-alt); }
.catalog-specifications h3 { margin: 0 0 4px; font-size: 13px; }
.specification-list { margin-top: 12px; display: grid; gap: 8px; }
.specification-edit-form { padding: 9px; display: grid; grid-template-columns: 1.2fr 1.2fr 90px auto auto auto; align-items: end; gap: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.specification-edit-form label { min-width: 0; display: grid; gap: 5px; }
.specification-edit-form label > span, .request-specification-field > span { color: var(--muted); font-size: 9px; font-weight: 700; }
.specification-edit-form input:not([type="checkbox"]) { width: 100%; min-height: 38px; padding: 0 9px; border: 1px solid var(--input-border); border-radius: var(--field-radius); background: var(--input-bg); }
.specification-readonly { padding: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; }
.specification-readonly span { color: var(--muted); }.specification-readonly b { color: var(--success); }.specification-readonly em { color: var(--danger); }
.request-specification-field { margin-top: 6px; }

.proforma-meta { padding: var(--quote-meta-padding,1.3mm); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: minmax(5.3mm,auto); align-content: center; gap: .35mm 2mm; }
.proforma-paper .proforma-field { width: auto; height: auto; min-width: 0; min-height: 5.3mm; position: static; right: auto; left: auto; top: auto; display: block; line-height: 1.35; align-content: center; }
.proforma-field strong, .proforma-field span { max-width: 100%; }
.field-customer span, .field-address span { font-size: max(8px,calc(var(--quote-meta-font,10.5px) - .5px)); }
.proforma-summary { height: var(--quote-summary-height,46mm); padding: var(--quote-summary-padding,2.4mm); }
.proforma-summary.without-totals-list { grid-template-columns: minmax(0,1fr); }
.proforma-summary.without-summary-copy { grid-template-columns: min(var(--quote-totals-width,66mm),100%); }
.proforma-summary.without-summary-copy.totals-align-right { justify-content: end; }
.proforma-summary.without-summary-copy.totals-align-center { justify-content: center; }
.proforma-summary.without-summary-copy.totals-align-left { justify-content: start; }
.proforma-totals-list { grid-template-rows: none; grid-auto-rows: 1fr; }
.proforma-totals-list > div:not(.grand-total) { color: var(--quote-text,#000); background: transparent; }
.proforma-totals-list > div.grand-total { color: var(--quote-total-text,#000); background: var(--quote-total-bg,#fff); }
.proforma-summary-copy { grid-template-rows: none; grid-auto-rows: minmax(5.5mm,auto); align-content: center; }
.proforma-summary-copy p, .amount-words p { font-size: var(--quote-amount-font,var(--quote-total-font,12.5px)); }
.amount-align-right, .amount-align-right p { text-align: right !important; }
.amount-align-center, .amount-align-center p { text-align: center !important; }
.amount-align-left, .amount-align-left p { text-align: left !important; }
.totals-align-right :is(.totals-list,.proforma-totals-list,.proforma-summary-copy) { text-align: right; }
.totals-align-center :is(.totals-list,.proforma-totals-list,.proforma-summary-copy) { text-align: center; }
.totals-align-left :is(.totals-list,.proforma-totals-list,.proforma-summary-copy) { text-align: left; }
.totals-align-right :is(.proforma-totals-list,.proforma-summary-copy) :is(strong,span,b) { text-align: right; }
.totals-align-center :is(.proforma-totals-list,.proforma-summary-copy) :is(strong,span,b) { text-align: center; }
.totals-align-left :is(.proforma-totals-list,.proforma-summary-copy) :is(strong,span,b) { text-align: left; }
.quote-totals.without-amount-words.totals-align-right .totals-list { margin-right: 0; margin-left: auto; }
.quote-totals.without-amount-words.totals-align-center .totals-list { margin-right: auto; margin-left: auto; }
.quote-totals.without-amount-words.totals-align-left .totals-list { margin-right: auto; margin-left: 0; }
.quotation-document.pdf-exporting.pdf-a4-safe .quotation-paper { height: 296.4mm !important; min-height: 296.4mm !important; max-height: 296.4mm !important; }
.quotation-document.pdf-exporting .proforma-paper { break-after: auto !important; page-break-after: auto !important; }

@media screen and (max-width: 800px) {
  .specification-edit-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .specification-edit-form .table-save { min-height: 42px; }
}
@media screen and (max-width: 700px) {
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-grid :is(.product-type-field,.product-specification-field,.item-notes) { grid-column: 1 / -1; }
}
@media screen and (max-width: 430px) {
  .product-grid, .specification-edit-form { grid-template-columns: minmax(0,1fr); }
  .product-grid :is(.product-type-field,.product-specification-field,.item-notes) { grid-column: auto; }
}

/* Persistent in-app notifications */
.notification-center { position: relative; flex: 0 0 auto; display: flex; align-items: center; }
.notification-bell { width: 42px; height: 42px; position: relative; display: grid; place-items: center; border: 1px solid var(--line); border-radius: var(--badge-radius); color: var(--primary); background: var(--surface-alt); cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.notification-bell:hover, .notification-center.is-open .notification-bell { border-color: var(--accent); background: var(--accent-pale); transform: translateY(-1px); }
.notification-bell svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.notification-badge { min-width: 19px; height: 19px; padding: 0 5px; position: absolute; top: -6px; left: -6px; display: grid; place-items: center; border: 2px solid var(--topbar-bg); border-radius: 99px; color: #fff; background: var(--danger); font-size: 8px; font-weight: 900; line-height: 1; box-shadow: 0 4px 12px color-mix(in srgb,var(--danger) 32%,transparent); }
.notification-badge[hidden], .notification-panel[hidden], [data-enable-device-notifications][hidden] { display: none !important; }
.notification-center.has-unread .notification-bell::after { content: ''; width: 8px; height: 8px; position: absolute; top: 6px; right: 6px; border: 2px solid var(--surface-alt); border-radius: 50%; background: var(--accent); }
.notification-panel { width: min(390px,calc(100vw - 22px)); max-height: min(610px,calc(100vh - 92px)); position: absolute; z-index: 80; top: calc(100% + 10px); left: 0; display: grid; grid-template-rows: auto minmax(90px,1fr) auto; overflow: hidden; border: 1px solid var(--line); border-radius: var(--card-radius); color: var(--ink); background: var(--paper); box-shadow: 0 24px 70px color-mix(in srgb,var(--primary) 23%,transparent); }
.notification-panel > header { min-height: 67px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); background: var(--paper); }
.notification-panel > header > div { min-width: 0; display: grid; gap: 4px; }
.notification-panel > header strong { color: var(--ink); font-size: 14px; }
.notification-panel > header span { color: var(--muted); font-size: 9px; }
.notification-panel > header button { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--muted); background: var(--surface-alt); font-size: 20px; cursor: pointer; }
.notification-list { min-height: 90px; max-height: 430px; overflow: auto; overscroll-behavior: contain; }
.notification-item { min-height: 88px; padding: 13px 14px; position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: start; gap: 11px; border-bottom: 1px solid var(--line); color: var(--ink); background: var(--paper); text-decoration: none; transition: background .16s ease; }
.notification-item:hover { background: var(--table-hover); }
.notification-item.is-unread { background: color-mix(in srgb,var(--accent-pale) 66%,var(--paper)); }
.notification-item.is-unread::before { content: ''; width: 7px; height: 7px; position: absolute; top: 18px; left: 13px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
.notification-item-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--button-text); background: linear-gradient(145deg,var(--primary),var(--accent)); font-size: 17px; font-weight: 900; }
.notification-item-copy { min-width: 0; display: grid; gap: 4px; }
.notification-item-copy strong { padding-left: 12px; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.notification-item-copy > span { color: var(--muted); font-size: 9px; line-height: 1.65; }
.notification-item-copy small { color: var(--muted); font-size: 7.5px; }
.notification-empty { min-height: 120px; padding: 25px; display: grid; place-items: center; color: var(--muted); text-align: center; font-size: 10px; line-height: 1.7; }
.notification-panel > footer { padding: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; border-top: 1px solid var(--line); background: var(--surface-alt); }
.notification-panel > footer button { min-height: 38px; padding: 7px 9px; border: 1px solid var(--line); border-radius: var(--field-radius); color: var(--primary); background: var(--paper); font-size: 8px; font-weight: 800; cursor: pointer; }
.notification-panel > footer button:hover:not(:disabled) { border-color: var(--accent); background: var(--accent-pale); }
.notification-panel > footer button.is-enabled { color: var(--success); border-color: color-mix(in srgb,var(--success) 35%,var(--line)); }
.notification-panel > footer button:disabled { color: var(--muted); cursor: not-allowed; opacity: .58; }
.notification-panel .push-status { grid-column: 1 / -1; padding: 7px 9px; border-radius: calc(var(--field-radius) * .75); color: var(--muted); background: var(--paper); font-size: 7.5px; line-height: 1.6; text-align: center; }
.notification-panel .push-status.is-error { color: var(--danger); background: color-mix(in srgb,var(--danger) 9%,var(--paper)); }
.admin-notification-toast-stack { width: min(390px,calc(100vw - 22px)); position: fixed; z-index: 9997; top: calc(var(--topbar-height) + env(safe-area-inset-top) + 14px); left: max(14px,env(safe-area-inset-left)); display: grid; gap: 9px; pointer-events: none; }
.admin-notification-toast { min-height: 94px; position: relative; overflow: hidden; border: 1px solid color-mix(in srgb,var(--accent) 38%,var(--line)); border-radius: var(--card-radius); color: var(--ink); background: var(--paper); box-shadow: 0 22px 60px color-mix(in srgb,var(--primary) 27%,transparent); transform: translateX(-24px); opacity: 0; pointer-events: auto; transition: transform .2s ease, opacity .2s ease; }
.admin-notification-toast.is-visible { transform: translateX(0); opacity: 1; }
.admin-notification-toast > a { min-height: 94px; padding: 14px 42px 14px 15px; display: grid; align-content: center; gap: 4px; color: inherit; text-decoration: none; }
.admin-notification-toast > a small { color: var(--accent); font-size: 8px; font-weight: 900; }
.admin-notification-toast > a strong { color: var(--ink); font-size: 12px; }
.admin-notification-toast > a span { color: var(--muted); font-size: 9px; line-height: 1.6; }
.admin-notification-toast > button { width: 30px; height: 30px; position: absolute; top: 9px; left: 9px; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--muted); background: var(--surface-alt); font-size: 18px; cursor: pointer; }

@media screen and (max-width: 1180px) {
  .admin-topbar { grid-template-columns: auto minmax(0,1fr) auto auto; }
  .notification-center { justify-self: end; }
}
@media screen and (max-width: 640px) {
  .admin-topbar { grid-template-columns: 42px minmax(0,1fr) 42px; }
  .topbar-user-chip { display: none; }
  .notification-center { grid-column: 3; }
  .notification-panel { width: auto; max-height: calc(100vh - 82px - env(safe-area-inset-top)); position: fixed; top: calc(68px + env(safe-area-inset-top)); right: max(9px,env(safe-area-inset-right)); left: max(9px,env(safe-area-inset-left)); }
  .notification-list { max-height: calc(100vh - 230px - env(safe-area-inset-top)); }
  .admin-notification-toast-stack { width: auto; top: calc(68px + env(safe-area-inset-top)); right: max(9px,env(safe-area-inset-right)); left: max(9px,env(safe-area-inset-left)); }
}
@media screen and (max-width: 390px) {
  .notification-panel > footer { grid-template-columns: minmax(0,1fr); }
  .notification-item { padding-inline: 11px; grid-template-columns: 34px minmax(0,1fr); gap: 9px; }
  .notification-item-icon { width: 34px; height: 34px; }
}

/* v1.9.3 specification state, guided Web Push and enhanced A4 preview */
.product-specification-field .specification-state { min-height: 18px; margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.product-item.has-specification-choice .specification-state { color: var(--success); }
.product-item.has-specification-error .specification-state { color: var(--danger); font-weight: 800; }
.product-item.has-specification-error [data-specification] { border-color: color-mix(in srgb,var(--danger) 58%,var(--input-border)); background: color-mix(in srgb,var(--danger) 5%,var(--input-bg)); }
.specification-order-help { margin: -5px 0 13px; padding: 10px 12px; border: 1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius: 10px; color: var(--muted); background: color-mix(in srgb,var(--accent-pale) 58%,var(--paper)); font-size: 9px; line-height: 1.7; }
.specification-order-help strong { color: var(--primary); }
.specification-add-form label > small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.request-specification-field [data-request-specification-state] { display: block; margin-top: 4px; color: var(--muted); font-size: 7.5px; line-height: 1.45; }
body:not(.mas-design) .tab-requests .request-items-table tr.has-specification-error [data-request-specification-state] { color: var(--danger); font-weight: 800; }

.notification-bell { width: auto; min-width: 42px; padding: 0 14px; display: inline-flex; gap: 8px; }
.notification-bell-copy { color: currentColor !important; font-size: 9px !important; font-weight: 850; white-space: nowrap; }
.notification-panel > footer .push-panel-help { grid-column: 1 / -1; margin: 0; padding: 8px 9px; border-radius: calc(var(--field-radius) * .75); color: var(--muted); background: var(--paper); font-size: 8px; line-height: 1.65; text-align: center; }
.push-onboarding { margin: -5px 0 17px; padding: 14px 16px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; border: 1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius: var(--card-radius); background: linear-gradient(120deg,color-mix(in srgb,var(--accent-pale) 78%,var(--paper)),var(--paper)); box-shadow: var(--app-shadow); }
.push-onboarding-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: var(--button-text); background: linear-gradient(145deg,var(--primary),var(--accent)); }
.push-onboarding-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.push-onboarding > div { min-width: 0; display: grid; gap: 4px; }
.push-onboarding strong { color: var(--ink); font-size: 12px; }
.push-onboarding p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.65; }
.push-onboarding .push-status { color: var(--muted); font-size: 8px; line-height: 1.55; }
.push-onboarding .push-status.is-error { color: var(--danger); }
.push-onboarding[data-push-state="enabled"] { border-color: color-mix(in srgb,var(--success) 38%,var(--line)); background: color-mix(in srgb,var(--success) 8%,var(--paper)); }
.push-onboarding[data-push-state="enabled"] .push-onboarding-icon { background: var(--success); }
.push-onboarding[data-push-state="enabled"] > button { color: var(--success); border-color: color-mix(in srgb,var(--success) 35%,var(--line)); background: var(--paper); box-shadow: none; }
.push-onboarding[data-push-state="denied"] { border-color: color-mix(in srgb,var(--danger) 34%,var(--line)); background: color-mix(in srgb,var(--danger) 6%,var(--paper)); }

.layout-preview-card { min-width: 0; overflow: hidden; }
.layout-preview-heading { margin-bottom: 11px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.layout-preview-card > .layout-preview-heading p { margin: 2px 0 0; color: var(--muted); font-size: 8px; line-height: 1.6; }
.layout-preview-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.layout-preview-badges :is(span,em) { padding: 5px 7px; border-radius: 99px; color: var(--primary); background: var(--surface-alt); font-size: 7px; font-style: normal; font-weight: 850; white-space: nowrap; }
.layout-preview-badges em { color: #8b5d00; background: #fff3cf; }
.layout-preview-badges [hidden] { display: none; }
.layout-preview-toolbar { margin-bottom: 10px; padding: 8px; display: grid; grid-template-columns: minmax(130px,1fr) minmax(105px,.7fr) auto auto auto; align-items: end; gap: 6px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-alt); }
.layout-preview-toolbar label { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 4px 7px; color: var(--muted); font-size: 7.5px; font-weight: 800; }
.layout-preview-toolbar label > span { grid-column: 1 / -1; }
.layout-preview-toolbar input[type="range"] { min-width: 0; accent-color: var(--accent); }
.layout-preview-toolbar output { color: var(--primary); font-size: 8px; font-weight: 900; }
.layout-preview-toolbar select, .layout-preview-toolbar button { min-height: 32px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--primary); background: var(--paper); font-size: 7.5px; font-weight: 800; cursor: pointer; }
.layout-preview-shell { min-height: 460px; max-height: min(72vh,720px); padding: 14px; overflow: auto; overscroll-behavior: contain; }
.layout-preview-stage { margin-inline: auto; position: relative; flex: 0 0 auto; }
.layout-preview-paper { width: 620px; height: 877px; min-height: 877px; padding: 21px; transform-origin: top left; transition: transform .12s ease; }
.layout-preview-paper .preview-logo img { width: 100%; height: 100%; object-fit: contain; }
.layout-preview-paper [data-preview-section="meta"] > span { min-width: 0; padding: 4px 5px; display: grid; gap: 2px; border-bottom: 1px dotted color-mix(in srgb,currentColor 23%,transparent); overflow: hidden; }
.layout-preview-paper [data-preview-section="meta"] > span small { color: inherit; font-size: .72em; opacity: .65; }
.layout-preview-paper [data-preview-section="meta"] > span b { overflow: hidden; font-size: .9em; text-overflow: ellipsis; white-space: nowrap; }
.layout-preview-paper [data-preview-section="table"] > * { min-width: 0; border-bottom: 1px solid #d5dfe0; overflow: hidden; text-overflow: ellipsis; }
.layout-preview-paper [data-preview-section="table"] > [data-preview-product] { white-space: normal; }
.layout-preview-paper [data-preview-section="totals"] { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; gap: 10px; }
.preview-amount-words { min-width: 0; padding: 7px; display: grid; align-content: center; gap: 4px; border-radius: 4px; }
.preview-amount-words small { color: inherit; font-size: .65em; opacity: .7; }
.preview-amount-words span { line-height: 1.55; }
.preview-totals-list { max-width: 100%; display: grid; align-content: stretch; }
.preview-totals-list > div { min-height: 18px; padding: 3px 6px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px; border-bottom: 1px solid; }
.preview-totals-list > div[hidden] { display: none; }
.preview-totals-list > div span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preview-grand-total { font-weight: 900; }
.layout-preview-paper [data-preview-section="signatures"] > span { min-width: 0; display: grid; align-content: start; justify-items: center; gap: 3px; border-bottom: 1px dotted currentColor; text-align: center; }
.layout-preview-paper [data-preview-section="signatures"] small { opacity: .65; }
.layout-preview-paper footer { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.layout-preview-paper footer > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.layout-preview-paper footer > b { flex: 0 0 auto; }
.layout-preview-card.is-expanded { position: fixed !important; z-index: 9996; inset: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); padding: 16px; display: grid; grid-template-rows: auto auto minmax(0,1fr); background: var(--paper); box-shadow: 0 30px 100px rgba(4,24,29,.38); }
.layout-preview-card.is-expanded .layout-preview-shell { height: 100%; max-height: none; }
body.layout-preview-open { overflow: hidden; }

@media screen and (max-width: 760px) {
  .push-onboarding { grid-template-columns: 42px minmax(0,1fr); padding: 13px; }
  .push-onboarding-icon { width: 42px; height: 42px; }
  .push-onboarding > button { grid-column: 1 / -1; width: 100%; }
  .layout-preview-toolbar { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .layout-preview-toolbar label:first-child { grid-column: span 2; }
  .layout-preview-toolbar label:nth-child(2) { grid-column: span 1; }
  .layout-preview-toolbar button { width: 100%; }
}
@media screen and (max-width: 640px) {
  .notification-bell { width: 42px; padding: 0; }
  .notification-bell-copy { display: none; }
  .layout-preview-heading { align-items: stretch; flex-direction: column; }
  .layout-preview-badges { justify-content: flex-start; }
  .layout-preview-shell { min-height: 400px; padding: 9px; }
}
@media screen and (max-width: 430px) {
  .layout-preview-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .layout-preview-toolbar label:first-child, .layout-preview-toolbar label:nth-child(2) { grid-column: 1 / -1; }
  .layout-preview-toolbar button:last-child { grid-column: 1 / -1; }
}

/* v1.9.4 customer logo, configurable client summary and grouped numeric inputs */
.customer-hero-logo-wrap { width: 100%; margin-bottom: var(--customer-logo-gap,16px); display: flex; justify-content: var(--customer-logo-align,start); }
.customer-hero-logo { width: min(var(--customer-logo-width,150px),100%); height: var(--customer-logo-height,78px); padding: 0; display: grid; place-items: center; overflow: hidden; border: 1px solid transparent; border-radius: var(--customer-logo-radius,14px); }
.customer-hero-logo.has-box { padding: var(--customer-logo-padding,8px); border-color: var(--customer-logo-border,#dce7e9); background: var(--customer-logo-bg,#fff); box-shadow: 0 10px 28px rgba(4,25,31,.13); }
.customer-hero-logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
.customer-hero-logo.is-inverted img { filter: brightness(0) invert(1); }
.customer-summary-wrap { width: 100%; margin-top: 16px; display: flex; justify-content: var(--customer-summary-align,end); }
.customer-summary-wrap .compact-summary { width: min(100%,var(--customer-summary-width,390px)); margin: 0; padding: var(--customer-summary-gap,1px); grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--customer-summary-gap,1px); overflow: hidden; border: 1px solid var(--customer-summary-border,#d3e2e3); border-radius: var(--customer-summary-radius,13px); background: var(--customer-summary-border,#d3e2e3); }
.customer-summary-wrap .compact-summary.summary-single { grid-template-columns: minmax(0,1fr); }
.customer-summary-wrap .compact-summary > div { min-height: var(--customer-summary-height,62px); padding: 11px 16px; align-content: center; justify-content: center; background: var(--customer-summary-bg,#12343d); text-align: var(--customer-summary-text-align,center); }
.customer-summary-wrap .compact-summary span { color: var(--customer-summary-label-color,#b7c8cb); font-size: var(--customer-summary-label-size,11px); }
.customer-summary-wrap .compact-summary strong { color: var(--customer-summary-value-color,#fff); font-size: var(--customer-summary-value-size,18px); font-variant-numeric: tabular-nums; }
[data-formatted-number], [data-integer-quantity] { direction: ltr; font-variant-numeric: tabular-nums; text-align: right; }
.settings-card-help { margin: -5px 0 13px; color: var(--muted); font-size: 9px; line-height: 1.75; }

.appearance-preview-logo-wrap { margin-bottom: min(8px,var(--customer-logo-gap,16px)); }
.appearance-preview-customer-logo { width: clamp(28px,calc(var(--customer-logo-width,150px) * .3),82px); height: clamp(17px,calc(var(--customer-logo-height,78px) * .3),48px); border-radius: clamp(2px,calc(var(--customer-logo-radius,14px) * .3),12px); }
.appearance-preview-customer-logo.has-box { padding: clamp(1px,calc(var(--customer-logo-padding,8px) * .3),7px); }
.appearance-preview-customer-logo > span { color: currentColor; font-size: 5px; font-weight: 900; letter-spacing: .08em; }
.appearance-preview-customer-summary { width: min(100%,calc(var(--customer-summary-width,390px) * .48)); justify-self: var(--customer-summary-align,end); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: max(1px,calc(var(--customer-summary-gap,1px) * .3)); padding: max(1px,calc(var(--customer-summary-gap,1px) * .3)); overflow: hidden; border: 1px solid var(--customer-summary-border,#d3e2e3); border-radius: clamp(2px,calc(var(--customer-summary-radius,13px) * .35),10px); background: var(--customer-summary-border,#d3e2e3); }
.appearance-preview-customer-summary.summary-single { grid-template-columns: minmax(0,1fr); }
.appearance-preview-customer-summary article { min-height: clamp(30px,calc(var(--customer-summary-height,62px) * .55),72px); padding: 5px; display: grid; align-content: center; justify-items: var(--customer-summary-text-align,center); gap: 3px; background: var(--customer-summary-bg,#12343d); text-align: var(--customer-summary-text-align,center); }
.appearance-preview-customer-summary small { color: var(--customer-summary-label-color,#b7c8cb); font-size: clamp(4px,calc(var(--customer-summary-label-size,11px) * .45),9px); }
.appearance-preview-customer-summary strong { color: var(--customer-summary-value-color,#fff); font-size: clamp(7px,calc(var(--customer-summary-value-size,18px) * .48),17px); font-variant-numeric: tabular-nums; }

@media screen and (max-width: 640px) {
  .customer-hero-logo { width: min(var(--customer-logo-width,150px),72vw); height: min(var(--customer-logo-height,78px),34vw); }
  .customer-summary-wrap .compact-summary { width: 100%; }
}

/* v1.9.5 stable field alignment, notification control and specification-specific thicknesses */
.product-grid { align-items: start; }
.product-grid .field { align-self: start; align-content: start; }
.product-grid .field > span { min-height: 16px; display: flex; align-items: flex-end; }
.product-grid .field > small { min-height: 18px; margin: 0; }
.notification-center { z-index: 86; isolation: isolate; }
.notification-bell { touch-action: manipulation; }
.catalog-thickness-table { min-width: 980px; }
.variant-spec-thicknesses { min-width: 230px; display: grid; gap: 7px; }
.variant-spec-thicknesses > label { min-width: 0; display: grid; grid-template-columns: minmax(105px,1fr) minmax(86px,.7fr); align-items: center; gap: 7px; }
.variant-spec-thicknesses > label > span { min-width: 0; color: var(--muted); font-size: 8px; font-weight: 800; line-height: 1.35; }
.variant-spec-thicknesses > label > input { min-width: 86px; }

@media screen and (max-width: 760px) {
  .catalog-table td:nth-child(4)::before { content: "السمك حسب المواصفة"; }
  .variant-spec-thicknesses { min-width: 0; }
  .variant-spec-thicknesses > label { grid-template-columns: minmax(0,1fr) minmax(110px,.65fr); }
  .variant-spec-thicknesses > label > span { font-size: 10px; }
}

@media screen and (max-width: 430px) {
  .product-grid .field > span { min-height: 0; }
  .variant-spec-thicknesses > label { grid-template-columns: minmax(0,1fr); }
}

/* v1.9.7 circular top-left notification control */
.notification-bell {
  width: 48px;
  min-width: 48px;
  height: 48px;
  padding: 0;
  overflow: visible;
  border: 2px solid color-mix(in srgb,var(--topbar-bg) 82%,transparent);
  border-radius: 50%;
  color: var(--button-text);
  background: radial-gradient(circle at 33% 25%,color-mix(in srgb,var(--accent) 72%,#fff),var(--accent) 38%,var(--primary) 100%);
  box-shadow: 0 8px 24px color-mix(in srgb,var(--primary) 25%,transparent), inset 0 1px 0 rgba(255,255,255,.42), 0 0 0 1px color-mix(in srgb,var(--primary) 10%,transparent);
}
.notification-bell:hover, .notification-center.is-open .notification-bell {
  border-color: color-mix(in srgb,var(--topbar-bg) 68%,transparent);
  color: var(--button-text);
  background: radial-gradient(circle at 33% 25%,#fff,var(--accent) 32%,var(--primary) 100%);
  box-shadow: 0 11px 28px color-mix(in srgb,var(--primary) 31%,transparent), inset 0 1px 0 rgba(255,255,255,.5), 0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);
}
.notification-bell-icon { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }
.notification-bell .notification-bell-icon svg { width: 20px; height: 20px; stroke-width: 2.15; }
.notification-badge { top: -5px; left: -5px; }
.notification-center.has-unread .notification-bell { animation: notificationBellAttention 1.9s ease-in-out 1; }
@keyframes notificationBellAttention { 0%,100% { transform: none; } 20% { transform: rotate(-7deg); } 40% { transform: rotate(6deg); } 60% { transform: rotate(-3deg); } }
.notification-item-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.push-onboarding[hidden], .push-panel-help[hidden], .notification-center.push-is-enabled [data-push-context="panel"], .notification-center.push-is-enabled .push-status:not(.is-error) { display: none !important; }
.notification-center.push-is-enabled .notification-panel > footer { grid-template-columns: minmax(0,1fr); }
.notification-center.push-is-enabled [data-mark-all-read] { width: 100%; }

@media screen and (max-width: 640px) {
  .notification-bell { width: 44px; min-width: 44px; height: 44px; border-radius: 50%; }
  .notification-bell-icon { width: 29px; height: 29px; border-radius: 50%; }
}

@media (prefers-reduced-motion: reduce) {
  .notification-center.has-unread .notification-bell { animation: none; }
}

/* v1.9.8 content-driven exports and streamlined catalog workspace */
.quote-meta-grid:empty { display: none; }
.quote-meta-grid > div { min-height: 0; align-content: start; }
.quote-meta-grid strong,
.quotation-table .product-cell,
.quotation-table .product-cell strong,
.quotation-table .product-cell span,
.quotation-table .product-cell small {
  max-width: 100%;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.proforma-meta {
  height: auto;
  min-height: 0;
  padding: var(--quote-meta-padding,1.3mm);
  grid-auto-rows: auto;
  align-content: start;
  overflow: visible;
}
.proforma-meta:empty { display: none; }
.proforma-paper .proforma-field {
  height: auto;
  min-height: 0;
  padding: .8mm 0;
  align-content: start;
  line-height: 1.4;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}
.proforma-field strong,
.proforma-field span {
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}
.proforma-table tr { height: auto; }
.proforma-table td {
  height: var(--proforma-item-min-height,var(--proforma-row-height,13.1mm));
  max-height: none;
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.proforma-product strong,
.proforma-product span,
.proforma-product small {
  max-width: 100%;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.proforma-product .proforma-product-code {
  margin: .45mm 0 .15mm;
  padding: .35mm .75mm;
  display: block;
  width: max-content;
  max-width: 100%;
  border-radius: 1mm;
  color: var(--quote-text,#000);
  background: var(--quote-stripe,#f2f5f5);
  font-size: max(7px,calc(var(--quote-notes-font,10.5px) - 2px));
  line-height: 1.3;
}
.proforma-product .proforma-product-code b,
.proforma-product .proforma-product-code span { display: inline; margin: 0; color: inherit; font-size: inherit; }

.catalog-page-title { align-items: flex-start; }
.catalog-summary-strip { width: max-content; max-width: 100%; margin: -7px 0 16px; padding: 5px; display: flex; flex-wrap: wrap; gap: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-alt); }
.catalog-summary-strip article { min-width: 112px; padding: 7px 11px; display: flex; align-items: baseline; gap: 7px; border-radius: 8px; background: var(--paper); }
.catalog-summary-strip strong { color: var(--primary); font-size: 15px; font-variant-numeric: tabular-nums; }
.catalog-summary-strip span { color: var(--muted); font-size: 8px; font-weight: 750; }
.catalog-excel-hub, .catalog-manual-tools, .catalog-manager-card { margin-bottom: 16px; }
.catalog-section-heading, .catalog-manager-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.catalog-section-heading h2, .catalog-manager-head h2 { margin: 3px 0 5px; }
.catalog-section-heading p, .catalog-manager-head p { max-width: 760px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.7; }
.catalog-section-kicker { color: var(--accent-hover); font-size: 7px; font-weight: 900; letter-spacing: .08em; }
.catalog-file-limit { flex: 0 0 auto; padding: 6px 9px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: var(--surface-alt); font-size: 7px; font-weight: 800; }
.catalog-workflow { margin-top: 17px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.catalog-workflow-step { min-width: 0; min-height: 230px; padding: 14px; display: flex; flex-direction: column; gap: 11px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-alt); }
.catalog-step-number { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; color: var(--button-text); background: var(--primary); font-size: 11px; font-weight: 900; }
.catalog-workflow-step h3 { margin: 0 0 4px; font-size: 12px; }
.catalog-workflow-step p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.65; }
.catalog-workflow-step ul { margin: 0; padding-right: 17px; color: var(--muted); font-size: 8px; line-height: 1.8; }
.catalog-download-stack { margin-top: auto; display: grid; gap: 7px; }
.catalog-download-stack .button { width: 100%; }
.catalog-upload-step form { margin-top: auto; display: grid; gap: 8px; }
.catalog-dropzone { min-height: 91px; padding: 12px; display: grid; place-items: center; align-content: center; gap: 4px; border: 1.5px dashed var(--input-border); border-radius: 12px; color: var(--primary); background: var(--input-bg); text-align: center; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.catalog-dropzone:hover, .catalog-dropzone:focus-visible, .catalog-dropzone.is-dragover { border-color: var(--accent); background: var(--accent-pale); transform: translateY(-1px); outline: none; }
.catalog-dropzone.has-file { border-style: solid; border-color: var(--success); background: color-mix(in srgb,var(--success) 8%,var(--paper)); }
.catalog-dropzone-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--button-text); background: var(--accent); font-size: 17px; font-weight: 900; }
.catalog-dropzone strong { font-size: 9px; }
.catalog-dropzone small { max-width: 100%; color: var(--muted); font-size: 7px; overflow-wrap: anywhere; }
.catalog-upload-error { margin: 0 !important; padding: 6px 8px; border-radius: 8px; color: var(--danger) !important; background: color-mix(in srgb,var(--danger) 9%,var(--paper)); }
.catalog-upload-error[hidden] { display: none; }
.catalog-upload-step button:disabled { cursor: not-allowed; opacity: .48; }
.catalog-permission-note { margin-top: auto; color: var(--muted); font-size: 8px; }
.catalog-import-guide { margin-top: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); overflow: hidden; }
.catalog-import-guide summary { padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--primary); cursor: pointer; list-style: none; font-size: 9px; font-weight: 850; }
.catalog-import-guide summary::-webkit-details-marker { display: none; }
.catalog-import-guide summary i { color: var(--muted); font-size: 7px; font-style: normal; }
.catalog-import-guide[open] summary { border-bottom: 1px solid var(--line); background: var(--surface-alt); }
.catalog-import-guide > div { padding: 11px 13px; display: grid; gap: 7px; }
.catalog-import-guide p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.8; }

.catalog-tool-accordions { margin-top: 14px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; align-items: start; }
.catalog-tool-card { min-width: 0; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-alt); overflow: hidden; }
.catalog-tool-card summary, .catalog-editor-section summary { padding: 12px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.catalog-tool-card summary::-webkit-details-marker, .catalog-editor-section summary::-webkit-details-marker { display: none; }
.catalog-tool-card summary > span, .catalog-editor-section summary > span { min-width: 0; display: grid; gap: 3px; }
.catalog-tool-card summary b, .catalog-editor-section summary b { color: var(--ink); font-size: 10px; }
.catalog-tool-card summary small, .catalog-editor-section summary small { color: var(--muted); font-size: 7px; line-height: 1.45; }
.catalog-tool-card summary i { width: 25px; height: 25px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: var(--primary); background: var(--paper); font-size: 14px; font-style: normal; transition: transform .16s ease; }
.catalog-tool-card[open] summary { border-bottom: 1px solid var(--line); background: var(--paper); }
.catalog-tool-card[open] summary i { transform: rotate(45deg); }
.catalog-tool-body { padding: 13px; }
.catalog-tool-body .mini-form { grid-template-columns: minmax(0,1fr); }
.catalog-tool-body .specification-order-help { margin-top: 0; }
.catalog-empty-note { margin: 0; padding: 15px; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); background: var(--surface-alt); font-size: 9px; line-height: 1.7; text-align: center; }

.catalog-manager-card { padding: 0; overflow: hidden; }
.catalog-manager-head { padding: 18px 20px; border-bottom: 1px solid var(--line); }
.catalog-type-switcher { width: min(300px,100%); flex: 0 0 auto; display: grid; gap: 5px; }
.catalog-type-switcher span { color: var(--muted); font-size: 8px; font-weight: 800; }
.catalog-type-switcher select { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid var(--input-border); border-radius: 10px; color: var(--ink); background: var(--input-bg); }
.catalog-selected-type { padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); background: var(--surface-alt); }
.catalog-selected-type > div:first-child { min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.catalog-selected-type strong { color: var(--primary); font-size: 14px; }
.catalog-selected-type > div:first-child span { color: var(--muted); font-size: 9px; }
.catalog-selected-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.catalog-selected-chips span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); background: var(--paper); font-size: 7px; font-weight: 800; }
.catalog-selected-chips .is-active { color: var(--success); border-color: color-mix(in srgb,var(--success) 25%,var(--line)); background: color-mix(in srgb,var(--success) 7%,var(--paper)); }
.catalog-selected-chips .is-archived { color: var(--danger); }
.catalog-editor-section { border-bottom: 1px solid var(--line); }
.catalog-editor-section:last-child { border-bottom: 0; }
.catalog-editor-section summary { padding: 14px 20px; background: var(--paper); }
.catalog-editor-section summary i { min-width: 31px; padding: 5px 8px; border-radius: 99px; color: var(--primary); background: var(--surface-alt); font-size: 7px; font-style: normal; text-align: center; }
.catalog-editor-section[open] > summary { background: color-mix(in srgb,var(--accent-pale) 55%,var(--paper)); }
.catalog-editor-section[open] > summary i { color: var(--button-text); background: var(--primary); }
.catalog-editor-body { padding: 15px 20px 20px; border-top: 1px solid var(--line); background: var(--paper); }
.catalog-editor-body .type-edit-form { margin-top: 0; }
.catalog-section-help { margin: 0 0 11px; color: var(--muted); font-size: 8px; line-height: 1.7; }
.catalog-readonly-copy { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--muted); }
.catalog-readonly-copy strong { color: var(--ink); }
.catalog-table-toolbar { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.catalog-table-toolbar label { min-width: min(430px,100%); flex: 1; }
.catalog-table-toolbar input { width: 100%; min-height: 40px; padding: 0 12px; border: 1px solid var(--input-border); border-radius: 10px; color: var(--ink); background: var(--input-bg); outline: none; }
.catalog-table-toolbar input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent); }
.catalog-table-toolbar > span { flex: 0 0 auto; color: var(--muted); font-size: 8px; font-variant-numeric: tabular-nums; }
.catalog-filter-empty { padding: 24px; border: 1px dashed var(--line); border-radius: 11px; color: var(--muted); background: var(--surface-alt); text-align: center; }
.catalog-filter-empty[hidden], [data-catalog-variant-row][hidden] { display: none !important; }
.catalog-readonly-label { color: var(--muted); font-size: 7px; white-space: nowrap; }

@media screen and (max-width: 980px) {
  .catalog-workflow, .catalog-tool-accordions { grid-template-columns: minmax(0,1fr); }
  .catalog-workflow-step { min-height: 0; }
  .catalog-download-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-upload-step form { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
  .catalog-upload-step .catalog-dropzone { grid-column: 1 / -1; }
  .catalog-upload-error { grid-column: 1 / -1; }
}
@media screen and (max-width: 700px) {
  .catalog-summary-strip { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .catalog-summary-strip article { min-width: 0; justify-content: center; }
  .catalog-section-heading, .catalog-manager-head, .catalog-selected-type, .catalog-table-toolbar { align-items: stretch; flex-direction: column; }
  .catalog-selected-chips { justify-content: flex-start; }
  .catalog-type-switcher, .catalog-table-toolbar label { width: 100%; min-width: 0; }
  .catalog-editor-body { padding: 13px; }
}
@media screen and (max-width: 480px) {
  .catalog-summary-strip { grid-template-columns: minmax(0,1fr); }
  .catalog-summary-strip article { justify-content: flex-start; }
  .catalog-download-stack, .catalog-upload-step form { grid-template-columns: minmax(0,1fr); }
  .catalog-upload-step .catalog-dropzone, .catalog-upload-error { grid-column: auto; }
  .catalog-editor-section summary, .catalog-manager-head { padding-right: 14px; padding-left: 14px; }
}

/* v1.9.11: isolate catalogue cards from legacy table rules. */
.catalog-variant-cards { overflow:visible; }
.catalog-variant-cards .catalog-thickness-table { width:100%; min-width:0; table-layout:auto; }
.catalog-variant-cards .catalog-thickness-table tbody { width:100%; min-width:0; }
.catalog-variant-cards .catalog-thickness-table tr { overflow:hidden; }
.catalog-variant-cards .catalog-thickness-table td { width:auto; min-width:0; }
.catalog-variant-cards .catalog-thickness-table td:nth-child(4),
.catalog-variant-cards .catalog-thickness-table td:nth-child(7) { grid-column:1 / -1; }
.catalog-variant-cards .variant-spec-thicknesses { width:100%; min-width:0; }
.catalog-variant-cards .variant-spec-card { width:100%; min-width:0; overflow:hidden; }
.catalog-variant-cards .variant-spec-toggle { width:100%; min-width:0; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:4px 9px; }
.catalog-variant-cards .variant-spec-toggle em { grid-column:2; }
.catalog-variant-cards :is(.variant-spec-toggle,.variant-active-toggle) > input[type="checkbox"] {
  width:20px !important;
  min-width:20px !important;
  height:20px !important;
  min-height:20px !important;
  margin:0;
  padding:0 !important;
  flex:0 0 20px;
  border:0;
  border-radius:5px;
  box-shadow:none;
  accent-color:var(--success);
}
.catalog-variant-cards .variant-spec-pair { width:100%; min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.catalog-variant-cards .variant-spec-pair > label {
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:stretch;
  gap:5px;
}
.catalog-variant-cards .variant-spec-pair > label > span { min-width:0; display:block; }
.catalog-variant-cards .variant-spec-pair input {
  width:100% !important;
  min-width:0 !important;
  max-width:100%;
  margin:0;
}
.catalog-variant-cards .variant-active-toggle { min-width:0; justify-content:flex-start; }
.catalog-variant-cards .variant-card-actions { width:100%; min-width:0; }
@media screen and (max-width:700px) {
  .catalog-variant-cards .catalog-thickness-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-variant-cards .catalog-thickness-table td:nth-child(4),
  .catalog-variant-cards .catalog-thickness-table td:nth-child(7) { grid-column:1 / -1; }
  .catalog-variant-cards .variant-spec-pair { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:430px) {
  .catalog-variant-cards .catalog-thickness-table tr { grid-template-columns:minmax(0,1fr); }
  .catalog-variant-cards .catalog-thickness-table td { grid-column:1 / -1; }
  .catalog-variant-cards .variant-spec-pair { grid-template-columns:minmax(0,1fr); }
}

/* v1.9.12: draft item editing, issued protection and readable inline notes. */
.request-quantity-field { width:100%; max-width:112px; margin-inline:auto; display:inline-grid; vertical-align:middle; }
.request-quantity-field input { width:100%; min-width:76px; text-align:center; font-weight:800; font-variant-numeric:tabular-nums; }
.issued-protection-notice { border-color:color-mix(in srgb,var(--info) 34%,var(--line)); background:color-mix(in srgb,var(--info) 8%,var(--paper)); }
.unissue-row { margin-top:12px; padding:12px 14px; display:flex; align-items:center; justify-content:flex-start; gap:12px; border:1px solid color-mix(in srgb,var(--info) 32%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--info) 6%,var(--paper)); }
.unissue-row small { color:var(--muted); font-size:max(10px,calc(var(--app-font-size,16px) * .66)); line-height:1.6; }
@media screen and (max-width:700px) {
  .request-quantity-field { max-width:none; }
  .unissue-row { align-items:stretch; flex-direction:column; }
  .unissue-row .button { width:100%; }
}

/* v1.9.13: clear reopened-quotation editing state. */
.reopened-quote-notice { border-color:color-mix(in srgb,var(--success) 38%,var(--line)); background:color-mix(in srgb,var(--success) 8%,var(--paper)); color:var(--ink); }

/* v1.9.14: explicit permission and cancelled-quotation recovery states. */
.request-permission-notice { border-color:color-mix(in srgb,var(--warning) 42%,var(--line)); background:color-mix(in srgb,var(--warning) 9%,var(--paper)); color:var(--ink); }
.cancelled-quote-notice { border-color:color-mix(in srgb,var(--danger) 30%,var(--line)); background:color-mix(in srgb,var(--danger) 6%,var(--paper)); color:var(--ink); }

/* v1.9.15: focused totals, amount-in-words and decimal formatting controls. */
.quote-totals-customizer { margin-top:22px; padding:16px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--accent-pale) 34%,var(--paper)); }
.quote-totals-customizer > .card-title-row { margin-bottom:0; }
.quote-totals-customizer > .card-title-row h3 { margin:0 0 4px; color:var(--ink); font-size:14px; }
.quote-totals-customizer > .card-title-row p { margin:0; color:var(--muted); font-size:9px; line-height:1.75; }
.quote-totals-customizer > h4 { margin:17px 0 9px; color:var(--primary); font-size:10px; }
.quote-decimal-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
.quote-totals-copy-editor { margin-top:14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); overflow:hidden; }
.quote-totals-copy-editor > summary { min-height:50px; padding:9px 13px; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; }
.quote-totals-copy-editor > summary::-webkit-details-marker { display:none; }
.quote-totals-copy-editor > summary > span { min-width:0; display:grid; gap:3px; }
.quote-totals-copy-editor > summary b { color:var(--ink); font-size:11px; }
.quote-totals-copy-editor > summary small { color:var(--muted); font-size:8px; line-height:1.45; }
.quote-totals-copy-editor > summary i { color:var(--muted); font-size:14px; font-style:normal; transition:transform .16s; }
.quote-totals-copy-editor[open] > summary { border-bottom:1px solid var(--line); background:var(--surface-alt); }
.quote-totals-copy-editor[open] > summary i { transform:rotate(180deg); }
.quote-totals-copy-fields { padding:13px; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media screen and (max-width:700px) {
  .quote-totals-customizer { padding:12px; }
  .quote-decimal-controls,.quote-totals-copy-fields { grid-template-columns:minmax(0,1fr); }
}

/* v1.9.18 — customer history and readable desktop controls. */
.customer-portal { max-width:1200px; padding-block:28px 48px; }
.portal-heading,.portal-card-top,.portal-list-heading,.portal-edit-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.portal-heading { margin-bottom:22px; }
.portal-heading h1 { margin:0 0 5px; font-size:28px; }
.portal-heading p,.portal-card p { margin:5px 0; color:var(--muted); }
.portal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.portal-search { display:flex; flex-wrap:wrap; gap:14px; align-items:end; }
.portal-search .field { flex:1 1 260px; max-width:480px; }
.portal-list-heading { margin:18px 0; }
.portal-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.portal-card { min-width:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.portal-card h2 { margin:4px 0; font-size:20px; overflow-wrap:anywhere; }
.portal-card .portal-actions { margin-top:auto; padding-top:12px; }
.portal-card-top strong { overflow-wrap:anywhere; }
.portal-card .status-chip { white-space:normal; }
.portal-pending { color:var(--warning) !important; }
.portal-pagination,.success-actions { margin-block:20px; }
.portal-empty { text-align:center; padding:28px; }
.portal-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-block:20px; }
.portal-details span,.portal-details strong,.portal-items td span,.portal-items td small { display:block; overflow-wrap:anywhere; }
.portal-details span { color:var(--muted); margin-bottom:5px; }
.portal-details strong { white-space:pre-wrap; }
.portal-items { width:100%; border-collapse:collapse; text-align:start; }
.portal-items th,.portal-items td { padding:12px; text-align:start; border-bottom:1px solid var(--line); white-space:normal; overflow-wrap:anywhere; }
.portal-items th { background:var(--table-header-bg); }
.portal-items tbody tr:nth-child(even) { background:var(--table-stripe); }
.portal-table-wrap { overflow-x:auto; margin-block:20px; }
.portal-note { white-space:normal; overflow-wrap:anywhere; }
.portal-edit-heading { margin-bottom:20px; }
.customer-language-bar { flex-wrap:wrap; gap:12px; }
.customer-language-bar .portal-entry { margin-inline-end:auto; }
.customer-portal .field { margin-bottom:8px; }
.customer-portal .button { white-space:normal; text-align:center; }
@media screen and (min-width:900px) {
  body.admin-body,body.customer-body { font-size:var(--desktop-font-size,18px); }
  body.admin-body :is(.admin-content,.admin-sidebar,.admin-topbar) :is(p,small,label,summary,li,span):not(.layout-preview-paper *):not(.notification-badge):not(.brand-symbol) { font-size:calc(var(--desktop-font-size,18px) - 3px); line-height:1.5; }
  body.admin-body :is(.admin-content,.admin-sidebar,.admin-topbar) :is(input,select,textarea,button,.button,a):not(.layout-preview-paper *) { font-size:var(--desktop-font-size,18px); }
  body.admin-body .admin-content :is(th,td):not(.layout-preview-paper *) { font-size:calc(var(--desktop-font-size,18px) - 1px); }
  body.admin-body .admin-content :is(td,strong,b):not(.layout-preview-paper *) { line-height:1.5; }
  body.admin-body .admin-content :is(h2,h3):not(.layout-preview-paper *) { font-size:calc(var(--desktop-font-size,18px) + 2px); }
  body.admin-body .admin-content .catalog-thickness-table td::before { font-size:calc(var(--desktop-font-size,18px) - 3px); }
  body.customer-body .field > span { font-size:max(var(--customer-label-size,14px),calc(var(--desktop-font-size,18px) - 2px)); }
  body.customer-body :is(input,select,textarea,output,.button) { font-size:max(var(--customer-input-size,16px),var(--desktop-font-size,18px)); }
  body.customer-body [data-specification] { font-size:max(var(--customer-specification-size,16px),var(--desktop-font-size,18px)); }
  body.customer-body :is(.field small,.section-heading p,.submit-row span) { font-size:calc(var(--desktop-font-size,18px) - 3px); }
  .portal-items,.portal-details,.portal-card p { font-size:var(--desktop-font-size,18px); }
}
@media screen and (max-width:650px) {
  .portal-cards,.portal-details { grid-template-columns:minmax(0,1fr); }
  .portal-heading h1 { font-size:24px; }
  .portal-card .portal-actions .button { flex:1 1 140px; }
  .portal-items th,.portal-items td { padding:8px; font-size:14px; }
  .portal-items { min-width:520px; }
}

/* v1.9.19 — clarity-first UI refinement: calmer cards, stronger hierarchy, easier scanning. */
:root {
  --calm-card-radius: 14px;
  --calm-card-shadow: 0 4px 16px rgba(16,49,58,.035);
  --calm-soft-bg: color-mix(in srgb,var(--surface-alt) 82%,var(--paper));
}

/* Keep the interface stable and reduce visual motion/noise. */
.button { transition: background .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease; }
.button:hover { transform:none; }
.form-card,.requests-panel,.review-panel,.admin-card,.stat-grid > div,.portal-card {
  border-radius:var(--calm-card-radius);
  box-shadow:var(--calm-card-shadow);
}

/* Customer form: less vertical weight and clearer section hierarchy. */
.customer-body .quote-hero { padding:36px 0 68px; }
.customer-body .form-wrap { margin-top:-38px; padding-bottom:44px; }
.customer-body .request-form { gap:12px; }
.customer-body .form-card { padding:clamp(16px,var(--card-padding),22px); }
.customer-body .section-heading { margin-bottom:16px; gap:10px; align-items:center; }
.customer-body .section-heading > span { width:32px; height:32px; border-radius:9px; font-size:11px; }
.customer-body .section-heading h2 { margin:0; line-height:1.35; }
.customer-body .section-heading p { margin-top:3px; max-width:760px; line-height:1.45; }
.customer-body .form-grid { gap:11px 12px; }
.customer-body .field { gap:5px; }
.customer-body .field input,.customer-body .field select,.customer-body .field textarea,.customer-body .field.read-only output {
  border-radius:9px;
}

/* Product card: primary choices first; automatic values and note are secondary. */
.customer-body .items-stack { gap:10px; }
.customer-body .product-item {
  display:block;
  padding:15px 16px 14px;
  border-color:var(--line);
  border-radius:13px;
  background:var(--paper);
  box-shadow:none;
}
.customer-body .item-number {
  min-height:28px;
  margin-bottom:11px;
  padding:0 0 9px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  border:0;
  border-bottom:1px solid var(--line);
}
.customer-body .item-number span { color:var(--muted); font-size:11px; }
.customer-body .item-number strong {
  min-width:28px;
  height:24px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  color:var(--primary);
  background:var(--accent-pale);
  font-size:13px;
  line-height:1;
}
.customer-body .product-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:10px 9px;
  align-items:start;
}
.customer-body .product-grid > .field:nth-child(1) { grid-column:span 3; }
.customer-body .product-grid > .field:nth-child(2) { grid-column:span 2; }
.customer-body .product-grid > .field:nth-child(3) { grid-column:span 2; }
.customer-body .product-grid > .field:nth-child(4) { grid-column:span 3; }
.customer-body .product-grid > .field:nth-child(5) { grid-column:1 / span 2; grid-row:2; }
.customer-body .product-grid > .field:nth-child(6) { grid-column:11 / span 2; grid-row:1; }
.customer-body .product-grid > .field:nth-child(7) { grid-column:3 / span 2; grid-row:2; }
.customer-body .product-grid > .field:nth-child(8) { grid-column:5 / -1; grid-row:2; }
.customer-body .product-grid .field.read-only output {
  border-style:solid;
  border-color:color-mix(in srgb,var(--line) 84%,var(--accent));
  color:var(--primary);
  background:var(--calm-soft-bg);
  font-weight:700;
}
.customer-body .product-grid small { margin-top:0; color:var(--muted); line-height:1.35; }
.customer-body .remove-item {
  inset-inline-end:10px;
  inset-inline-start:auto;
  top:10px;
  width:28px;
  height:28px;
  border-radius:8px;
  box-shadow:none;
  z-index:2;
}
html[dir="ltr"] .customer-body .remove-item { right:10px; left:auto; }
html[dir="rtl"] .customer-body .remove-item { left:10px; right:auto; }
.customer-body .section-heading.with-action { padding-inline-end:0; }
.customer-body #add-item { min-height:38px; padding-inline:13px; }

/* Summary should read like a compact result, not another large card. */
.customer-body .customer-summary-wrap { margin-top:12px; display:flex; justify-content:flex-end; }
.customer-body .compact-summary {
  width:auto;
  min-width:300px;
  margin:0;
  grid-template-columns:repeat(2,minmax(130px,1fr));
  gap:0;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--ink);
  background:var(--paper);
  overflow:hidden;
}
.customer-body .compact-summary.summary-single { min-width:180px; grid-template-columns:minmax(180px,1fr); }
.customer-body .compact-summary > div {
  min-height:54px;
  padding:9px 14px;
  justify-content:center;
  background:var(--paper);
}
.customer-body .compact-summary > div + div { border-inline-start:1px solid var(--line); }
.customer-body .compact-summary span { color:var(--muted); }
.customer-body .compact-summary strong { color:var(--primary); font-size:16px; }
.customer-body .submit-row { padding:14px 16px; border-radius:13px; box-shadow:var(--calm-card-shadow); }
.customer-body .submit-row .button-large { min-height:46px; }

/* Admin: calm surfaces and stronger information hierarchy. */
.admin-content { padding-top:22px; }
.admin-page-title { margin-bottom:14px; align-items:center; }
.stat-grid { margin-bottom:13px; gap:9px; }
.stat-grid > div { padding:12px 14px; box-shadow:none; }
.stat-grid strong { margin:3px 0 1px; }
.workspace-grid { grid-template-columns:minmax(320px,360px) minmax(0,1fr); gap:12px; }
.requests-panel,.review-panel,.admin-card { box-shadow:none; }
.requests-panel { top:84px; }
.panel-toolbar { padding:9px; grid-template-columns:minmax(0,1fr) 112px; gap:6px; }
.panel-toolbar .button { min-height:34px; }
.request-card {
  padding:11px 12px;
  gap:5px 10px;
  align-items:center;
}
.request-card > div:first-child { gap:2px; }
.request-card > div:last-child { gap:5px; justify-content:center; }
.request-card.active { box-shadow:inset -3px 0 var(--accent); }
.request-card .status-chip { min-height:21px; padding-inline:7px; }
.review-panel { padding:17px; }
.review-head { padding-bottom:12px; gap:14px; align-items:center; }
.review-head h2 { margin:4px 0 3px; }
.quote-serial { min-width:155px; padding:8px 10px; border-style:solid; background:var(--calm-soft-bg); }
.customer-info-grid {
  margin-top:12px;
  gap:0;
  border-radius:10px;
  background:var(--line);
}
.customer-info-grid > div { padding:8px 10px; background:var(--paper); }
.customer-note { margin-top:9px; padding:9px 11px; border-radius:9px; }
.price-table-wrap,.catalog-table-wrap {
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--paper);
}
.price-table th,.catalog-table th { padding:8px 9px; }
.price-table td,.catalog-table td { padding:8px 9px; }
.adjustment-grid { margin-top:11px; gap:7px; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,1.2fr); }
.adjustment-grid > div { padding:8px 11px; border-radius:9px; }
.admin-textarea { margin-top:11px; }
.review-actions,.issued-actions { margin-top:11px; padding-top:11px; gap:7px; }
.admin-card { padding:clamp(15px,var(--card-padding),20px); }
.admin-card > h2 { margin-bottom:12px; }
.settings-grid,.catalog-layout,.reports-grid,.users-grid { gap:12px; }
.card-title-row { gap:14px; }
.type-edit-form { margin-top:12px; padding:11px; border-radius:10px; }

/* Settings/catalog cards: separate groups without making every group look heavy. */
.quote-layout-settings h3 { margin:17px 0 8px; padding-top:12px; border-top:1px solid var(--line); }
.quote-layout-settings h3:first-of-type { border-top:0; padding-top:0; }
.quote-totals-customizer { padding:12px; border-radius:11px; }
.content-text-group,.quote-totals-copy-editor { border-radius:10px; box-shadow:none; }

/* Customer history cards follow the same compact visual language. */
.portal-cards { gap:11px; }
.portal-card { padding:16px; gap:6px; box-shadow:none; }
.portal-card h2 { margin:2px 0; }
.portal-card .portal-actions { padding-top:8px; }

@media screen and (max-width:1100px) {
  .workspace-grid { grid-template-columns:310px minmax(0,1fr); }
  .customer-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-info-grid .wide { grid-column:span 2; }
  .adjustment-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .adjustment-grid > div { grid-column:1 / -1; }
}

@media screen and (max-width:820px) {
  .customer-body .product-grid {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:9px 8px;
  }
  .customer-body .product-grid > .field:nth-child(n) { grid-row:auto; }
  .customer-body .product-grid > .field:nth-child(1) { grid-column:1 / -1; }
  .customer-body .product-grid > .field:nth-child(2) { grid-column:span 3; }
  .customer-body .product-grid > .field:nth-child(3) { grid-column:span 3; }
  .customer-body .product-grid > .field:nth-child(4) { grid-column:1 / -1; }
  .customer-body .product-grid > .field:nth-child(5) { grid-column:span 2; }
  .customer-body .product-grid > .field:nth-child(6) { grid-column:span 2; }
  .customer-body .product-grid > .field:nth-child(7) { grid-column:span 2; }
  .customer-body .product-grid > .field:nth-child(8) { grid-column:1 / -1; }
}

@media screen and (max-width:700px) {
  .customer-body .quote-hero { padding:30px 0 58px; }
  .customer-body .form-wrap { margin-top:-30px; }
  .customer-body .form-card { padding:14px 12px; }
  .customer-body .section-heading { margin-bottom:13px; }
  .customer-body .section-heading.with-action { align-items:center; flex-wrap:wrap; }
  .customer-body .section-heading.with-action > div { min-width:calc(100% - 44px); }
  .customer-body .section-heading.with-action #add-item { width:100%; margin-top:2px; }
  .customer-body .product-item { padding:12px 11px; }
  .customer-body .item-number { padding-inline-end:34px; }
  .customer-body .compact-summary { width:100%; min-width:0; }
  .customer-body .submit-row { padding:12px; align-items:stretch; flex-direction:column; }
  .customer-body .submit-row .button { width:100%; }
  .customer-body .customer-fields-grid { grid-template-columns:1fr; }
  .customer-body .customer-fields-grid .span-full { grid-column:auto; }
  .review-panel,.admin-card { padding:13px 11px; }
  .customer-info-grid { grid-template-columns:1fr; }
  .customer-info-grid .wide { grid-column:auto; }
  .adjustment-grid { grid-template-columns:1fr; }
  .adjustment-grid > div { grid-column:auto; }
}

@media screen and (max-width:430px) {
  .customer-body .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-body .product-grid > .field:nth-child(n) { grid-column:1 / -1; }
  .customer-body .product-grid > .field:nth-child(2),
  .customer-body .product-grid > .field:nth-child(3),
  .customer-body .product-grid > .field:nth-child(5),
  .customer-body .product-grid > .field:nth-child(7) { grid-column:span 1; }
}

/* v1.9.20 — mobile-first stabilization and clearer customer workflow. */
.customer-body .customer-language-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.customer-body .customer-language-bar .portal-entry{margin:0;justify-self:start}
.customer-body .customer-language-bar .language-switcher{justify-self:end}
.customer-body .customer-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.customer-body .customer-fields-grid .span-full{grid-column:1/-1}
.customer-body .customer-details-card,.customer-body .customer-items-card,.customer-body .customer-notes-card{overflow:hidden}
.customer-body .product-item{padding:0;display:block;overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.customer-body .item-card-head{min-height:48px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--surface-alt)}
.customer-body .item-number{min-height:0;margin:0;padding:0;display:flex;align-items:center;gap:8px;border:0}
.customer-body .item-number span{font-size:12px}
.customer-body .item-number strong{min-width:30px;height:28px;border-radius:8px;font-size:13px}
.customer-body .remove-item,html[dir="rtl"] .customer-body .remove-item,html[dir="ltr"] .customer-body .remove-item{position:static;inset:auto;width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--danger) 25%,var(--line));border-radius:9px;color:var(--danger);background:var(--paper);box-shadow:none;font-size:18px}
.customer-body .remove-item[hidden]{display:none}
.customer-body .product-grid{padding:14px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"type type diameter pressure specification specification" "thickness quantity unit notes notes notes";gap:12px 10px;align-items:start}
.customer-body .item-type-field{grid-area:type}.customer-body .item-diameter-field{grid-area:diameter}.customer-body .item-pressure-field{grid-area:pressure}.customer-body .item-specification-field{grid-area:specification}.customer-body .item-thickness-field{grid-area:thickness}.customer-body .item-quantity-field{grid-area:quantity}.customer-body .item-unit-field{grid-area:unit}.customer-body .item-notes-field{grid-area:notes}
.customer-body .product-grid>.field{min-width:0}.customer-body .product-grid>.field:nth-child(n){grid-column:auto;grid-row:auto}.customer-body .product-grid small{min-height:0}.customer-body .product-grid .field.read-only output{width:100%}
.customer-body .customer-summary-wrap{justify-content:stretch}.customer-body .compact-summary{width:100%;min-width:0;max-width:440px;margin-inline-start:auto}.customer-body .submit-row{position:relative}
@media screen and (max-width:1180px){.admin-body .workspace-grid{grid-template-columns:minmax(0,1fr)!important}.admin-body .requests-panel{position:static;top:auto}.admin-body .requests-list{max-height:360px}}
@media screen and (max-width:900px){.customer-body .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"type type" "diameter pressure" "specification specification" "quantity quantity" "thickness unit" "notes notes";gap:11px 9px}}
@media screen and (max-width:700px){
.site-container{width:min(100% - 20px,var(--content-max))}
.customer-body .quote-hero{padding:22px 0 46px}.customer-body .customer-language-bar{min-height:36px;margin-bottom:12px}.customer-body .customer-language-bar .portal-entry{min-height:34px;padding-inline:10px;font-size:12px}.customer-body .language-switcher{padding:3px;border-radius:10px}.customer-body .language-switcher a{min-width:64px;min-height:29px;padding-inline:8px;font-size:11px}.customer-body .quote-hero h1{margin:8px 0 10px;font-size:clamp(26px,8vw,34px);gap:3px}.customer-body .quote-hero p{font-size:13px;line-height:1.65}.customer-body .form-wrap{margin-top:-24px;padding-bottom:34px}.customer-body .request-form{gap:10px}.customer-body .form-card{padding:14px 12px;border-radius:13px}.customer-body .section-heading{margin-bottom:12px;align-items:flex-start}.customer-body .section-heading>span{width:30px;height:30px;flex-basis:30px}.customer-body .section-heading h2{font-size:17px}.customer-body .section-heading p{font-size:12px}.customer-body .section-heading.with-action{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px}.customer-body .section-heading.with-action>div{min-width:0;padding:0!important}.customer-body .section-heading.with-action #add-item{grid-column:1/-1;width:100%;min-height:40px;margin:0}.customer-body .customer-fields-grid{grid-template-columns:minmax(0,1fr);gap:10px}.customer-body .customer-fields-grid .span-full{grid-column:auto}.customer-body .product-item{border-radius:12px}.customer-body .item-card-head{min-height:46px;padding:8px 10px}.customer-body .product-grid{padding:12px 10px}.customer-body .field{gap:5px}.customer-body .field>span{font-size:13px}.customer-body .product-grid small{font-size:11px;line-height:1.4}.customer-body .compact-summary{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-body .compact-summary>div{min-height:50px;padding:8px 10px}.customer-body .compact-summary strong{font-size:15px}.customer-body .submit-row{gap:10px}.customer-body .submit-row>div{gap:3px}.customer-body .submit-row>div strong{font-size:14px}.customer-body .submit-row .button{min-height:48px}
.admin-body .panel-toolbar{grid-template-columns:minmax(0,1fr)!important}.admin-body .panel-toolbar .button{grid-column:auto;width:100%}.admin-body .requests-list{max-height:42vh}.admin-body .request-card{padding:11px 10px;gap:6px 8px}.admin-body .review-panel,.admin-body .admin-card{min-width:0;overflow:hidden}.admin-body .review-head{align-items:stretch}.admin-body .quote-serial{min-width:0;width:100%}.admin-body .review-actions,.admin-body .issued-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-body .review-actions>*,.admin-body .issued-actions>*{min-width:0;width:100%}.admin-body .issued-actions>div:first-child{min-width:0;grid-column:1/-1}.admin-body .issued-actions form{display:block}.admin-body .issued-actions form .button,.admin-body .issued-actions .share-button{width:100%}
}
@media screen and (max-width:480px){.customer-body .customer-language-bar{grid-template-columns:minmax(0,1fr) auto;gap:7px}.customer-body .customer-language-bar .portal-entry{padding-inline:8px;font-size:11px}.customer-body .language-switcher a{min-width:56px;padding-inline:6px;font-size:10px}.customer-body .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"type type" "diameter pressure" "specification specification" "quantity quantity" "thickness unit" "notes notes"}.customer-body .compact-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-body .compact-summary.summary-single{grid-template-columns:minmax(0,1fr)}.admin-body .review-actions,.admin-body .issued-actions{grid-template-columns:minmax(0,1fr)}.admin-body .issued-actions>div:first-child{grid-column:auto}}
@media screen and (max-width:360px){.customer-body .customer-language-bar{grid-template-columns:minmax(0,1fr)}.customer-body .customer-language-bar .portal-entry,.customer-body .customer-language-bar .language-switcher{width:100%;justify-self:stretch}.customer-body .language-switcher a{flex:1}.customer-body .product-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"type" "diameter" "pressure" "specification" "quantity" "thickness" "unit" "notes"}}

/* v1.9.20 semantic item placement must win over legacy nth-child rules. */
.customer-body .product-grid>.field.item-type-field{grid-area:type}
.customer-body .product-grid>.field.item-diameter-field{grid-area:diameter}
.customer-body .product-grid>.field.item-pressure-field{grid-area:pressure}
.customer-body .product-grid>.field.item-specification-field{grid-area:specification}
.customer-body .product-grid>.field.item-thickness-field{grid-area:thickness}
.customer-body .product-grid>.field.item-quantity-field{grid-area:quantity}
.customer-body .product-grid>.field.item-unit-field{grid-area:unit}
.customer-body .product-grid>.field.item-notes-field{grid-area:notes}
@media screen and (max-width:700px){
  .customer-body .section-heading.with-action{position:relative;grid-template-areas:"step content" "action action"}
  .customer-body .section-heading.with-action>span{position:static;grid-area:step}
  .customer-body .section-heading.with-action>div{grid-area:content;width:auto;min-width:0}
  .customer-body .section-heading.with-action #add-item{grid-area:action}
}

/* v1.9.21 — calmer administration for Appearance, Users, Company Settings and Reports. */
.admin-content.tab-appearance,
.admin-content.tab-users,
.admin-content.tab-settings,
.admin-content.tab-reports{--section-gap:12px}
.admin-content.tab-appearance .admin-page-title,
.admin-content.tab-users .admin-page-title,
.admin-content.tab-settings .admin-page-title,
.admin-content.tab-reports .admin-page-title{margin-bottom:14px}
.admin-content.tab-appearance .admin-page-title h1,
.admin-content.tab-users .admin-page-title h1,
.admin-content.tab-settings .admin-page-title h1,
.admin-content.tab-reports .admin-page-title h1{font-size:clamp(22px,2.1vw,30px)}
.admin-content.tab-appearance .admin-page-title p,
.admin-content.tab-users .admin-page-title p,
.admin-content.tab-settings .admin-page-title p,
.admin-content.tab-reports .admin-page-title p{max-width:720px;font-size:10px;line-height:1.65}

/* Appearance: presets become compact choices; advanced groups stay folded until needed. */
.tab-appearance .appearance-form{gap:12px}
.tab-appearance .appearance-presets-card{padding:13px 14px}
.tab-appearance .appearance-presets-card .card-title-row{align-items:center}
.tab-appearance .appearance-presets{margin-top:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tab-appearance .appearance-presets button{min-height:58px;padding:8px 10px;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;place-items:initial;align-items:center;text-align:start;column-gap:9px;row-gap:1px;border-radius:11px}
.tab-appearance .appearance-presets button>span{grid-row:1/3;align-self:center}
.tab-appearance .appearance-presets button i{width:19px;height:19px}
.tab-appearance .appearance-presets button strong{font-size:11px;align-self:end}
.tab-appearance .appearance-presets button small{font-size:8px;align-self:start}
.tab-appearance .appearance-designer-grid{grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:12px}
.tab-appearance .appearance-editor-stack{gap:9px}
.tab-appearance details.appearance-group{border-radius:12px}
.tab-appearance .appearance-group summary{min-height:58px;padding:11px 13px}
.tab-appearance .appearance-group summary strong{font-size:12px}
.tab-appearance .appearance-group summary small{font-size:8px;line-height:1.45}
.tab-appearance .appearance-group summary>i{width:27px;height:27px}
.tab-appearance .appearance-fields-grid{padding:2px 13px 13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tab-appearance .appearance-preview-card{top:calc(var(--topbar-height) + 10px);padding:13px}
.tab-appearance .appearance-preview-window{height:470px;margin-top:10px}
.tab-appearance .appearance-preview-note{margin-top:8px}
.tab-appearance .appearance-save-bar{margin-top:0}

/* Shared collapsible settings. */
.settings-collapsible{padding:0!important;overflow:hidden}
.settings-collapsible>summary,
.report-collapsible>summary,
.permission-group-card>summary{list-style:none;cursor:pointer;user-select:none}
.settings-collapsible>summary::-webkit-details-marker,
.report-collapsible>summary::-webkit-details-marker,
.permission-group-card>summary::-webkit-details-marker{display:none}
.settings-collapsible>summary{min-height:64px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.settings-collapsible>summary>span{display:grid;gap:4px}
.settings-collapsible>summary strong{font-size:13px;color:var(--ink)}
.settings-collapsible>summary small{font-size:8px;color:var(--muted);line-height:1.55}
.settings-collapsible>summary>i,.report-collapsible>summary>i,.permission-group-card>summary>i{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:var(--primary);background:var(--accent-pale);font-style:normal;transition:transform .18s ease}
.settings-collapsible[open]>summary>i,.report-collapsible[open]>summary>i,.permission-group-card[open]>summary>i{transform:rotate(180deg)}
.settings-collapsible[open]>summary{border-bottom:1px solid var(--line)}
.settings-details-body{padding:13px 14px 15px}
.settings-details-actions{margin-bottom:10px;display:flex;justify-content:flex-end}

/* Company settings: one clear hierarchy instead of multiple competing cards. */
.tab-settings .settings-grid{grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:12px}
.tab-settings .company-profile-card{padding:14px}
.tab-settings .company-profile-card>.card-title-row{margin-bottom:4px}
.tab-settings .settings-subgroup{padding:11px 0;border-top:1px solid var(--line)}
.tab-settings .settings-subgroup:first-of-type{padding-top:7px;border-top:0}
.tab-settings .settings-subgroup h3{margin:0 0 8px;color:var(--primary);font-size:10px}
.tab-settings .settings-form{gap:9px 10px}
.tab-settings .settings-form label>span,.tab-settings .settings-textareas label>span{font-size:9px}
.tab-settings .settings-subgroup-mail .settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.tab-settings .logo-preview{min-height:105px;max-height:150px;padding:12px}
.tab-settings .logo-preview img{max-height:105px}
.tab-settings .logo-upload{gap:8px}
.tab-settings .notes-settings{grid-column:1/-1}
.tab-settings .quote-layout-settings{grid-column:1/2}
.tab-settings .layout-preview-card{grid-column:2/3;position:sticky;top:calc(var(--topbar-height) + 10px)}
.tab-settings .quote-layout-settings h3{margin:15px 0 8px;padding-top:11px;font-size:10px}
.tab-settings .layout-controls-grid{gap:8px}
.tab-settings .layout-preset-bar{gap:6px}
.tab-settings .layout-preset-bar button{min-height:34px;padding-inline:9px}
.tab-settings .layout-template-choice{padding:10px}
.tab-settings .layout-preview-card{padding:13px}
.tab-settings .layout-preview-heading h2{font-size:13px}
.tab-settings .settings-save-bar{grid-column:1/-1;margin-top:0}

/* Users: basic profile first, permissions folded by category, accounts scan like a list. */
.tab-users .users-grid{grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);gap:12px}
.tab-users .user-editor-card,.tab-users .users-current-card{padding:14px}
.tab-users .user-form{gap:11px}
.tab-users .user-form>.form-grid{gap:9px 10px}
.tab-users .permission-template{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-alt)}
.tab-users .permission-template>span{font-size:9px;font-weight:800;color:var(--ink)}
.tab-users .permissions-box{padding:9px;border-radius:11px;background:transparent}
.tab-users .full-access{margin-bottom:7px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--accent-pale)}
.tab-users .permission-groups{display:grid;gap:7px}
.tab-users .permission-group-card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.tab-users .permission-group-card>summary{min-height:45px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.tab-users .permission-group-card>summary>span{display:grid;gap:1px}
.tab-users .permission-group-card>summary strong{font-size:10px;color:var(--ink)}
.tab-users .permission-group-card>summary small{font-size:7px;color:var(--muted)}
.tab-users .permission-group-card>summary>i{width:24px;height:24px}
.tab-users .permission-group-body{padding:0 9px 9px;border-top:1px solid var(--line)}
.tab-users .permission-group-actions{padding:7px 0 5px;display:flex;justify-content:flex-end}
.tab-users .permission-group-actions button{min-height:28px;padding:0 8px;border:1px solid var(--line);border-radius:8px;color:var(--primary);background:var(--surface-alt);cursor:pointer;font-size:8px}
.tab-users .permission-grid{gap:6px}
.tab-users .permission-grid .check-field{min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt)}
.tab-users .active-user{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt)}
.tab-users .users-list{gap:7px}
.tab-users .user-account-card{padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--paper);display:grid;gap:8px}
.tab-users .user-account-main{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0}
.tab-users .user-account-copy{min-width:0;display:grid;gap:2px}
.tab-users .user-account-copy strong,.tab-users .user-account-copy span,.tab-users .user-account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab-users .user-account-copy strong{font-size:11px}
.tab-users .user-account-copy span{color:var(--muted);font-size:8px}
.tab-users .user-account-copy small{color:var(--muted);font-size:8px;direction:ltr;text-align:right}
.tab-users .user-state-chip{padding:5px 7px;border-radius:99px;font-size:8px;font-weight:800;white-space:nowrap}
.tab-users .user-state-active .user-state-chip{color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--paper))}
.tab-users .user-state-expired .user-state-chip{color:var(--warning);background:color-mix(in srgb,var(--warning) 13%,var(--paper))}
.tab-users .user-state-disabled .user-state-chip{color:var(--danger);background:color-mix(in srgb,var(--danger) 11%,var(--paper))}
.tab-users .user-account-meta{display:flex;flex-wrap:wrap;gap:5px 12px;padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:8px}
.tab-users .user-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.tab-users .user-account-actions form{margin:0}
.tab-users .user-account-actions .table-save{min-height:30px;display:inline-flex;align-items:center}

/* Reports: filters/actions compact, KPI cards calmer, activity folded. */
.tab-reports .reports-title{align-items:flex-end}
.tab-reports .report-filter{padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--paper);gap:7px}
.tab-reports .report-filter label{font-size:8px}
.tab-reports .report-filter input{min-height:35px;background:var(--input-bg);border-color:var(--input-border)}
.tab-reports .report-filter .button{min-height:35px}
.tab-reports .report-stat-grid{margin-bottom:12px;gap:8px}
.tab-reports .report-stat-grid article{padding:11px 12px;border-radius:11px;box-shadow:none}
.tab-reports .report-stat-grid strong{margin:4px 0 2px;font-size:clamp(17px,1.8vw,22px)}
.tab-reports .report-stat-grid small{font-size:7px}
.tab-reports .report-export-card{margin-bottom:12px;padding:12px 14px;border-style:dashed;box-shadow:none}
.tab-reports .report-export-actions{gap:7px}
.tab-reports .report-export-actions .button{min-height:36px}
.tab-reports .reports-grid{margin-bottom:12px;gap:12px}
.tab-reports .reports-grid>.admin-card{padding:13px}
.tab-reports .report-list>a{padding:9px 3px}
.tab-reports .report-list{max-height:470px;overflow:auto}
.tab-reports .report-table-wrap{max-height:470px;overflow:auto}
.tab-reports .report-collapsible{padding:0;overflow:hidden}
.tab-reports .report-collapsible>summary{min-height:58px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tab-reports .report-collapsible>summary>span{display:grid;gap:3px}
.tab-reports .report-collapsible>summary strong{font-size:12px;color:var(--ink)}
.tab-reports .report-collapsible>summary small{font-size:8px;color:var(--muted)}
.tab-reports .report-collapsible-body{padding:0 12px 12px}

@media screen and (max-width:1050px){
  .tab-appearance .appearance-designer-grid{grid-template-columns:minmax(0,1fr)}
  .tab-appearance .appearance-preview-card{position:static}
  .tab-settings .settings-grid,.tab-users .users-grid{grid-template-columns:minmax(0,1fr)}
  .tab-settings .quote-layout-settings,.tab-settings .layout-preview-card,.tab-settings .notes-settings{grid-column:auto}
  .tab-settings .layout-preview-card{position:static}
}
@media screen and (max-width:700px){
  .tab-appearance .appearance-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tab-appearance .appearance-presets button{min-height:54px;padding:7px 8px}
  .tab-appearance .appearance-fields-grid{grid-template-columns:minmax(0,1fr)}
  .tab-appearance .appearance-preview-window{height:420px}
  .tab-settings .company-profile-card,.tab-settings .layout-preview-card,.tab-users .user-editor-card,.tab-users .users-current-card{padding:11px}
  .tab-settings .settings-subgroup-mail .settings-form{grid-template-columns:minmax(0,1fr)}
  .settings-collapsible>summary{min-height:58px;padding:10px 11px}
  .settings-details-body{padding:10px 11px 12px}
  .tab-users .permission-template{grid-template-columns:minmax(0,1fr);gap:6px}
  .tab-users .user-account-main{grid-template-columns:38px minmax(0,1fr)}
  .tab-users .user-state-chip{grid-column:2;justify-self:start}
  .tab-users .user-account-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:3px}
  .tab-reports .reports-title{align-items:stretch}
  .tab-reports .report-filter{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .tab-reports .report-filter .button{grid-column:1/-1}
  .tab-reports .report-export-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .tab-reports .report-export-actions .button{width:100%}
}
@media screen and (max-width:430px){
  .tab-appearance .appearance-presets{grid-template-columns:minmax(0,1fr)}
  .tab-appearance .appearance-presets button{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto;min-height:46px}
  .tab-appearance .appearance-presets button>span{grid-row:auto}
  .tab-appearance .appearance-presets button small{display:none}
  .tab-appearance .appearance-preview-window{height:390px}
  .tab-reports .report-filter{grid-template-columns:minmax(0,1fr)}
  .tab-reports .report-filter .button{grid-column:auto}
  .tab-reports .report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tab-reports .report-stat-grid article{padding:10px 8px}
}

/* v1.9.22 — Requests & quotations: calmer master/detail workflow. */
body:not(.mas-design) .tab-requests .admin-page-title{margin-bottom:10px}
body:not(.mas-design) .tab-requests .admin-page-title p{max-width:620px}
body:not(.mas-design) .tab-requests .push-onboarding{margin-bottom:10px}
body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:12px;align-items:start}
body:not(.mas-design) .tab-requests .requests-panel{border-radius:14px;overflow:hidden;background:var(--paper)}
.requests-panel-head{min-height:54px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--surface-alt)}
.requests-panel-head>div{min-width:0;display:grid;gap:2px}
.requests-panel-head strong{font-size:13px;color:var(--ink)}
.requests-panel-head span:not(.requests-count){font-size:9px;color:var(--muted)}
.requests-count{min-width:30px;height:30px;padding-inline:8px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--primary);background:var(--paper);font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}
body:not(.mas-design) .tab-requests .panel-toolbar.requests-toolbar{padding:9px;display:grid;grid-template-columns:minmax(0,1fr) 112px auto;gap:6px;border-bottom:1px solid var(--line);background:var(--paper)}
.requests-toolbar label{min-width:0;display:block}
.requests-toolbar .requests-search input,.requests-toolbar .requests-status select{width:100%;min-height:38px}
.requests-toolbar .requests-search-button{width:auto;min-width:58px;grid-column:auto;padding-inline:10px}
.requests-clear{grid-column:1/-1;justify-self:start;padding:2px 3px;color:var(--muted);font-size:8px;font-weight:800}
.requests-clear:hover{color:var(--primary)}
body:not(.mas-design) .tab-requests .requests-list{padding:5px;display:grid;gap:4px;max-height:calc(100vh - 285px);background:var(--surface-alt)}
body:not(.mas-design) .tab-requests .request-card{padding:10px 10px 9px;display:grid;grid-template-columns:minmax(0,1fr);gap:5px;border:1px solid transparent;border-radius:10px;background:var(--paper);box-shadow:none;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}
body:not(.mas-design) .tab-requests .request-card:hover{border-color:var(--line);background:var(--paper);transform:translateY(-1px)}
body:not(.mas-design) .tab-requests .request-card.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-pale);box-shadow:none}
.request-card-top{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
body:not(.mas-design) .tab-requests .request-card-top strong{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:11px;line-height:1.5}
body:not(.mas-design) .tab-requests .request-card .status-chip{flex:0 0 auto;min-height:20px;padding:3px 7px;font-size:7px}
body:not(.mas-design) .tab-requests .request-card-customer{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8.5px;line-height:1.55}
.request-card-meta{min-width:0;display:flex;align-items:center;gap:7px;color:var(--muted)}
body:not(.mas-design) .tab-requests .request-card-meta small,body:not(.mas-design) .tab-requests .request-card-meta time{display:block;min-width:0;color:var(--muted);font-size:7px;font-weight:700;line-height:1.4;white-space:nowrap}
body:not(.mas-design) .tab-requests .request-card-meta small:first-child{direction:ltr;text-align:right}
body:not(.mas-design) .tab-requests .request-card-meta .request-card-quote{padding-inline-start:7px;border-inline-start:1px solid var(--line);color:var(--primary)}
body:not(.mas-design) .tab-requests .request-card-meta time{margin-inline-start:auto}
body:not(.mas-design) .tab-requests .admin-request-pagination{margin:0;padding:8px;border-top:1px solid var(--line);background:var(--paper)}
body:not(.mas-design) .tab-requests .admin-request-pagination .button{min-height:32px;padding-inline:10px;font-size:8px}
body:not(.mas-design) .tab-requests .admin-request-pagination span{font-size:8px;color:var(--muted)}

body:not(.mas-design) .tab-requests .review-panel{padding:0;border-radius:14px;overflow:hidden;background:var(--paper)}
body:not(.mas-design) .tab-requests .review-head{min-height:78px;margin:0;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);background:var(--paper)}
.review-title-block{min-width:0}
.review-kicker{display:flex;align-items:center;gap:8px;min-width:0}
.review-kicker>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px;direction:ltr}
body:not(.mas-design) .tab-requests .review-head h2{margin:5px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.35}
body:not(.mas-design) .tab-requests .review-head p{font-size:8.5px;line-height:1.5}
.review-head-side{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.request-list-back{display:none}
body:not(.mas-design) .tab-requests .quote-serial{min-width:150px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-alt)}
body:not(.mas-design) .tab-requests .quote-serial span{font-size:7px}
body:not(.mas-design) .tab-requests .quote-serial strong{margin-top:2px;font-size:11px}
body:not(.mas-design) .tab-requests .review-panel>.restricted-note,body:not(.mas-design) .tab-requests .review-panel>.notice,body:not(.mas-design) .tab-requests .review-panel>details,body:not(.mas-design) .tab-requests .review-panel>p,body:not(.mas-design) .tab-requests .review-panel>form:not(.quote-review-form),body:not(.mas-design) .tab-requests .review-panel>.issued-actions{margin-inline:15px}
body:not(.mas-design) .tab-requests .review-panel>.restricted-note,body:not(.mas-design) .tab-requests .review-panel>.notice{margin-top:10px}
.request-section-heading{margin:0 15px;padding:15px 0 8px;display:flex;align-items:end;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}
.request-section-heading>div{min-width:0;display:flex;align-items:baseline;gap:8px}
.request-section-heading h3{margin:0;color:var(--ink);font-size:12px;line-height:1.45}
.request-section-heading span{color:var(--muted);font-size:8px}
body:not(.mas-design) .tab-requests .customer-info-grid{margin:9px 15px 0;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:9px}
body:not(.mas-design) .tab-requests .customer-info-grid>div{padding:8px 9px}
body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:7.5px}
body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:9px}
body:not(.mas-design) .tab-requests .customer-note{margin:8px 15px 0;padding:9px 10px;border-radius:9px}
body:not(.mas-design) .tab-requests .customer-note span{font-size:7.5px}
body:not(.mas-design) .tab-requests .customer-note p{margin-top:3px;font-size:9px;line-height:1.6}
body:not(.mas-design) .tab-requests .quote-review-form{padding:0 15px 15px}
body:not(.mas-design) .tab-requests .quote-review-form .request-section-heading{margin-inline:0}
.request-finance-heading{margin-top:4px!important}
body:not(.mas-design) .tab-requests .request-adjustments{margin-top:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
body:not(.mas-design) .tab-requests .request-adjustments>label{padding:0;gap:4px}
body:not(.mas-design) .tab-requests .request-adjustments>label span{font-size:7.5px}
body:not(.mas-design) .tab-requests .request-adjustments input{min-height:36px;padding-inline:8px;border-radius:8px}
body:not(.mas-design) .tab-requests .request-adjustments>.request-grand-total{grid-column:1/-1;min-height:64px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;border-radius:9px;background:var(--primary)}
body:not(.mas-design) .tab-requests .request-grand-total span{grid-column:1;font-size:8px}
body:not(.mas-design) .tab-requests .request-grand-total strong{grid-column:2;grid-row:1 / span 2;font-size:18px;white-space:nowrap}
body:not(.mas-design) .tab-requests .request-grand-total small{grid-column:1;min-width:0;overflow-wrap:anywhere;font-size:7px;line-height:1.45}
body:not(.mas-design) .tab-requests .request-sales-notes{margin-top:9px}
body:not(.mas-design) .tab-requests .request-sales-notes textarea{min-height:76px}
body:not(.mas-design) .tab-requests .request-primary-actions{margin-top:10px;padding:10px 0 0;justify-content:flex-end}
body:not(.mas-design) .tab-requests .request-primary-actions .button{min-width:130px}
body:not(.mas-design) .tab-requests .issued-actions{margin-top:12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body:not(.mas-design) .tab-requests .issued-actions>div:first-child strong{font-size:10px}
body:not(.mas-design) .tab-requests .issued-actions>div:first-child span{font-size:7px}
body:not(.mas-design) .tab-requests .unissue-row,body:not(.mas-design) .tab-requests .danger-row{margin-top:9px;padding:10px 0;display:flex;align-items:center;gap:10px;border-top:0}
body:not(.mas-design) .tab-requests .unissue-row small{color:var(--muted);font-size:8px;line-height:1.5}
body:not(.mas-design) .tab-requests .danger-row{justify-content:flex-end}
body:not(.mas-design) .tab-requests .permanent-delete-row{margin-top:2px;padding-top:6px}

@media screen and (max-width:1180px){
  body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px}
  body:not(.mas-design) .tab-requests .requests-panel{position:static;top:auto}
  body:not(.mas-design) .tab-requests .requests-list{max-height:340px}
  .request-list-back{display:inline-flex;min-height:34px;padding-inline:10px;font-size:8px}
  body:not(.mas-design) .tab-requests #request-review{scroll-margin-top:72px}
  body:not(.mas-design) .tab-requests #request-list{scroll-margin-top:72px}
}

@media screen and (max-width:760px){
  body:not(.mas-design) .tab-requests .admin-page-title{margin-bottom:8px}
  body:not(.mas-design) .tab-requests .admin-page-title p{display:none}
  body:not(.mas-design) .tab-requests .push-onboarding{margin-bottom:8px}
  .requests-panel-head{min-height:50px;padding:9px 10px}
  body:not(.mas-design) .tab-requests .panel-toolbar.requests-toolbar{grid-template-columns:minmax(0,1fr) 118px;gap:6px;padding:8px}
  .requests-toolbar .requests-search-button{grid-column:1/-1;width:100%;min-height:40px}
  .requests-clear{font-size:10px}
  body:not(.mas-design) .tab-requests .requests-list{max-height:42dvh;padding:4px}
  body:not(.mas-design) .tab-requests .request-card{padding:10px;gap:5px}
  body:not(.mas-design) .tab-requests .request-card-top strong{font-size:13px}
  body:not(.mas-design) .tab-requests .request-card-customer{font-size:11px}
  body:not(.mas-design) .tab-requests .request-card-meta small,body:not(.mas-design) .tab-requests .request-card-meta time{font-size:9px}
  body:not(.mas-design) .tab-requests .request-card .status-chip{font-size:9px}
  body:not(.mas-design) .tab-requests .review-head{min-height:0;padding:12px;align-items:stretch;flex-direction:column}
  .review-head-side{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch}
  .request-list-back{width:auto;align-self:stretch}
  body:not(.mas-design) .tab-requests .quote-serial{width:100%;min-width:0}
  body:not(.mas-design) .tab-requests .review-head h2{font-size:19px;white-space:normal;overflow:visible}
  body:not(.mas-design) .tab-requests .review-head p{font-size:11px}
  .review-kicker>span:last-child{font-size:10px}
  body:not(.mas-design) .tab-requests .review-panel>.restricted-note,body:not(.mas-design) .tab-requests .review-panel>.notice,body:not(.mas-design) .tab-requests .review-panel>details,body:not(.mas-design) .tab-requests .review-panel>p,body:not(.mas-design) .tab-requests .review-panel>form:not(.quote-review-form),body:not(.mas-design) .tab-requests .review-panel>.issued-actions{margin-inline:11px}
  .request-section-heading{margin-inline:11px;padding:13px 0 7px}
  .request-section-heading h3{font-size:14px}
  .request-section-heading span{font-size:10px}
  body:not(.mas-design) .tab-requests .customer-info-grid{margin:8px 11px 0;grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.mas-design) .tab-requests .customer-info-grid .wide{grid-column:1/-1}
  body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:10px}
  body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:12px}
  body:not(.mas-design) .tab-requests .customer-note{margin-inline:11px}
  body:not(.mas-design) .tab-requests .customer-note span{font-size:10px}
  body:not(.mas-design) .tab-requests .customer-note p{font-size:12px}
  body:not(.mas-design) .tab-requests .quote-review-form{padding:0 11px 12px}
  body:not(.mas-design) .tab-requests .request-adjustments{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body:not(.mas-design) .tab-requests .request-adjustments>label span{font-size:10px}
  body:not(.mas-design) .tab-requests .request-adjustments>.request-grand-total{grid-column:1/-1}
  body:not(.mas-design) .tab-requests .request-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body:not(.mas-design) .tab-requests .request-primary-actions .button{width:100%;min-width:0}
  body:not(.mas-design) .tab-requests .issued-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body:not(.mas-design) .tab-requests .issued-actions>div:first-child{grid-column:1/-1}
  body:not(.mas-design) .tab-requests .issued-actions .button,body:not(.mas-design) .tab-requests .issued-actions .share-button{width:100%}
  body:not(.mas-design) .tab-requests .unissue-row{align-items:stretch;flex-direction:column}
  body:not(.mas-design) .tab-requests .unissue-row .button{width:100%}
}

@media screen and (max-width:480px){
  body:not(.mas-design) .tab-requests .panel-toolbar.requests-toolbar{grid-template-columns:minmax(0,1fr)}
  .requests-toolbar .requests-status,.requests-toolbar .requests-search-button{grid-column:auto}
  body:not(.mas-design) .tab-requests .requests-list{max-height:38dvh}
  body:not(.mas-design) .tab-requests .request-card-meta{gap:5px;flex-wrap:wrap}
  body:not(.mas-design) .tab-requests .request-card-meta time{margin-inline-start:0;width:100%}
  .review-head-side{grid-template-columns:minmax(0,1fr)}
  .request-list-back{width:100%}
  body:not(.mas-design) .tab-requests .customer-info-grid{grid-template-columns:minmax(0,1fr)}
  body:not(.mas-design) .tab-requests .customer-info-grid .wide{grid-column:auto}
  body:not(.mas-design) .tab-requests .request-adjustments{grid-template-columns:minmax(0,1fr)}
  body:not(.mas-design) .tab-requests .request-adjustments>.request-grand-total{grid-column:auto;grid-template-columns:minmax(0,1fr);gap:3px}
  body:not(.mas-design) .tab-requests .request-grand-total strong{grid-column:1;grid-row:auto;font-size:17px}
  body:not(.mas-design) .tab-requests .request-grand-total small{grid-column:1}
  body:not(.mas-design) .tab-requests .request-primary-actions,body:not(.mas-design) .tab-requests .issued-actions{grid-template-columns:minmax(0,1fr)}
  body:not(.mas-design) .tab-requests .issued-actions>div:first-child{grid-column:auto}
}
body:not(.mas-design) .tab-requests .request-card>.request-card-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between}
body:not(.mas-design) .tab-requests .request-card>.request-card-meta{display:flex;flex-direction:row;align-items:center;justify-content:flex-start}

/* v1.9.23 — default specification is internal only; show specification UI only for real alternatives. */
.item-specification-field[hidden], .request-specification-field[hidden]{display:none!important}

/* v1.9.28 — clean formal UI reset. One deliberate layer replaces the stacked 1.9.24–1.9.27 overrides. */
:root{
  --ui-font:Arial,sans-serif;
  --ui-text:#111827;
  --ui-muted:#4b5563;
  --ui-border:#d7dde0;
  --ui-soft:#f7f8f8;
  --ui-card:#ffffff;
  --ui-radius:10px;
  --ui-control:36px;
}
html,body,button,input,select,textarea,output,table{font-family:Arial,sans-serif!important}
body{font-size:14px;line-height:1.5;font-weight:400;color:var(--ui-text)}
body :is(p,span,small,em,td,label,input,select,textarea,output){font-weight:400}
body :is(h1,h2,h3,h4){font-family:Arial,sans-serif!important;font-weight:700;line-height:1.3;color:var(--ui-text)}
body :is(strong,b){font-weight:600}
body :is(.button,.share-button,button,.nav-parent,.nav-child,summary){font-weight:600}
body :is(label>span,.field>span,.table-field>span,.admin-textarea>span){font-weight:500;color:#374151}
body :is(.muted,.helper-text,.layout-help,small,.request-section-heading span,.card-title-row p){color:var(--ui-muted)}

/* Compact controls and cards — smaller boxes without shrinking readability. */
.admin-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,textarea),
.customer-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,textarea){
  min-height:var(--ui-control);height:auto;padding:6px 9px;border-radius:8px;font-size:13px;line-height:1.35;font-weight:400;color:var(--ui-text)
}
.admin-body textarea,.customer-body textarea{min-height:72px;resize:vertical}
.admin-body :is(.button,.share-button),.customer-body :is(.button,.share-button){min-height:36px;padding:6px 11px;border-radius:8px;font-size:12.5px;line-height:1.3}
.admin-body :is(.form-card,.admin-card,.review-panel,.portal-card,.catalog-editor-section,.catalog-tool-panel,.report-export-card,.appearance-group-card),
.customer-body :is(.form-card,.product-item,.portal-card){padding:12px;border-radius:var(--ui-radius);box-shadow:0 2px 7px rgba(17,24,39,.035)}
.admin-page-title h1{font-size:22px;margin-bottom:3px}.admin-page-title p{font-size:12px;color:var(--ui-muted)}
.card-title-row h2,.section-heading h2{font-size:16px}.request-section-heading h3{font-size:14px}
:is(.price-table,.catalog-table,.report-table,.activity-table,.portal-items) th{font-size:11.5px;font-weight:600;color:#1f2937}
:is(.price-table,.catalog-table,.report-table,.activity-table,.portal-items) td{font-size:12.5px;font-weight:400;color:var(--ui-text)}

/* Requests & quotes — compact item/pricing layout. */
body:not(.mas-design) .tab-requests .request-items-heading{margin-top:12px;margin-bottom:6px}
body:not(.mas-design) .tab-requests .price-table-wrap{width:100%;max-width:100%;overflow:visible;padding:0;border-radius:9px}
body:not(.mas-design) .tab-requests .request-items-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--ui-border);border-radius:9px;overflow:hidden}
body:not(.mas-design) .tab-requests .request-items-table th,body:not(.mas-design) .tab-requests .request-items-table td{padding:5px 6px;border:0;border-bottom:1px solid #e4e8ea;border-inline-start:1px solid #e4e8ea;vertical-align:middle;color:#111827;background:#fff}
body:not(.mas-design) .tab-requests .request-items-table th:first-child,body:not(.mas-design) .tab-requests .request-items-table td:first-child{border-inline-start:0}
body:not(.mas-design) .tab-requests .request-items-table tbody tr:last-child td{border-bottom:0}
body:not(.mas-design) .tab-requests .request-items-table tbody tr:nth-child(even) td{background:#fbfcfc}
body:not(.mas-design) .tab-requests .request-items-table th{height:34px;background:#f2f4f5;text-align:center;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap}
body:not(.mas-design) .tab-requests .request-items-table td{font-size:12.25px;font-weight:400;line-height:1.3}
body:not(.mas-design) .tab-requests .request-items-table th:nth-child(1),body:not(.mas-design) .tab-requests .request-items-table td:nth-child(1){width:34%}
body:not(.mas-design) .tab-requests .request-items-table th:nth-child(2),body:not(.mas-design) .tab-requests .request-items-table td:nth-child(2),
body:not(.mas-design) .tab-requests .request-items-table th:nth-child(3),body:not(.mas-design) .tab-requests .request-items-table td:nth-child(3),
body:not(.mas-design) .tab-requests .request-items-table th:nth-child(4),body:not(.mas-design) .tab-requests .request-items-table td:nth-child(4){width:8.5%;text-align:center}
body:not(.mas-design) .tab-requests .request-items-table th:nth-child(5),body:not(.mas-design) .tab-requests .request-items-table td:nth-child(5){width:10%;text-align:center}
body:not(.mas-design) .tab-requests .request-items-table th:nth-child(6),body:not(.mas-design) .tab-requests .request-items-table td:nth-child(6){width:14%}
body:not(.mas-design) .tab-requests .request-items-table th:nth-child(7),body:not(.mas-design) .tab-requests .request-items-table td:nth-child(7){width:16.5%;text-align:center}
body:not(.mas-design) .tab-requests .request-spec-cell{white-space:normal;overflow-wrap:anywhere}
body:not(.mas-design) .tab-requests .request-spec-cell>strong,body:not(.mas-design) .tab-requests .request-locked-type-name{display:block;margin:0;font-size:12.75px;line-height:1.3;font-weight:600;color:#111827}
body:not(.mas-design) .tab-requests .request-spec-cell>[data-request-code],body:not(.mas-design) .tab-requests .request-spec-cell>span,body:not(.mas-design) .tab-requests .request-spec-cell>small{display:block;margin-top:2px;font-size:10.5px;line-height:1.25;font-weight:400;color:#647078}
body:not(.mas-design) .tab-requests .request-type-field.is-locked select{display:none}
body:not(.mas-design) .tab-requests .request-spec-cell .table-field{display:block;width:100%;margin:0}
body:not(.mas-design) .tab-requests .request-spec-cell .request-specification-field{margin-top:4px}
body:not(.mas-design) .tab-requests .request-specification-field[hidden]{display:none!important}
body:not(.mas-design) .tab-requests .request-specification-field>span{margin-bottom:2px;display:block;font-size:10px;font-weight:500;color:#59666d}
body:not(.mas-design) .tab-requests .request-specification-field small{display:none}
body:not(.mas-design) .tab-requests .request-items-table .table-field select,body:not(.mas-design) .tab-requests .request-items-table input{width:100%;min-width:0;min-height:32px;height:32px;padding:4px 7px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.2}
body:not(.mas-design) .tab-requests .request-items-table td[data-label="الكمية"]{white-space:nowrap}
body:not(.mas-design) .tab-requests .request-items-table td[data-label="الكمية"] [data-request-unit]{margin-inline-start:3px;color:#4b5563;font-size:10.5px}
body:not(.mas-design) .tab-requests .request-quantity-value{font-size:12.5px;font-weight:600}
body:not(.mas-design) .tab-requests .request-items-table td[data-label="الإجمالي"]{font-size:12.75px;font-weight:600;white-space:nowrap}
body:not(.mas-design) .tab-requests .request-items-table td[data-label="سعر الوحدة"] input{font-variant-numeric:tabular-nums;text-align:center}
body:not(.mas-design) .tab-requests .request-items-help{margin-top:5px;padding:6px 8px;border-radius:7px;font-size:10.5px;line-height:1.45;font-weight:400}
body:not(.mas-design) .tab-requests .request-adjustments{gap:6px}body:not(.mas-design) .tab-requests .request-adjustments input{min-height:32px;height:32px;font-size:12px}
body:not(.mas-design) .tab-requests .request-adjustments>label span{font-size:11px;font-weight:500}
body:not(.mas-design) .tab-requests .request-grand-total{min-height:52px!important;padding:7px 9px;border-radius:8px}body:not(.mas-design) .tab-requests .request-grand-total span{font-size:11px;font-weight:500}body:not(.mas-design) .tab-requests .request-grand-total strong{font-size:16px;font-weight:700}body:not(.mas-design) .tab-requests .request-grand-total small{font-size:10px;font-weight:400}
body:not(.mas-design) .tab-requests .request-card{padding:9px 10px}body:not(.mas-design) .tab-requests .request-card-top strong{font-size:13px;font-weight:600}body:not(.mas-design) .tab-requests .request-card-customer{font-size:12px;font-weight:400;color:#1f2937}body:not(.mas-design) .tab-requests .request-card-meta :is(small,time){font-size:10.5px;font-weight:400;color:var(--ui-muted)}
body:not(.mas-design) .tab-requests .customer-info-grid>div{padding:8px 9px}body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:10.5px;font-weight:500;color:var(--ui-muted)}body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:12.5px;font-weight:500;color:var(--ui-text)}

/* Keep a single-column workspace before the item table gets cramped. */
@media screen and (max-width:1180px){body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(0,1fr)}}

/* Tablet/mobile — one compact card per item, no horizontal movement. */
@media screen and (max-width:900px){
  body:not(.mas-design) .tab-requests .price-table-wrap{overflow:visible}
  body:not(.mas-design) .tab-requests .request-items-table{display:block;width:100%;border:0;border-radius:0;overflow:visible}
  body:not(.mas-design) .tab-requests .request-items-table thead{display:none}
  body:not(.mas-design) .tab-requests .request-items-table tbody{display:grid;gap:7px}
  body:not(.mas-design) .tab-requests .request-items-table tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 6px;padding:7px;border:1px solid #dbe1e3;border-radius:9px;background:#fff;box-shadow:none}
  body:not(.mas-design) .tab-requests .request-items-table td,body:not(.mas-design) .tab-requests .request-items-table td:first-child{display:flex;width:100%!important;min-width:0;min-height:46px;padding:5px 6px;border:0;border-inline-start:0;border-bottom:1px solid #edf0f1;flex-direction:column;justify-content:center;text-align:start;background:transparent!important;font-size:12px;white-space:normal}
  body:not(.mas-design) .tab-requests .request-items-table td::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:9.75px;line-height:1.15;font-weight:500;color:#66737a}
  body:not(.mas-design) .tab-requests .request-items-table .request-spec-cell{grid-column:1/-1;min-height:auto;padding:4px 5px 7px;border-bottom:1px solid #dfe5e7}
  body:not(.mas-design) .tab-requests .request-items-table .request-spec-cell::before{display:none}
  body:not(.mas-design) .tab-requests .request-spec-cell>strong,body:not(.mas-design) .tab-requests .request-locked-type-name{font-size:13px}
  body:not(.mas-design) .tab-requests .request-spec-cell>[data-request-code],body:not(.mas-design) .tab-requests .request-spec-cell>span,body:not(.mas-design) .tab-requests .request-spec-cell>small{font-size:10px}
  body:not(.mas-design) .tab-requests .request-spec-cell .request-specification-field{margin-top:5px}
  body:not(.mas-design) .tab-requests .request-items-table .table-field select,body:not(.mas-design) .tab-requests .request-items-table input{min-height:36px!important;height:36px!important;padding:5px 7px;border-radius:6px;font-size:16px!important}
  body:not(.mas-design) .tab-requests .request-items-table td[data-label="سعر الوحدة"],body:not(.mas-design) .tab-requests .request-items-table td[data-label="الإجمالي"]{grid-column:span 2;min-height:48px;border-bottom:0}
  body:not(.mas-design) .tab-requests .request-items-table td[data-label="الإجمالي"]{font-size:13px;font-weight:600}
  body:not(.mas-design) .tab-requests .request-items-table td[data-label="سعر الوحدة"] input{max-width:100%}
  body:not(.mas-design) .tab-requests .request-items-help{display:none}
}
@media screen and (max-width:600px){
  .admin-content{padding-inline:8px}
  body:not(.mas-design) .tab-requests .request-items-heading{margin-top:10px;margin-bottom:5px}
  body:not(.mas-design) .tab-requests .request-items-table tbody{gap:6px}
  body:not(.mas-design) .tab-requests .request-items-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 5px;padding:6px}
  body:not(.mas-design) .tab-requests .request-items-table td,body:not(.mas-design) .tab-requests .request-items-table td:first-child{min-height:44px;padding:5px}
  body:not(.mas-design) .tab-requests .request-items-table .request-spec-cell{grid-column:1/-1;padding:4px 5px 6px}
  body:not(.mas-design) .tab-requests .request-items-table td[data-label="سعر الوحدة"],body:not(.mas-design) .tab-requests .request-items-table td[data-label="الإجمالي"]{grid-column:span 1}
  body:not(.mas-design) .tab-requests .request-items-table td[data-label="الإجمالي"]{align-items:flex-start}
  body:not(.mas-design) .tab-requests .request-adjustments{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  body:not(.mas-design) .tab-requests .request-primary-actions,body:not(.mas-design) .tab-requests .issued-actions{grid-template-columns:minmax(0,1fr)}
}
@media screen and (max-width:360px){
  body:not(.mas-design) .tab-requests .request-items-table td{font-size:11.75px}
  body:not(.mas-design) .tab-requests .request-items-table td::before{font-size:9.5px}
}

/* Customer form: formal sizes; specification control is hidden until a real additional option exists. */
.customer-body .item-specification-field[hidden]{display:none!important}
.customer-body .product-item{padding:11px}
.customer-body .product-item-title{font-size:14px;font-weight:600}.customer-body .product-item label>span{font-size:12px;font-weight:500}.customer-body .product-item :is(input,select,textarea,output){font-size:14px;font-weight:400}
@media screen and (max-width:760px){.customer-body .product-item :is(input,select,textarea){font-size:16px;min-height:40px}.customer-body .product-item label>span{font-size:12px}}

/* Rights and unified print footer. */
.app-rights{margin-top:auto;padding:10px 14px 14px;text-align:center;font-family:Arial,sans-serif!important;font-size:10px;font-weight:400;color:#6b7280;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.app-rights-separator{color:#9ca3af}
.app-rights-website{color:inherit;text-decoration:none;font-weight:600;direction:ltr;unicode-bidi:isolate}
.app-rights-website:hover,.app-rights-website:focus-visible{color:#0f5963;text-decoration:underline;text-underline-offset:2px}
.quote-body>.app-rights{display:none}
.unified-print-footer{display:grid!important;grid-template-columns:1.2fr .55fr .85fr 1.2fr!important;align-items:end!important;gap:1mm!important;font-family:Arial,sans-serif!important;font-weight:400!important}
.unified-print-footer>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center!important;font-family:Arial,sans-serif!important;font-weight:400!important}
.unified-print-footer .print-footer-copy{text-align:left!important}.unified-print-footer .print-user{text-align:right!important}.unified-print-footer .print-document-ref{font-weight:600!important}
.unified-print-footer .print-rights{grid-column:1/-1!important;text-align:center!important;color:#666!important;font-size:max(7px,calc(var(--quote-footer-font,8.5px) - 1px))!important;font-weight:400!important;padding-top:.3mm}
.quotation-paper,.proforma-paper{font-family:Arial,sans-serif!important;font-weight:400!important}.quotation-paper :is(td,p,span,small),.proforma-paper :is(td,p,span,small){font-weight:400!important}.quotation-table th,.proforma-table th{font-weight:600!important}.quotation-table .product-cell strong,.proforma-product strong{font-weight:600!important}.quotation-title,.proforma-title,.company-heading h2{font-weight:700!important}
@media print{.app-rights{display:none!important}.unified-print-footer{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* v1.9.28 readability normalization for legacy admin selectors. */
.admin-body .admin-sidebar :is(.sidebar-user strong,.sidebar-user small,.brand-lockup small){font-family:Arial,sans-serif!important;font-weight:400!important}
.admin-body .admin-sidebar .sidebar-user strong{font-size:12px!important;font-weight:600!important}.admin-body .admin-sidebar .sidebar-user small,.admin-body .admin-sidebar .brand-lockup small{font-size:10.5px!important}
.admin-body .admin-topbar>div span,.admin-body .topbar-user-chip{font-size:11px!important;font-weight:400!important}
.admin-body .admin-content :is(.stat-grid span,.stat-grid small,.report-stat-grid span,.report-stat-grid small){font-size:11px!important;font-weight:400!important}
.admin-body .admin-content :is(.stat-grid strong,.report-stat-grid strong){font-size:20px!important;font-weight:600!important}
.admin-body .admin-content .panel-toolbar :is(input,select){font-size:13px!important;font-weight:400!important}.admin-body .admin-content .panel-toolbar .button{font-size:12.5px!important;font-weight:600!important}
.admin-body .admin-content :is(.card-title-row p,.layout-help,.catalog-import-card p,.report-export-card p,.settings-collapsible>summary small,.appearance-group summary small,.permission-group-card>summary small,.report-collapsible>summary small){font-size:11.5px!important;font-weight:400!important;line-height:1.5!important}
.admin-body .admin-content :is(.check-field,.content-fields-grid label>span,.layout-controls-grid label>span,.layout-color-grid label>span,.tab-settings .settings-form label>span,.tab-settings .settings-textareas label>span,.tab-users .permission-template>span,.tab-reports .report-filter label){font-size:12px!important;font-weight:500!important}
.admin-body .admin-content :is(.users-list small,.users-list em,.user-account-copy span,.user-account-copy small,.user-account-meta,.catalog-section-help,.catalog-empty-note,.catalog-permission-note,.catalog-readonly-label){font-size:11px!important;font-weight:400!important;line-height:1.5!important}
.admin-body .admin-content :is(.table-save,.text-danger,.permission-group-actions button,.catalog-import-guide summary,.catalog-type-switcher span,.catalog-selected-chips span,.catalog-editor-section summary i,.user-state-chip){font-size:11px!important;font-weight:600!important}
.admin-body .admin-content .status-chip{font-size:10.5px!important;font-weight:600!important}

/* Requests page: override the old tiny master/detail labels consistently. */
body:not(.mas-design) .tab-requests .requests-panel-head strong{font-size:13px!important;font-weight:600!important}body:not(.mas-design) .tab-requests .requests-panel-head span:not(.requests-count){font-size:11px!important;font-weight:400!important}
body:not(.mas-design) .tab-requests .requests-count{font-size:12px!important;font-weight:600!important}body:not(.mas-design) .tab-requests .requests-clear{font-size:11px!important;font-weight:500!important}
body:not(.mas-design) .tab-requests .request-card .status-chip{font-size:10px!important;font-weight:600!important}body:not(.mas-design) .tab-requests .admin-request-pagination :is(.button,span){font-size:11px!important;font-weight:500!important}
body:not(.mas-design) .tab-requests .review-kicker>span:last-child{font-size:11px!important;font-weight:400!important}body:not(.mas-design) .tab-requests .review-head h2{font-size:18px!important;font-weight:700!important}body:not(.mas-design) .tab-requests .review-head p{font-size:12px!important;font-weight:400!important}
body:not(.mas-design) .tab-requests .quote-serial span{font-size:10.5px!important;font-weight:400!important}body:not(.mas-design) .tab-requests .quote-serial strong{font-size:13px!important;font-weight:600!important}
body:not(.mas-design) .tab-requests .request-section-heading h3{font-size:14px!important;font-weight:600!important}body:not(.mas-design) .tab-requests .request-section-heading span{font-size:11px!important;font-weight:400!important}
body:not(.mas-design) .tab-requests .customer-note span{font-size:11px!important;font-weight:500!important}body:not(.mas-design) .tab-requests .customer-note p{font-size:12.5px!important;font-weight:400!important}
body:not(.mas-design) .tab-requests .issued-actions>div:first-child strong{font-size:12.5px!important;font-weight:600!important}body:not(.mas-design) .tab-requests .issued-actions>div:first-child span,body:not(.mas-design) .tab-requests .unissue-row small{font-size:11px!important;font-weight:400!important}
body:not(.mas-design) .tab-requests .request-list-back{font-size:11.5px!important;font-weight:600!important}

@media screen and (max-width:760px){
  .admin-body .admin-topbar>div span{font-size:10.5px!important}
  body:not(.mas-design) .tab-requests .request-card-meta :is(small,time){font-size:10.5px!important}
  body:not(.mas-design) .tab-requests .review-kicker>span:last-child{font-size:10.5px!important}
}

/* Grid items must fill their mobile column; desktop percentage widths must not leak into card mode. */
@media screen and (max-width:900px){
  body:not(.mas-design) .tab-requests .request-items-table td,body:not(.mas-design) .tab-requests .request-items-table td:first-child{width:100%!important}
}
body:not(.mas-design) .tab-requests .request-grand-total,body:not(.mas-design) .tab-requests .request-grand-total :is(span,strong,small){color:#fff!important}

/* v1.9.30 — users/permissions QA refinements */
.tab-users .user-permission-details{border-top:1px solid var(--line);padding-top:7px}
.tab-users .user-permission-details>summary{cursor:pointer;list-style:none;color:var(--primary);font-size:11.5px;font-weight:600;line-height:1.4}
.tab-users .user-permission-details>summary::-webkit-details-marker{display:none}
.tab-users .user-permission-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.tab-users .user-permission-chips span{display:inline-flex;align-items:center;min-height:26px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-alt);color:var(--ink);font-size:11px;font-weight:400;line-height:1.35}
.tab-users .user-readonly-note{color:var(--muted);font-size:11px;font-weight:400}
.tab-users .user-draft-note{margin-bottom:10px}
.tab-reports .report-stat-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){
  .tab-users .user-permission-chips{display:grid;grid-template-columns:1fr}
  .tab-users .user-permission-chips span{min-height:0}
  .tab-reports .report-stat-grid-compact{grid-template-columns:1fr 1fr}
}

/* ===== 1.10: archive, customer responses, reports, customers, list views ===== */
.mas-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mas-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.mas-table th { padding: 9px 10px; color: #4f6469; background: #eef3f4; font-size: 11.5px; font-weight: 700; text-align: right; white-space: nowrap; border-bottom: 1px solid var(--line, #dce7e9); }
.mas-table td { padding: 9px 10px; color: var(--ink, #152d35); text-align: right; vertical-align: top; border-bottom: 1px solid #e8eff0; }
.mas-table tbody tr:nth-child(even) td { background: #f7f9fa; }
.mas-table tbody tr:nth-child(odd) td { background: #fff; }
.mas-table tbody tr:hover td { background: #eef8f6; }
.mas-table td small { margin-top: 3px; display: block; color: var(--muted, #71858b); font-size: 11px; }
.mas-table td a { color: var(--primary, #12343d); font-weight: 700; }
.mas-table .empty-cell { background: #fff !important; }
.outcome-chip { width: max-content; min-height: 20px; padding: 0 8px; display: inline-flex; align-items: center; border-radius: 99px; font-size: 11px; font-weight: 700; }
.status-accepted { color: #0b6b3a; background: #dff5e7; }
.status-rejected { color: #9a2a2a; background: #fde6e6; }
.status-expired { color: #7a5a00; background: #fbf0cf; }
.status-awaiting { color: #2f5f8a; background: #e5f0fb; }
.status-archived { color: #5b6366; background: #eceff0; }
.request-card-meta .outcome-chip { margin-inline-start: 4px; }
.request-view-toggle { margin-inline-start: auto; display: inline-flex; overflow: hidden; border: 1px solid var(--line, #dce7e9); border-radius: 8px; }
.request-view-toggle button { min-height: 28px; padding: 0 10px; border: 0; color: var(--muted, #71858b); background: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.request-view-toggle button[aria-pressed="true"] { color: #fff; background: var(--primary, #12343d); }
.requests-panel-head { gap: 8px; }
.requests-table-wrap { display: none; max-height: calc(100vh - 240px); overflow: auto; }
.requests-panel.is-table-view .requests-list[data-request-cards] { display: none; }
.requests-panel.is-table-view .requests-table-wrap { display: block; }
.requests-table td, .requests-table th { padding: 8px; font-size: 11.5px; }
.requests-table tr.is-active td { background: #e3f6f3 !important; box-shadow: inset -3px 0 0 var(--accent, #24b7aa); }
.requests-table .status-chip { font-size: 11px; }
.requests-table .outcome-chip { margin-top: 4px; }
.request-filter-chip { margin: 0 12px 8px; padding: 6px 10px; display: flex; align-items: center; gap: 8px; border-radius: 8px; color: var(--primary, #12343d); background: var(--accent-pale, #e8f8f6); font-size: 12px; }
.request-filter-chip a { margin-inline-start: auto; font-size: 16px; line-height: 1; text-decoration: none; }
.requests-live-notice { margin: 0 12px 8px; padding: 8px 10px; display: flex; gap: 8px; align-items: center; border: 1px solid #bfe9e2; border-radius: 8px; color: #0c5a51; background: #eefbf8; font-size: 12px; }
.requests-live-notice button { margin-inline-start: auto; }
.quote-outcome-card { margin: 14px 0; padding: 12px 14px; border: 1px solid var(--line, #dce7e9); border-radius: 12px; background: #fbfdfd; }
.quote-outcome-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.quote-outcome-head > div { display: flex; gap: 8px; align-items: center; font-size: 15px; }
.quote-outcome-head small, .quote-outcome-meta { color: var(--muted, #71858b); font-size: 12px; }
.quote-outcome-meta { margin: 8px 0 0; }
.quote-outcome-form { margin-top: 10px; display: grid; gap: 8px; }
.quote-outcome-form label { display: grid; gap: 4px; font-size: 12px; }
.quote-outcome-form input { min-height: 36px; padding: 0 10px; border: 1px solid var(--input-border, #d7e3e5); border-radius: 8px; font: inherit; font-size: 12.5px; }
.quote-outcome-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.archived-request-notice { border-color: #d8dcdd; background: #f4f6f6; }
.archived-request-actions { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.archived-request-actions form { margin: 0; }
.report-kpi-grid { margin-bottom: 15px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.report-kpi-grid article { padding: 14px; display: grid; gap: 4px; border: 1px solid var(--line, #dce7e9); border-radius: var(--card-radius, 12px); background: var(--paper, #fff); }
.report-kpi-grid article.kpi-wide { grid-column: span 2; }
.report-kpi-grid span { color: var(--muted, #71858b); font-size: 12px; }
.report-kpi-grid strong { color: var(--primary, #12343d); font-size: 20px; overflow-wrap: anywhere; }
.report-kpi-grid small { color: var(--muted, #71858b); font-size: 11.5px; }
.report-section { margin-bottom: 15px; }
.report-section .card-title-row { gap: 10px; align-items: center; }
.customers-toolbar { padding: 0 0 12px; }
.backup-card { margin-top: 15px; display: grid; gap: 10px; }
.backup-card form { margin: 0; }
.backup-card code { padding: 2px 5px; border-radius: 4px; background: #eef3f4; font-size: 11px; overflow-wrap: anywhere; }
.backup-status { margin: 0; font-size: 12.5px; }
.quote-customer-response { width: min(100%, 794px); margin: 0 auto 14px; }
.quote-customer-response form { padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 260px) auto; gap: 12px; align-items: end; border: 1px solid #bfe9e2; border-radius: 12px; background: #f2fbf9; }
.quote-customer-response form > div { display: grid; gap: 4px; }
.quote-customer-response strong { font-size: 15px; }
.quote-customer-response span { color: #4f6469; font-size: 12.5px; }
.quote-customer-response label { display: grid; gap: 4px; font-size: 12px; }
.quote-customer-response input { min-height: 38px; padding: 0 10px; border: 1px solid #cfe0e2; border-radius: 8px; font: inherit; font-size: 12.5px; }
@media screen and (max-width: 1100px) {
  .report-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 760px) {
  .quote-customer-response form { grid-template-columns: 1fr; }
  .mas-table-wrap { overflow: visible; }
  .mas-table, .mas-table tbody, .mas-table tr, .mas-table td { width: 100%; display: block; }
  .mas-table thead { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .mas-table tbody { display: grid; gap: 8px; }
  .mas-table tr { padding: 10px 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; border: 1px solid #e0e9ea; border-radius: 10px; background: #fff; }
  .mas-table tbody tr:nth-child(n) td { padding: 0; border: 0; background: transparent; overflow-wrap: anywhere; }
  .mas-table td::before { content: attr(data-label); margin-bottom: 2px; display: block; color: var(--muted, #71858b); font-size: 11px; font-weight: 700; }
  .mas-table td.empty-cell { grid-column: 1 / -1; }
  .mas-table td.empty-cell::before { content: none; }
  .requests-table tr { grid-template-columns: 1fr 1fr; }
  .requests-table-wrap { max-height: min(44dvh, 430px); }
}
@media screen and (max-width: 520px) {
  .report-kpi-grid { grid-template-columns: 1fr; }
  .report-kpi-grid article.kpi-wide { grid-column: auto; }
}
@media print { .quote-customer-response, .requests-live-notice { display: none !important; } }
.requests-panel-head { flex-wrap: nowrap; }
.requests-panel-head .request-view-toggle { flex: 0 0 auto; }
.requests-panel-head .request-view-toggle button { width: auto; min-width: 0; min-height: 26px; padding: 0 9px; display: inline-flex; align-items: center; white-space: nowrap; box-shadow: none; font-size: 11.5px; line-height: 1; }
.requests-table { table-layout: fixed; }
.requests-table th:nth-child(1) { width: 38%; }
.requests-table th:nth-child(3) { width: 30%; }
.requests-table td { overflow-wrap: anywhere; }
.requests-table td a bdi { font-size: 11px; }
.requests-panel-head > .request-view-toggle { display: inline-flex !important; flex-direction: row; gap: 0; }
@media screen and (max-width: 760px) {
  .requests-table tr.is-active { border-color: var(--accent, #24b7aa); background: #eefaf8; }
  .requests-table tr.is-active td { background: transparent !important; box-shadow: none; }
}

/* v1.10.2 — clearer administration workspace and request readability. */
.admin-body .admin-page-title{margin-bottom:12px;align-items:center}
.admin-body .admin-page-title h1{margin:4px 0 0;font-size:24px;line-height:1.25;letter-spacing:-.02em}
.admin-body .admin-page-title .eyebrow{font-size:11px;letter-spacing:.02em}
.admin-body .admin-content{line-height:1.55}

body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(330px,370px) minmax(0,1fr);gap:14px}
body:not(.mas-design) .tab-requests .requests-panel,body:not(.mas-design) .tab-requests .review-panel{border-color:#d5dde0;background:#fff}
body:not(.mas-design) .tab-requests .requests-panel-head{padding:12px 13px;background:#f7f9f9}
body:not(.mas-design) .tab-requests .requests-list{padding:6px;gap:5px;background:#f5f7f8}
body:not(.mas-design) .tab-requests .request-card{min-height:72px;padding:11px 12px;border-color:#e4e9eb;border-radius:10px}
body:not(.mas-design) .tab-requests .request-card:hover{border-color:#c7d3d6;background:#fff}
body:not(.mas-design) .tab-requests .request-card.active{border-color:color-mix(in srgb,var(--accent) 55%,#cfd8da);background:color-mix(in srgb,var(--accent-pale) 72%,#fff)}
body:not(.mas-design) .tab-requests .request-card-top strong{font-size:13.5px!important;line-height:1.45}
body:not(.mas-design) .tab-requests .request-card-customer{font-size:12.5px!important;line-height:1.45}
body:not(.mas-design) .tab-requests .request-card-meta :is(small,time){font-size:10.75px!important;line-height:1.4}
body:not(.mas-design) .tab-requests .request-card .status-chip{font-size:10.5px!important}

body:not(.mas-design) .tab-requests .review-head{min-height:84px;padding:15px 17px;background:#fff}
body:not(.mas-design) .tab-requests .review-head h2{font-size:20px!important;line-height:1.35}
body:not(.mas-design) .tab-requests .review-head p{font-size:12.5px!important}
body:not(.mas-design) .tab-requests .review-kicker>span:last-child{font-size:11.5px!important}
body:not(.mas-design) .tab-requests .quote-serial{padding:9px 11px;background:#f7f9f9}
body:not(.mas-design) .tab-requests .quote-serial span{font-size:11px!important}
body:not(.mas-design) .tab-requests .quote-serial strong{font-size:14px!important}
body:not(.mas-design) .tab-requests .request-section-heading{padding-top:16px;padding-bottom:9px}
body:not(.mas-design) .tab-requests .request-section-heading h3{font-size:15px!important}
body:not(.mas-design) .tab-requests .request-section-heading span{font-size:11.5px!important}
body:not(.mas-design) .tab-requests .customer-info-grid{gap:1px;border-color:#dfe5e7;background:#dfe5e7}
body:not(.mas-design) .tab-requests .customer-info-grid>div{padding:10px 11px;background:#fff}
body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:11px!important}
body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:13px!important;line-height:1.45}
body:not(.mas-design) .tab-requests .request-items-table th{height:37px;font-size:12px}
body:not(.mas-design) .tab-requests .request-items-table td{padding:6px 7px;font-size:13px}
body:not(.mas-design) .tab-requests .request-spec-cell>strong,body:not(.mas-design) .tab-requests .request-locked-type-name{font-size:13px}
body:not(.mas-design) .tab-requests .request-spec-cell>[data-request-code],body:not(.mas-design) .tab-requests .request-spec-cell>span,body:not(.mas-design) .tab-requests .request-spec-cell>small{font-size:11px}
body:not(.mas-design) .tab-requests .request-items-table .table-field select,body:not(.mas-design) .tab-requests .request-items-table input{min-height:34px;height:34px;font-size:13px}
body:not(.mas-design) .tab-requests .request-adjustments>label span{font-size:11.5px!important}
body:not(.mas-design) .tab-requests .request-adjustments input{min-height:35px;height:35px;font-size:13px}
body:not(.mas-design) .tab-requests .request-grand-total{min-height:58px!important;padding:9px 11px}
body:not(.mas-design) .tab-requests .request-grand-total span{font-size:11.5px!important}
body:not(.mas-design) .tab-requests .request-grand-total strong{font-size:18px!important}
body:not(.mas-design) .tab-requests .request-grand-total small{font-size:10.5px!important}

.notification-bell{width:44px;height:44px}
.notification-bell svg{width:23px;height:23px}
.notification-badge{min-width:20px;height:20px;font-size:9px}
.notification-item{min-height:92px;padding:14px}
.notification-item-copy strong{font-size:12.5px}
.notification-item-copy>span{font-size:10.5px}
.notification-item-copy small{font-size:9px}

@media screen and (max-width:1180px){
  body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(0,1fr)}
}
@media screen and (max-width:760px){
  .admin-body .admin-page-title h1{font-size:22px}
  body:not(.mas-design) .tab-requests .request-card{min-height:70px}
  body:not(.mas-design) .tab-requests .review-head{padding:13px}
  body:not(.mas-design) .tab-requests .customer-info-grid>div{padding:9px 10px}
  body:not(.mas-design) .tab-requests .request-items-table td{font-size:12.5px}
}

/* v1.11 simple-sales workflow: clearer screens without extra modules */
.status-chip.status-pricing{background:#fff7dc;color:#7b5b00;border-color:#efd98b}
.status-chip.status-ready{background:#e9f7f1;color:#166548;border-color:#bfe4d5}
.status-chip.status-editing{background:#eef2ff;color:#3949a0;border-color:#ccd4ff}
.status-chip.status-sent{background:#edf5ff;color:#24588f;border-color:#c9ddf6}
.request-card.status-new{border-inline-start:4px solid #d69d21}
.request-card.status-pricing{border-inline-start:4px solid #c08a13}
.request-card.status-ready{border-inline-start:4px solid #258a67}
.request-card.status-editing{border-inline-start:4px solid #596ac7}
.request-card.status-sent{border-inline-start:4px solid #4b79ac}
.request-card.status-accepted{border-inline-start:4px solid #258a67}
.request-card.status-rejected,.request-card.status-cancelled{border-inline-start:4px solid #9a5555}

.home-dashboard{display:grid;gap:16px}
.home-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-head h1{margin:0;font-size:28px;color:var(--ink)}
.home-head span{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.home-quick-actions{display:flex;flex-wrap:wrap;gap:8px}
.home-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.home-kpis>a{min-height:100px;padding:16px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);box-shadow:var(--app-shadow);transition:transform .16s ease,border-color .16s ease}
.home-kpis>a:hover{transform:translateY(-2px);border-color:var(--accent)}
.home-kpis span{color:var(--muted);font-size:11px;font-weight:700}
.home-kpis strong{color:var(--ink);font-size:28px;line-height:1}
.home-kpis .needs-attention{border-color:#e6c775;background:#fffaf0}
.home-recent-card{padding:0!important;overflow:hidden}
.home-section-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.home-section-head h2{margin:0;font-size:16px}
.home-section-head a{font-size:11px;font-weight:800;color:var(--primary)}
.home-recent-list{display:grid}
.home-recent-row{min-height:68px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--paper)}
.home-recent-row:last-child{border-bottom:0}
.home-recent-row>div:first-child{min-width:0;display:grid;gap:4px}
.home-recent-row strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-recent-row span:not(.status-chip){font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-recent-side{display:flex;align-items:flex-end;flex-direction:column;gap:4px}
.home-recent-side small{font-size:9px;color:#8a5c00}

body:not(.mas-design) .tab-requests .admin-page-title{margin-bottom:10px}
body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(310px,360px) minmax(0,1fr);gap:14px}
body:not(.mas-design) .tab-requests .review-panel{padding:22px}
body:not(.mas-design) .tab-requests .review-head{margin-bottom:16px;padding-bottom:15px;border-bottom:1px solid var(--line)}
body:not(.mas-design) .tab-requests .review-title-block h2{font-size:22px}
body:not(.mas-design) .tab-requests .review-title-block p{font-size:11px}
body:not(.mas-design) .tab-requests .review-head-side{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
body:not(.mas-design) .tab-requests .quote-serial{min-width:150px}
body:not(.mas-design) .tab-requests .request-section-heading{margin-top:19px;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}
body:not(.mas-design) .tab-requests .request-section-heading h3{margin:0;font-size:15px;color:var(--ink)}
body:not(.mas-design) .tab-requests .request-item-count{font-size:10px;color:var(--muted);font-weight:800}
body:not(.mas-design) .tab-requests .quote-review-form{display:block}
body:not(.mas-design) .tab-requests .customer-info-grid>div{min-height:65px;padding:11px 12px}
body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:10px}
body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:13px}
body:not(.mas-design) .tab-requests .request-price-cell{gap:4px}
.last-price-hint{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35;white-space:normal}
.quote-autosave-state{margin-top:8px;color:var(--muted);font-size:9px;text-align:end}
.request-primary-actions{position:sticky;z-index:24;bottom:10px;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:0 12px 35px rgba(15,38,45,.12);backdrop-filter:blur(10px)}
.request-primary-actions .button{min-height:44px;padding-inline:18px;font-size:12px}
.issued-action-bar{position:sticky;z-index:23;bottom:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:0 12px 35px rgba(15,38,45,.12);backdrop-filter:blur(10px)}
.issued-action-bar>div:first-child{min-width:110px;flex:0 0 auto}
.issued-action-bar>div:first-child strong{font-size:13px}
.followup-alert{margin:13px 0;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid #ead08a;border-radius:11px;background:#fffaf0}
.followup-alert strong{font-size:12px;color:#6d4f00}
.followup-alert span{flex:1;font-size:10px;color:#7e6a32}
.followup-chip{display:inline-flex!important;width:max-content;padding:2px 6px;border-radius:99px;background:#fff3cf;color:#725400!important;font-weight:800}
.duplicate-request-row{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}

.requests-panel-head{min-height:56px}
.requests-panel-head>div:first-child{display:flex!important;align-items:center}
.requests-panel-head>div:first-child strong{font-size:14px}
.request-card{display:block!important;padding:0!important}
.request-card-main{padding:13px 12px;display:grid;gap:7px;color:inherit}
.request-card-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.request-card-top strong{font-size:13px!important}
.request-card-customer{font-size:10px!important;color:var(--muted)!important}
.request-card-meta{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-direction:row!important;flex-wrap:wrap;gap:5px 8px!important}
.request-card-meta small,.request-card-meta time{font-size:9px!important;color:var(--muted);direction:ltr}
.request-card-total{font-weight:800!important;color:var(--ink)!important}
.request-mobile-actions{display:none;padding:0 10px 10px;gap:6px}
.request-mobile-actions a{min-height:34px;padding:0 10px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-alt);font-size:10px;font-weight:800;color:var(--primary)}

.customer-drawer{width:min(390px,92vw);height:100dvh;position:fixed;z-index:140;top:0;right:0;padding:18px;display:flex;flex-direction:column;gap:14px;border-inline-start:1px solid var(--line);background:var(--paper);box-shadow:-24px 0 70px rgba(7,28,34,.22);overflow:auto}
.customer-drawer[hidden],.customer-drawer-backdrop[hidden]{display:none!important}
.customer-drawer-backdrop{position:fixed;z-index:130;inset:0;border:0;background:rgba(7,25,30,.42)}
body.customer-drawer-open{overflow:hidden}
.customer-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.customer-drawer-head>div{display:grid;gap:4px}
.customer-drawer-head strong{font-size:16px}
.customer-drawer-head span{font-size:11px;color:var(--muted)}
.customer-drawer-head button{width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-alt);font-size:22px;color:var(--ink);cursor:pointer}
.customer-drawer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.customer-drawer-stats>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-alt);display:grid;gap:4px}
.customer-drawer-stats span{font-size:9px;color:var(--muted)}
.customer-drawer-stats strong{font-size:20px}
.customer-drawer-list{display:grid;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.customer-drawer-list>strong{padding:10px 11px;font-size:11px;background:var(--surface-alt)}
.customer-drawer-list>a{padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);font-size:10px;color:var(--ink)}

@media screen and (max-width:1320px){
  body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(0,1fr)}
  body:not(.mas-design) .tab-requests .requests-list{max-height:360px}
}
@media screen and (max-width:900px){
  .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-kpis>a:last-child{grid-column:1/-1}
  .home-head{align-items:stretch;flex-direction:column}
  .home-quick-actions .button{flex:1 1 auto}
  body:not(.mas-design) .tab-requests .review-panel{padding:14px 11px}
  .request-primary-actions,.issued-action-bar{bottom:max(8px,env(safe-area-inset-bottom))}
}
@media screen and (max-width:620px){
  .home-kpis{grid-template-columns:minmax(0,1fr);gap:7px}
  .home-kpis>a,.home-kpis>a:last-child{grid-column:auto;min-height:66px;padding:11px 13px;flex-direction:row;align-items:center}
  .home-kpis strong{font-size:24px}
  .home-recent-row{padding:11px}
  body:not(.mas-design) .tab-requests .push-onboarding{margin-bottom:9px}
  body:not(.mas-design) .tab-requests .review-head-side{width:100%}
  body:not(.mas-design) .tab-requests .review-head-side>.button{flex:1}
  body:not(.mas-design) .tab-requests .quote-serial{width:100%;min-width:0}
  .request-mobile-actions{display:flex}
  .request-mobile-actions a{flex:1}
  .requests-panel .request-view-toggle{display:none}
  .requests-panel .requests-table-wrap{display:none!important}
  .requests-panel .requests-list{display:block!important;max-height:none}
  .request-primary-actions,.issued-action-bar{display:grid!important;grid-template-columns:minmax(0,1fr);position:sticky}
  .request-primary-actions .button,.issued-action-bar .button,.issued-action-bar .share-button{width:100%}
  .followup-alert{align-items:stretch;flex-direction:column}
  .followup-alert .button{width:100%}
  .customer-drawer{width:100%;padding:max(16px,env(safe-area-inset-top)) 13px max(16px,env(safe-area-inset-bottom))}
  .customer-info-grid{grid-template-columns:minmax(0,1fr)!important}
  .customer-info-grid .wide{grid-column:auto!important}
  .last-price-hint{font-size:10px}
}


/* v1.11.1 — unified visual QA layer: cards, typography, spacing and responsive clarity. */
:root{
  --ui-text:#111111;
  --ui-muted:#667177;
  --ui-border:#dde3e5;
  --ui-soft:#f7f9f9;
  --ui-card:#ffffff;
  --ui-radius:12px;
  --ui-control:40px;
  --card-radius:12px;
  --field-radius:8px;
  --button-radius:8px;
  --card-padding:16px;
  --app-shadow:0 4px 16px rgba(18,52,61,.045);
  --shadow:0 7px 24px rgba(18,52,61,.055);
}
html,body,button,input,select,textarea,output,table{font-family:Arial,sans-serif!important}
body{color:#111;background:var(--admin-bg);font-size:13px;line-height:1.5}
body :is(h1,h2,h3,h4,strong,b,label,button,.button){letter-spacing:0}
body :is(p,span,small,td,label,input,select,textarea,output){color:inherit}

/* Shared controls */
.button,.share-button{min-height:38px;padding:7px 13px;border-radius:8px;font-size:13px;font-weight:700;box-shadow:none;transform:none!important}
.button:hover,.share-button:hover{transform:none!important}
.button-primary{box-shadow:none}
.admin-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,textarea),
.customer-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,textarea){
  min-height:40px;padding:7px 10px;border:1px solid #d4dcdf;border-radius:8px;background:#fff;color:#111;font-size:13px;line-height:1.35
}
.admin-body textarea,.customer-body textarea{min-height:78px}
.admin-body :is(input,select,textarea):focus,.customer-body :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
.field{gap:6px}.field>span,.mini-form label>span,.settings-form label>span,.settings-textareas label>span,.type-edit-form label>span{font-size:11.5px;font-weight:700;color:#3f4b50}
.field small{font-size:10px;line-height:1.45;color:var(--ui-muted)}
.notice,.restricted-note{border-radius:10px;font-size:12px;line-height:1.65}
.status-chip{min-height:24px;padding:2px 8px;border:1px solid transparent;font-size:10px;font-weight:700}

/* Admin frame */
.admin-shell{grid-template-columns:238px minmax(0,1fr)}
.admin-sidebar{padding:20px 13px 14px}
.admin-nav{margin-top:17px;gap:5px}
.admin-nav a{min-height:42px;padding:0 12px;border-radius:8px;font-size:12.5px}
.admin-nav a i{width:7px;height:7px}
.sidebar-user strong{font-size:11px}.sidebar-user small{font-size:9px}
.admin-topbar{height:66px;padding:0 24px;gap:12px}
.admin-topbar>div strong{font-size:14px;color:#111}.admin-topbar>div span{font-size:10px;color:var(--ui-muted)}
.topbar-user-chip{font-size:11px!important}
.admin-content{padding:24px 24px 48px}
.admin-page-title{margin-bottom:14px;align-items:center}
.admin-page-title .eyebrow{display:none}
.admin-page-title h1{margin:0;font-size:22px;color:#111}
.admin-page-title p{margin-top:4px;font-size:11px;color:var(--ui-muted)}
.admin-card,.requests-panel,.review-panel{border:1px solid var(--ui-border);border-radius:12px;background:#fff;box-shadow:var(--app-shadow)}
.admin-card{padding:16px}
.admin-card h2,.card-title-row h2{font-size:15px;color:#111}
.card-title-row p{font-size:10.5px;line-height:1.55;color:var(--ui-muted)}

/* Home: lighter KPI cards and cleaner recent rows */
.home-dashboard{gap:13px}
.home-head h1{font-size:22px}.home-head span{font-size:10px}
.home-quick-actions{gap:6px}
.home-kpis{gap:8px}
.home-kpis>a{min-height:88px;padding:13px 14px;border-radius:11px;box-shadow:none;transition:border-color .15s ease,background .15s ease}
.home-kpis>a:hover{transform:none;background:#fbfdfd}
.home-kpis span{font-size:10.5px;color:var(--ui-muted)}
.home-kpis strong{font-size:25px;color:#111}
.home-section-head{padding:12px 14px}.home-section-head h2{font-size:15px}.home-section-head a{font-size:10.5px}
.home-recent-row{min-height:62px;padding:10px 14px}
.home-recent-row strong{font-size:12.5px}.home-recent-row span:not(.status-chip){font-size:10px}

/* Requests: master/detail hierarchy without oversized nested cards */
body:not(.mas-design) .tab-requests .admin-page-title{margin-bottom:9px}
body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(300px,345px) minmax(0,1fr);gap:12px}
body:not(.mas-design) .tab-requests .requests-panel{overflow:hidden}
body:not(.mas-design) .tab-requests .panel-toolbar{padding:9px;gap:6px;background:#fbfcfc}
body:not(.mas-design) .tab-requests .panel-toolbar input,body:not(.mas-design) .tab-requests .panel-toolbar select{min-height:36px;font-size:11px;background:#fff}
body:not(.mas-design) .tab-requests .review-panel{padding:17px}
body:not(.mas-design) .tab-requests .review-head{margin-bottom:13px;padding-bottom:13px;align-items:center}
body:not(.mas-design) .tab-requests .review-title-block h2{margin:5px 0 3px;font-size:19px}
body:not(.mas-design) .tab-requests .review-title-block p{font-size:10px}
body:not(.mas-design) .tab-requests .review-kicker>span:last-child{font-size:9px}
body:not(.mas-design) .tab-requests .quote-serial{min-width:142px;padding:8px 10px;border-radius:8px}
body:not(.mas-design) .tab-requests .quote-serial span{font-size:9px}body:not(.mas-design) .tab-requests .quote-serial strong{font-size:11px}
body:not(.mas-design) .tab-requests .request-card{border-bottom:1px solid #e8edef!important}
body:not(.mas-design) .tab-requests .request-card-main{padding:11px 11px;gap:5px}
body:not(.mas-design) .tab-requests .request-card-top strong{font-size:12.5px!important}
body:not(.mas-design) .tab-requests .request-card-customer{font-size:10.5px!important}
body:not(.mas-design) .tab-requests .request-card-meta small,body:not(.mas-design) .tab-requests .request-card-meta time{font-size:9.5px!important}
body:not(.mas-design) .tab-requests .customer-info-grid{margin-top:12px;border-radius:9px}
body:not(.mas-design) .tab-requests .customer-info-grid>div{min-height:58px;padding:9px 10px}
body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:9.5px}body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:12px}
body:not(.mas-design) .tab-requests .request-section-heading{margin-top:15px;margin-bottom:7px}
body:not(.mas-design) .tab-requests .request-section-heading h3{font-size:14px}body:not(.mas-design) .tab-requests .request-item-count{font-size:9.5px}
body:not(.mas-design) .tab-requests .request-items-table{border-radius:8px}
body:not(.mas-design) .tab-requests .request-items-table th{height:32px;font-size:10.5px;background:#f5f7f7}
body:not(.mas-design) .tab-requests .request-items-table td{font-size:11.75px}
body:not(.mas-design) .tab-requests .request-spec-cell>strong,body:not(.mas-design) .tab-requests .request-locked-type-name{font-size:12px}
body:not(.mas-design) .tab-requests .request-items-table .table-field select,body:not(.mas-design) .tab-requests .request-items-table input{min-height:32px;height:32px;font-size:11.5px}
body:not(.mas-design) .tab-requests .request-primary-actions,body:not(.mas-design) .tab-requests .issued-action-bar{padding:8px;border-radius:10px;box-shadow:0 8px 24px rgba(15,38,45,.09)}
body:not(.mas-design) .tab-requests .request-primary-actions .button{min-height:40px;font-size:12px}
.last-price-hint,.quote-autosave-state{font-size:9.5px}
.followup-alert{padding:10px 12px;border-radius:9px}.followup-alert span{font-size:10px}

/* Notifications: less technical, same behavior */
.notification-bell{width:40px;height:40px;min-width:40px;padding:0;border-radius:10px;background:#fff}
.notification-bell svg{width:20px;height:20px}
.notification-panel{border-radius:12px}
.notification-panel>header{min-height:58px;padding:11px 13px}.notification-panel>header strong{font-size:13px}.notification-panel>header span{font-size:9.5px}
.notification-item{min-height:78px;padding:11px 12px;grid-template-columns:34px minmax(0,1fr);gap:9px}
.notification-item-icon{width:34px;height:34px;border-radius:9px}
.notification-item-copy strong{font-size:11.5px}.notification-item-copy>span{font-size:10px}.notification-item-copy small{font-size:8.5px}
.push-onboarding{margin:0 0 12px;padding:11px 12px;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;border-radius:10px;box-shadow:none}
.push-onboarding-icon{width:38px;height:38px;border-radius:9px}.push-onboarding-icon svg{width:20px;height:20px}
.push-onboarding strong{font-size:11.5px}.push-onboarding p{font-size:9.5px}

/* Settings, users, catalog, reports: one card language */
.settings-grid,.users-grid,.reports-grid,.appearance-designer-grid{gap:12px}
.content-editor-section,.catalog-table-card,.report-section,.appearance-presets-card,.user-editor-card,.users-current-card{box-shadow:none}
.permissions-box,.permission-group-card,.user-account-card,.report-kpi-grid>article{border-radius:9px}
.user-account-card{box-shadow:none}
.mas-table th,.catalog-table th,.report-table th,.activity-table th{font-size:10.5px;color:#344047;background:#f5f7f7}
.mas-table td,.catalog-table td,.report-table td,.activity-table td{font-size:11.5px;color:#111}

/* Customer form: formal, compact and readable */
.customer-body{background:#f4f7f7;color:#111}
.customer-body .public-header{height:68px}
.customer-body .quote-hero{padding:42px 0 78px}
.customer-body .quote-hero h1{margin:9px 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-.025em}
.customer-body .quote-hero p{font-size:13px;line-height:1.75;color:#d0dcde}
.customer-body .form-wrap{margin-top:-43px;padding-bottom:45px}
.customer-body .request-form{gap:12px}
.customer-body .form-card{padding:17px;border-radius:12px;border-color:var(--ui-border);box-shadow:var(--app-shadow)}
.customer-body .section-heading{margin-bottom:15px;gap:10px}
.customer-body .section-heading>span{width:33px;height:33px;border-radius:8px;font-size:11px}
.customer-body .section-heading h2{margin-bottom:3px;font-size:16px;color:#111}
.customer-body .section-heading p{font-size:10.5px;line-height:1.55;color:var(--ui-muted)}
.customer-body .form-grid{gap:11px}
.customer-body .product-item{padding:13px;border:1px solid var(--ui-border);border-radius:10px;background:#fbfcfc;box-shadow:none}
.customer-body .item-card-head{margin-bottom:10px}
.customer-body .item-number{padding-left:10px;gap:2px}.customer-body .item-number span{font-size:9px}.customer-body .item-number strong{font-size:17px}
.customer-body .product-grid{gap:9px}
.customer-body .field.read-only output{min-height:40px;border-radius:8px;background:#f1f4f4;font-size:12px;color:#4b565b}
.customer-body .quantity-summary{margin-top:11px;padding:11px 13px;border:1px solid var(--ui-border);border-radius:9px;color:#111;background:#f8faf9}
.customer-body .quantity-summary span{color:var(--ui-muted);font-size:9.5px}.customer-body .quantity-summary strong{font-size:14px;color:#111}
.customer-body .submit-row{padding:14px 16px;border-radius:11px;box-shadow:var(--app-shadow)}
.customer-body .submit-row>div strong{font-size:14px}.customer-body .submit-row>div span{font-size:10px}
.customer-body .public-footer{padding:22px 0}.customer-body .public-footer p{font-size:9.5px}

@media screen and (max-width:1320px){
  body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(0,1fr)}
  body:not(.mas-design) .tab-requests .requests-list{max-height:340px}
}
@media screen and (max-width:900px){
  .admin-shell{grid-template-columns:minmax(0,1fr)}
  .admin-content{padding:18px 16px 38px}
  .admin-topbar{padding:0 15px}
  .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customer-body .form-card{padding:14px}
  .customer-body .quote-hero{padding-top:34px}
}
@media screen and (max-width:700px){
  body{font-size:13px}
  .admin-topbar{height:60px;gap:8px}.admin-topbar>div span{display:none}
  .admin-content{padding:14px 10px 30px}
  .admin-page-title h1,.home-head h1{font-size:20px}
  .admin-card,body:not(.mas-design) .tab-requests .review-panel{padding:12px}
  .push-onboarding{grid-template-columns:34px minmax(0,1fr)}
  .push-onboarding-icon{width:34px;height:34px}.push-onboarding>.button{grid-column:1/-1;width:100%}
  .customer-body .quote-hero h1{font-size:30px}
  .customer-body .quote-hero p{font-size:12px}
  .customer-body .section-heading.with-action{display:grid;grid-template-columns:33px minmax(0,1fr)}
  .customer-body .section-heading.with-action>.button{grid-column:1/-1;width:100%}
  .customer-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
  .customer-body .submit-row{align-items:stretch;flex-direction:column}.customer-body .submit-row .button{width:100%}
}
@media screen and (max-width:480px){
  .home-kpis{grid-template-columns:minmax(0,1fr)}
  .home-kpis>a,.home-kpis>a:last-child{min-height:60px;padding:10px 12px}
  .home-kpis strong{font-size:22px}
  .home-recent-row{align-items:flex-start}.home-recent-side{flex:0 0 auto}
  body:not(.mas-design) .tab-requests .review-head{align-items:stretch}
  body:not(.mas-design) .tab-requests .review-title-block h2{font-size:18px}
  body:not(.mas-design) .tab-requests .request-primary-actions,body:not(.mas-design) .tab-requests .issued-action-bar{bottom:max(6px,env(safe-area-inset-bottom))}
  .customer-body .form-wrap{margin-top:-34px}
  .customer-body .form-card{padding:12px}
  .customer-body .section-heading{margin-bottom:12px}
  .customer-body .product-item{padding:10px}
}

/* v1.11.2 — Compact Modern UI: dense, calm, flat and consistent. */
:root{
  --modern-bg:#f5f7f8;
  --modern-surface:#ffffff;
  --modern-soft:#f8fafb;
  --modern-line:#e4e9eb;
  --modern-line-strong:#d7dfe2;
  --modern-text:#172126;
  --modern-muted:#6f7c82;
  --modern-radius:9px;
  --modern-radius-sm:7px;
  --modern-control:36px;
  --modern-gap:10px;
  --sidebar-width:218px;
  --topbar-height:58px;
  --card-padding:13px;
  --card-radius:9px;
  --field-radius:7px;
  --button-radius:7px;
  --control-height:36px;
  --app-shadow:none;
  --shadow:none;
}
html,body{font-family:Arial,sans-serif!important}
body{background:var(--modern-bg);color:var(--modern-text);font-size:13px;line-height:1.45}

/* Frame */
.admin-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.admin-sidebar{padding:14px 10px 10px;background:#102f37}
.sidebar-brand{min-height:50px;padding:0 5px 12px}
.sidebar-brand .brand-logo-image{max-width:82px;height:36px}
.admin-nav{margin-top:12px;gap:3px}
.admin-nav a{min-height:36px;padding:0 10px;gap:9px;border-radius:7px;font-size:11.5px;font-weight:700}
.admin-nav a i{width:6px;height:6px;border-width:1.5px}
.sidebar-user{padding:10px 4px 0;grid-template-columns:30px minmax(0,1fr) 28px;gap:7px}
.sidebar-user .avatar{width:30px;height:30px;border-radius:8px;font-size:11px}
.sidebar-user strong{font-size:10.5px}.sidebar-user small{font-size:8.5px}
.admin-topbar{height:var(--topbar-height);padding:0 18px;gap:10px;border-bottom:1px solid var(--modern-line);box-shadow:none;background:rgba(255,255,255,.97)}
.admin-topbar>div{gap:1px}.admin-topbar>div strong{font-size:13px}.admin-topbar>div span{font-size:9px}
.topbar-user-chip{padding:5px 8px!important;border-radius:7px!important;font-size:10px!important}
.admin-content{width:min(1580px,100%);padding:18px 18px 36px}
.admin-page-title{margin-bottom:10px;gap:12px}
.admin-page-title h1{font-size:19px!important;line-height:1.2}
.admin-page-title p{font-size:10px}

/* Common cards, fields and actions */
.admin-card,.requests-panel,.review-panel,.form-card,.content-editor-section,.catalog-table-card,.report-section,.appearance-presets-card,.user-editor-card,.users-current-card{
  border:1px solid var(--modern-line)!important;border-radius:var(--modern-radius)!important;background:var(--modern-surface)!important;box-shadow:none!important
}
.admin-card{padding:13px}
.card-title-row{margin-bottom:10px!important;gap:8px!important}.card-title-row h2,.admin-card h2{font-size:14px!important}.card-title-row p{font-size:10px!important}
.button,.share-button{min-height:34px;padding:5px 11px;border-radius:7px;font-size:11.5px;gap:6px;box-shadow:none!important}
.button-large{min-height:38px;padding-inline:14px}
.admin-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,textarea),
.customer-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),select,textarea){
  min-height:36px;padding:6px 9px;border-radius:7px;border-color:var(--modern-line-strong);font-size:12px
}
.admin-body textarea,.customer-body textarea{min-height:66px}
.field{gap:4px}.field>span,.mini-form label>span,.settings-form label>span,.settings-textareas label>span,.type-edit-form label>span{font-size:10.5px;color:#4f5b61}
.notice,.restricted-note{margin-bottom:9px;padding:9px 11px;border-radius:8px;font-size:10.5px;line-height:1.5}
.status-chip{min-height:21px;padding:1px 7px;font-size:9.5px;line-height:18px}
.empty-state,.empty-review{padding:24px 14px!important;font-size:11px!important}

/* Home — compact metric strip */
.home-dashboard{gap:10px}
.home-head{min-height:38px;gap:10px}
.home-head h1{font-size:19px!important}.home-head span{margin-top:2px;font-size:9.5px}
.home-quick-actions{gap:5px}.home-quick-actions .button{min-height:32px}
.home-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.home-kpis>a{min-height:64px;padding:9px 11px;border:1px solid var(--modern-line);border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;background:#fff;box-shadow:none!important}
.home-kpis>a:hover{background:#fafcfc;border-color:#cbd6d9}
.home-kpis span{font-size:10px;font-weight:700;color:var(--modern-muted)}
.home-kpis strong{margin:0;font-size:21px;line-height:1;color:#15272d}
.home-kpis .needs-attention{background:#fffaf0;border-color:#ead9a8}
.home-recent-card{border-radius:8px!important}
.home-section-head{padding:9px 11px}.home-section-head h2{font-size:13px}.home-section-head a{font-size:9.5px}
.home-recent-row{min-height:49px;padding:7px 11px;gap:9px}
.home-recent-row strong{font-size:11.5px}.home-recent-row span:not(.status-chip){font-size:9.5px}.home-recent-side small{font-size:8.5px}

/* Requests — desktop workbench */
body:not(.mas-design) .tab-requests .admin-page-title{margin-bottom:7px}
.push-onboarding{min-height:48px;margin:0 0 8px;padding:7px 9px;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;border-radius:8px;box-shadow:none!important}
.push-onboarding-icon{width:30px;height:30px;border-radius:7px}.push-onboarding-icon svg{width:17px;height:17px}
.push-onboarding strong{font-size:10.5px}.push-onboarding p{margin-top:1px;font-size:9px}.push-onboarding .button{min-height:30px;font-size:10.5px}
body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(270px,310px) minmax(0,1fr);gap:9px}
body:not(.mas-design) .tab-requests .requests-panel{border-radius:8px!important}
.requests-panel-head{min-height:43px!important;padding:7px 9px!important}
.requests-panel-head>div:first-child strong{font-size:12px}
.requests-panel-head .request-view-toggle button{min-height:25px!important;padding:0 7px!important;font-size:9.5px!important}
body:not(.mas-design) .tab-requests .panel-toolbar{padding:7px;gap:5px;background:#fafbfb}
body:not(.mas-design) .tab-requests .panel-toolbar input,body:not(.mas-design) .tab-requests .panel-toolbar select{min-height:32px;height:32px;padding:0 8px;font-size:10px;border-radius:6px}
body:not(.mas-design) .tab-requests .panel-toolbar .button{min-height:28px;font-size:9.5px}
body:not(.mas-design) .tab-requests .requests-list{max-height:calc(100vh - 188px);padding:3px!important;background:#f7f9f9!important}
body:not(.mas-design) .tab-requests .request-card{min-height:0!important;border-radius:6px!important;margin:0 0 3px!important;border:1px solid transparent!important;border-inline-start-width:3px!important;background:#fff!important}
body:not(.mas-design) .tab-requests .request-card:hover{border-color:#dbe3e5!important}
body:not(.mas-design) .tab-requests .request-card.active{border-color:#b9ddd7!important;background:#f0faf8!important;box-shadow:none!important}
body:not(.mas-design) .tab-requests .request-card-main{padding:8px 9px;gap:3px}
body:not(.mas-design) .tab-requests .request-card-top strong{font-size:11.5px!important}body:not(.mas-design) .tab-requests .request-card-customer{font-size:9.5px!important}body:not(.mas-design) .tab-requests .request-card-meta{gap:3px 6px!important}body:not(.mas-design) .tab-requests .request-card-meta small,body:not(.mas-design) .tab-requests .request-card-meta time{font-size:8.7px!important}
body:not(.mas-design) .tab-requests .review-panel{padding:12px!important;border-radius:8px!important}
body:not(.mas-design) .tab-requests .review-head{min-height:0;margin-bottom:9px;padding:0 0 9px!important;gap:9px;border-bottom:1px solid var(--modern-line)}
body:not(.mas-design) .tab-requests .review-title-block h2{margin:3px 0 2px;font-size:17px!important}body:not(.mas-design) .tab-requests .review-title-block p{font-size:9.5px!important}body:not(.mas-design) .tab-requests .review-kicker{gap:5px}body:not(.mas-design) .tab-requests .review-kicker>span:last-child{font-size:9.5px!important}
body:not(.mas-design) .tab-requests .review-head-side{gap:5px}body:not(.mas-design) .tab-requests .review-head-side>.button{min-height:30px;font-size:10px}
body:not(.mas-design) .tab-requests .quote-serial{min-width:120px;padding:6px 8px;border-radius:6px}body:not(.mas-design) .tab-requests .quote-serial span{font-size:8.5px!important}body:not(.mas-design) .tab-requests .quote-serial strong{font-size:10.5px!important}
body:not(.mas-design) .tab-requests .request-section-heading{margin-top:11px;margin-bottom:5px;padding:0!important;min-height:24px}body:not(.mas-design) .tab-requests .request-section-heading h3{font-size:12.5px!important}body:not(.mas-design) .tab-requests .request-section-heading span{font-size:9px!important}
body:not(.mas-design) .tab-requests .customer-info-grid{margin-top:7px;gap:1px;border:1px solid var(--modern-line);border-radius:7px;overflow:hidden;background:var(--modern-line)}
body:not(.mas-design) .tab-requests .customer-info-grid>div{min-height:45px;padding:6px 8px!important;background:#fff}body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:8.7px!important}body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:10.8px!important;line-height:1.3!important}
body:not(.mas-design) .tab-requests .request-items-table{border-radius:7px!important}body:not(.mas-design) .tab-requests .request-items-table th{height:29px!important;padding:4px 6px!important;font-size:9.3px!important}body:not(.mas-design) .tab-requests .request-items-table td{padding:4px 5px!important;font-size:10.5px!important;line-height:1.3}body:not(.mas-design) .tab-requests .request-spec-cell>strong,body:not(.mas-design) .tab-requests .request-locked-type-name{font-size:10.8px!important}body:not(.mas-design) .tab-requests .request-spec-cell>[data-request-code],body:not(.mas-design) .tab-requests .request-spec-cell>span,body:not(.mas-design) .tab-requests .request-spec-cell>small{font-size:8.7px!important}
body:not(.mas-design) .tab-requests .request-items-table .table-field select,body:not(.mas-design) .tab-requests .request-items-table input{min-height:29px!important;height:29px!important;padding:3px 6px!important;font-size:10.5px!important;border-radius:5px}
body:not(.mas-design) .tab-requests .request-adjustments{gap:6px!important}body:not(.mas-design) .tab-requests .request-adjustments>label span{font-size:9.5px!important}body:not(.mas-design) .tab-requests .request-adjustments input{min-height:31px!important;height:31px!important;font-size:10.5px}
body:not(.mas-design) .tab-requests .request-grand-total{min-height:48px!important;padding:6px 8px!important;border-radius:7px!important}body:not(.mas-design) .tab-requests .request-grand-total span{font-size:9.5px!important}body:not(.mas-design) .tab-requests .request-grand-total strong{font-size:16px!important}body:not(.mas-design) .tab-requests .request-grand-total small{font-size:8.5px!important;line-height:1.25}
.request-primary-actions,.issued-action-bar{bottom:6px;margin-top:8px;padding:6px!important;gap:5px!important;border-radius:8px!important;box-shadow:0 4px 14px rgba(18,52,61,.07)!important}
.request-primary-actions .button,.issued-action-bar .button,.issued-action-bar .share-button{min-height:34px!important;font-size:10.5px!important}
.followup-alert{margin:8px 0;padding:8px 9px;border-radius:7px;gap:7px}.followup-alert strong{font-size:10.5px}.followup-alert span{font-size:9px}
.quote-autosave-state,.last-price-hint{font-size:8.7px!important}

/* Tables and secondary modules */
.mas-table,.catalog-table,.report-table,.activity-table{font-size:10.5px}
.mas-table th,.catalog-table th,.report-table th,.activity-table th{height:31px;padding:5px 7px!important;font-size:9.5px!important;background:#f7f9f9!important}
.mas-table td,.catalog-table td,.report-table td,.activity-table td{padding:6px 7px!important;font-size:10.5px!important;line-height:1.35}
.settings-grid,.users-grid,.reports-grid,.appearance-designer-grid{gap:9px!important}
.permissions-box,.permission-group-card,.user-account-card,.report-kpi-grid>article{padding:9px!important;border-radius:7px!important;box-shadow:none!important}
.report-kpi-grid{gap:7px!important}.report-kpi-grid article{min-height:62px!important}.report-kpi-grid span{font-size:9.5px!important}.report-kpi-grid strong{font-size:17px!important}.report-kpi-grid small{font-size:9px!important}

/* Notifications */
.notification-bell{width:34px!important;height:34px!important;min-width:34px!important;border-radius:7px!important}.notification-bell svg{width:17px!important;height:17px!important}.notification-badge{min-width:17px;height:17px;font-size:8px}
.notification-panel{border-radius:9px!important}.notification-panel>header{min-height:48px!important;padding:8px 10px!important}.notification-panel>header strong{font-size:11.5px!important}.notification-panel>header span{font-size:8.5px!important}.notification-item{min-height:60px!important;padding:8px 9px!important;grid-template-columns:28px minmax(0,1fr)!important;gap:7px!important}.notification-item-icon{width:28px!important;height:28px!important;border-radius:7px!important}.notification-item-copy strong{font-size:10.5px!important}.notification-item-copy>span{font-size:9px!important}.notification-item-copy small{font-size:8px!important}

/* Customer form — compact modern without shrinking readability */
.customer-body .public-header{height:60px}.customer-body .brand-logo-image{height:40px;max-width:100px}.customer-body .quote-hero{padding:32px 0 62px}.customer-body .quote-hero h1{margin:6px 0 8px;font-size:clamp(26px,3.6vw,40px)}.customer-body .quote-hero p{font-size:12px;line-height:1.6}.customer-body .hero-points{margin-top:14px;gap:6px}.customer-body .hero-points span{padding:5px 9px;font-size:9px}
.customer-body .form-wrap{margin-top:-32px;padding-bottom:34px}.customer-body .request-form{gap:9px}.customer-body .form-card{padding:13px!important;border-radius:9px!important}.customer-body .section-heading{margin-bottom:10px;gap:8px}.customer-body .section-heading>span{width:28px;height:28px;border-radius:7px;font-size:10px}.customer-body .section-heading h2{font-size:14px}.customer-body .section-heading p{font-size:9.5px}.customer-body .form-grid{gap:8px}.customer-body .product-item{padding:10px!important;border-radius:8px!important;gap:10px;background:#fbfcfc!important}.customer-body .item-card-head{margin-bottom:7px}.customer-body .product-grid{gap:7px}.customer-body .quantity-summary{margin-top:8px;padding:8px 10px;border-radius:7px}.customer-body .submit-row{padding:10px 12px;border-radius:8px;box-shadow:none!important}.customer-body .submit-row>div strong{font-size:12.5px}.customer-body .submit-row>div span{font-size:9.5px}

/* Responsive */
@media screen and (max-width:1280px){
  body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:280px minmax(0,1fr)}
}
@media screen and (max-width:1120px){
  body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(0,1fr)}
  body:not(.mas-design) .tab-requests .requests-list{max-height:300px}
}
@media screen and (max-width:900px){
  :root{--sidebar-width:0px}
  .admin-shell{grid-template-columns:minmax(0,1fr)}
  .admin-topbar{height:54px;padding:0 11px}.admin-content{padding:12px 10px 28px}
  .home-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-kpis>a:last-child:nth-child(5){grid-column:auto}
  .customer-body .form-card{padding:11px!important}
}
@media screen and (max-width:620px){
  body{font-size:12.5px}
  .admin-topbar{height:52px}.admin-topbar>.button{display:none}.admin-content{padding:9px 7px 24px}
  .admin-page-title h1,.home-head h1{font-size:18px!important}
  .home-head{align-items:stretch;flex-direction:column}.home-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.home-quick-actions .button{padding-inline:5px;font-size:10px}
  .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.home-kpis>a,.home-kpis>a:last-child{min-height:54px;padding:7px 9px}.home-kpis span{font-size:9.5px}.home-kpis strong{font-size:19px}
  .home-recent-row{min-height:45px;padding:6px 8px}.home-recent-row strong{font-size:10.5px}.home-recent-row span:not(.status-chip){font-size:8.7px}
  .push-onboarding{grid-template-columns:28px minmax(0,1fr)}.push-onboarding>.button{grid-column:1/-1;width:100%}
  body:not(.mas-design) .tab-requests .review-panel{padding:9px!important}body:not(.mas-design) .tab-requests .review-head{align-items:stretch}body:not(.mas-design) .tab-requests .review-head-side{width:100%}body:not(.mas-design) .tab-requests .review-head-side>.button{flex:1}body:not(.mas-design) .tab-requests .quote-serial{width:100%;min-width:0}
  .request-mobile-actions{display:flex}.requests-panel .request-view-toggle{display:none}.requests-panel .requests-table-wrap{display:none!important}.requests-panel .requests-list{display:block!important;max-height:none}
  .customer-info-grid{grid-template-columns:minmax(0,1fr)!important}.customer-info-grid .wide{grid-column:auto!important}
  .request-primary-actions,.issued-action-bar{grid-template-columns:minmax(0,1fr)!important}
  .customer-body .quote-hero{padding:26px 0 52px}.customer-body .quote-hero h1{font-size:26px}.customer-body .form-wrap{margin-top:-26px}.customer-body .form-card{padding:9px!important}.customer-body .product-item{padding:8px!important}
  .customer-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
}
@media screen and (max-width:390px){
  .home-kpis{grid-template-columns:1fr 1fr}.home-kpis>a{grid-template-columns:1fr auto}
  .home-quick-actions{grid-template-columns:1fr 1fr}.home-quick-actions .button:first-child{grid-column:1/-1}
}


/* ==========================================================================
   NARGIS 1.11.3 — Requests & Quotes Workbench
   Final module-only organization layer. No business logic changes.
   ========================================================================== */
body:not(.mas-design) .tab-requests .request-module-title{margin-bottom:8px}
body:not(.mas-design) .tab-requests .request-module-title h1{font-size:18px!important}
body:not(.mas-design) .tab-requests .request-module-title p{margin:2px 0 0;font-size:9.5px;color:var(--muted)}
body:not(.mas-design) .tab-requests .push-onboarding{min-height:42px;margin-bottom:7px;padding:6px 8px;background:#f8fbfb;border-color:#e1eaec}
body:not(.mas-design) .tab-requests .push-onboarding-icon{width:27px;height:27px}body:not(.mas-design) .tab-requests .push-onboarding p{display:none}

body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(285px,325px) minmax(0,1fr);gap:10px;align-items:start}
body:not(.mas-design) .tab-requests .requests-panel{position:sticky;top:72px;overflow:hidden}
body:not(.mas-design) .tab-requests .requests-panel-head{min-height:44px!important;padding:7px 9px!important;background:#fff;border-bottom:0}
.requests-panel-title{display:flex!important;align-items:baseline!important;gap:7px!important}
.requests-panel-title strong{font-size:12.5px!important}.requests-panel-title small{font-size:8.5px;color:var(--muted);font-weight:600}
.requests-count{height:25px;min-width:25px;border-radius:6px;font-size:9.5px}
.request-view-toggle{border-radius:6px}.requests-panel-head .request-view-toggle button{min-height:24px!important;padding:0 7px!important;font-size:9px!important}

.request-quick-filters{padding:0 7px 6px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;background:#fff;border-bottom:1px solid var(--modern-line)}
.request-quick-filters::-webkit-scrollbar{display:none}
.request-quick-filters a{flex:0 0 auto;min-height:26px;padding:0 8px;display:inline-flex;align-items:center;border:1px solid transparent;border-radius:6px;color:#66757b;background:#f6f8f8;font-size:9px;font-weight:700;text-decoration:none;white-space:nowrap}
.request-quick-filters a:hover{color:var(--primary);background:#eef5f4}.request-quick-filters a.active{color:#fff;background:var(--primary);border-color:var(--primary)}
body:not(.mas-design) .tab-requests .requests-toolbar{grid-template-columns:minmax(0,1fr) 92px auto!important;padding:6px 7px!important;border-bottom:1px solid var(--modern-line);background:#fbfcfc}
body:not(.mas-design) .tab-requests .requests-toolbar .requests-search input,body:not(.mas-design) .tab-requests .requests-toolbar .requests-status select{height:31px!important;min-height:31px!important;font-size:9.5px!important}
body:not(.mas-design) .tab-requests .requests-toolbar .requests-search-button{min-height:31px!important;height:31px;padding-inline:9px;font-size:9.5px!important}
body:not(.mas-design) .tab-requests .requests-clear{grid-column:1/-1;font-size:8.5px}

body:not(.mas-design) .tab-requests .requests-list{max-height:calc(100vh - 228px);padding:0!important;background:#fff!important}
body:not(.mas-design) .tab-requests .request-card{margin:0!important;border:0!important;border-bottom:1px solid #edf1f2!important;border-inline-start:3px solid transparent!important;border-radius:0!important;background:#fff!important}
body:not(.mas-design) .tab-requests .request-card:hover{background:#f9fbfb!important}body:not(.mas-design) .tab-requests .request-card.active{background:#eef8f6!important;border-inline-start-color:var(--accent)!important;box-shadow:none!important}
body:not(.mas-design) .tab-requests .request-card-main{padding:8px 9px!important;gap:3px!important}
body:not(.mas-design) .tab-requests .request-card-top strong{max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px!important;color:#182b31}
body:not(.mas-design) .tab-requests .request-card-subline{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
body:not(.mas-design) .tab-requests .request-card-subline .request-card-customer{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px!important;color:#65757b!important}
body:not(.mas-design) .tab-requests .request-card-subline time{flex:0 0 auto;font-size:8.5px;color:#829095;direction:ltr}
body:not(.mas-design) .tab-requests .request-card-meta{margin-top:1px;gap:4px 7px!important}body:not(.mas-design) .tab-requests .request-card-ref{font-weight:800;color:#42565d!important;direction:ltr}
body:not(.mas-design) .tab-requests .request-card-total{margin-inline-start:auto;color:#173d43!important;font-size:9.3px!important}
body:not(.mas-design) .tab-requests .followup-chip{padding:1px 5px;border-radius:5px;background:#fff4dd;color:#8a6200!important}

body:not(.mas-design) .tab-requests .review-panel{padding:0!important;overflow:hidden;background:#fff!important}
body:not(.mas-design) .tab-requests .request-workbench-head{margin:0!important;padding:11px 13px!important;align-items:center;background:#fbfcfc;border-bottom:1px solid var(--modern-line)!important}
body:not(.mas-design) .tab-requests .review-title-block h2{margin:3px 0 2px!important;font-size:16px!important}body:not(.mas-design) .tab-requests .review-title-block p{margin:0;display:flex;align-items:center;gap:5px;font-size:9.5px!important;color:var(--muted)}
body:not(.mas-design) .tab-requests .review-title-block p strong{color:#475a61;font-weight:700}body:not(.mas-design) .tab-requests .request-reference{font-size:9px!important;color:#6d7c81!important;font-weight:700}
body:not(.mas-design) .tab-requests .review-head-side{gap:5px!important}body:not(.mas-design) .tab-requests .review-head-side>.button{min-height:29px!important;padding-inline:9px;font-size:9.5px!important}
body:not(.mas-design) .tab-requests .quote-serial{min-width:116px;padding:5px 8px!important;background:#fff!important;border:1px solid #dce5e7!important}body:not(.mas-design) .tab-requests .quote-serial span{font-size:8px!important}body:not(.mas-design) .tab-requests .quote-serial strong{font-size:10.5px!important}

body:not(.mas-design) .tab-requests .review-panel>.restricted-note,body:not(.mas-design) .tab-requests .review-panel>.notice,body:not(.mas-design) .tab-requests .review-panel>details,body:not(.mas-design) .tab-requests .review-panel>p,body:not(.mas-design) .tab-requests .review-panel>.followup-alert,body:not(.mas-design) .tab-requests .review-panel>.issued-actions,body:not(.mas-design) .tab-requests .review-panel>.unissue-row,body:not(.mas-design) .tab-requests .review-panel>.danger-row,body:not(.mas-design) .tab-requests .review-panel>.request-more-actions{margin-left:13px;margin-right:13px}
body:not(.mas-design) .tab-requests .request-section-heading{margin:0 13px!important;padding:12px 0 5px!important;min-height:0;border-bottom:0!important}
body:not(.mas-design) .tab-requests .request-section-heading h3{font-size:11.5px!important;letter-spacing:0}body:not(.mas-design) .tab-requests .request-section-heading span{font-size:8.5px!important}
body:not(.mas-design) .tab-requests .customer-info-grid{margin:0 13px 3px!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;border:1px solid var(--modern-line)!important;border-radius:7px!important;background:#fff!important}
body:not(.mas-design) .tab-requests .customer-info-grid>div{min-height:43px!important;padding:6px 8px!important;border-inline-start:1px solid var(--modern-line);background:#fff!important}body:not(.mas-design) .tab-requests .customer-info-grid>div:first-child{border-inline-start:0}body:not(.mas-design) .tab-requests .customer-info-grid>div.wide{grid-column:1/-1;border-top:1px solid var(--modern-line);border-inline-start:0}
body:not(.mas-design) .tab-requests .customer-info-grid span{font-size:8px!important;color:#839096}body:not(.mas-design) .tab-requests .customer-info-grid strong{font-size:10.5px!important;color:#273a40}
body:not(.mas-design) .tab-requests .customer-note{margin:7px 13px 0;padding:7px 9px;border:1px solid #e6ecee;border-radius:7px;background:#fafcfc}body:not(.mas-design) .tab-requests .customer-note span{font-size:8.5px}body:not(.mas-design) .tab-requests .customer-note p{margin:2px 0 0;font-size:10px}

body:not(.mas-design) .tab-requests .quote-review-form{padding-bottom:0}body:not(.mas-design) .tab-requests .quote-review-form .request-section-heading{margin-inline:13px!important}
body:not(.mas-design) .tab-requests .price-table-wrap{margin:0 13px;overflow:auto;border:1px solid var(--modern-line);border-radius:7px}
body:not(.mas-design) .tab-requests .request-items-table{margin:0!important;border:0!important;border-radius:0!important}body:not(.mas-design) .tab-requests .request-items-table th{height:28px!important;background:#f5f7f7!important;font-size:9px!important}body:not(.mas-design) .tab-requests .request-items-table td{padding:4px 5px!important;font-size:10.2px!important}
body:not(.mas-design) .tab-requests .request-adjustments{margin:0 13px!important;display:grid;grid-template-columns:repeat(4,minmax(90px,.75fr)) minmax(190px,1.35fr)!important;gap:5px!important}
body:not(.mas-design) .tab-requests .request-adjustments>label{min-width:0}body:not(.mas-design) .tab-requests .request-adjustments>label span{font-size:8.7px!important}body:not(.mas-design) .tab-requests .request-adjustments input{height:30px!important;min-height:30px!important}
body:not(.mas-design) .tab-requests .request-grand-total{min-height:45px!important;padding:5px 8px!important;background:#f4f9f8!important;border-color:#d7e7e4!important}body:not(.mas-design) .tab-requests .request-grand-total strong{font-size:15px!important}body:not(.mas-design) .tab-requests .request-grand-total small{font-size:8px!important}
body:not(.mas-design) .tab-requests .request-sales-notes{margin:7px 13px 0!important}body:not(.mas-design) .tab-requests .request-sales-notes>span{font-size:9px!important}body:not(.mas-design) .tab-requests .request-sales-notes textarea{min-height:54px!important}
body:not(.mas-design) .tab-requests .quote-autosave-state{margin:4px 13px 0;font-size:8.5px;color:#718087}
body:not(.mas-design) .tab-requests .request-primary-actions{margin:8px 13px 11px!important;padding:6px!important;position:sticky;bottom:6px;border-radius:8px!important;background:rgba(255,255,255,.96)!important}body:not(.mas-design) .tab-requests .request-primary-actions .button{min-height:33px!important;font-size:10px!important}body:not(.mas-design) .tab-requests .request-primary-actions .button-primary{min-width:128px}

body:not(.mas-design) .tab-requests .followup-alert{margin-top:8px!important;padding:8px 10px;border-radius:7px}body:not(.mas-design) .tab-requests .issued-action-bar{margin-top:8px!important;padding:7px 8px!important;display:flex;align-items:center;flex-wrap:wrap;gap:5px;background:#f8fbfb!important}body:not(.mas-design) .tab-requests .issued-action-bar>div{margin-inline-end:auto}body:not(.mas-design) .tab-requests .issued-action-bar .button,body:not(.mas-design) .tab-requests .issued-action-bar .share-button{min-height:31px!important;padding-inline:9px;font-size:9.5px!important}
body:not(.mas-design) .tab-requests .request-more-actions{margin-top:8px!important;margin-bottom:10px!important;border:1px solid var(--modern-line);border-radius:7px;background:#fff}
body:not(.mas-design) .tab-requests .request-more-actions summary{padding:7px 9px;cursor:pointer;color:#64757b;font-size:9.5px;font-weight:700;list-style:none}body:not(.mas-design) .tab-requests .request-more-actions summary::-webkit-details-marker{display:none}body:not(.mas-design) .tab-requests .request-more-actions summary::after{content:'＋';float:left;color:#829096}body:not(.mas-design) .tab-requests .request-more-actions[open] summary::after{content:'−'}
body:not(.mas-design) .tab-requests .request-more-actions-menu{padding:7px;border-top:1px solid var(--modern-line);display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:#fafbfb}body:not(.mas-design) .tab-requests .request-more-actions-menu form{margin:0!important}body:not(.mas-design) .tab-requests .request-more-actions-menu .button{min-height:30px;font-size:9.5px}body:not(.mas-design) .tab-requests .request-more-actions-menu .text-danger{min-height:30px;padding:0 8px;border:0;background:transparent;font-size:9.5px}

@media screen and (max-width:1280px){body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:280px minmax(0,1fr)}}
@media screen and (max-width:1120px){body:not(.mas-design) .tab-requests .workspace-grid{grid-template-columns:minmax(0,1fr)}body:not(.mas-design) .tab-requests .requests-panel{position:static}body:not(.mas-design) .tab-requests .requests-list{max-height:290px}body:not(.mas-design) .tab-requests .request-adjustments{grid-template-columns:repeat(4,minmax(90px,1fr))!important}body:not(.mas-design) .tab-requests .request-grand-total{grid-column:1/-1}}
@media screen and (max-width:760px){body:not(.mas-design) .tab-requests .request-module-title p{display:none}.request-quick-filters{padding-bottom:5px}body:not(.mas-design) .tab-requests .requests-toolbar{grid-template-columns:minmax(0,1fr) 84px!important}body:not(.mas-design) .tab-requests .requests-toolbar .requests-search-button{display:none}body:not(.mas-design) .tab-requests .customer-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.mas-design) .tab-requests .customer-info-grid>div:nth-child(odd){border-inline-start:0}body:not(.mas-design) .tab-requests .customer-info-grid>div:nth-child(n+3){border-top:1px solid var(--modern-line)}body:not(.mas-design) .tab-requests .request-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:not(.mas-design) .tab-requests .request-grand-total{grid-column:1/-1}body:not(.mas-design) .tab-requests .price-table-wrap{margin-inline:9px}body:not(.mas-design) .tab-requests .request-section-heading,body:not(.mas-design) .tab-requests .customer-info-grid,body:not(.mas-design) .tab-requests .customer-note,body:not(.mas-design) .tab-requests .request-adjustments,body:not(.mas-design) .tab-requests .request-sales-notes,body:not(.mas-design) .tab-requests .quote-autosave-state,body:not(.mas-design) .tab-requests .request-primary-actions{margin-left:9px!important;margin-right:9px!important}body:not(.mas-design) .tab-requests .request-workbench-head{padding:9px!important}}
@media screen and (max-width:480px){body:not(.mas-design) .tab-requests .review-head-side{display:grid!important;grid-template-columns:1fr 1fr;width:100%}body:not(.mas-design) .tab-requests .quote-serial{grid-column:1/-1;width:100%}body:not(.mas-design) .tab-requests .request-card-main{padding:9px!important}body:not(.mas-design) .tab-requests .request-adjustments{grid-template-columns:1fr 1fr!important}body:not(.mas-design) .tab-requests .request-grand-total{grid-column:1/-1}body:not(.mas-design) .tab-requests .request-primary-actions{display:grid;grid-template-columns:1fr 1fr}body:not(.mas-design) .tab-requests .request-primary-actions .button{width:100%;min-width:0}}

/* ==========================================================================
   Customer quotation full-hero photo slider · v1.13.3
   The slider fills the complete quotation hero and changes by fade only.
   ========================================================================== */
.customer-body .quote-hero-with-slider {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #173d43;
}
.customer-body .quote-hero-with-slider::before,
.customer-body .quote-hero-with-slider::after { display: none; }

.customer-body .quote-hero-with-slider > .customer-language-bar,
.customer-body .quote-hero-with-slider > .hero-grid {
  position: relative;
  z-index: 3;
}
.customer-body .hero-grid-with-slider {
  width: 100%;
  max-width: 1180px;
  grid-template-columns: minmax(0, 820px);
  gap: 0;
  align-items: center;
}
.customer-body .customer-hero-content { min-width: 0; }

.customer-photo-slider.customer-photo-slider-hero {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #173d43;
  box-shadow: none;
  isolation: isolate;
}
.customer-photo-slider-track,
.customer-photo-slide { position: absolute; inset: 0; }
.customer-photo-slide {
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 1.05s ease-in-out, visibility 1.05s linear;
  will-change: opacity;
}
.customer-photo-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.customer-photo-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: none;
}
.customer-photo-slider-shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: rgba(7, 31, 38, .58);
}

/* The public hero remains readable even when the general appearance uses a light hero. */
.app-hero-light .quote-hero-with-slider,
.app-hero-light .quote-hero-with-slider :is(h1,h2,strong) { color: #fff; }
.app-hero-light .quote-hero-with-slider { background: #173d43; }
.app-hero-light .quote-hero-with-slider h1 em { color: #71d9cf; }
.app-hero-light .quote-hero-with-slider p { color: rgba(255,255,255,.84); }

.customer-photo-slider-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,.50);
  border-radius: 6px;
  background: rgba(7,31,38,.44);
  color: #fff;
  font: 700 24px/1 Arial, sans-serif;
  cursor: pointer;
  opacity: .88;
  box-shadow: none;
  transition: background-color .18s ease, opacity .18s ease, border-color .18s ease;
}
.customer-photo-slider-arrow:hover,
.customer-photo-slider-arrow:focus-visible {
  background: rgba(7,31,38,.76);
  border-color: rgba(255,255,255,.76);
  opacity: 1;
}
.customer-photo-slider-arrow.is-prev { inset-inline-start: 14px; }
.customer-photo-slider-arrow.is-next { inset-inline-end: 14px; }
.customer-photo-slider-dots {
  position: absolute;
  z-index: 4;
  inset-inline: 0;
  bottom: 12px;
  display: flex;
  justify-content: center;
  gap: 6px;
}
.customer-photo-slider-dots button {
  width: 7px;
  height: 7px;
  min-width: 7px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 50%;
  background: rgba(255,255,255,.34);
  cursor: pointer;
  box-shadow: none;
  transition: width .18s ease, background-color .18s ease;
}
.customer-photo-slider-dots button.is-active {
  width: 20px;
  border-radius: 999px;
  background: #fff;
}

@media (max-width: 920px) {
  .customer-body .hero-grid-with-slider { grid-template-columns: minmax(0, 1fr); }
  .customer-photo-slider-arrow.is-prev { inset-inline-start: 10px; }
  .customer-photo-slider-arrow.is-next { inset-inline-end: 10px; }
}
@media (max-width: 620px) {
  .customer-body .quote-hero-with-slider { padding-bottom: max(54px, calc(var(--hero-padding) * .8)); }
  .customer-photo-slider-shade { background: rgba(7,31,38,.64); }
  .customer-photo-slider-arrow { width: 40px; height: 40px; }
  .customer-photo-slider-dots { bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .customer-photo-slide { transition: none; }
  .customer-photo-slider-dots button { transition: none; }
}

/* ==========================================================================
   Customer quotation hero slider controls · v1.14.0
   Managed images, mobile variants, swipe, focus points and optional CTA.
   ========================================================================== */
.customer-photo-slider-hero{touch-action:pan-y}
.customer-photo-slide picture{position:absolute;inset:0;display:block}
.customer-photo-slide.is-failed{display:none}
.customer-slide-caption{position:absolute;z-index:3;inset-inline-start:max(18px,calc((100vw - min(1180px,calc(100vw - 32px)))/2));bottom:34px;max-width:min(520px,calc(100% - 88px));margin:0;padding:5px 8px;border:1px solid rgba(255,255,255,.28);border-radius:5px;background:rgba(7,31,38,.48);color:#fff;font:700 12px/1.35 Arial,sans-serif;backdrop-filter:none}
.customer-hero-cta{display:inline-flex;width:auto;min-height:36px;margin-top:12px;padding-inline:15px;border-color:rgba(255,255,255,.78);background:#fff;color:#14383f!important;box-shadow:none}
.customer-hero-cta:hover,.customer-hero-cta:focus-visible{background:#f4fbfa;color:#0d2f35!important}
#quotation-request-form{scroll-margin-top:16px}
@media(max-width:620px){.customer-photo-slider-arrow{display:none}.customer-slide-caption{inset-inline-start:12px;bottom:28px;max-width:calc(100% - 24px);font-size:11px}.customer-hero-cta{min-height:42px;margin-top:10px;padding-inline:14px}.customer-photo-slider-dots{pointer-events:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
