/* Zorydo visual system. Explicit themes are set before CSS by theme.js. */
:root, html[data-theme="light"] {
  color-scheme: light;
  --page: #f3f6fa;
  --surface: #ffffff;
  --surface-soft: #f4f7fb;
  --surface-hover: #edf3f8;
  --input: #fbfcfe;
  --text: #203449;
  --muted: #5b6e82;
  --brand: #135d70;
  --brand-hover: #104f5f;
  --brand-ink: #ffffff;
  --brand-soft: #e4f1f3;
  --brand-strong: #0b5365;
  --border: #d8e2ec;
  --input-border: #7c90a5;
  --focus: #16798c;
  --secondary: #e8eff6;
  --secondary-ink: #34536c;
  --notice: #e8f3ee;
  --notice-ink: #285c4b;
  --success: #24704d;
  --success-soft: #e4f4eb;
  --warning: #805c10;
  --warning-soft: #fff3d6;
  --danger: #ad334c;
  --danger-soft: #fbeaec;
  --info: #2b6197;
  --info-soft: #e4effa;
  --chart-sales: #176575;
  --chart-purchases: #926014;
  --shadow: 0 4px 20px #203e5408;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --page: #0e1724;
  --surface: #172434;
  --surface-soft: #1c2d41;
  --surface-hover: #22364a;
  --input: #122031;
  --text: #e9f1f7;
  --muted: #b1c0cf;
  --brand: #73d0df;
  --brand-hover: #98e2ee;
  --brand-ink: #09232c;
  --brand-soft: #183d48;
  --brand-strong: #95e0eb;
  --border: #344b61;
  --input-border: #607c95;
  --focus: #83d7e7;
  --secondary: #253a50;
  --secondary-ink: #dceaf5;
  --notice: #19382d;
  --notice-ink: #a5d8bd;
  --success: #9ddcba;
  --success-soft: #1b4032;
  --warning: #f4d286;
  --warning-soft: #493915;
  --danger: #ffadbc;
  --danger-soft: #4b2735;
  --info: #add5ff;
  --info-soft: #233e5c;
  --chart-sales: #73d0df;
  --chart-purchases: #e6b766;
  --shadow: 0 4px 20px #00000020;
}
:root {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--page);
  font-size: 14px;
  font-synthesis: none;
  line-height: 1.5;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--page); }
