:root {
  --ink: #111827;
  --ink-soft: #344054;
  --muted: #667085;
  --line: #d7deea;
  --line-strong: #bac6d8;
  --canvas: #edf2f7;
  --surface: #ffffff;
  --surface-soft: #f7f9fc;
  --accent: #f97316;
  --accent-deep: #c2410c;
  --accent-soft: #fff4e8;
  --ponto-price: #b8470d;
  --good: #087443;
  --danger: #b42318;
  --navy: #101a2e;
  --orange: var(--accent);
  --green-soft: #edf9f1;
  --blue: #2563eb;
  --teal: #0f9b96;
}

/* Administrators review customer balance requests instead of topping up themselves. */
.wallet-grid.admin-wallet-grid { grid-template-columns:1fr; }
.admin-wallet-request { padding:12px 0; }
.admin-wallet-request-side { display:flex; align-items:center; gap:18px; }
.admin-wallet-request-side > b { min-width:100px; color:var(--good); font-size:18px; text-align:right; }
.admin-wallet-request-side > span { display:flex; gap:6px; }
.admin-wallet-request-side .button { min-height:34px; padding:7px 10px; font-size:11px; }
.working-days { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:10px; border:1px solid var(--line); border-radius:7px; }
.working-days legend { padding:0 5px; color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.working-days label { display:flex; align-items:center; gap:5px; min-width:70px; padding:7px 9px; border:1px solid var(--line); border-radius:6px; background:#fff; font-size:12px; font-weight:800; }
.working-days input { width:16px; height:16px; margin:0; }
.file-preferences-panel { margin-top:16px; padding:18px; border:1px solid #bcd2ee; border-top:4px solid var(--blue); border-radius:8px; background:#f8fbff; }
.file-preferences-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.file-preferences-head h3 { margin:2px 0 4px; color:var(--navy); font-size:19px; }.file-preferences-head p { margin:0; color:var(--muted); font-size:12px; }
.file-preferences-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; }
.file-tool-row { display:grid; grid-template-columns:auto minmax(0,1fr) 100px auto; align-items:center; gap:9px; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; }.file-tool-row:has(.file-tool-enabled:not(:checked)) { opacity:.58; background:#f1f4f8; }
.file-tool-row > strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.file-tool-row select { min-height:32px; padding:5px 7px; font-size:11px; }.file-tool-row input[type="checkbox"],.file-tool-row input[type="radio"] { width:17px; height:17px; margin:0; }
.file-tool-default { display:flex; align-items:center; gap:4px; color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; }
.file-preferences-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; }.file-preferences-actions small { max-width:670px; color:var(--muted); font-size:10px; line-height:1.4; }
.user-control-link { display:inline-flex; align-items:center; min-height:38px; padding:0 13px; border:1px solid #bcd2ee; border-radius:7px; color:var(--navy); background:#f8fbff; font-size:12px; font-weight:850; text-decoration:none; white-space:nowrap; }
.user-control-link:hover, .user-control-link.active { border-color:var(--blue); color:var(--blue); background:#eef5ff; }
.account-details-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
body:has(.user-control-link.active) .account-details { margin-top:18px; }
.customer-settings { margin-top:18px; padding:20px; border:1px solid #bcd2ee; border-top:4px solid #13a58f; border-radius:8px; background:#fff; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.settings-grid fieldset { min-width:0; margin:0; padding:16px; border:1px solid var(--line); border-radius:8px; background:#f8fbff; }
.settings-grid legend { padding:0 7px; color:var(--navy); font-size:14px; font-weight:850; }
.settings-grid fieldset > label { display:grid; gap:5px; margin-bottom:10px; color:var(--ink); font-size:12px; font-weight:750; }
.settings-grid select { width:100%; min-height:38px; }
.settings-grid select[multiple] { min-height:120px; }
.settings-grid small { color:var(--muted); font-weight:500; }
.setting-switches { display:grid; gap:8px; }
.setting-switches label, .setting-channels label { display:flex; align-items:center; justify-content:flex-start; gap:9px; min-height:30px; color:var(--ink); font-size:12px; font-weight:700; line-height:1.35; }
.setting-switches input[type="checkbox"], .setting-channels input[type="checkbox"] { flex:0 0 17px; width:17px; height:17px; min-height:17px; margin:0; padding:0; border-radius:3px; accent-color:var(--blue); }
.setting-channels { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:10px; }
.notification-device-control { display:flex; align-items:center; gap:12px; margin-top:12px; }
.notification-device-control small { color:var(--muted); line-height:1.4; }
.favorite-makes-field { display:grid; gap:6px; margin-bottom:10px; color:var(--ink); font-size:12px; }
.favorite-makes-picker { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.favorite-makes-picker section { min-width:0; padding:9px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.favorite-makes-picker section > span { display:block; margin-bottom:7px; color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.make-choice-list { display:grid; align-content:start; gap:4px; height:174px; overflow:auto; padding-right:3px; }
.make-choice { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-height:29px; padding:5px 8px; border:1px solid transparent; border-radius:5px; color:var(--ink); background:#f6f9fd; font-size:11px; font-weight:750; text-align:left; cursor:pointer; }
.make-choice:hover, .make-choice:focus-visible { border-color:#9fc4ff; background:#eef5ff; outline:none; }
.make-choice.selected { color:#66728a; background:#edf2f7; }
.make-choice.selected span { color:#087966; font-size:8px; font-weight:900; text-transform:uppercase; }
.make-choice.favourite { border-color:#b7e2d8; color:#076d5b; background:#effaf7; }
.make-choice.favourite b { font-size:17px; font-weight:500; }
.empty-favourites { margin:auto 8px; color:var(--muted); font-size:11px; text-align:center; }
.security-settings { margin-top:18px; padding-top:17px; border-top:1px solid var(--line); }
.security-settings h3 { margin:0 0 12px; }
.security-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.security-grid article { min-width:0; padding:15px; border:1px solid var(--line); border-radius:8px; background:#f8fbff; }
.security-grid article.activity-card { grid-column:1/-1; }
.security-grid p { margin:6px 0 12px; color:var(--muted); font-size:12px; }
.security-actions { display:flex; gap:8px; margin-top:10px; }
.totp-setup { display:grid; gap:8px; margin:10px 0; }
.totp-setup code { overflow-wrap:anywhere; padding:10px; border-radius:6px; background:#152642; color:#fff; font-size:14px; letter-spacing:1px; }
.totp-setup input { max-width:180px; }
.security-row { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); font-size:11px; }
.security-row small { color:var(--muted); text-align:right; }
html[data-customer-theme="dark"] body { background:#101827; color:#e8eef8; }
html[data-customer-theme="dark"] .customer-settings, html[data-customer-theme="dark"] .settings-grid fieldset, html[data-customer-theme="dark"] .security-grid article { background:#17243a; border-color:#40516c; }
html[data-customer-theme="dark"] .favorite-makes-picker section { background:#101827; border-color:#40516c; }
html[data-customer-theme="dark"] .customer-settings label, html[data-customer-theme="dark"] .customer-settings strong, html[data-customer-theme="dark"] .customer-settings legend { color:#eef4ff; }

.wallet-credit-summary {
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:12px;
  color:var(--muted);
  font-size:13px;
}
.wallet-credit-summary strong { color:var(--ink); }
.wallet-amount small { display:block; margin-top:5px; font-size:12px; color:var(--muted); }
.paypal-button {
  background:#ffc439 !important;
  border-color:#ffc439 !important;
  color:#111827 !important;
  font-weight:800;
}
.paypal-button:hover { background:#f2ba36 !important; border-color:#f2ba36 !important; }
.paypal-recipient { display:block; line-height:1.45; color:var(--muted); }
.paypal-followup-reminder {
  display:grid;
  gap:3px;
  padding:11px 12px;
  border:1px solid #f5b27d;
  border-left:4px solid var(--accent);
  border-radius:7px;
  color:#7c2d12;
  background:#fff7ed;
  font-size:12px;
  line-height:1.45;
}
.paypal-followup-reminder strong { color:#9a3412; font-size:13px; }
.paypal-followup-reminder.hidden { display:none; }
html[data-ponto-theme="operations"] .wallet-credit-summary strong,
html[data-ponto-theme="operations"] .wallet-amount small,
html[data-ponto-theme="operations"] .paypal-recipient { color:#c7d2e3; }
html[data-ponto-theme="operations"] .paypal-followup-reminder {
  color:#ffd8c2;
  border-color:#7e4933;
  border-left-color:#ff7438;
  background:#2a1b18;
}
html[data-ponto-theme="operations"] .paypal-followup-reminder strong { color:#ffad76; }
html[data-order-density="comfortable"] .owner-queue-row { padding-top:16px; padding-bottom:16px; }

.customer-active-orders {
  margin-top:18px;
  padding:20px 22px;
  border:1px solid var(--line);
  border-top:4px solid var(--accent);
  border-radius:10px;
  background:var(--surface);
  box-shadow:0 12px 26px rgba(15,23,42,.04);
}
.customer-active-orders-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:13px;
  border-bottom:1px solid var(--line);
}
.customer-active-orders-head h2 { margin:1px 0 0; color:var(--navy); font-size:21px; }
.customer-active-orders-head p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.customer-active-order-rows { display:grid; gap:7px; margin-top:13px; }
.customer-active-order-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,.22fr) minmax(150px,.22fr) auto;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:11px 12px;
  border:1px solid var(--line);
  border-left:3px solid var(--teal);
  border-radius:7px;
  background:var(--surface-soft);
  color:var(--ink);
  text-decoration:none;
}
.customer-active-order-row:hover { border-color:#fdba74; background:var(--accent-soft); }
.customer-active-order-row.confirm { border-left-color:var(--good); }
.customer-active-order-row.reply { border-left-color:var(--blue); }
.customer-active-order-row.review { border-left-color:var(--accent); }
.customer-active-order-main { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:6px 8px; min-width:0; }
.customer-active-order-main b { color:var(--navy); font-size:13px; }
.customer-active-order-main i { padding:2px 6px; border-radius:999px; background:var(--surface); color:var(--ink-soft); font-size:9px; font-style:normal; font-weight:900; }
.customer-active-order-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.customer-active-order-main small { grid-column:1/-1; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.customer-active-order-status,.customer-active-order-updated { display:grid; gap:2px; }
.customer-active-order-status em { color:var(--accent-deep); font-size:12px; font-style:normal; font-weight:900; }
.customer-active-order-status small,.customer-active-order-updated small,.customer-active-order-updated time { color:var(--muted); font-size:10px; }
.customer-active-order-updated strong { color:var(--ink); font-size:13px; }
.customer-active-order-open { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:0 11px; border:1px solid var(--line-strong); border-radius:6px; background:var(--surface); color:var(--navy); font-size:12px; font-weight:900; white-space:nowrap; }

.dyno-branding-settings { grid-column:1/-1; }
.dyno-branding-settings > p { margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.5; }
.dyno-branding-preview {
  display:grid;
  place-items:center;
  min-height:128px;
  padding:14px;
  border:1px dashed var(--line-strong);
  border-radius:8px;
  background:var(--surface);
}
.dyno-branding-preview img { width:min(300px,100%); height:96px; object-fit:contain; }
.dyno-branding-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }

html[data-customer-theme="dark"] .customer-active-orders,
html[data-customer-theme="dark"] .customer-active-order-row,
html[data-customer-theme="dark"] .customer-active-order-open,
html[data-customer-theme="dark"] .dyno-branding-preview {
  background:#121d2e;
  border-color:#40516c;
}
html[data-customer-theme="dark"] .customer-active-orders-head h2,
html[data-customer-theme="dark"] .customer-active-order-main b,
html[data-customer-theme="dark"] .customer-active-order-updated strong,
html[data-customer-theme="dark"] .customer-active-order-open { color:#eef4ff; }
html[data-customer-theme="dark"] .customer-active-order-main i { background:#1b2a42; color:#c8d4e6; }

@media (max-width:900px) {
  .customer-active-order-row { grid-template-columns:minmax(0,1fr) auto; }
  .customer-active-order-updated { grid-column:1/-1; grid-row:2; padding-top:8px; border-top:1px solid var(--line); }
  .customer-active-order-status { text-align:right; }
}
@media (max-width:640px) {
  .customer-active-orders { padding:17px; }
  .customer-active-orders-head { align-items:stretch; flex-direction:column; }
  .customer-active-order-row { grid-template-columns:1fr; }
  .customer-active-order-status { text-align:left; }
  .customer-active-order-updated { grid-column:auto; grid-row:auto; }
  .customer-active-order-open { justify-content:center; }
}
@media (max-width:650px) {
  .file-preferences-tools { grid-template-columns:1fr; }
  .file-preferences-actions { align-items:stretch; flex-direction:column; }
  .file-preferences-actions .button { width:100%; }
  .settings-grid, .security-grid { grid-template-columns:1fr; }
  .security-grid article.activity-card { grid-column:auto; }
  .favorite-makes-picker { grid-template-columns:1fr; }
  .admin-wallet-request { align-items:flex-start; flex-direction:column; }
  .admin-wallet-request-side { width:100%; justify-content:space-between; }
  .admin-wallet-request-side > b { text-align:left; }
}

.status-pill.danger { color:var(--danger); background:#fff0ee; }
.wallet-in { color:var(--good); }
.wallet-out { color:var(--danger); }

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--canvas); color: var(--ink); font: 15px/1.45 Inter, "Segoe UI", Arial, sans-serif; }
body::before { position: fixed; inset: 0 0 auto; height: 4px; background: var(--accent); content: ""; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: min(1180px, calc(100vw - 40px)); margin: 0 auto; padding: 42px 0 64px; }
.top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; border: 1px solid var(--line); border-left: 5px solid var(--accent); border-radius: 10px; background: var(--surface); box-shadow: 0 18px 38px rgba(15, 23, 42, .08); }
.brand { display: flex; min-width: 0; align-items: center; gap: 20px; }
.brand img { width: 128px; height: 64px; flex: 0 0 auto; object-fit: contain; }
.brand h1 { margin: 0; color: var(--navy); font-size: 29px; line-height: 1.1; letter-spacing: 0; }
.brand p, .muted { margin: 6px 0 0; color: var(--muted); }
.eyebrow { display: block; margin-bottom: 6px; color: var(--accent-deep); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.top a, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; border: 1px solid var(--line-strong); border-radius: 7px; color: var(--ink); background: var(--surface); text-decoration: none; font-weight: 850; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.top-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.top a:hover, .button:hover { border-color: var(--accent); color: var(--accent-deep); }
.top-link { white-space: nowrap; }
.button.primary { border-color: var(--accent); background: var(--accent); color: #fff; box-shadow: 0 9px 18px rgba(249, 115, 22, .20); }
.button.primary:hover { border-color: var(--accent-deep); background: var(--accent-deep); color: #fff; }
.button.danger { color: var(--danger); }
.button.danger:hover { border-color: #fda29b; background: #fff5f4; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 20px; }
.card { padding: 22px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: 0 10px 22px rgba(15, 23, 42, .035); }
.card h2 { margin: 0 0 6px; font-size: 21px; letter-spacing: 0; }
.card p { color: var(--muted); }
.stack { display: grid; gap: 12px; margin-top: 18px; }
label { display: grid; gap: 6px; color: #475467; font-size: 12px; font-weight: 850; letter-spacing: .01em; }
input, select, textarea { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 7px; outline: none; background: #fff; color: var(--ink); }
textarea { min-height: 78px; resize: vertical; line-height: 1.45; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(249, 115, 22, .12); }
.notice { margin-top: 18px; padding: 12px 14px; border: 1px solid #bfdbfe; border-left: 4px solid #2563eb; border-radius: 7px; background: #eff6ff; color: #1d4ed8; font-weight: 750; }
.notice.error { border-color: #fecaca; border-left-color: var(--danger); background: #fef2f2; color: var(--danger); }
.notice.good { border-color: #bbf7d0; border-left-color: var(--good); background: #f0fdf4; color: var(--good); }
.invite-message { display: grid; gap: 10px; }
.invite-message-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.invite-message p { margin: 0; }
.invite-message pre { margin: 0; max-width: 100%; overflow: auto; white-space: pre-wrap; border: 1px solid currentColor; border-radius: 6px; padding: 12px; background: rgba(255,255,255,.58); color: inherit; font: 600 13px/1.5 var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); }
.profile { margin-top: 20px; }
.modules { margin-top: 18px; border-top: 3px solid var(--navy); }
.modules-head h2 { margin-bottom: 4px; }
.modules-head p { margin: 0; }
.module-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 17px; }
.module-card { display: flex; min-height: 202px; flex-direction: column; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); color: var(--ink); text-decoration: none; }
.module-card h3 { margin: 13px 0 7px; color: var(--navy); font-size: 17px; }
.module-card p { margin: 0; color: var(--muted); font-size: 13px; }
.module-card strong { margin-top: auto; padding-top: 16px; color: #98a2b3; font-size: 13px; }
.module-card.active-module { border-color: #fed7aa; background: #fffaf5; box-shadow: 0 10px 19px rgba(249, 115, 22, .09); }
.module-card.active-module:hover { border-color: var(--accent); }
.module-card.active-module strong { color: var(--accent-deep); }
.module-status { width: fit-content; padding: 4px 7px; border-radius: 999px; background: #dcfce7; color: var(--good); font-size: 10px; font-weight: 900; letter-spacing: .05em; }
.module-status.planned { background: #eaf0f8; color: #667085; }
.profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.stat { padding: 13px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.stat span { display: block; color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.stat strong { display: block; margin-top: 4px; font-size: 18px; }
.account-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.admin-summary { margin-top: 18px; border-top: 3px solid var(--accent); }
.admin-summary-head, .summary-block-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.admin-summary-head h2 { margin-bottom: 4px; }
.admin-summary-head p { margin: 0; }
.admin-summary-grid, .admin-overview-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.summary-block { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.summary-block h3 { margin: 0; color: var(--navy); font-size: 15px; }
.summary-block-head > a { color: var(--accent-deep); font-size: 12px; font-weight: 850; text-decoration: none; }
.summary-block-head .button { min-height: 31px; padding: 4px 8px; font-size: 12px; }
.plan-list { display: grid; gap: 7px; margin-top: 12px; }
.plan-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font-size: 12px; }
.plan-row span { color: var(--muted); }
.capability-list { display: grid; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; }
.capability-list li { display: grid; grid-template-columns: minmax(130px, .8fr) minmax(0, 1.4fr); gap: 10px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 12px; }
.capability-list li:first-child { padding-top: 0; border-top: 0; }
.capability-list span { color: var(--muted); }

.admin-shell { width: min(1360px, calc(100vw - 40px)); }
.admin-grid { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 18px; margin-top: 20px; }
.admin-nav { align-self: start; padding: 18px; border-top: 3px solid var(--accent); }
.admin-nav h2 { margin-bottom: 15px; }
.admin-nav button { display: flex; width: 100%; align-items: center; gap: 10px; margin-top: 7px; min-height: 42px; padding: 9px 10px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--ink-soft); font-weight: 850; text-align: left; }
.admin-nav button span { width: 22px; color: #98a2b3; font-size: 11px; font-weight: 900; }
.admin-nav button:hover { background: var(--surface-soft); }
.admin-nav button.active { border-color: #fed7aa; background: var(--accent-soft); color: var(--accent-deep); }
.admin-nav button.active span { color: var(--accent-deep); }
.admin-panel { min-width: 0; min-height: 430px; }
.admin-panel > div > h2 { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.overview .stat { position: relative; min-height: 100px; padding: 16px; border-top: 3px solid var(--navy); background: #fff; }
.overview .stat:nth-child(2) { border-top-color: var(--good); }
.overview .stat:nth-child(3) { border-top-color: var(--accent); }
.overview .stat:nth-child(4) { border-top-color: #2563eb; }
.overview .stat strong { margin-top: 9px; color: var(--navy); font-size: 28px; }
.admin-overview-details { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
.admin-overview-details .capability-block { grid-column: 1 / -1; }
.compact-table { margin-top: 13px; }
.table-wrap { overflow: auto; margin-top: 16px; border: 1px solid var(--line); border-radius: 7px; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { padding: 11px 12px; border-bottom: 1px solid #e8edf4; text-align: left; vertical-align: top; font-size: 13px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fffaf5; }
th { color: var(--muted); background: var(--surface-soft); font-size: 10px; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
td .button { min-height: 31px; padding: 4px 8px; font-size: 12px; }
.schema-review { margin-top: 18px; padding: 17px; border: 1px solid #fed7aa; border-top: 3px solid var(--accent); border-radius: 8px; background: #fffaf5; }
.schema-review-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.schema-review h3, .schema-review h4 { margin: 0; }
.schema-review h4 { color: #475467; font-size: 13px; }
.schema-samples { margin-top: 14px; }
.schema-samples pre { max-height: 220px; margin: 8px 0 0; overflow: auto; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: #344054; font: 12px/1.4 Consolas, "Courier New", monospace; white-space: pre-wrap; }
.schema-review-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.check-label { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; }
.check-label input { width: auto; min-height: auto; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.panel-heading h2 { margin: 0; font-size: 22px; }
.panel-heading p { margin: 5px 0 0; }
.panel-heading .button { flex: 0 0 auto; }
.admin-toolbar { display: flex; align-items: center; gap: 10px; margin-top: 17px; }
.admin-toolbar input { max-width: 600px; }
.admin-toolbar select { max-width: 270px; }
.count-badge { display: inline-grid; min-width: 30px; height: 30px; place-items: center; padding: 0 9px; border-radius: 999px; background: var(--navy); color: #fff; font-size: 12px; font-weight: 900; }
.editor-card, .service-editor { margin-top: 18px; padding: 18px; border: 1px solid #fed7aa; border-top: 3px solid var(--accent); border-radius: 8px; background: #fffaf5; }
.editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid #f3dcc9; }
.editor-head h3 { margin: 0; color: var(--navy); font-size: 18px; }
.editor-head p { margin: 5px 0 0; }
.icon-button { display: inline-grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid var(--line-strong); border-radius: 7px; background: #fff; color: var(--ink); font-size: 20px; line-height: 1; }
.editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 16px; }
.editor-grid .full { grid-column: 1 / -1; }
.editor-grid small { color: var(--muted); font-size: 11px; font-weight: 650; letter-spacing: 0; }
.editor-actions { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 5px; }
.switch-label { display: flex; align-items: center; align-self: end; gap: 9px; min-height: 43px; padding: 10px 11px; border: 1px solid var(--line-strong); border-radius: 7px; background: #fff; color: var(--ink); font-size: 13px; letter-spacing: 0; }
.switch-label input { width: 16px; min-height: 16px; accent-color: var(--accent); }
.module-access { display: grid; gap: 9px; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.module-access legend { padding: 0 5px; color: var(--ink-soft); font-size: 12px; font-weight: 900; }
.module-access p { margin: 0; color: var(--muted); font-size: 12px; }
.module-access-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.module-access-options .switch-label { align-self: stretch; min-height: 39px; padding: 8px 10px; }
.service-visibility-editor { border-color: #bdd4f6; background: #f7faff; }
.service-visibility-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.platform-settings-form { display: grid; gap: 16px; margin-top: 18px; }
.platform-settings-card, .quick-catalogue-card { padding: 17px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.settings-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.settings-card-head h3 { margin: 2px 0 4px; color: var(--navy); font-size: 18px; }
.settings-card-head p { max-width: 780px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.global-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.global-module-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; margin: 0; padding: 13px; border: 1px solid var(--line-strong); border-top: 4px solid var(--blue); border-radius: 8px; background: #fff; }
.global-module-card.teal { border-top-color: var(--teal); }.global-module-card.orange { border-top-color: var(--accent); }
.global-module-card legend { padding: 0 5px; color: var(--ink); font-size: 14px; font-weight: 900; }.global-module-card .module-live-switch { grid-column: 1 / -1; border-color: #b9e6ca; background: #f0fdf4; }.global-module-card small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.quick-catalogue-card { display: grid; gap: 14px; margin-top: 18px; }.quick-catalogue-card .settings-card-head { margin-bottom: 0; }.quick-catalogue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.quick-catalogue-grid > section { padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }.quick-catalogue-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }.quick-catalogue-head h3 { margin: 0; color: var(--navy); font-size: 15px; }.quick-catalogue-head a { color: var(--blue); font-size: 12px; font-weight: 800; text-decoration: none; }.quick-service-list { display: grid; gap: 6px; margin-top: 9px; }.quick-service-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); color: var(--ink); font-size: 12px; }.quick-service-row > span { display: flex; align-items: center; gap: 6px; min-width: 0; }.quick-service-row > span:first-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.quick-service-row input[type="checkbox"] { width: 15px; min-height: 15px; accent-color: var(--accent); }.quick-service-row input[type="number"] { width: 76px; min-height: 28px; padding: 4px 6px; text-align: right; font-size: 12px; }.quick-service-row b { color: var(--muted); font-size: 10px; }
.module-chip { display: inline-flex; margin: 0 4px 4px 0; padding: 3px 6px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--surface-soft); font-size: 10px; font-weight: 850; white-space: nowrap; }
.module-chip.enabled { border-color: #86efac; color: var(--good); background: #f0fdf4; }
.customer-toolbar { flex-wrap:wrap; }
.presence-legend { display:inline-flex; align-items:center; gap:7px; margin-left:auto; color:var(--muted); font-size:12px; font-weight:800; }
.presence-legend i,.customer-presence i { width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:#10b981; box-shadow:0 0 0 4px rgba(16,185,129,.13); }
.customer-card-list { display:grid; gap:13px; margin-top:16px; }
.customer-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-left:4px solid #94a3b8; border-radius:9px; background:var(--surface); box-shadow:0 7px 20px rgba(15,23,42,.045); transition:border-color .16s ease,box-shadow .16s ease; }
.customer-card:hover { border-color:var(--line-strong); border-left-color:#64748b; box-shadow:0 10px 24px rgba(15,23,42,.075); }
.customer-card.selected { border-color:#fb923c; border-left-color:var(--accent); box-shadow:0 0 0 2px rgba(249,115,22,.1),0 14px 30px rgba(15,23,42,.1); }
.customer-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:15px 16px 12px; }
.customer-identity { display:flex; align-items:center; min-width:0; gap:12px; }
.customer-avatar { display:grid; width:44px; height:44px; flex:0 0 44px; place-items:center; border:1px solid #bcd0eb; border-radius:10px; color:#164e8b; background:#edf5ff; font-size:14px; font-weight:950; letter-spacing:.03em; }
.customer-identity > div { min-width:0; }
.customer-identity h3 { overflow:hidden; margin:2px 0 1px; color:var(--ink); font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.customer-identity a { display:block; overflow:hidden; color:var(--blue); font-size:12px; font-weight:750; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.customer-card-status { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.customer-presence { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid #a7e5c8; border-radius:999px; color:#057a55; background:#edfdf5; font-size:11px; font-weight:900; white-space:nowrap; }
.customer-presence.offline { color:var(--muted); border-color:var(--line); background:var(--surface-soft); }
.customer-presence.offline i { background:#94a3b8; box-shadow:none; }
.customer-card-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface-soft); }
.customer-card-metrics > span { min-width:0; padding:12px 15px; border-right:1px solid var(--line); }
.customer-card-metrics > span:last-child { border-right:0; }
.customer-card-metrics small,.customer-card-metrics strong,.customer-card-metrics em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.customer-card-metrics small,.customer-card-detail-row small { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
.customer-card-metrics strong { margin-top:4px; color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums; }
.customer-card-metrics em { margin-top:3px; color:var(--muted); font-size:10px; font-style:normal; }
.customer-card-detail-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:12px 16px; }
.customer-card-detail-row > div { min-width:0; }
.customer-card-detail-row > div > small { display:block; margin-bottom:6px; }
.customer-plan strong,.customer-plan span { display:block; }
.customer-plan strong { color:var(--ink); font-size:13px; }
.customer-plan span { margin-top:2px; color:var(--muted); font-size:10px; }
.customer-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:11px 16px; border-top:1px solid var(--line); background:var(--surface-soft); }
.customer-card-actions .button { min-height:34px; padding:6px 10px; font-size:11px; }
.customer-card-actions > span { margin-left:auto; color:var(--muted); font-size:10px; }
.customer-card-expansion:empty { display:none; }
.customer-card-expansion:not(:empty) { padding:0 16px 16px; border-top:1px solid var(--line); }
.customer-card-editor { margin:16px 0 0; box-shadow:none; }
.user-editor-mount:empty { display:none; }
.customer-card-empty { display:grid; min-height:190px; place-content:center; border:1px dashed var(--line-strong); border-radius:8px; color:var(--muted); background:var(--surface-soft); text-align:center; }
.customer-editor-overview { display:grid; grid-template-columns:minmax(205px,.72fr) minmax(330px,1.25fr) minmax(250px,1fr); gap:12px; margin-top:14px; }
.customer-editor-overview > div { min-width:0; padding:13px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.customer-overview-presence .customer-presence { margin-top:7px; }
.customer-overview-presence p { margin:10px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.customer-overview-presence p strong { color:var(--ink-soft); }
.customer-overview-metrics { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.customer-overview-metrics span { min-width:0; padding:8px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); }
.customer-overview-metrics small,.customer-overview-metrics strong { display:block; }
.customer-overview-metrics small { color:var(--muted); font-size:9px; font-weight:850; }
.customer-overview-metrics strong { margin-top:4px; color:var(--ink); font-size:16px; font-variant-numeric:tabular-nums; }
.customer-session-panel > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.customer-session-panel > div > strong { color:var(--ink); font-size:12px; }
.customer-session-panel ul { display:grid; max-height:142px; gap:6px; margin:9px 0 0; padding:0; overflow:auto; list-style:none; }
.customer-session-panel li { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:7px 8px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); }
.customer-session-panel li > span { min-width:0; }
.customer-session-panel li > span:last-child { text-align:right; }
.customer-session-panel strong,.customer-session-panel small,.customer-session-panel b { display:block; }
.customer-session-panel li strong { overflow:hidden; color:var(--ink); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.customer-session-panel small { margin-top:2px; color:var(--muted); font-size:9px; font-weight:600; }
.customer-session-panel b { color:var(--good); font-size:9px; }
.customer-pricing { gap:16px; }
.customer-pricing-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.customer-pricing-module { min-width:0; padding:13px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.customer-pricing-module.custom-mode { border-color:#7dd3fc; box-shadow:inset 0 3px 0 #2563eb; }
.customer-pricing-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:11px; border-bottom:1px solid var(--line); }
.customer-pricing-head h4 { margin:2px 0 0; color:var(--ink); font-size:15px; }
.customer-pricing-head label { flex:0 0 150px; font-size:10px; }
.customer-pricing-head select { min-height:36px; padding:7px 9px; }
.customer-pricing-module > .module-discount-control { margin-top:12px; }
.customer-specific-price-editor { min-width:0; margin:16px 0 20px; padding:16px; overflow:hidden; border:1px solid #0f766e; border-left:4px solid #14b8a6; border-radius:8px; background:var(--surface); box-shadow:0 12px 30px rgba(15,23,42,.08); }
.customer-specific-price-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:13px; border-bottom:1px solid var(--line); }
.customer-specific-price-head h3 { margin:3px 0 5px; color:var(--ink); font-size:19px; }
.customer-specific-price-head p { margin:0; color:var(--muted); line-height:1.5; }
.customer-specific-price-controls { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr); gap:12px; align-items:stretch; padding-top:14px; }
.customer-specific-price-controls > * { min-width:0; }
.customer-specific-price-controls label { min-width:0; margin:0; }
.customer-specific-price-controls select, .customer-specific-price-controls input { width:100%; min-width:0; }
.customer-specific-price-current { display:flex; flex-direction:column; justify-content:center; gap:4px; min-height:58px; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--soft); }
.customer-specific-price-current { grid-column:1 / -1; }
.customer-specific-price-current strong { color:var(--ink); }
.customer-specific-price-current span { color:var(--muted); font-size:12px; line-height:1.4; }
.customer-specific-price-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding-top:12px; }
.customer-specific-price-actions small { flex:1 1 330px; color:var(--muted); line-height:1.45; }
.custom-price-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:8px; max-height:430px; margin-top:12px; padding-right:4px; overflow-x:hidden; overflow-y:auto; }
.custom-price-row { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-width:0; min-height:54px; padding:8px 9px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); }
.custom-price-row > span:first-child { min-width:0; }
.custom-price-row strong,.custom-price-row small { display:block; }
.custom-price-row strong { overflow:hidden; color:var(--ink); font-size:12px; line-height:1.25; text-overflow:ellipsis; white-space:normal; }
.custom-price-row small { margin-top:2px; color:var(--muted); font-size:10px; }
.custom-price-row.nested-price-row { margin-left:12px; width:calc(100% - 12px); border-left:3px solid #14b8a6; background:var(--surface); }
.custom-price-row.nested-price-row strong { font-size:11px; }
.custom-price-list:has(.feature-customer-pricing) { grid-template-columns:1fr; max-height:760px; }
.customer-price-catalogue-grid { display:grid; grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.customer-price-product { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:64px; padding:10px 11px; border:1px solid var(--line); border-radius:7px; background:var(--surface-soft); }
.customer-price-product.nested-price-row { border-left:3px solid #14b8a6; }
.customer-price-product-copy { display:grid; min-width:0; gap:3px; }
.customer-price-product-copy strong { overflow:hidden; color:var(--ink); font-size:12px; line-height:1.3; text-overflow:ellipsis; }
.customer-price-product-copy small { color:var(--muted); font-size:10px; font-weight:750; }
.inline-customer-price { flex:0 0 auto; }
.customer-price-value { display:grid; min-width:124px; gap:2px; padding:7px 9px; border:1px solid var(--line-strong); border-radius:7px; color:var(--ink); background:var(--surface); text-align:right; cursor:default; }
.customer-price-value:hover { border-color:#fb923c; }
.customer-price-value.overridden { border-color:#14b8a6; background:rgba(20,184,166,.08); }
.customer-price-value span { color:var(--ponto-price,#f97316); font-size:14px; font-weight:950; font-variant-numeric:tabular-nums; }
.customer-price-value small { color:var(--muted); font-size:9px; font-weight:800; white-space:nowrap; }
.customer-price-edit-box { display:flex; align-items:center; gap:5px; padding:5px; border:1px solid #fb923c; border-radius:7px; background:var(--surface); box-shadow:0 8px 24px rgba(15,23,42,.14); }
.customer-price-edit-box b { color:var(--muted); font-size:9px; }
.customer-price-edit-box input { width:92px; min-height:34px; padding:5px 7px; }
.feature-customer-pricing { display:grid; grid-column:1 / -1; gap:12px; margin-top:14px; padding:13px; border:1px solid #14b8a6; border-radius:8px; background:var(--surface-soft); }
.feature-customer-pricing-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.feature-customer-pricing-head h4 { margin:2px 0 3px; color:var(--ink); font-size:17px; }
.feature-customer-pricing-head p { max-width:680px; margin:0; color:var(--muted); font-size:11px; line-height:1.45; }
.feature-customer-pricing-head label { flex:0 0 min(320px,38%); }
.feature-pricing-unit { display:grid; gap:10px; }
.feature-pricing-unit-summary { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:10px 12px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.feature-pricing-unit-summary div { display:grid; gap:3px; }
.feature-pricing-unit-summary strong { color:var(--ink); font-size:14px; }
.feature-pricing-unit-summary small,.feature-pricing-unit-summary > span { color:var(--muted); font-size:10px; line-height:1.4; }
.feature-pricing-unit-summary > span { max-width:42%; text-align:right; }
.feature-pricing-workflows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.feature-pricing-workflow { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.feature-pricing-workflow.patch-workflow { border-top:3px solid #f97316; }
.feature-pricing-workflow.options-workflow { border-top:3px solid #14b8a6; }
.feature-pricing-workflow > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px; border-bottom:1px solid var(--line); }
.feature-pricing-workflow > header > div:first-child { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:2px 8px; min-width:0; }
.feature-pricing-workflow > header > div:first-child > span { display:grid; grid-row:1 / 3; width:23px; height:23px; place-items:center; border-radius:50%; color:#fff; background:#f97316; font-size:10px; font-weight:950; }
.feature-pricing-workflow.options-workflow > header > div:first-child > span { background:#0f9f91; }
.feature-pricing-workflow header strong { color:var(--ink); font-size:12px; }
.feature-pricing-workflow header small { color:var(--muted); font-size:9px; }
.feature-pricing-workflow > ul { margin:0; padding:9px 14px 9px 30px; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; line-height:1.45; }
.feature-pricing-options { display:grid; gap:0; }
.feature-pricing-option { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:54px; padding:8px 10px; border-bottom:1px solid var(--line); }
.feature-pricing-option:last-child { border-bottom:0; }
.feature-pricing-option > span { display:grid; min-width:0; gap:2px; }
.feature-pricing-option > span strong { color:var(--ink); font-size:11px; }
.feature-pricing-option > span small { color:var(--muted); font-size:9px; line-height:1.35; }
.operation-file-receipt { display:block; width:max-content; max-width:100%; margin-top:4px; padding:3px 7px; border-radius:999px; font-weight:900; }
.operation-file-receipt.is-downloaded { color:#6ee7b7; background:rgba(5,150,105,.18); }
.operation-file-receipt.is-pending { color:#fbbf24; background:rgba(217,119,6,.17); }
.custom-price-input { display:flex; align-items:center; flex:0 0 105px; gap:5px; }
.custom-price-input b { color:var(--muted); font-size:10px; }
.custom-price-input input { width:82px; min-height:34px; padding:6px 7px; text-align:right; }
.service-admin-layout { display: grid; grid-template-columns: minmax(250px, .32fr) minmax(0, 1fr); gap: 17px; margin-top: 18px; }
.queue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.queue-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.queue-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.queue-card-head h3 { margin: 2px 0 0; font-size: 18px; }
.operations-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:18px; }
.operation-metric { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; padding:13px 14px; border:1px solid var(--line); border-top:3px solid #94a3b8; border-radius:8px; background:var(--surface); color:var(--ink-soft); text-align:left; transition:border-color .15s ease,background .15s ease; }
.operation-metric:hover,.operation-metric.active { border-color:#fdba74; background:var(--accent-soft); }.operation-metric.review { border-top-color:var(--accent); }.operation-metric.waiting { border-top-color:#c2410c; }.operation-metric.progress { border-top-color:var(--blue); }.operation-metric.ready { border-top-color:var(--good); }
.operation-metric span { font-size:12px; font-weight:850; }.operation-metric strong { color:var(--navy); font-size:26px; line-height:1; }
.operations-workspace { display:block; margin-top:16px; }
.operations-workspace.detail-open .operations-list-panel { display:none; }
.operations-workspace:not(.detail-open) .operation-detail { display:none; }
.operations-list-panel,.operation-detail { min-width:0; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.operations-list-panel { overflow:hidden; }.operations-filters { display:grid; grid-template-columns:minmax(0,1fr) repeat(3,minmax(118px,.48fr)); gap:8px; padding:12px; border-bottom:1px solid var(--line); background:var(--surface-soft); }.operations-filters input,.operations-filters select { min-height:38px; padding:7px 9px; font-size:12px; }
.operations-list { display:grid; max-height:740px; overflow:auto; }.operation-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; width:100%; padding:13px; border:0; border-bottom:1px solid var(--line); border-left:4px solid #cbd5e1; background:#fff; color:var(--ink); text-align:left; }.operation-row:last-child { border-bottom:0; }.operation-row:hover { background:#fffaf5; }.operation-row.selected { background:var(--accent-soft); border-left-color:var(--accent); }.operation-row.review { border-left-color:var(--accent); }.operation-row.customer { border-left-color:#c2410c; }.operation-row.work { border-left-color:var(--blue); }.operation-row.ready { border-left-color:var(--good); }.operation-row.closed { border-left-color:#98a2b3; opacity:.72; }
.operation-row-main { min-width:0; }.operation-row-line { display:flex; align-items:center; gap:6px; min-width:0; }.operation-row-line b { overflow:hidden; color:var(--navy); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.operation-type,.operation-action { display:inline-flex; align-items:center; flex:0 0 auto; padding:3px 6px; border-radius:999px; font-size:9px; font-style:normal; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.operation-type { color:#1d4ed8; background:#eff6ff; }.operation-type.files { color:#a8430a; background:#fff2e8; }.operation-action.review { color:#9a3412; background:#ffedd5; }.operation-action.customer { color:#9f1239; background:#ffe4e6; }.operation-action.waiting { color:#9a3412; background:#fff7ed; }.operation-action.work { color:#1d4ed8; background:#dbeafe; }.operation-action.ready { color:#067647; background:#dcfae6; }.operation-action.closed { color:#667085; background:#eef2f6; }
.operation-service,.operation-customer { display:block; overflow:hidden; margin-top:4px; text-overflow:ellipsis; white-space:nowrap; }.operation-service { color:var(--ink-soft); font-size:12px; font-weight:800; }.operation-customer { color:var(--muted); font-size:11px; }.operation-row-meta { display:grid; align-content:center; min-width:100px; gap:4px; text-align:right; }.operation-row-meta strong { color:var(--navy); font-size:12px; }.operation-row-meta small { max-width:130px; color:var(--muted); font-size:10px; line-height:1.25; }.empty-operation-list { display:grid; min-height:220px; place-content:center; gap:5px; padding:20px; color:var(--muted); text-align:center; }.empty-operation-list strong { color:var(--ink); }
.operation-table-head,.operation-table-row { display:grid; grid-template-columns:90px minmax(175px,1fr) 130px 130px minmax(190px,1.2fr) minmax(165px,.9fr) 135px 90px 16px; gap:10px; align-items:center; min-width:1320px; }
.operation-table-head { position:sticky; top:0; z-index:2; padding:10px 12px; border-bottom:1px solid var(--line); color:var(--muted); background:var(--surface-soft); font-size:9px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.operation-table-row { width:100%; min-height:62px; padding:8px 12px; border:0; border-bottom:1px solid var(--line); border-left:4px solid #94a3b8; color:var(--ink); background:var(--surface); font:inherit; text-align:left; cursor:pointer; }
.operation-table-row:hover { background:var(--surface-soft); }.operation-table-row.selected { background:var(--accent-soft); border-left-color:var(--accent); }.operation-table-row.review { border-left-color:var(--accent); }.operation-table-row.customer,.operation-table-row.waiting { border-left-color:#c2410c; }.operation-table-row.work { border-left-color:var(--blue); }.operation-table-row.ready { border-left-color:var(--good); }.operation-table-row.closed { border-left-color:#98a2b3; opacity:.75; }
.operation-table-row strong,.operation-table-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.operation-table-row strong { color:var(--ink); font-size:11px; }.operation-table-row small,.operation-table-row time { margin-top:3px; color:var(--muted); font-size:9px; }.operation-table-service { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:6px; min-width:0; }.operation-table-service strong { min-width:0; }.operation-table-status { display:grid; justify-items:start; gap:3px; }.operation-table-total { color:var(--ponto-price); font-size:13px; font-weight:900; font-variant-numeric:tabular-nums; text-align:right; }.operation-table-open { color:var(--accent); font-size:21px; line-height:1; }
.operation-unread { display:inline-flex!important; padding:3px 6px; border-radius:999px; color:#fff!important; background:#c2415a; font-size:9px!important; font-weight:900; line-height:1.2; text-transform:uppercase; }
.operation-detail { padding:16px; max-height:740px; overflow:auto; }.empty-operation-detail { display:grid; min-height:360px; place-items:center; border-style:dashed; border-color:var(--line-strong); background:var(--surface-soft); color:var(--muted); text-align:center; }.empty-operation-detail strong { display:block; color:var(--ink); font-size:17px; }.empty-operation-detail p { margin:5px 0 0; }.operation-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:13px; border-bottom:1px solid var(--line); }.operation-detail-head h3 { margin:1px 0 0; color:var(--navy); font-size:18px; }.operation-detail-head p { margin:5px 0 0; color:var(--muted); font-size:12px; }.operation-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }.operation-facts > div { min-width:0; padding:8px 9px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); }.operation-facts span,.operation-facts b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.operation-facts span { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }.operation-facts b { margin-top:2px; color:var(--ink); font-size:12px; }
.operation-section { padding:13px 0; border-bottom:1px solid var(--line); }.operation-section:last-child { border-bottom:0; padding-bottom:0; }.operation-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:9px; }.operation-section-head h4 { margin:0; color:var(--navy); font-size:14px; }.operation-section-head small { color:var(--muted); font-size:10px; text-align:right; }.operation-status-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.operation-status-form label,.operation-message-form label { color:var(--ink-soft); font-size:10px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.operation-status-form select,.operation-status-form textarea,.operation-message-form textarea,.operation-delivery-form textarea { min-height:35px; margin-top:4px; padding:7px 8px; font-size:12px; }.operation-status-form textarea,.operation-message-form textarea,.operation-delivery-form textarea { min-height:62px; resize:vertical; }.operation-status-form .full { grid-column:1 / -1; }.operation-status-form .button { justify-self:start; min-height:36px; font-size:12px; }
.feature-priority-panel { padding:15px 0 14px; border-bottom:1px solid var(--line); }
.feature-priority-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.feature-priority-item { min-width:0; padding:11px 12px; border:1px solid color-mix(in srgb,var(--accent) 44%,var(--line)); border-radius:7px; background:color-mix(in srgb,var(--accent) 7%,var(--surface)); }
.feature-priority-item span,.feature-priority-item b { display:block; }
.feature-priority-item span { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.feature-priority-item b { margin-top:4px; overflow-wrap:anywhere; color:var(--ink); font-size:13px; line-height:1.35; }
.feature-vin-priority { grid-column:span 2; border-color:color-mix(in srgb,var(--orange) 70%,var(--line)); background:color-mix(in srgb,var(--orange) 10%,var(--surface)); }
.feature-vin-priority > div { display:flex; align-items:center; gap:8px; }
.feature-vin-priority b { margin:4px 0 0; color:var(--ponto-price); font-family:Consolas,"Courier New",monospace; font-size:16px; letter-spacing:.045em; }
.operation-vin-copy { display:grid; flex:0 0 auto; place-items:center; width:30px; height:30px; padding:0; border:1px solid color-mix(in srgb,var(--orange) 60%,var(--line)); border-radius:6px; color:var(--orange); background:var(--surface); cursor:pointer; font-size:17px; line-height:1; }
.operation-vin-copy:hover,.operation-vin-copy.copied { color:#fff; border-color:var(--orange); background:var(--orange); }
.feature-options-priority { grid-column:span 2; }
.order-price-adjustment { margin-top:18px; padding:18px!important; border:1px solid color-mix(in srgb,var(--orange) 55%,var(--line))!important; border-radius:10px; background:color-mix(in srgb,var(--orange) 5%,var(--surface)); }
.order-price-adjustment .operation-section-head { align-items:flex-start; }
.order-price-adjustment .operation-section-head h4 { margin-top:3px; font-size:18px; }
.order-price-adjustment fieldset { min-width:0; margin:0; padding:12px; border:1px solid var(--line); border-radius:8px; }
.order-price-adjustment legend { padding:0 7px; color:var(--ink); font-size:12px; font-weight:850; }
.order-pricing-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.order-pricing-option { display:flex; align-items:center; gap:9px; min-width:0; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:var(--surface-soft); cursor:pointer; }
.order-pricing-option:has(input:checked) { border-color:var(--orange); background:color-mix(in srgb,var(--orange) 10%,var(--surface)); }
.order-pricing-option input { flex:0 0 auto; margin:0; }
.order-pricing-option span { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; width:100%; }
.order-pricing-option b { overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.order-pricing-option small { flex:0 0 auto; color:var(--orange); font-size:11px; font-weight:850; }
.order-pricing-controls { display:grid; grid-template-columns:minmax(180px,.45fr) minmax(280px,1fr); gap:9px; margin-top:10px; }
.order-pricing-controls label { color:var(--ink-soft); font-size:10px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.order-pricing-controls input { min-height:39px; margin-top:5px; }
.order-price-quote { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
.order-price-quote span { padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.order-price-quote small,.order-price-quote strong { display:block; }
.order-price-quote small { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.order-price-quote strong { margin-top:2px; color:var(--ink); font-size:18px; }
.order-price-quote .is-charge { border-color:color-mix(in srgb,var(--orange) 70%,var(--line)); }.order-price-quote .is-charge strong { color:var(--orange); }
.order-price-quote .is-refund { border-color:color-mix(in srgb,var(--green) 70%,var(--line)); }.order-price-quote .is-refund strong { color:var(--green); }
.order-pricing-actions { display:flex; align-items:center; gap:12px; margin-top:12px; }
.order-pricing-actions .operation-form-status { margin:0; }
.operation-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }.operation-fields > div { min-width:0; padding:7px 8px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); }.operation-fields span,.operation-fields b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.operation-fields span { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }.operation-fields b { margin-top:2px; color:var(--ink-soft); font-size:11px; }.operation-files { display:grid; gap:6px; margin:0; padding:0; list-style:none; }.operation-files li { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:7px 8px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); }.operation-files a { overflow:hidden; color:var(--blue); font-size:12px; font-weight:850; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }.operation-files span { flex:0 0 auto; color:var(--muted); font-size:10px; }
.operation-files li.operation-file-row { display:grid; grid-template-columns:112px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:58px; padding:9px 10px; border-left:4px solid #94a3b8; }
.operation-file-kind,.operation-file-copy { display:grid; min-width:0; gap:3px; }
.operation-files .operation-file-kind b { justify-self:start; padding:4px 7px; border-radius:5px; color:#344054; background:#e8edf3; font-size:10px; font-weight:950; letter-spacing:.045em; line-height:1; }
.operation-files .operation-file-kind small,.operation-files .operation-file-copy small { color:var(--muted); font-size:9px; line-height:1.25; }
.operation-files .operation-file-copy strong { overflow:hidden; color:var(--ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.operation-files li.is-fa { border-left-color:#2f78d0; }.operation-files li.is-fa .operation-file-kind b { color:#155fae; background:#dcecff; }
.operation-files li.is-svt { border-left-color:#0f9e9a; }.operation-files li.is-svt .operation-file-kind b { color:#087671; background:#d9f5f2; }
.operation-files li.is-second-fa { border-left-color:#ed6d2d; }.operation-files li.is-second-fa .operation-file-kind b { color:#a73e0b; background:#ffeadc; }
.operation-files li.is-delivery { border-left-color:#159966; }.operation-files li.is-delivery .operation-file-kind b { color:#08734d; background:#d6f4e5; }
.operation-files li.is-revision { border-left-color:#8b5cf6; }.operation-files li.is-revision .operation-file-kind b { color:#6941c6; background:#eee8ff; }
.operation-files a.operation-file-download { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:104px; padding:8px 11px; overflow:visible; border:1px solid #a9caf3; border-radius:6px; color:#155eaf; background:#edf5ff; font-size:11px; text-decoration:none; text-overflow:clip; }
.operation-files a.operation-file-download:hover { border-color:#2f78d0; color:#fff; background:#2f78d0; }
.operation-messages { display:grid; gap:7px; max-height:240px; overflow:auto; }.operation-message { padding:8px 9px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); }.operation-message.admin { border-color:#bfdbfe; background:#eff6ff; }.operation-message > div { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }.operation-message b { color:var(--ink-soft); font-size:11px; }.operation-message small { color:var(--muted); font-size:10px; }.operation-message p { margin:4px 0 0; color:#475467; font-size:12px; line-height:1.4; }.operation-message-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:8px; align-items:end; }.operation-message-form textarea { margin:0; }.operation-message-form .button { min-height:36px; font-size:12px; }.delivery-section { background:linear-gradient(90deg,#f0fdf4,transparent); }.operation-delivery-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }.operation-delivery-form input { min-height:38px; padding:5px; font-size:11px; }.operation-delivery-form textarea { grid-column:1 / -1; margin:0; }.operation-delivery-form .button { min-height:36px; font-size:12px; }
.feature-code-delivery-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.feature-code-delivery-form label { display:grid; gap:4px; color:var(--ink-soft); font-size:11px; }
.feature-code-delivery-form label span { display:grid; gap:2px; }
.feature-code-delivery-form label small { color:var(--muted); font-size:10px; }
.feature-code-result { border-left:3px solid #23c58b; padding-left:12px; }
.operation-code-result { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; border:1px solid rgba(35,197,139,.55); border-radius:7px; background:rgba(35,197,139,.08); }
.operation-code-result strong { color:#23c58b; font-family:Consolas,"Courier New",monospace; font-size:25px; letter-spacing:.07em; }
@media (max-width:720px) {
  .feature-code-delivery-form { grid-template-columns:1fr; }
  .operation-code-result { align-items:stretch; flex-direction:column; }
  .feature-priority-grid { grid-template-columns:1fr; }
  .feature-vin-priority,.feature-options-priority { grid-column:auto; }
}
.operation-revision-list { display:grid; gap:7px; }
.operation-revision { padding:9px 10px; border:1px solid var(--line); border-left:4px solid #8b5cf6; border-radius:6px; background:var(--surface-soft); }
.operation-revision.open { border-left-color:var(--orange); }
.operation-revision.accepted { border-left-color:#159966; }
.operation-revision > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.operation-revision b { color:var(--ink); font-size:11px; }
.operation-revision span { color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; }
.operation-revision p { margin:5px 0 4px; color:var(--ink-soft); font-size:11px; line-height:1.4; }
.operation-revision small { color:var(--muted); font-size:9px; }
.operation-file-picker { display:grid; grid-column:1 / -1; grid-template-columns:minmax(190px,.35fr) minmax(0,1fr); align-items:center; gap:14px; padding:10px; border:1px dashed #aab8c9; border-radius:7px; background:rgba(255,255,255,.55); cursor:pointer; }
.operation-file-picker > span { display:grid; gap:3px; }
.operation-file-picker > span b { color:var(--ink); font-size:12px; }
.operation-file-picker > span small { color:var(--muted); font-size:10px; line-height:1.3; }
.operation-file-picker input[type="file"] { width:100%; min-height:44px; padding:5px 7px; border:1px solid var(--line-strong); border-radius:6px; color:var(--ink-soft); background:var(--surface); cursor:pointer; }
.operation-file-picker input[type="file"]::file-selector-button { min-height:32px; margin-right:11px; padding:6px 12px; border:1px solid #9fc3ef; border-radius:5px; color:#155eaf; background:#eaf3ff; font:inherit; font-weight:900; cursor:pointer; }
.operation-file-picker:hover input[type="file"]::file-selector-button { color:#fff; border-color:#2f78d0; background:#2f78d0; }
.operation-delivery-actions { display:grid; grid-column:1 / -1; gap:7px; }
.operation-delivery-actions .button { width:100%; }
.operation-form-status { min-height:18px; margin:0; color:var(--muted); font-size:12px; font-weight:750; }
.operation-form-status.error { color:#b42318; }
.operation-form-status.good { color:var(--good); }
.operation-form-status.working { color:var(--blue); }
.operation-row { padding:15px 16px; cursor:pointer; }
.operations-workspace.detail-open .operation-detail { max-height:none; padding:24px; overflow:visible; }
.operation-detail-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.operation-detail-toolbar span { color:var(--muted); font-size:11px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.operation-back { min-height:38px; }
.operations-workspace.detail-open .operation-detail-head { padding-bottom:17px; }
.operations-workspace.detail-open .operation-detail-head h3 { margin-top:3px; font-size:24px; }
.operations-workspace.detail-open .operation-detail-head p { font-size:13px; }
.operations-workspace.detail-open .operation-facts { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.operations-workspace.detail-open .operation-facts > div { padding:11px 12px; }
.operations-workspace.detail-open .operation-fields { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.operations-workspace.detail-open .operation-fields > div,.operations-workspace.detail-open .operation-files li { padding:9px 10px; }
.panel-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.feature-catalogue-editor { display: grid; gap: 12px; }
.feature-catalogue-editor > .editor-head { margin: 0; }
.file-service-options-editor { padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); }
.file-service-options-editor > small { color:var(--muted); font-size:11px; }
.file-service-option-list { display:grid; gap:8px; }
.file-service-option-card { display:grid; gap:9px; padding:10px; border:1px solid var(--line); border-radius:7px; background:#fff; transition:border-color .15s ease,opacity .15s ease,box-shadow .15s ease; }
.file-service-option-card:hover { border-color:#fdba74; }.file-service-option-card.dragging { opacity:.5; border-style:dashed; box-shadow:0 8px 18px rgba(15,23,42,.12); }
.file-service-option-card header { display:flex; align-items:center; gap:8px; }.file-service-option-card header strong { flex:1; color:var(--ink-soft); font-size:11px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.option-drag-handle { display:grid; width:30px; height:30px; place-items:center; flex:0 0 auto; padding:0; border:1px solid var(--line-strong); border-radius:6px; background:var(--surface-soft); color:var(--muted); cursor:grab; font-size:17px; line-height:1; }.option-drag-handle:active { cursor:grabbing; }.option-drag-handle:hover { border-color:#fdba74; color:var(--accent-deep); }
.file-service-option-fields { display:grid; grid-template-columns:150px minmax(180px,1fr) 115px minmax(220px,1.2fr); gap:8px; }.file-service-option-fields label { min-width:0; }.file-service-option-fields input { min-width:0; }
.empty-file-service-options { margin:0; padding:11px; border:1px dashed #b9c9dc; border-radius:6px; color:var(--muted); background:#fff; font-size:12px; }
.head-unit-admin-list { display:grid; gap:10px; }
.head-unit-admin-card { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-soft); }
.head-unit-admin-card legend { padding: 0 5px; color: var(--ink); font-size: 13px; font-weight: 900; }
.head-unit-card-head,.head-unit-options-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.head-unit-card-head { padding-bottom:8px; border-bottom:1px solid var(--line); font-size:12px; }
.head-unit-options { display: grid; gap: 7px; }
.head-unit-options > strong { color: var(--ink-soft); font-size: 12px; }
.head-unit-card-head > div { display:grid; gap:3px; }
.head-unit-card-head > div small { color:var(--muted); font-size:10px; }
.head-unit-workflow-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.head-unit-workflow-panel { display:grid; gap:10px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.head-unit-workflow-panel.patch-workflow { border-top:3px solid #f97316; }
.head-unit-workflow-panel.options-workflow { border-top:3px solid #14b8a6; }
.workflow-panel-head { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; padding-bottom:9px; border-bottom:1px solid var(--line); }
.workflow-number { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; color:#fff; background:#f97316; font-size:11px; font-weight:950; }
.options-workflow .workflow-number { background:#0f9f91; }
.workflow-panel-head > div { display:grid; gap:2px; }
.workflow-panel-head strong { color:var(--ink); font-size:12px; }
.workflow-panel-head small { color:var(--muted); font-size:9px; }
.workflow-enabled { display:flex; align-items:center; flex-direction:row !important; gap:5px; margin:0; color:var(--ink); font-size:10px !important; }
.workflow-enabled input { width:16px; height:16px; }
.head-unit-option { display: grid; grid-template-columns: minmax(180px, 1fr) 120px 120px minmax(180px,1fr) auto; gap: 8px; align-items:end; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.compact-action { min-height:33px; padding:6px 9px; font-size:11px; }
.empty-head-unit-catalogue,.empty-head-unit-options { margin:0; padding:11px; border:1px dashed #b9c9dc; border-radius:6px; color:var(--muted); background:#fff; font-size:12px; }
.service-admin-list { align-self: start; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.service-list-head { display: flex; align-items: center; justify-content: space-between; padding: 13px; border-bottom: 1px solid var(--line); }
.service-admin-rows { display: grid; max-height: 640px; overflow: auto; padding: 7px; gap: 6px; }
.admin-service-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 9px; width: 100%; padding: 10px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--ink); text-align: left; }
.admin-service-row:hover { background: #fff; }
.admin-service-row.active { border-color: #fdba74; background: var(--accent-soft); }
.admin-service-row strong, .admin-service-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-service-row strong { font-size: 13px; }
.admin-service-row small { margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 650; }
.service-row-code { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 5px; background: var(--navy); color: #fff; font-size: 10px; font-weight: 900; }
.status-pill { display: inline-flex; align-items: center; width: fit-content; padding: 4px 7px; border-radius: 999px; background: #eaf0f8; color: var(--muted); font-size: 10px; font-style: normal; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; }
.status-pill.good { background: #dcfce7; color: var(--good); }
.empty-editor { display: grid; min-height: 310px; place-items: center; border-style: dashed; border-color: var(--line-strong); border-top-width: 1px; background: var(--surface-soft); color: var(--muted); text-align: center; }
.empty-editor strong { display: block; color: var(--ink); font-size: 17px; }
.empty-editor p { margin: 5px 0 0; }
.service-editor { margin-top: 0; min-width: 0; }
.service-editor-form label { font-size: 11px; }
.vehicle-catalogue-editor { display:grid; gap:12px; margin-top:13px; }
.vehicle-catalogue-entry { padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); }
.vehicle-type-entry { padding:14px; border:1px solid var(--line-strong); border-left:4px solid var(--accent); border-radius:9px; background:var(--surface-soft); }
.vehicle-manufacturer-list { display:grid; gap:10px; margin-top:12px; }
.vehicle-manufacturer-entry { padding:12px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.vehicle-type-entry,.vehicle-manufacturer-entry,.vehicle-model-entry { padding:0; overflow:hidden; }
.vehicle-collapse-summary { display:flex; align-items:center; gap:11px; padding:11px 12px; cursor:pointer; list-style:none; user-select:none; }
.vehicle-collapse-summary::-webkit-details-marker { display:none; }
.vehicle-collapse-summary::before { display:grid; width:19px; height:19px; flex:0 0 19px; place-items:center; border:1px solid var(--line-strong); border-radius:5px; color:var(--accent-deep); content:"+"; font-size:15px; font-weight:900; line-height:1; }
details[open] > .vehicle-collapse-summary::before { content:"-"; }
.vehicle-collapse-summary > span { display:grid; min-width:0; gap:2px; margin-right:auto; }
.vehicle-collapse-summary small { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.06em; }
.vehicle-collapse-summary strong { overflow:hidden; color:var(--ink); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.vehicle-collapse-summary em { flex:0 0 auto; color:var(--muted); font-size:11px; font-style:normal; font-weight:850; }
.catalogue-visibility { display:inline-flex; align-items:center; gap:6px; min-height:28px; padding:5px 8px; border:1px solid; border-radius:999px; font-size:10px; font-weight:900; cursor:pointer; }
.catalogue-visibility span { width:8px; height:8px; border-radius:50%; background:currentColor; }
.catalogue-visibility.enabled { border-color:#9bd9b8; color:#08704c; background:#edf9f2; }
.catalogue-visibility.disabled { border-color:#d4dbe5; color:#66758a; background:#f1f4f8; }
.catalogue-disabled > .vehicle-collapse-summary { opacity:.62; filter:saturate(.35); }
.vehicle-engine-card.catalogue-disabled { opacity:.68; background:#f1f3f6; }
.vehicle-collapse-body { padding:0 12px 12px; border-top:1px solid var(--line); }
.vehicle-type-entry > .vehicle-collapse-summary { background:#f8fbff; }
.vehicle-manufacturer-entry > .vehicle-collapse-summary { background:#fff; }
.vehicle-model-entry > .vehicle-collapse-summary { background:var(--surface-soft); }
.vehicle-level-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:9px; border-bottom:1px solid var(--line); }
.vehicle-level-head > div:first-child { display:grid; gap:2px; }.vehicle-level-head strong { color:var(--ink); font-size:15px; }
.vehicle-level-field { display:grid; max-width:440px; margin-top:10px; color:var(--ink-soft); font-size:10px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.vehicle-level-field input { margin-top:4px; font-size:12px; }
.vehicle-model-list { display:grid; gap:9px; margin-top:11px; }.vehicle-model-entry { margin:0; background:var(--surface-soft); }
.vehicle-catalogue-head,.vehicle-engine-section-head,.vehicle-engine-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.vehicle-catalogue-head { padding-bottom:10px; border-bottom:1px solid var(--line); }.vehicle-catalogue-head > div { display:grid; gap:2px; }.vehicle-catalogue-head strong { color:var(--ink); font-size:16px; }
.vehicle-catalogue-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:11px; }.vehicle-catalogue-fields label,.vehicle-engine-card label { min-width:0; color:var(--ink-soft); font-size:10px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }.vehicle-catalogue-fields input,.vehicle-engine-card input,.vehicle-engine-card select { min-width:0; margin-top:4px; font-size:12px; }
.vehicle-catalogue-fields .full,.vehicle-engine-card .full { grid-column:1 / -1; }
.vehicle-engine-section { margin-top:13px; padding-top:12px; border-top:1px solid var(--line); }.vehicle-engine-section-head > div { display:grid; gap:2px; }.vehicle-engine-section-head strong { color:var(--ink); font-size:13px; }.vehicle-engine-section-head small { color:var(--muted); font-size:11px; }
.vehicle-engine-list { display:grid; gap:8px; margin-top:9px; }.vehicle-engine-card { display:grid; grid-template-columns:minmax(180px,1.3fr) 100px 130px minmax(180px,1fr); gap:8px; padding:10px; border:1px solid var(--line); border-radius:7px; background:#fff; }.vehicle-engine-head { grid-column:1 / -1; padding-bottom:7px; border-bottom:1px solid var(--line); }.vehicle-engine-head strong { color:var(--ink-soft); font-size:11px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.empty-vehicle-catalogue { margin:0; padding:17px; border:1px dashed var(--line-strong); border-radius:8px; background:var(--surface-soft); color:var(--muted); font-size:13px; text-align:center; }
.read-catalogue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:13px; }
.read-catalogue-panel { padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); }
.read-catalogue-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:1px solid var(--line); }.read-catalogue-head > div { display:grid; gap:2px; }.read-catalogue-head strong { color:var(--ink); font-size:15px; }.read-catalogue-head small { color:var(--muted); font-size:11px; }
.read-catalogue-list { display:grid; gap:7px; margin-top:10px; }.read-catalogue-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; }.read-catalogue-row input { min-width:0; margin:0; font-size:13px; }.empty-read-catalogue { margin:0; padding:16px; border:1px dashed var(--line-strong); border-radius:7px; background:#fff; color:var(--muted); font-size:12px; text-align:center; }
.addon-editor { display: grid; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255, 255, 255, .7); }
.addon-editor legend { padding: 0 5px; color: var(--ink-soft); font-size: 12px; font-weight: 900; }
.addon-editor .editor-grid { margin-top: 0; }
.subtle-field { opacity: .78; }
.hidden { display: none !important; }

/* Customer Workspace home: modules are the primary decision, account data is secondary. */
.workspace-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 26px; border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:10px; background:var(--surface); box-shadow:0 18px 38px rgba(15,23,42,.08); }
.brand-logo-link { display:inline-flex; flex:0 0 auto; border-radius:7px; outline-offset:4px; }
.brand-logo-link:hover { opacity:.82; }
.brand-logo-link:focus-visible { outline:2px solid var(--accent); }
.workspace-header .brand { color:inherit; text-decoration:none; }.workspace-header .brand img { width:112px; height:54px; }.workspace-header .brand strong,.workspace-header .brand small { display:block; }.workspace-header .brand strong { color:var(--navy); font-size:26px; line-height:1.05; letter-spacing:0; }.workspace-header .brand small { margin-top:5px; color:var(--muted); font-size:13px; }.workspace-header .top-actions { align-items:center; }
.admin-workspace-link { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:7px 11px; border:1px solid #c5d3e5; border-radius:7px; color:var(--navy); background:#f8fbff; font-size:12px; font-weight:850; text-decoration:none; }
.admin-workspace-link:hover { border-color:var(--accent); color:var(--accent-deep); background:#fff7f0; }
.admin-workspace-icon { display:grid; place-items:center; width:22px; height:22px; border-radius:6px; color:#fff; background:var(--navy); font-size:10px; font-weight:950; line-height:1; }
.auth-grid { margin-top:20px; }.auth-card { min-height:340px; padding:28px; }.auth-card h2 { margin:0 0 7px; color:var(--navy); font-size:24px; }.auth-card p { max-width:440px; margin:0; line-height:1.5; }
.workspace-welcome { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.42fr); gap:18px; align-items:stretch; margin-top:20px; padding:28px; border:1px solid var(--line); border-left:5px solid var(--orange); border-radius:10px; background:var(--surface); box-shadow:0 12px 26px rgba(15,23,42,.045); }.welcome-copy { display:flex; flex-direction:column; justify-content:center; }.welcome-copy h1 { max-width:650px; margin:0; color:var(--navy); font-size:32px; line-height:1.1; letter-spacing:0; }.welcome-copy p { display:flex; flex-wrap:wrap; gap:7px; margin:11px 0 0; color:var(--muted); font-size:14px; }.welcome-copy p strong { color:var(--ink); }.account-snapshot { display:grid; align-content:center; gap:5px; padding:18px; border:1px solid #b9e6ca; border-radius:8px; background:var(--green-soft); }.account-snapshot span { color:#367458; font-size:11px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }.account-snapshot strong { color:var(--good); font-size:23px; }.account-snapshot small { color:#42705a; font-size:12px; line-height:1.4; }
.owner-queue { margin-top:18px; padding:22px 24px; border:1px solid var(--line); border-top:4px solid var(--accent); border-radius:10px; background:var(--surface); box-shadow:0 12px 26px rgba(15,23,42,.04); }.owner-queue-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:14px; border-bottom:1px solid var(--line); }.owner-queue-head h2 { margin:0; color:var(--navy); font-size:21px; }.owner-queue-head p { margin:5px 0 0; color:var(--muted); font-size:13px; }.owner-queue-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px; }.owner-queue-metric { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid var(--line); border-top:3px solid #94a3b8; border-radius:7px; background:var(--surface-soft); }.owner-queue-metric small { color:var(--muted); font-size:11px; font-weight:850; }.owner-queue-metric strong { color:var(--navy); font-size:22px; }.owner-queue-metric.review { border-top-color:var(--accent); }.owner-queue-metric.reply { border-top-color:#2563eb; }.owner-queue-metric.progress { border-top-color:var(--teal); }.owner-queue-rows { display:grid; gap:7px; margin-top:13px; }.owner-queue-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(132px,.18fr) minmax(150px,.24fr) auto; align-items:center; gap:15px; padding:11px 12px; border:1px solid var(--line); border-left:3px solid #94a3b8; border-radius:7px; background:#fff; color:var(--ink); text-decoration:none; }.owner-queue-row:hover { border-color:#fdba74; background:#fffaf5; }.owner-queue-row.review { border-left-color:var(--accent); }.owner-queue-row.reply { border-left-color:#2563eb; }.owner-queue-row.progress { border-left-color:var(--teal); }.owner-queue-row.ready { border-left-color:var(--good); }.owner-queue-row-main { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:7px 9px; min-width:0; }.owner-queue-row-main b { color:var(--navy); font-size:13px; }.owner-queue-row-main i { padding:2px 5px; border-radius:999px; background:var(--surface-soft); color:var(--ink-soft); font-size:10px; font-style:normal; font-weight:850; }.owner-queue-row-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }.owner-queue-row-main small { grid-column:1 / -1; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.owner-queue-age { display:grid; justify-items:start; gap:1px; padding-left:12px; border-left:1px solid var(--line); }.owner-queue-age small { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }.owner-queue-age strong { color:var(--accent-deep); font-size:16px; line-height:1.15; }.owner-queue-age time { color:var(--muted); font-size:9px; white-space:nowrap; }.owner-queue-age.waiting strong { color:#64748b; }.owner-queue-age.reply strong { color:#2563eb; }.owner-queue-age.progress strong { color:#087b72; }.owner-queue-row-action { display:grid; justify-items:end; gap:2px; text-align:right; }.owner-queue-row-action em { color:var(--accent-deep); font-size:12px; font-style:normal; font-weight:900; }.owner-queue-row-action small { color:var(--muted); font-size:10px; }.owner-queue-empty { display:grid; gap:3px; padding:14px; border:1px dashed var(--line-strong); border-radius:7px; color:var(--muted); text-align:center; }.owner-queue-empty strong { color:var(--ink); }
.module-area { margin-top:18px; padding:24px; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 12px 26px rgba(15,23,42,.04); }.section-title { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-bottom:17px; border-bottom:1px solid var(--line); }.section-title h2 { margin:0; color:var(--navy); font-size:23px; }.section-title p { max-width:680px; margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.45; }.module-area .module-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:17px; }.module-area .module-card { position:relative; min-height:300px; padding:20px; overflow:hidden; border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:8px; background:#fff; box-shadow:none; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }.module-area .module-card:hover { transform:translateY(-2px); border-color:#9ec8ff; box-shadow:0 14px 25px rgba(15,23,42,.09); }.module-area .files-module { border-top-color:var(--accent); }.module-area .files-module:hover { border-color:#fdba74; }.module-area .coding-module { border-top-color:var(--teal); }.module-area .coding-module:hover { border-color:#8ad8d2; }.module-code { color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.06em; }.files-module .module-code { color:var(--accent-deep); }.coding-module .module-code { color:#087b75; }.module-area .module-card h3 { margin:12px 0 8px; color:var(--navy); font-size:21px; }.module-area .module-card p { min-height:55px; color:var(--muted); font-size:13px; line-height:1.48; }.module-area .module-card ul { display:grid; gap:6px; margin:16px 0 0; padding:0; list-style:none; color:#475467; font-size:12px; }.module-area .module-card li { display:flex; gap:7px; align-items:flex-start; }.module-area .module-card li::before { color:var(--blue); content:"+"; font-weight:900; }.files-module li::before { color:var(--accent)!important; }.coding-module li::before { color:var(--teal)!important; }.module-area .module-card strong { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:20px; color:var(--blue); font-size:13px; }.module-area .files-module strong { color:var(--accent-deep); }.module-area .coding-module strong { color:#087b75; }.module-area .module-card strong b { font-size:17px; }.module-area .module-card.hidden { display:none!important; }

/* Customer workspace module widgets */
.module-area {
  margin-top: 18px;
  padding: 26px;
  border-color: #d8e3f0;
  border-radius: 12px;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.module-area .module-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
.module-area .module-card {
  --module-accent: #2563eb;
  --module-soft: #eff6ff;
  --module-faint: #f8fbff;
  min-height: 320px;
  padding: 0;
  border: 1px solid #d4dce8;
  border-top: 0;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff 0%, var(--module-faint) 100%);
  box-shadow: 0 16px 32px rgba(15, 23, 42, .07);
}
.module-area .module-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: var(--module-accent);
}
.module-area .module-card:hover {
  transform: translateY(-3px);
  border-color: #b7c8dc;
  box-shadow: 0 18px 34px rgba(15, 23, 42, .11);
}
.module-area .files-module {
  --module-accent: #f97316;
  --module-soft: #fff7ed;
  --module-faint: #fffaf5;
}
.module-area .coding-module {
  --module-accent: #0f9b8e;
  --module-soft: #ecfdfa;
  --module-faint: #f3fffd;
}
.module-card-top {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 20px 0;
}
.module-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border-radius: 12px;
  background: var(--module-soft);
  color: var(--module-accent);
  font-size: 14px;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06);
}
.module-area .module-code {
  color: var(--module-accent);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .07em;
}
.module-pill {
  margin-left: auto;
  padding: 4px 8px;
  border: 1px solid #dbe6f3;
  border-radius: 999px;
  background: #fff;
  color: #667085;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.module-area .module-card h3 {
  padding: 0 20px;
  margin: 18px 0 8px;
  font-size: 24px;
  line-height: 1.08;
}
.module-area .module-card p {
  min-height: 0;
  padding: 0 20px;
  margin: 0;
  font-size: 14px;
  line-height: 1.48;
}
.module-area .module-card ul {
  gap: 8px;
  margin: 18px 20px 0;
  font-size: 12px;
}
.module-area .module-card li {
  padding: 8px 10px;
  border: 1px solid #e5ebf3;
  border-left: 3px solid var(--module-accent);
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
  color: #334155;
}
.module-area .module-card li::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  margin-top: 5px;
  border-radius: 999px;
  background: var(--module-accent);
}
.module-area .files-module li::before,
.module-area .coding-module li::before {
  background: var(--module-accent)!important;
  color: transparent!important;
}
.module-area .module-card strong,
.module-area .files-module strong,
.module-area .coding-module strong {
  margin: auto 20px 20px;
  padding: 13px 14px;
  border-radius: 10px;
  background: var(--module-accent);
  color: #fff;
  box-shadow: 0 12px 22px rgba(15, 23, 42, .12);
}
.module-area .module-card strong b {
  color: #fff;
  font-size: 17px;
}
.account-details { margin-top:18px; padding:22px 24px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }.account-details-head { padding-bottom:14px; border-bottom:1px solid var(--line); }.account-details-head h2 { margin:0; color:var(--navy); font-size:20px; }.account-details-head p { margin:4px 0 0; color:var(--muted); font-size:13px; }.account-details .profile-grid { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:14px; }.account-details .stat { min-height:89px; padding:12px; }.account-details .stat strong { font-size:16px; overflow-wrap:anywhere; }
.password-panel { margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
.password-panel summary { display:inline-grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:center; min-height:46px; padding:8px 14px; border:1px solid var(--line-strong); border-radius:7px; color:var(--navy); background:var(--surface); box-shadow:0 4px 12px rgba(15,23,42,.05); cursor:pointer; font-size:14px; font-weight:900; list-style:none; }
.password-panel summary::-webkit-details-marker { display:none; }
.password-panel summary::before { content:"\\1F511"; grid-row:1 / span 2; display:grid; width:24px; height:24px; place-items:center; border-radius:5px; color:#fff; background:var(--accent); font-size:13px; }
.password-panel summary span { line-height:1.15; }
.password-panel summary small { color:var(--muted); font-size:10px; font-weight:700; line-height:1.2; }
.password-panel summary:hover { border-color:var(--accent); color:var(--accent-deep); }
.password-panel[open] summary { border-color:var(--accent); background:var(--accent-soft); }
.password-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:12px; margin-top:14px; }.password-form label { display:grid; gap:6px; color:var(--ink); font-size:12px; font-weight:750; }.password-form input { min-width:0; }.password-form small { color:var(--muted); font-weight:500; }.password-form .button { justify-self:start; }
.account-data-controls { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }.account-data-controls strong,.account-data-controls span,.account-data-controls small { display:block; }.account-data-controls span,.account-data-controls small { margin-top:3px; color:var(--muted); font-size:12px; }.account-data-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.account-data-actions a,.workspace-footer a { color:var(--navy); font-size:12px; font-weight:750; }.workspace-footer { display:flex; justify-content:space-between; gap:16px; padding:20px 2px 4px; color:var(--muted); font-size:12px; }.privacy-page { max-width:980px; }.privacy-card { margin-top:22px; padding:34px; }.privacy-card h1 { margin:8px 0 16px; color:var(--navy); }.privacy-card h2 { margin:24px 0 8px; color:var(--navy); font-size:18px; }.privacy-card p,.privacy-card li { color:var(--muted); line-height:1.65; }
.wallet-card { margin-top:18px; padding:22px 24px; border:1px solid #b9e6ca; border-top:4px solid var(--good); border-radius:9px; background:var(--surface); box-shadow:0 12px 26px rgba(15,23,42,.04); }.wallet-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:16px; border-bottom:1px solid var(--line); }.wallet-card-head h2 { margin:0; color:var(--navy); font-size:21px; }.wallet-card-head p { max-width:620px; margin:5px 0 0; color:var(--muted); font-size:13px; }.wallet-amount { display:grid; min-width:210px; gap:3px; padding:13px 15px; border:1px solid #b9e6ca; border-radius:8px; background:#f0fdf4; text-align:right; }.wallet-amount span { color:#367458; font-size:10px; font-weight:900; letter-spacing:.06em; }.wallet-amount strong { color:var(--good); font-size:26px; }.wallet-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px; margin-top:16px; }.topup-form,.wallet-history { padding:15px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); }.topup-form { display:grid; align-content:start; gap:10px; }.topup-form h3,.wallet-history h3 { margin:0; color:var(--navy); font-size:16px; }.topup-form p { margin:0 0 4px; color:var(--muted); font-size:12px; line-height:1.45; }.topup-form .button { justify-self:start; margin-top:3px; }.wallet-history-rows { display:grid; gap:0; margin-top:11px; }.wallet-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; border-top:1px solid var(--line); }.wallet-row:first-child { border-top:0; padding-top:0; }.wallet-row strong,.wallet-row span,.wallet-row small { display:block; }.wallet-row strong { color:var(--ink); font-size:13px; }.wallet-row span,.wallet-row small { margin-top:2px; color:var(--muted); font-size:11px; }.wallet-row-amount { flex:0 0 auto; color:var(--danger); font-weight:900; text-align:right; }.wallet-row-amount.in { color:var(--good); }.wallet-row-amount small { color:var(--muted); font-weight:650; }

/* Dyno access is granted by a paid File Service order or a time pass. */
.dyno-access-panel { margin-top:18px; padding:20px 24px; border:1px solid #bfd3ff; border-top:4px solid var(--blue); border-radius:9px; background:var(--surface); box-shadow:0 12px 26px rgba(15,23,42,.04); }
.dyno-access-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.dyno-access-heading h2 { margin:3px 0 6px; color:var(--navy); font-size:21px; }
.dyno-access-heading p { max-width:700px; margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.dyno-access-status { flex:0 0 auto; padding:8px 11px; border:1px solid #ffbd88; border-radius:6px; background:#fff3e8; color:#a83d09; font-size:12px; font-weight:900; }
.dyno-access-offers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.dyno-access-offer { display:grid; grid-template-columns:1fr auto; gap:5px 10px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:7px; background:#f8fbff; }
.dyno-access-offer strong,.dyno-access-offer span { display:block; }
.dyno-access-offer strong { color:var(--navy); font-size:15px; }
.dyno-access-offer span { margin-top:2px; color:var(--muted); font-size:11px; }
.dyno-access-offer b { color:var(--accent-deep); font-size:17px; }
.dyno-access-offer .button { grid-column:1 / -1; width:100%; margin-top:4px; }
.module-card-locked { border-color:#ffb16a !important; box-shadow:inset 0 0 0 1px rgba(249,115,22,.12); }
.module-card-locked .module-pill { background:#fff0e5; color:#a83d09; }

/* Owner queue needs explicit controls, not one large ambiguous link. */
.owner-queue-open { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:34px; padding:0 10px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:var(--navy); font-size:12px; font-weight:850; text-decoration:none; white-space:nowrap; }
.owner-queue-open:hover { border-color:var(--accent); background:#fff7ed; color:var(--accent-deep); }

@media (max-width: 820px) {
  .shell, .admin-shell { width: min(100% - 24px, 1360px); padding-top: 22px; }
  .top, .brand, .workspace-header { align-items: flex-start; flex-direction: column; }
  .top-actions { justify-content: flex-start; }
  .top { padding: 20px; }
  .brand img { width: 112px; }
  .brand h1 { font-size: 25px; }
  .grid, .admin-grid, .service-admin-layout, .queue-grid, .operations-workspace { grid-template-columns: 1fr; }
  .operations-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .operations-list { max-height:440px; }
  .operations-workspace.detail-open .operation-detail { padding:15px; }
  .order-pricing-options,.order-pricing-controls,.order-price-quote { grid-template-columns:1fr; }
  .order-pricing-actions { align-items:stretch; flex-direction:column; }
  .operations-workspace.detail-open .operation-facts,.operations-workspace.detail-open .operation-fields { grid-template-columns:1fr; }
  .operation-file-picker { grid-template-columns:1fr; }
  .module-access-options, .global-module-grid, .quick-catalogue-grid, .customer-pricing-grid, .custom-price-list, .customer-specific-price-controls { grid-template-columns: 1fr; }
  .customer-card-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-card-metrics > span:nth-child(2) { border-right:0; }
  .customer-card-metrics > span:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .customer-card-detail-row,.customer-editor-overview { grid-template-columns:1fr; }
  .customer-specific-price-head { flex-direction:column; }
  .profile-grid, .overview, .admin-summary-grid, .admin-overview-details, .module-grid, .module-area .module-grid, .account-details .profile-grid, .password-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-welcome { grid-template-columns:1fr; }.account-snapshot { min-height:130px; }
  .owner-queue-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.owner-queue-row { grid-template-columns:minmax(0,1fr) auto auto; }.owner-queue-row-action { display:none; }.owner-queue-age { min-width:120px; }
  .wallet-grid { grid-template-columns:1fr; }.wallet-card-head { align-items:stretch; flex-direction:column; }.wallet-amount { text-align:left; }
  .dyno-access-offers { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .admin-nav .eyebrow, .admin-nav h2 { grid-column: 1 / -1; }
  .admin-nav button { margin-top: 0; }
}

@media (max-width: 520px) {
  .profile-grid, .overview, .schema-review-form, .admin-summary-grid, .admin-overview-details, .module-grid, .module-area .module-grid, .account-details .profile-grid, .password-form, .editor-grid { grid-template-columns: 1fr; }
  .workspace-header,.workspace-welcome,.owner-queue,.module-area,.account-details,.wallet-card { padding:18px; }.workspace-header .brand strong { font-size:22px; }.workspace-welcome h1 { font-size:27px; }.module-area .module-card { min-height:270px; }
  .account-data-controls,.workspace-footer { align-items:flex-start; flex-direction:column; }.account-data-actions { justify-content:flex-start; }
  .dyno-access-panel { padding:18px; }.dyno-access-heading { display:block; }.dyno-access-status { display:inline-block; margin-top:12px; }.dyno-access-offers { grid-template-columns:1fr; }
  .owner-queue-head { align-items:stretch; flex-direction:column; }.owner-queue-head .button { width:100%; }
  .owner-queue-row { grid-template-columns:minmax(0,1fr) auto; }.owner-queue-age { grid-column:1 / -1; grid-row:2; min-width:0; padding:8px 0 0; border-top:1px solid var(--line); border-left:0; }.owner-queue-age time { white-space:normal; }
  .admin-summary-head, .summary-block-head { align-items: stretch; flex-direction: column; }
  .capability-list li { grid-template-columns: 1fr; gap: 2px; }
  .admin-nav { display:flex; align-items:center; gap:8px; overflow-x:auto; padding:10px; scrollbar-width:thin; }
  .admin-nav .eyebrow, .admin-nav h2 { display:none; }
  .admin-nav button { flex:0 0 auto; width:auto; min-height:40px; margin:0; padding:8px 12px; white-space:nowrap; }
  .panel-heading { align-items: stretch; flex-direction: column; }
  .customer-card-head { flex-direction:column; }
  .customer-card-status { justify-content:flex-start; }
  .customer-card-metrics { grid-template-columns:1fr; }
  .customer-card-metrics > span { border-right:0; border-bottom:1px solid var(--line); }
  .customer-card-metrics > span:last-child { border-bottom:0; }
  .customer-card-detail-row { gap:10px; }
  .customer-card-actions > span { width:100%; margin-left:0; }
  .customer-overview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vehicle-level-head { align-items:stretch; flex-direction:column; }
  .operation-files li.operation-file-row { grid-template-columns:minmax(0,1fr) auto; }
  .operation-file-kind { grid-column:1 / -1; }
  .head-unit-option, .file-service-option-fields, .global-module-card, .vehicle-catalogue-fields, .vehicle-engine-card, .read-catalogue-grid { grid-template-columns: 1fr; }
}

/* Administrator-only server monitoring. */
.system-health-content { display:grid; gap:14px; }
.system-health-loading { display:grid; gap:5px; min-height:150px; place-content:center; padding:24px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); color:var(--ink); text-align:center; }
.system-health-loading span { color:var(--muted); font-size:13px; }
.system-health-banner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; padding:17px 18px; border:1px solid var(--line); border-left:4px solid var(--good); border-radius:9px; background:var(--surface-soft); }
.system-health-banner.warning { border-left-color:#f59e0b; }
.system-health-banner.critical { border-left-color:var(--danger); }
.system-health-banner h3 { margin:2px 0 3px; color:var(--ink); font-size:21px; }
.system-health-banner p { margin:0; color:var(--muted); font-size:12px; }
.system-health-banner > strong { padding:7px 10px; border:1px solid #9ed9bd; border-radius:999px; color:var(--good); background:#e9f9f1; font-size:11px; letter-spacing:.05em; }
.system-health-banner.warning > strong { border-color:#f6cf85; color:#9a5b00; background:#fff8e7; }
.system-health-banner.critical > strong { border-color:#f1ada7; color:var(--danger); background:#fff0ef; }
.system-health-signal { width:13px; height:13px; border:4px solid color-mix(in srgb,var(--good) 25%,transparent); border-radius:50%; background:var(--good); background-clip:padding-box; }
.system-health-banner.warning .system-health-signal { border-color:color-mix(in srgb,#f59e0b 25%,transparent); background:#f59e0b; }
.system-health-banner.critical .system-health-signal { border-color:color-mix(in srgb,var(--danger) 25%,transparent); background:var(--danger); }
.system-health-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.system-health-card { display:grid; align-content:start; min-width:0; min-height:176px; padding:15px; border:1px solid var(--line); border-top:3px solid var(--good); border-radius:9px; background:var(--surface-soft); }
.system-health-card.warning { border-top-color:#f59e0b; }
.system-health-card.critical { border-top-color:var(--danger); }
.system-health-card header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.system-health-card header span { color:var(--muted); font-size:10px; font-weight:900; letter-spacing:.06em; }
.system-health-card header i { color:var(--good); font-size:10px; font-style:normal; font-weight:850; }
.system-health-card.warning header i { color:#d18700; }
.system-health-card.critical header i { color:var(--danger); }
.system-health-card > strong { overflow-wrap:anywhere; margin-top:17px; color:var(--ink); font-size:27px; font-variant-numeric:tabular-nums; }
.system-health-card p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.system-health-card > small { margin-top:auto; padding-top:8px; color:var(--muted); font-size:10px; }
.system-health-card progress { width:100%; height:8px; margin-top:auto; overflow:hidden; border:0; border-radius:20px; background:var(--line); accent-color:var(--good); }
.system-health-card.warning progress { accent-color:#f59e0b; }
.system-health-card.critical progress { accent-color:var(--danger); }
.system-health-card progress::-webkit-progress-bar { border-radius:20px; background:var(--line); }
.system-health-card progress::-webkit-progress-value { border-radius:20px; background:var(--good); }
.system-health-card.warning progress::-webkit-progress-value { background:#f59e0b; }
.system-health-card.critical progress::-webkit-progress-value { background:var(--danger); }
.system-health-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.system-health-panel { min-width:0; padding:16px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); }
.system-health-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.system-health-panel > header h3 { margin:2px 0 0; color:var(--ink); font-size:18px; }
.system-health-panel > header p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.system-health-panel > header > strong { color:var(--ink); font-size:16px; font-variant-numeric:tabular-nums; text-transform:capitalize; }
.health-storage-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.health-storage-list li { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid var(--line); }
.health-storage-list li:last-child { border-bottom:0; padding-bottom:0; }
.health-storage-list span,.health-storage-list small { display:block; }
.health-storage-list span { color:var(--ink); font-size:12px; font-weight:750; }
.health-storage-list small { margin-top:2px; color:var(--muted); font-size:10px; font-weight:600; }
.health-storage-list strong { flex:0 0 auto; color:var(--ink); font-size:13px; font-variant-numeric:tabular-nums; }
.health-process-list { display:grid; gap:0; margin:0; }
.health-process-list > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }
.health-process-list > div:last-child { border-bottom:0; padding-bottom:0; }
.health-process-list dt { color:var(--muted); font-size:11px; font-weight:850; }
.health-process-list dd { margin:0; color:var(--ink); font-size:12px; font-weight:700; text-align:right; overflow-wrap:anywhere; }
.health-events-panel { padding-bottom:8px; }
.health-event-list { display:grid; }
.health-event-row { display:grid; grid-template-columns:165px minmax(0,1fr); gap:14px; padding:12px 2px; border-bottom:1px solid var(--line); }
.health-event-row:last-child { border-bottom:0; }
.health-event-row time,.health-event-row time small { display:block; }
.health-event-row time { color:var(--ink); font-size:12px; font-weight:800; }
.health-event-row time small { margin-top:3px; color:var(--muted); font-size:10px; font-weight:600; }
.health-event-row > div > strong { display:block; color:var(--ink); font-size:12px; line-height:1.45; }
.health-event-row.push > div > strong { color:#d47a00; }
.health-event-context { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:5px; }
.health-event-context span { color:var(--muted); font-size:10px; }
.health-event-context b { margin-right:3px; color:var(--ink-soft); }
.health-empty { display:grid; gap:4px; place-items:center; min-height:100px; padding:18px; color:var(--ink); text-align:center; }
.health-empty span { color:var(--muted); font-size:11px; }

@media (max-width: 980px) {
  .customer-price-catalogue-grid,.feature-pricing-workflows,.head-unit-workflow-editor { grid-template-columns:1fr; }
  .head-unit-option { grid-template-columns:1fr 1fr; }
  .head-unit-option .option-description { grid-column:1 / -1; }
  .head-unit-option .button { justify-self:start; }
  .feature-customer-pricing-head { align-items:stretch; flex-direction:column; }
  .feature-customer-pricing-head label { flex-basis:auto; }
  .system-health-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .system-health-banner { grid-template-columns:auto minmax(0,1fr); }
  .system-health-banner > strong { grid-column:2; justify-self:start; }
  .system-health-metrics,.system-health-detail-grid { grid-template-columns:1fr; }
  .health-event-row { grid-template-columns:1fr; gap:7px; }
}