[hidden] { display: none !important; }
/* A neutral accessible screen remains visible until identity confirms the account palette. */
#theme-loading { display: none; }
html[data-theme-ready="pending"] { background: #f3f6fa; color-scheme: light; }
html[data-theme-ready="pending"] body { visibility: hidden; }
html[data-theme-ready="pending"] #theme-loading { display: flex; visibility: visible; position: fixed; inset: 0; z-index: 1000; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; background: #f3f6fa; color: #203449; }
#theme-loading p { max-width: 480px; }
#theme-loading a { color: #135d70; }
#theme-loading a:focus-visible { outline: 3px solid #16798c; outline-offset: 3px; }
a { color: var(--brand); text-underline-offset: .18em; }
header {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px 32px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.brand {
  font-size: 27px;
  font-weight: 850;
  letter-spacing: 3px;
  text-decoration: none;
  margin-right: auto;
  color: var(--text);
  line-height: 1.2;
}
.brand span { font-size: 9px; display: block; margin-top: 7px; letter-spacing: 2px; color: var(--muted); }
#identity { font-weight: 600; overflow-wrap: anywhere; }
.account-link { padding: 9px 14px; border: 1px solid var(--border); border-radius: 8px; text-decoration: none; white-space: nowrap; }
.account-link:hover { background: var(--surface-hover); }
.theme-control { display: flex; flex-direction: column; gap: 4px; min-width: 116px; margin: 0; color: var(--muted); }
.theme-control-label { font-size: 10px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.theme-select { min-height: 36px; padding: 6px 10px; font-size: 12px; }
.theme-note { color: var(--muted); font-size: 12px; line-height: 1.6; }
.notice { text-align: center; padding: 10px 18px; background: var(--notice); color: var(--notice-ink); font-size: 12px; }
.notice strong { letter-spacing: 1px; }
main { display: grid; grid-template-columns: 245px minmax(0, 1fr); max-width: 1800px; margin: auto; min-height: calc(100vh - 120px); }
aside { background: var(--surface); border-right: 1px solid var(--border); padding: 26px 18px; }
.company-label { font-weight: 650; }
.workspace { padding: 30px 34px; min-width: 0; }
.page-heading { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.eyebrow { font-size: 11px; font-weight: 700; color: var(--muted); letter-spacing: 1.4px; text-transform: uppercase; margin: 0 0 8px; }
h1 { font-size: 29px; font-weight: 750; letter-spacing: -.7px; margin: 0; line-height: 1.25; }
h2 { font-size: 18px; margin: 0 0 20px; letter-spacing: -.2px; line-height: 1.35; }
h3 { font-size: 15px; margin: 22px 0 12px; }
p { overflow-wrap: anywhere; }
.environment-badge { padding: 7px 10px; border: 1px solid var(--border); color: var(--muted); border-radius: 6px; font-size: 10px; font-weight: 800; letter-spacing: 1.3px; }
.nav-group { margin: 23px 10px 7px; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: var(--muted); }
nav button { width: 100%; text-align: left; background: transparent; color: var(--muted); padding: 10px 12px; margin: 2px 0; font-size: 13px; font-weight: 550; }
nav button:hover:not(:disabled), nav button.active { background: var(--brand-soft); color: var(--brand-strong); }
nav button.active { box-shadow: inset 3px 0 var(--brand); font-weight: 700; }
aside > #refresh { margin-top: 25px; width: 100%; font-size: 12px; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 23px; margin: 18px 0; box-shadow: var(--shadow); }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.kpis .card { margin: 14px 0 0; border-top: 3px solid var(--brand); }
.kpis h2 { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .8px; }
.metric { font-size: 28px; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.kpis p { font-size: 12px; line-height: 1.7; color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 17px; margin-bottom: 18px; }
label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 600; color: var(--muted); }
.select-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.select-field .field-help { margin: 0; font-weight: 400; }
.field-help[data-help-state="empty"] { color: var(--warning); }
.field-help[data-help-state="invalid"] { color: var(--danger); }
.field-help[hidden], .reference-actions[hidden] { display: none; }
.reference-actions { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.reference-actions .text-button { background: transparent; padding: 2px 0; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.reference-navigation-note { grid-column: 1 / -1; margin: 10px 0; }
select[aria-invalid="true"] { border-color: var(--danger); }
input, select, textarea { width: 100%; min-height: 40px; background: var(--input); border: 1px solid var(--input-border); border-radius: 7px; padding: 10px 11px; font: inherit; font-weight: 400; color: var(--text); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--focus); outline-offset: 2px; border-color: var(--focus); }
input[type="checkbox"] { min-height: 0; width: 16px; height: 16px; accent-color: var(--brand); }
input:disabled, select:disabled, textarea:disabled { color: var(--muted); background: var(--surface-soft); border-color: var(--border); cursor: not-allowed; opacity: 1; }
input:read-only:not([type="checkbox"]), textarea:read-only { background: var(--surface-soft); }
button { border: 0; border-radius: 7px; background: var(--brand); color: var(--brand-ink); padding: 11px 16px; font: inherit; font-weight: 650; cursor: pointer; }
button:hover:not(:disabled) { background: var(--brand-hover); }
button:disabled { background: var(--surface-soft); color: var(--muted); box-shadow: inset 0 0 0 1px var(--border); cursor: not-allowed; opacity: 1; }
.secondary { background: var(--secondary); color: var(--secondary-ink); }
.secondary:hover:not(:disabled) { background: var(--surface-hover); color: var(--text); }
.text-button { padding: 7px 9px; background: var(--surface-soft); color: var(--brand); font-size: 12px; }
.text-button:hover:not(:disabled) { background: var(--brand-soft); color: var(--brand-strong); }
.row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.checks { display: flex; flex-wrap: wrap; gap: 15px; margin: 16px 0; }
.check { display: flex; flex-direction: row; align-items: center; font-weight: 450; }
.scroll { overflow: auto; max-width: 100%; scrollbar-color: var(--input-border) var(--surface-soft); }
table { width: 100%; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
th { font-size: 11px; font-weight: 650; text-align: left; background: var(--surface-soft); color: var(--muted); }
th, td { padding: 12px 11px; border-bottom: 1px solid var(--border); vertical-align: middle; }
td { overflow-wrap: anywhere; max-width: 380px; line-height: 1.5; }
tbody tr:hover { background: var(--surface-hover); }
.empty { padding: 27px 0; color: var(--muted); }
.badge { display: inline-block; padding: 5px 9px; border-radius: 5px; background: var(--secondary); color: var(--secondary-ink); font-size: 11px; font-weight: 600; white-space: nowrap; }
.badge.released, .badge.closed, .badge.active { background: var(--success-soft); color: var(--success); }
.badge.blocked, .badge.planned, .badge.trial { background: var(--warning-soft); color: var(--warning); }
.badge.rejected, .badge.suspended { background: var(--danger-soft); color: var(--danger); }
.badge.running { background: var(--info-soft); color: var(--info); }
.toolbar { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; margin: 0 0 17px; }
.toolbar label { min-width: 220px; max-width: 420px; flex: 1; }
.toolbar .select-field { min-width: 220px; max-width: 420px; flex: 1; }
.toolbar button { min-height: 40px; }
.pager { display: flex; gap: 10px; justify-content: flex-end; align-items: center; margin-top: 16px; font-size: 12px; color: var(--muted); }
.pager span { margin-right: auto; }
.pager button { font-size: 12px; padding: 8px 11px; }
.line-editor { display: grid; gap: 12px; margin: 18px 0; }
.allocation-row, .invoice-row, .bom-row, .journal-row { display: grid; gap: 12px; align-items: end; padding: 15px; background: var(--surface-soft); border: 1px solid var(--border); border-radius: 8px; }
.allocation-row { grid-template-columns: 1.4fr 1fr 1.2fr .8fr auto; }
.invoice-row { grid-template-columns: 2fr .7fr 1fr .7fr .7fr auto; }
.bom-row { grid-template-columns: 2fr 1fr auto; }
.journal-row { grid-template-columns: 2fr 1fr 1fr auto; }
.invoice-preview { padding: 14px 0; color: var(--brand-strong); font-weight: 650; line-height: 1.7; }
.hint { font-size: 12px; line-height: 1.7; color: var(--muted); }
small { color: var(--muted); }
.form-error, #status.error { color: var(--danger); }
.form-error:empty { display: none; }
.success { color: var(--success); }
#status { min-height: 20px; color: var(--success); font-size: 12px; margin: 17px 0 0; }
form > button[type="submit"] { margin-top: 16px; }
button:focus-visible, a:focus-visible, .scroll:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 7px; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text); background: var(--surface-soft); border: 1px solid var(--border); border-radius: 8px; padding: 16px; }
.trade-order-row, .source-row, .credit-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; border: 1px solid var(--border); border-radius: 10px; padding: 16px; margin: 12px 0; background: var(--surface-soft); }
.trade-order-row button, .source-row button, .credit-row button { align-self: end; }
.trade-order-row label, .source-row label, .credit-row label { min-width: 0; }
.order-line-preview { grid-column: 1 / -1; margin: 0; padding-top: 10px; border-top: 1px solid var(--border); font-variant-numeric: tabular-nums; font-weight: 600; }
.order-preview { padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--brand-soft); color: var(--brand-strong); font-weight: 700; line-height: 1.7; font-variant-numeric: tabular-nums; }
.commercial-reading table { min-width: 780px; }
.commercial-reading th:not(:first-child), .commercial-reading td:not(:first-child) { text-align: right; }
.commercial-reading td:first-child { min-width: 180px; }
.financial-value { display: inline-flex; flex-direction: column; gap: 3px; white-space: nowrap; }
.financial-value-note { font-size: 11px; color: var(--muted); }
.financial-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; margin: 18px 0; }
.financial-totals > div { min-width: 0; padding: 14px; background: var(--surface-soft); border: 1px solid var(--border); border-radius: 9px; }
.financial-totals dt { font-size: 12px; color: var(--muted); }
.financial-totals dd { margin: 7px 0 0; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.financial-totals > div:last-child { background: var(--brand-soft); color: var(--brand-strong); }
.commercial-breakdown, .commercial-credit { margin-top: 14px; border: 1px solid var(--border); border-radius: 9px; }
.commercial-breakdown > summary, .commercial-credit > summary { min-height: 48px; padding: 14px 16px; cursor: pointer; font-weight: 650; line-height: 1.5; }
.commercial-credit[open] { padding: 0 16px 16px; }
.commercial-credit[open] > summary { margin: 0 -16px 14px; border-bottom: 1px solid var(--border); }
.commercial-breakdown > summary:focus-visible, .commercial-credit > summary:focus-visible { outline: 3px solid var(--brand-strong); outline-offset: 3px; }
.allocation-row > [data-quantity-unit], .trade-order-row > [data-quantity-unit], .source-row > [data-quantity-unit] { grid-column: 1 / -1; order: 2; margin: 0; }
.trade-chart { display: block; width: 100%; height: auto; min-height: 180px; max-height: 350px; background: var(--surface); }
.trade-chart text { font-family: inherit; fill: var(--muted); }
.trade-chart line { stroke: var(--border); }
/* CSS presentation properties override existing SVG attributes without changing values or chart logic. */
.trade-chart rect[fill="#176575"] { fill: var(--chart-sales); }
.trade-chart rect[fill="#c68b34"] { fill: var(--chart-purchases); }
@media (max-width: 1100px) {
  header { flex-wrap: wrap; gap: 16px; }
  .allocation-row, .invoice-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace { padding: 24px; }
  main { grid-template-columns: 220px minmax(0, 1fr); }
}
@media (max-width: 760px) {
  header { padding: 18px; gap: 14px; }
  .brand { flex: 1 0 55%; font-size: 23px; }
  #identity { font-size: 12px; }
  main { display: block; }
  aside { padding: 15px; border-right: 0; border-bottom: 1px solid var(--border); }
  nav { display: flex; overflow: auto; gap: 5px; margin-top: 12px; }
  nav .nav-group { display: none; }
  nav button { white-space: nowrap; width: auto; }
  aside > #refresh { width: auto; margin-top: 10px; }
  .workspace { padding: 20px 15px; }
  .card { padding: 17px; }
  .environment-badge { display: none; }
  h1 { font-size: 25px; }
  .allocation-row, .invoice-row, .journal-row, .bom-row { grid-template-columns: 1fr; }
  .pager { flex-wrap: wrap; }
  .notice { font-size: 10px; }
  .toolbar label { min-width: min(220px, 100%); }
}
@media (max-width: 700px) {
  .trade-order-row, .source-row, .credit-row { grid-template-columns: 1fr; }
}
/* Printed pages always use the light palette, independent of the on-screen preference. */
@media print {
  :root, html[data-theme] {
    color-scheme: light;
    --page: #ffffff; --surface: #ffffff; --surface-soft: #f4f7fb; --surface-hover: #edf3f8;
    --input: #ffffff; --text: #203449; --muted: #5b6e82; --brand: #135d70; --brand-hover: #104f5f;
    --brand-ink: #ffffff; --brand-soft: #e4f1f3; --brand-strong: #0b5365; --border: #d8e2ec;
    --input-border: #7c90a5; --focus: #16798c; --secondary: #e8eff6; --secondary-ink: #34536c;
    --notice: #e8f3ee; --notice-ink: #285c4b; --success: #24704d; --success-soft: #e4f4eb;
    --warning: #805c10; --warning-soft: #fff3d6; --danger: #ad334c; --danger-soft: #fbeaec;
    --info: #2b6197; --info-soft: #e4effa; --chart-sales: #176575; --chart-purchases: #926014;
    --shadow: none;
  }
  header, aside, .notice, #status, form, button, .environment-badge, .theme-control, .theme-note { display: none !important; }
  main { display: block; max-width: none; min-height: 0; }
  .workspace { padding: 0; }
  .card { box-shadow: none; break-inside: avoid; }
  .scroll { overflow: visible; }
  html[data-theme-ready="pending"] body { visibility: visible; }
  #theme-loading { display: none !important; }
}

/* Draw the calendar locally while keeping the native date control and hit area. */
#content input[type="date"]::-webkit-calendar-picker-indicator {
  background-image:
    linear-gradient(var(--muted), var(--muted)),
    linear-gradient(var(--muted), var(--muted)),
    linear-gradient(var(--muted), var(--muted)),
    linear-gradient(var(--muted), var(--muted)),
    linear-gradient(var(--muted), var(--muted)),
    radial-gradient(circle, var(--muted) 1px, transparent 1.25px),
    radial-gradient(circle, var(--muted) 1px, transparent 1.25px),
    radial-gradient(circle, var(--muted) 1px, transparent 1.25px),
    radial-gradient(circle, var(--muted) 1px, transparent 1.25px);
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100%, 100% 1px, 2px 2px, 2px 2px, 2px 2px, 2px 2px;
  background-position: left top, left bottom, left top, right top, left 27%, 33% 58%, 67% 58%, 33% 82%, 67% 82%;
  background-repeat: no-repeat;
}

.trial-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:8px;padding:18px 20px;background:var(--surface)}.trial-banner strong{font-size:14px}.trial-banner p{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.6}.trial-banner.trial-readonly{border-left-color:var(--warning);background:var(--warning-soft)}.trial-banner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;flex-shrink:0;font-size:12px}.trial-banner-actions a{color:var(--brand);font-weight:650}.trial-banner-actions button{font-size:12px;padding:9px 12px}@media(max-width:1000px){.trial-banner{flex-direction:column;align-items:flex-start;gap:15px}}@media print{.trial-banner{display:none!important}}


/* DEV31: the appearance choice and authorized module entry stay discoverable at every width. */
header { flex-wrap: wrap; }
header > .theme-control { flex: 0 1 225px; min-width: 170px; }
header > .theme-control .theme-note { max-width: 225px; font-size: 10px; }
.theme-select { min-height: 44px; font-size: 14px; }
.module-navigation { margin-top: 18px; }
.navigation-search-label { font-size: 11px; }
.navigation-search-label input { min-width: 0; font-size: 14px; }
.navigation-status { font-size: 11px; line-height: 1.4; color: var(--muted); margin: 7px 0 0; }
.navigation-status:empty { display: none; }
.navigation-empty { font-size: 12px; line-height: 1.6; color: var(--muted); padding: 12px; }
.mobile-module-jump { display: none; }
.empty-account-link { display: inline-flex; align-items: center; min-height: 44px; margin-left: 14px; font-size: 13px; }
.reference-picker { grid-column: 1 / -1; min-width: 0; }
.reference-picker .toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.reference-picker .toolbar label { min-width: min(220px, 100%); flex: 1 1 220px; }
@media (max-width: 760px) {
 header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
 header .brand { grid-column: 1; grid-row: 1; min-width: 0; }
 header .account-link { grid-column: 2; grid-row: 1; }
 header #identity { grid-column: 1 / -1; min-width: 0; }
 header > .theme-control { grid-column: 1 / -1; min-width: 0; width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, 180px); align-items: center; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); }
 header > .theme-control .theme-control-label { font-size: 11px; line-height: 1.5; }
 header > .theme-control .theme-select { width: 100%; font-size: 16px; }
 header > .theme-control .theme-note { grid-column: 1 / -1; max-width: none; margin: 0; font-size: 11px; }
 header .assistant-toggle { min-width: 0; width: 100%; font-size: 12px; }
 .module-navigation { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 14px; }
 .mobile-module-jump { display: flex; }
 .mobile-module-jump select, .navigation-search-label input { font-size: 16px; min-height: 44px; }
 #navigation { max-height: 118px; flex-wrap: wrap; overflow: auto; align-content: flex-start; }
 #navigation button { flex: 0 1 auto; white-space: normal; min-height: 42px; }
 .reference-picker .toolbar > button { flex: 1 1 150px; }
}

/* Clear business navigation and focused commercial entry. */
main { grid-template-columns: 260px minmax(0, 1fr); }
aside { padding: 20px 16px; }
#navigation { display: block; margin-top: 15px; }
.nav-section { margin: 0 0 10px; min-width: 0; }
.nav-section > .nav-group { margin: 0; padding: 12px 10px; font-size: 11px; line-height: 1.5; }
.nav-section > summary { display: list-item; cursor: pointer; user-select: none; }
.nav-primary { border: 1px solid var(--border); border-radius: 9px; overflow: clip; }
.nav-primary > summary { color: var(--text); background: var(--surface-soft); letter-spacing: .5px; font-size: 13px; text-transform: none; }
.nav-links { padding: 3px; }
.nav-links button { min-height: 42px; margin: 1px 0; overflow-wrap: anywhere; }
.workspace { padding: 24px 28px; }
.card { padding: 20px; margin: 15px 0; border-radius: 10px; }
.card h2 { margin-bottom: 16px; }
.list-count { margin: -8px 0 16px; color: var(--muted); font-size: 12px; }
.document-source-return { margin: 15px 0; }
.quotation-state { font-size: 16px; font-weight: 700; color: var(--brand-strong); }
.quotation-lifecycle > .card { padding: 18px 0 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; }
.quotation-revision { margin-top: 18px; border: 1px solid var(--border); border-radius: 8px; }
.quotation-revision > summary { cursor: pointer; padding: 12px 15px; font-weight: 650; color: var(--brand); }
.quotation-revision > .card { border: 0; box-shadow: none; margin: 0; }
.creation-host { padding: 0; border-color: var(--brand); }
.creation-panel > summary { padding: 14px 18px; cursor: pointer; font-weight: 700; color: var(--brand-strong); min-height: 48px; background: var(--brand-soft); border-radius: 9px; }
.creation-panel[open] > summary { border-radius: 9px 9px 0 0; border-bottom: 1px solid var(--border); }
.creation-panel > .hint { padding: 0 20px; }
.creation-panel > .card { margin: 0; border: 0; box-shadow: none; }
.compact-filter { margin: 0 0 16px; padding: 0; border: 0; box-shadow: none; }
.compact-filter h2 { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.compact-filter form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.compact-filter .grid { display: block; flex: 1 1 220px; max-width: 480px; margin: 0; }
.compact-filter form > button[type="submit"] { margin-top: 0; }
.compact-filter .form-error { flex: 1 0 100%; order: 3; }
label { font-size: 13px; }
table { font-size: 13px; }
th { font-size: 12px; }
.scroll { border-radius: 7px; }
.scroll:focus-visible { outline-offset: -3px; }
.invoice-row { grid-template-columns: minmax(150px, 2fr) repeat(5, minmax(90px, 1fr)) auto; }
.invoice-row label { min-width: 0; }
.document-settings { min-width: 0; margin: 20px 0; padding: 18px; border: 1px solid var(--border); border-radius: 9px; }
.document-settings legend { padding: 0 8px; font-size: 16px; font-weight: 700; color: var(--text); }
.document-settings textarea { min-height: 110px; resize: vertical; }
.document-logo { display: grid; gap: 12px; }
.document-logo .hint { margin: 0; }
.document-logo > button { justify-self: start; }
.document-logo-preview { min-height: 76px; display: flex; align-items: center; padding: 12px; background: var(--surface-soft); border: 1px dashed var(--input-border); border-radius: 7px; }
.document-logo-image { display: block; max-width: min(280px, 100%); max-height: 140px; width: auto; height: auto; object-fit: contain; }
.document-logo input[type="file"] { max-width: 100%; }
.workspace-skip-link { position: fixed; z-index: 100; inset: 8px auto auto 8px; padding: 12px 18px; transform: translateY(-180%); background: var(--surface); color: var(--brand); border: 2px solid var(--focus); border-radius: 7px; }
.workspace-skip-link:focus { transform: translateY(0); }
@media (min-width: 1101px) {
 aside { align-self: start; position: sticky; top: 0; max-height: 100vh; overflow-y: auto; scrollbar-color: var(--input-border) var(--surface); }
}
@media (max-width: 1280px) {
 .invoice-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .invoice-row > button { justify-self: start; }
}
@media (max-width: 1100px) {
 main { grid-template-columns: 220px minmax(0, 1fr); }
 .workspace { padding: 22px; }
}
@media (max-width: 760px) {
 main { display: block; }
 .workspace { padding: 18px 15px; }
 #navigation { display: block; max-height: 340px; overflow-y: auto; margin-top: 12px; }
 #navigation .nav-group { display: list-item; }
 #navigation p.nav-group { display: block; }
 #navigation .nav-links { display: flex; flex-wrap: wrap; gap: 5px; }
 #navigation button { width: auto; flex: 1 1 calc(50% - 5px); text-align: start; min-height: 44px; }
 .card { padding: 17px; }
 .card.creation-host, .card.compact-filter { padding: 0; }
 .creation-panel > .card { padding: 16px; }
 .creation-panel > .hint { padding: 0 16px; }
 .invoice-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .invoice-row label:first-child { grid-column: 1 / -1; }
 .grid { grid-template-columns: minmax(0, 1fr); }
 input, select, textarea { font-size: 16px; min-height: 44px; }
 .pager { justify-content: flex-start; }
 .pager span { flex: 1 0 100%; }
 .document-settings { padding: 13px; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; }
}
html[dir="rtl"] .nav-links button, html[dir="rtl"] th { text-align: right; }
html[dir="rtl"] .nav-links button.active { box-shadow: inset -3px 0 var(--brand); }
.field-help { display: block; font-size: .82rem; line-height: 1.45; font-weight: 400; margin: .4rem 0 0; overflow-wrap: anywhere; }
.field-error { display: block; color: var(--danger, #b42318); font-size: .85rem; font-weight: 500; }
.field-error:empty { display: none; }
.check { flex-wrap: wrap; }
.check .field-help, .check .field-error { flex-basis: 100%; margin-inline-start: 1.5rem; }
.choice-explanation { font-size: .82rem; margin-block: .35rem; }
.choice-explanation summary { cursor: pointer; color: var(--brand); padding-block: .25rem; }
.choice-explanation p { margin-block: .5rem; }
.reference-actions { display: flex; flex-wrap: wrap; gap: .3rem .65rem; align-items: baseline; }
.reference-actions a { text-decoration: underline; text-underline-offset: .18rem; }
.related-dialog { position: fixed; inset: 0; z-index: 150; background: rgb(0 0 0 / 45%); display: flex; justify-content: flex-end; padding: 18px; overflow: auto; }
.related-dialog-content { width: min(980px, 100%); max-height: calc(100dvh - 36px); overflow: auto; background: var(--surface); color: var(--text); border: 1px solid var(--input-border); border-radius: 14px; padding: 24px; box-shadow: 0 16px 60px rgb(0 0 0 / 25%); }
.related-dialog-content > h2 { margin-top: 0; }
.related-dialog .related-create-form { margin-block: 18px; }
.related-dialog .related-existing { margin-block: 16px; padding: 12px; border: 1px solid var(--input-border); border-radius: 8px; }
.related-existing summary { cursor: pointer; font-weight: 600; }
.related-existing .toolbar { margin-top: 12px; }
.related-existing .text-button { display: block; text-align: start; }
.manufacturing-line { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); align-items: start; gap: 12px; }
.manufacturing-line > .hint { grid-column: 1 / -1; }
.manufacturing-preview { margin-block: 16px; }
[inert] { pointer-events: none; }
@media (max-width: 760px) {
 .related-dialog { padding: 0; }
 .related-dialog-content { max-height: 100dvh; width: 100%; border-radius: 0; padding: 16px; }
 .manufacturing-line { grid-template-columns: minmax(0, 1fr); }
 .reference-actions { align-items: stretch; }
 .reference-actions .text-button { min-height: 40px; }
}
@media print {
 main { display: block; max-width: none; }
 .workspace { padding: 0; }
 .creation-host, .compact-filter, .workspace-skip-link { display: none !important; }
 .card { box-shadow: none; }
 .scroll { overflow: visible; }
 .related-dialog, .choice-explanation, .reference-actions { display: none !important; }
}

/* Subscription durations share the active account theme. */
.lemon-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.lemon-plan{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;padding:22px;background:var(--surface-soft)}.lemon-plan-featured{border:2px solid var(--brand)}.lemon-plan h3{margin:0}.lemon-plan-tag{font-size:12px;font-weight:700;color:var(--brand-strong);margin:0 0 15px}.lemon-plan-price{font-size:27px;font-weight:750;letter-spacing:-.7px;line-height:1.25;margin:22px 0 0;white-space:nowrap}.lemon-plan-period{margin:4px 0 18px;color:var(--muted)}.lemon-plan-equivalent,.lemon-plan-saving,.lemon-plan-renewal{font-size:12px;color:var(--muted);margin:5px 0}.lemon-plan-renewal{margin-top:auto;padding-top:15px}.lemon-plan button{margin-top:20px}.lemon-checkout{max-width:800px;padding:22px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.lemon-checkout h3{margin-top:0}.lemon-checkout summary{cursor:pointer;color:var(--brand-strong);font-weight:650}.lemon-checkout details{margin:18px 0}.lemon-terms{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:13px;line-height:1.7;max-height:320px;overflow:auto;padding:15px;border:1px solid var(--border);background:var(--surface)}.lemon-checkout .lemon-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;margin:16px 0;font-size:13px;font-weight:400}.lemon-consent input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin-top:2px}
@media(max-width:1050px){.lemon-plans{grid-template-columns:1fr}.lemon-plan-price{font-size:30px}.lemon-plan-renewal{padding-top:10px}.lemon-plan button{align-self:flex-start}.lemon-checkout{padding:17px}}

/* DEV44 — compact commercial navigation with a distinct optional ZORYDO PLUS area. */
.nav-section.nav-plus { border: 1px solid var(--border); border-radius: 12px; padding: 2px 6px 6px; background: color-mix(in srgb, var(--surface) 92%, var(--accent) 8%); }
.nav-section.nav-plus > summary.nav-group { font-weight: 800; letter-spacing: .06em; }
.nav-section .nav-links { padding: 0 4px 4px; }
.module-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 10px; margin-top: 12px; }
.module-card { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.module-card > span { display: grid; gap: 4px; }
.module-card-core { justify-content: space-between; }
.module-card-plus input { margin-top: 3px; }
.module-state { color: var(--muted); font-size: 12px; line-height: 1.4; }

/* DEV44 — visual article profile and catalogue. */
.product-profile-hero,.catalogue-detail-hero { display:grid; grid-template-columns:minmax(180px,260px) 1fr; gap:20px; align-items:start; }
.product-photo-frame { aspect-ratio:1 / 1; width:100%; min-height:180px; border:1px solid var(--border); border-radius:16px; overflow:hidden; display:grid; place-items:center; background:var(--surface-2,var(--surface)); }
.product-photo-main,.product-catalog-image { width:100%; height:100%; object-fit:contain; display:block; }
.product-photo-missing { color:var(--muted); font-size:13px; font-weight:700; text-align:center; padding:20px; }
.product-profile-summary,.catalogue-detail-info { display:grid; gap:8px; align-content:start; }
.product-sku { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--muted); font-size:12px; }
.product-catalog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin-top:16px; }
.product-catalog-card { border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--surface); display:flex; flex-direction:column; min-width:0; }
.product-catalog-media { aspect-ratio:4 / 3; display:grid; place-items:center; border-bottom:1px solid var(--border); background:var(--surface-2,var(--surface)); overflow:hidden; }
.product-catalog-body { padding:14px; display:grid; gap:8px; }
.product-catalog-body h3 { margin:0; font-size:17px; line-height:1.25; }
.product-catalog-body p { margin:0; }
.product-price-list { display:grid; grid-template-columns:1fr auto; gap:5px 10px; margin:4px 0; font-size:13px; }
.product-price-list dt,.product-price-list dd { margin:0; }
.product-price-list dd { font-weight:700; text-align:right; }
@media (max-width:760px){.product-profile-hero,.catalogue-detail-hero{grid-template-columns:1fr}.product-photo-frame{max-width:360px;margin:auto}.product-catalog-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.product-catalog-grid{grid-template-columns:1fr}}

/* DEV44 — management dashboard KPIs. */
.management-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:10px}
.management-kpi{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface);display:grid;gap:5px}
.management-kpi-label{font-size:12px;color:var(--muted);font-weight:700}
.management-kpi-value{font-size:21px;line-height:1.2}
.management-kpi-note{color:var(--muted);line-height:1.35}
.management-kpi-warning{border-style:dashed}

.nav-group{display:flex;align-items:center;gap:8px}.nav-group-icon{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;border:1px solid var(--border);font-size:12px;line-height:1;flex:0 0 20px}.nav-plus>.nav-group .nav-group-icon{font-weight:900}

/* DEV45 — A readable image precedes product names throughout stock and commerce. */
.article-photo-cell{display:inline-flex;align-items:center;gap:10px;min-width:150px;vertical-align:middle;max-width:320px}
.article-photo-cell-label{line-height:1.3;min-width:0;overflow-wrap:anywhere}
.article-photo-thumb{display:inline-grid;position:relative;place-items:center;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:var(--surface-2,var(--surface));color:var(--muted);box-sizing:border-box}
.article-photo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;background:var(--surface)}
.article-photo-placeholder{display:grid;place-items:center;font-size:24px;line-height:1;color:var(--muted)}
.article-photo-placeholder[hidden]{display:none}
.article-select-preview{display:flex;align-items:center;gap:8px;margin:4px 0}
.article-select-preview .article-photo-thumb{width:52px;height:52px;flex-basis:52px}
.article-select-preview::after{content:'Photo du produit sélectionné';color:var(--muted);font-size:11px}
.article-photo-thumb:has(.article-photo-image):not(.has-photo) .article-photo-image{opacity:0}
.article-photo-thumb.has-photo .article-photo-image{opacity:1}
@media(max-width:540px){.article-photo-thumb{width:42px;height:42px;flex-basis:42px}.article-photo-cell{min-width:120px;gap:7px}}
/* DEV45 — Catalogue en fiches horizontales, photo à gauche, tarifs à droite. */
.product-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,390px),1fr));align-items:stretch}
.product-catalog-card{display:grid;grid-template-columns:minmax(126px,38%) minmax(0,1fr);min-height:205px}
.product-catalog-media{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--border);min-height:190px;padding:5px}
.product-catalog-image{object-fit:contain}
.product-catalog-body{align-content:start;gap:7px}
.product-catalog-body h3{font-size:16px}
.product-price-list{gap:3px 10px}
@media(max-width:520px){.product-catalog-grid{grid-template-columns:1fr}.product-catalog-card{grid-template-columns:minmax(115px,36%) minmax(0,1fr)}.product-catalog-media{min-height:170px}}


/* DEV46 — unified SVG menu iconography and precise labels for both themes. */
#navigation .nav-section > .nav-group {
  display:flex; align-items:center; column-gap:11px; min-height:44px;
  padding:10px 11px; line-height:1.35; overflow-wrap:anywhere;
}
#navigation .nav-section > summary.nav-group { cursor:pointer; }
#navigation .nav-group-icon {
  display:block; width:20px; height:20px; min-width:20px; flex:0 0 20px;
  border:0; border-radius:0; stroke:currentColor; background:transparent;
}
#navigation .nav-group-label { min-width:0; flex:1 1 auto; }
#navigation .nav-links { padding:4px 6px 7px; }
#navigation .nav-links button {
  display:flex; align-items:center; justify-content:flex-start;
  gap:11px; width:100%; min-height:44px; padding:9px 11px;
  border-radius:8px; text-align:left; line-height:1.35;
  white-space:normal; overflow-wrap:anywhere; transition:background-color .13s ease,color .13s ease;
}
#navigation .nav-item-icon {
  display:block; width:18px; height:18px; min-width:18px;
  flex:0 0 18px; stroke:currentColor; opacity:.9;
}
#navigation .nav-item-label { min-width:0; flex:1 1 auto; text-align:left; }
#navigation .nav-links button.active .nav-item-icon { opacity:1; }
#navigation .nav-links button:focus-visible,#navigation summary:focus-visible {
  outline:2px solid var(--brand); outline-offset:2px;
}
#navigation .nav-icon-fallback { border:1px solid currentColor; border-radius:5px; opacity:.45; }
@media (prefers-reduced-motion:reduce){
 #navigation .nav-links button { transition:none; }
}
@media (max-width:760px) {
 #navigation .nav-section > .nav-group { min-height:44px; }
 #navigation .nav-links button { min-height:44px; width:100%; }
}

/* DEV46: one column on narrow screens. Prior two-column flex basis shifted
   the icons between rows and made long account labels hard to scan. */
@media (max-width:760px) {
 #navigation { max-height:min(56vh,430px); overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
 #navigation .nav-section { width:100%; min-width:0; }
 #navigation .nav-links { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; }
 #navigation .nav-links button { display:flex; flex:none; width:100%; min-height:44px; }
 #navigation .nav-section > summary.nav-group { list-style:none; }
 #navigation .nav-section > summary.nav-group::-webkit-details-marker { display:none; }
 #navigation .nav-section > summary.nav-group::after {
  content:"⌄"; display:block; flex:0 0 16px; text-align:center;
  font-size:15px; line-height:1; color:var(--muted);
 }
 #navigation .nav-section[open] > summary.nav-group::after { transform:rotate(180deg); }
}

/* DEV47: separate owner console link. Existing 61 ERP buttons unchanged. */
#navigation .nav-links a.platform-console-link{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;color:var(--brand);font-weight:700;text-decoration:none;border-radius:8px;border:1px solid var(--border);margin:.25rem 0}
#navigation .nav-links a.platform-console-link:hover{background:var(--surface-hover)}
#navigation .nav-links a.platform-console-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.lemon-production-toggle{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:16px;border:1px solid currentColor;border-radius:12px}.lemon-production-toggle input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.lemon-production-toggle span{line-height:1.5}

/* SIMPLIFICATION 2026-10-23 — mode simple et accès rapides */
.navigation-mode{margin:10px 0 4px;display:grid;gap:5px}
.navigation-mode button{width:100%;min-height:44px;padding:10px 12px;font-size:13px}
.navigation-mode .hint{font-size:11px;line-height:1.5;margin:0 3px;color:var(--muted)}
.zorydo-quick-panel{border-top:3px solid var(--brand)}
.zorydo-quick-panel h2{margin-bottom:10px}
.zorydo-quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;margin-top:18px}
button.zorydo-quick-action{display:flex;align-items:center;gap:12px;width:100%;min-height:86px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;box-shadow:none}
button.zorydo-quick-action:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--text)}
button.zorydo-quick-action:focus-visible,.navigation-mode button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.zorydo-quick-icon{width:26px;height:26px;flex:0 0 26px;stroke:var(--brand)}
.zorydo-quick-copy{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.zorydo-quick-copy strong{font-size:14px}
.zorydo-quick-copy small{font-size:12px;line-height:1.4;color:var(--muted)}
.zorydo-start-panel p{line-height:1.8}
@media(max-width:540px){.zorydo-quick-actions{grid-template-columns:1fr}.zorydo-quick-panel{padding:16px}.zorydo-quick-action{min-height:72px}}
@media print{.navigation-mode,.zorydo-quick-panel,.zorydo-start-panel{display:none!important}}


/* CLIENT PREMIUM V1 — isolated behind verified non-platform-admin identity.
   All selectors below begin with body.zorydo-client-premium. */
body.zorydo-client-premium{
  --page:#f6f7f5;--surface:#fff;--surface-soft:#f9fbf9;--surface-hover:#f1f6f4;
  --input:#fff;--text:#19353b;--muted:#697f85;--brand:#197477;--brand-hover:#105b62;
  --brand-ink:#fff;--brand-soft:#e8f4ef;--brand-strong:#16666a;--border:#e4ece9;
  --input-border:#8ba5a8;--focus:#207e80;--secondary:#f2f7f5;
  --secondary-ink:#31515a;--shadow:0 9px 30px #1339400c,0 2px 5px #13394005;
  color:var(--text);background:var(--page);
}
html[data-theme="dark"] body.zorydo-client-premium{
  --page:#101d23;--surface:#18282e;--surface-soft:#1e3339;--surface-hover:#254147;
  --input:#17282e;--text:#e9f3f0;--muted:#adc0c0;--brand:#74cabe;
  --brand-hover:#a5e7dc;--brand-ink:#13333a;--brand-soft:#274a4c;
  --brand-strong:#a8e7de;--border:#355156;--input-border:#728b8d;
  --focus:#8bd7ca;--secondary:#253e43;--secondary-ink:#e1f5ed;
  --shadow:0 9px 34px #00000030;
}
body.zorydo-client-premium header{
  min-height:78px;padding:16px clamp(18px,2.8vw,40px);
  border-bottom:1px solid var(--border);gap:18px;
}
body.zorydo-client-premium .brand{
  font-size:29px;letter-spacing:-1.15px;font-weight:850;color:var(--text);
}
body.zorydo-client-premium .brand span{letter-spacing:1.5px;font-size:9px;font-weight:650;color:var(--muted)}
body.zorydo-client-premium main{grid-template-columns:255px minmax(0,1fr);max-width:1800px}
body.zorydo-client-premium aside{
  background:var(--surface);border-right:1px solid var(--border);
  padding:25px 15px;
}
body.zorydo-client-premium .workspace{padding:30px clamp(20px,3.4vw,52px)}
body.zorydo-client-premium h1{font-size:clamp(26px,3vw,34px);letter-spacing:-.8px}
body.zorydo-client-premium .page-heading{margin-bottom:12px}
body.zorydo-client-premium .company-label select{
  margin-top:8px;min-height:44px;border-radius:11px;background:var(--surface-soft);
}
body.zorydo-client-premium .navigation-search-label input{
  border-radius:10px;min-height:45px;background:var(--surface-soft);
}
body.zorydo-client-premium .navigation-mode{margin-top:17px}
body.zorydo-client-premium .navigation-mode button{
  border:1px solid var(--border);background:var(--surface-soft);
  color:var(--brand-strong);border-radius:9px;font-weight:750;
}
body.zorydo-client-premium #navigation .nav-section{
  border-radius:11px;overflow:clip;margin-bottom:4px;
}
body.zorydo-client-premium #navigation .nav-section > .nav-group{
  min-height:44px;border-radius:10px;letter-spacing:.5px;
  color:var(--muted);font-size:11px;font-weight:780;
}
body.zorydo-client-premium #navigation .nav-group-icon{
  width:19px;height:19px;min-width:19px;flex-basis:19px;
}
body.zorydo-client-premium #navigation .nav-links button{
  border-radius:10px;min-height:45px;padding:10px 13px;
  color:var(--muted);font-size:12px;
}
body.zorydo-client-premium #navigation .nav-links button:hover{
  background:var(--surface-hover);color:var(--text);
}
body.zorydo-client-premium #navigation .nav-links button.active{
  background:var(--brand-soft);color:var(--brand-strong);box-shadow:none;
  border-inline-start:3px solid var(--brand);padding-inline-start:10px;
}
body.zorydo-client-premium .card{
  border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);
  padding:clamp(18px,2vw,25px);
}
body.zorydo-client-premium .kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
body.zorydo-client-premium .kpis .card{border-top:0}
body.zorydo-client-premium .metric{font-size:clamp(22px,2.1vw,30px)}
body.zorydo-client-premium button:focus-visible,
body.zorydo-client-premium a:focus-visible{
  outline:3px solid var(--focus);outline-offset:3px;
}
body.zorydo-client-premium button:not(.zorydo-premium-action):not(.zorydo-premium-hero-button):not(.zorydo-premium-start-button){
  transition:background-color .16s,color .16s;
}
body.zorydo-client-premium .zorydo-premium-home{margin:10px 0 24px}
body.zorydo-client-premium .zorydo-premium-hero{
  display:flex;justify-content:space-between;overflow:hidden;position:relative;
  min-height:203px;padding:28px 32px;border-radius:18px;
  background:linear-gradient(110deg,#104652 0%,#1c696c 77%,#21776c 100%);
  color:#f7fffd;box-shadow:0 15px 35px #1745491c;
}
body.zorydo-client-premium .zorydo-premium-hero-copy{position:relative;z-index:1;max-width:610px}
body.zorydo-client-premium .zorydo-premium-eyebrow{
  color:#eacb94;letter-spacing:1.7px;font-size:10px;font-weight:780;margin:0 0 9px;
}
body.zorydo-client-premium .zorydo-premium-hero h2{
  color:#f6fffb;font-size:clamp(23px,2.6vw,31px);letter-spacing:-.7px;
  margin:0 0 8px;line-height:1.2;
}
body.zorydo-client-premium .zorydo-premium-intro{
  margin:0 0 19px;color:#d5eae5;font-size:12px;line-height:1.75;
}
body.zorydo-client-premium .zorydo-premium-hero-button{
  display:inline-flex;align-items:center;gap:9px;min-height:43px;
  background:#e6c797;color:#234649;border:1px solid #edce9b;
  border-radius:9px;padding:9px 16px;font-size:12px;font-weight:820;
}
body.zorydo-client-premium .zorydo-premium-hero-button:hover{
  transform:translateY(-1px);background:#f4dfbd;
}
body.zorydo-client-premium .zorydo-premium-button-icon,
body.zorydo-client-premium .zorydo-premium-button-arrow{width:17px;height:17px}
body.zorydo-client-premium .zorydo-premium-hero-art{
  position:absolute;right:-35px;top:-74px;width:315px;height:315px;
  border:1px solid #ffffff40;border-radius:50%;
  box-shadow:0 0 0 43px #ffffff08,0 0 0 99px #ffffff0a;
  pointer-events:none;
}
body.zorydo-client-premium .zorydo-premium-hero-art::after{
  content:"";position:absolute;left:99px;top:99px;height:110px;width:110px;
  border-radius:50%;border:1px solid #d8eac456;background:#ffffff10;
}
body.zorydo-client-premium .zorydo-premium-section-heading{margin:28px 0 15px}
body.zorydo-client-premium .zorydo-premium-section-heading h2{
  margin:0;font-size:18px;letter-spacing:-.3px;color:var(--text);
}
body.zorydo-client-premium .zorydo-premium-section-heading p{
  margin:5px 0 0;color:var(--muted);font-size:12px;
}
body.zorydo-client-premium .zorydo-premium-action-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));
  gap:13px;
}
body.zorydo-client-premium .zorydo-premium-action{
  display:flex;gap:12px;align-items:center;min-height:103px;
  padding:17px;border:1px solid var(--border);border-radius:14px;
  background:var(--surface);color:var(--text);text-align:start;
  box-shadow:var(--shadow);transition:border-color .17s,transform .17s,box-shadow .17s;
}
body.zorydo-client-premium .zorydo-premium-action:hover{
  transform:translateY(-2px);border-color:var(--brand);
  box-shadow:0 10px 32px #143d3d17;
}
body.zorydo-client-premium .zorydo-premium-symbol{
  display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;
  border-radius:12px;background:var(--brand-soft);color:var(--brand-strong);
}
body.zorydo-client-premium .zorydo-premium-action:nth-child(4n+2) .zorydo-premium-symbol{
  background:#fff3df;color:#9e7545;
}
html[data-theme="dark"] body.zorydo-client-premium .zorydo-premium-action:nth-child(4n+2) .zorydo-premium-symbol{
  background:#3c3327;color:#e9c895;
}
body.zorydo-client-premium .zorydo-premium-action-icon{width:22px;height:22px}
body.zorydo-client-premium .zorydo-premium-action-copy{
  display:flex;min-width:0;flex-direction:column;gap:4px;
}
body.zorydo-client-premium .zorydo-premium-action-copy strong{
  font-size:13px;color:var(--text);font-weight:790;
}
body.zorydo-client-premium .zorydo-premium-action-copy small{
  color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere;
}
body.zorydo-client-premium .zorydo-premium-chevron{
  width:14px;height:14px;opacity:.38;margin-left:auto;
}
body.zorydo-client-premium .zorydo-premium-empty{
  border:1px dashed var(--border);color:var(--muted);
  padding:15px;border-radius:12px;font-size:12px;
}
body.zorydo-client-premium .zorydo-premium-start{
  display:flex;align-items:center;justify-content:space-between;gap:17px;
  padding:18px 20px;margin-top:17px;background:var(--surface);
  border:1px solid var(--border);border-radius:13px;
}
body.zorydo-client-premium .zorydo-premium-start-copy strong{font-size:13px}
body.zorydo-client-premium .zorydo-premium-start-copy p{
  font-size:11px;color:var(--muted);line-height:1.6;margin:5px 0 0;
}
body.zorydo-client-premium .zorydo-premium-start-button{
  flex:0 0 auto;padding:10px 15px;border:1px solid var(--border);
  background:var(--brand-soft);color:var(--brand-strong);
  border-radius:9px;font-size:12px;font-weight:780;
}
body.zorydo-client-premium .zorydo-premium-start-button:hover{
  background:var(--surface-hover);
}
@media(max-width:900px){
 body.zorydo-client-premium main{grid-template-columns:minmax(0,1fr)}
 body.zorydo-client-premium .workspace{padding:24px 18px}
 body.zorydo-client-premium aside{border-right:0;border-bottom:1px solid var(--border)}
 body.zorydo-client-premium .zorydo-premium-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 body.zorydo-client-premium .zorydo-premium-hero{padding:22px;min-height:200px}
 body.zorydo-client-premium .zorydo-premium-hero-art{opacity:.35;right:-200px}
 body.zorydo-client-premium .zorydo-premium-action-grid{grid-template-columns:1fr}
 body.zorydo-client-premium .zorydo-premium-action{min-height:79px}
 body.zorydo-client-premium .zorydo-premium-start{flex-direction:column;align-items:stretch}
 body.zorydo-client-premium .zorydo-premium-start-button{width:100%;min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 body.zorydo-client-premium .zorydo-premium-action,
 body.zorydo-client-premium .zorydo-premium-hero-button{transition:none;transform:none!important}
}
@media print{
 body.zorydo-client-premium .zorydo-premium-action-grid,
 body.zorydo-client-premium .zorydo-premium-hero,
 body.zorydo-client-premium .zorydo-premium-start{display:none!important}
}
