* { box-sizing: border-box; }
body { margin: 0; background: var(--dv-background); color: var(--dv-text); font: 16px var(--dv-font-sans); }
small, .dv-muted { color: var(--dv-muted); }
h1, h2, h3, h4, h5, h6, legend { color: var(--dv-heading); }
.dv-header { padding: 22px 0; background: var(--dv-brand-900); color: var(--dv-text-on-brand); }
.dv-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; max-width: var(--dv-content-width, 1200px); margin: auto; padding: 0 18px; }
.dv-header h1 { margin: 0; font-size: 28px; }
.dv-header__brand { display: flex; align-items: center; min-width: 0; gap: 16px; }
.dv-header__logo { display: block; width: auto; max-width: 148px; height: auto; max-height: 52px; object-fit: contain; flex: 0 0 auto; }
.dv-header h1 { color: var(--dv-text-on-brand); }
.dv-header small { color: var(--dv-text-on-brand-muted); }
.dv-badge { padding: 7px 10px; border: 1px solid #ffffff66; border-radius: 999px; font-size: 12px; font-weight: 800; }
.dv-main { width: 100%; max-width: var(--dv-content-width, 1200px); margin: 24px auto; padding: 0 18px; }
.dv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; }
.dv-card, .dv-module { overflow: hidden; border-radius: var(--dv-radius-lg); background: var(--dv-surface); box-shadow: var(--dv-shadow-card); }
.dv-card { padding: 18px; }
.dv-label { color: var(--dv-section-heading); font-size: 13px; font-weight: 750; text-transform: uppercase; }
.dv-value { margin: 8px 0 4px; color: var(--dv-brand-700); font-size: 22px; font-weight: 800; }
.dv-module::before { display: block; height: 4px; background: var(--dv-brand-700); content: ""; }
.dv-module__header { padding: 16px 18px 0; }
.dv-module__header h2 { margin: 0; }
.dv-module__body { padding: 10px 18px 18px; }
.dv-notice { margin-bottom: 16px; padding: 13px 17px; border-radius: var(--dv-radius-md); font-weight: 800; }
.dv-notice--success { background: var(--dv-success-surface); color: var(--dv-success-text); }
.dv-notice--danger { background: var(--dv-danger-surface); color: var(--dv-danger-text); }
.dv-notice--info { background: var(--dv-info-surface); color: var(--dv-info-text); }
.dv-notice--warning { background: var(--dv-warning-surface); color: var(--dv-warning-text); }
.dv-user { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.dv-user a, .dv-link-button { color: var(--dv-text-on-brand); font: inherit; }
.dv-link-button { padding: 0; border: 0; background: none; text-decoration: underline; cursor: pointer; }
.dv-user form { margin: 0; }
.dv-language-switcher select { max-width: 8.5rem; min-height: 2rem; padding: 0.25rem 1.7rem 0.25rem 0.5rem; border: 1px solid color-mix(in srgb, var(--dv-text-on-brand) 45%, transparent); border-radius: 7px; background: var(--dv-brand-900); color: var(--dv-text-on-brand); font: inherit; }
.dv-language-switcher select:focus-visible { outline: 3px solid var(--dv-focus-ring); outline-offset: 2px; }
.dv-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.dv-toolbar { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 24px 0 12px; }
.dv-tenant { margin-bottom: 20px; }
.dv-module__header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dv-site + .dv-site { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--dv-border); }
.dv-site__title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.dv-site__title h3 { margin: 0; }
.dv-device-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dv-device { padding: 16px; border: 1px solid var(--dv-border); border-left: 5px solid var(--dv-muted); border-radius: 12px; background: var(--dv-surface-subtle); }
.dv-device--online { border-left-color: var(--dv-success-700); }
.dv-device--offline { border-left-color: var(--dv-danger-700); }
.dv-device__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dv-device__head h3 { margin: 3px 0 0; font-size: 18px; }
.dv-device__seen { margin: 10px 0 14px; color: var(--dv-muted); font-size: 14px; }
.dv-state { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 900; }
.dv-state--online { background: var(--dv-success-surface); color: var(--dv-success-text); }
.dv-state--offline { background: var(--dv-danger-surface); color: var(--dv-danger-text); }
.dv-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 0; }
.dv-details div { min-width: 0; }
.dv-details dt { color: var(--dv-muted); font-size: 12px; }
.dv-details dd { overflow-wrap: anywhere; margin: 2px 0 0; font-weight: 650; }
.dv-auth-page { min-height: 100vh; background: var(--dv-brand-900); }
.dv-auth { width: min(440px, calc(100% - 28px)); margin: 0 auto; padding: 8vh 0 30px; }
.dv-auth__brand { margin-bottom: 20px; color: var(--dv-text-on-brand); text-align: center; }
.dv-auth__brand h1 { color: var(--dv-text-on-brand); }
.dv-auth__brand h1 { margin-bottom: 6px; }
.dv-auth__brand p { margin: 0; color: var(--dv-text-on-brand-muted); }
.dv-auth__card { padding: 24px; border-radius: var(--dv-radius-lg); background: var(--dv-surface); box-shadow: 0 12px 40px #0004; }
.dv-auth__card h2 { margin-top: 0; }
.dv-form { display: grid; gap: 16px; }
.dv-form label { display: grid; gap: 6px; font-weight: 700; }
.dv-form input { width: 100%; padding: 12px; border: 1px solid var(--dv-border-strong); border-radius: 9px; background: var(--dv-surface-input); color: var(--dv-text); font: inherit; }
.dv-form input:focus { border-color: var(--dv-accent-700); outline: 3px solid var(--dv-focus-ring); }
.dv-button { padding: 12px 16px; border: 0; border-radius: var(--dv-radius-sm); background: var(--dv-accent-700); color: var(--dv-text-on-brand); font: inherit; font-weight: 800; cursor: pointer; }
.dv-button:disabled { cursor: not-allowed; opacity: .5; }
.dv-button--secondary { border: 1px solid var(--dv-border-strong); background: var(--dv-secondary-button); }
.dv-button--danger { background: var(--dv-danger-700); }
.dv-button--small { display: inline-block; min-height: 0; padding: 8px 10px; font-size: 12px; }
.dv-secondary-link { text-align: center; }
.dv-field-state { min-height: 1.2em; font-weight: 600; }
.dv-field-state[data-state="valid"] { color: var(--dv-success-700); }
.dv-field-state[data-state="invalid"] { color: var(--dv-danger-700); }
.dv-field-state[data-state="pending"] { color: var(--dv-muted); }
.dv-user a[aria-current="page"] { font-weight: 800; text-decoration-thickness: 3px; text-underline-offset: 5px; }
.dv-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.dv-page-heading h2, .dv-page-heading p { margin-top: 0; }
.dv-page-heading h2 { margin-bottom: 6px; font-size: clamp(24px, 3vw, 32px); }
.dv-page-heading p { margin-bottom: 0; }
.dv-page-heading--settings { align-items: end; margin-bottom: 24px; }
.dv-eyebrow { display: block; margin-bottom: 6px; color: var(--dv-brand-700); font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.dv-main--settings { max-width: var(--dv-content-width, 1200px); }
.dv-main--password > .dv-page-heading,
.dv-password-panel { width: min(100%, 560px); margin-inline: auto; }
.dv-settings-form { display: grid; gap: 18px; }
.dv-settings-section { min-width: 0; margin: 0; padding: 0 22px 22px; border: 0; }
.dv-settings-section::before { margin: 0 -22px 18px; }
.dv-settings-section legend { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; width: 100%; padding: 0 0 18px; color: var(--dv-brand-900); }
.dv-settings-section legend span { font-size: 21px; font-weight: 850; }
.dv-settings-section legend small { color: var(--dv-muted); font-size: 13px; font-weight: 500; text-align: right; }
.dv-settings-section[disabled] { opacity: .78; }
.dv-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dv-form-grid--12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.dv-field, .dv-site-selector label { display: grid; align-content: start; gap: 7px; min-width: 0; color: var(--dv-text); font-size: 14px; font-weight: 720; }
.dv-field > span b { color: var(--dv-danger-700); }
.dv-field input, .dv-field select, .dv-field textarea, .dv-site-selector select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--dv-border-strong); border-radius: var(--dv-radius-sm); background: var(--dv-surface-input); color: var(--dv-text); font: inherit; transition: border-color .15s, box-shadow .15s; }
.dv-field input:hover, .dv-field select:hover, .dv-site-selector select:hover { border-color: var(--dv-border-hover); }
.dv-field input:focus, .dv-field select:focus, .dv-field textarea:focus, .dv-site-selector select:focus { border-color: var(--dv-accent-700); outline: 0; box-shadow: 0 0 0 3px var(--dv-focus-ring); }
.dv-field input::placeholder { color: var(--dv-placeholder); }
.dv-field textarea { resize: vertical; }
.dv-field--button { align-content: end; }
.dv-field--button .dv-button { min-height: 44px; }
.dv-col-3 { grid-column: span 3; }
.dv-col-4 { grid-column: span 4; }
.dv-col-6 { grid-column: span 6; }
.dv-col-8 { grid-column: span 8; }
.dv-col-12 { grid-column: span 12; }
.dv-span-2 { grid-column: span 2; }
.dv-toggle-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.dv-toggle { display: flex !important; align-items: center; gap: 9px !important; padding: 10px 12px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); font-weight: 700; }
.dv-toggle input { width: 20px; height: 20px; margin: 0; }
.dv-toggle--warning { background: var(--dv-warning-surface-subtle); }
.dv-toggle-grid--cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 24px; }
.dv-toggle-card { display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 15px; border: 1px solid var(--dv-border); border-radius: 12px; background: var(--dv-surface-subtle); cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.dv-toggle-card:hover { border-color: var(--dv-border-hover); background: var(--dv-surface-hover); transform: translateY(-1px); }
.dv-toggle-card:has(input:checked) { border-color: var(--dv-border-selected); background: var(--dv-surface-selected); box-shadow: inset 0 0 0 1px var(--dv-border-selected); }
.dv-toggle-card--warning:has(input:checked) { border-color: var(--dv-warning-border); background: var(--dv-warning-surface-selected); box-shadow: inset 0 0 0 1px var(--dv-warning-border); }
.dv-toggle-card input { flex: 0 0 auto; width: 21px; height: 21px; margin: 1px 0 0; accent-color: var(--dv-brand-700); }
.dv-toggle-card > span { display: grid; gap: 3px; }
.dv-toggle-card strong { font-size: 15px; }
.dv-toggle-card small { color: var(--dv-muted); font-size: 12px; line-height: 1.45; }
.dv-settings-subsection { padding-top: 18px; border-top: 1px solid var(--dv-border); }
.dv-settings-subsection + .dv-settings-subsection { margin-top: 22px; }
.dv-settings-subsection h3 { margin: 0 0 14px; font-size: 15px; }
.dv-input-group { display: flex; min-width: 0; }
.dv-input-group input { border-radius: var(--dv-radius-sm) 0 0 var(--dv-radius-sm); }
.dv-input-group > span { display: grid; place-items: center; flex: 0 0 auto; min-width: 52px; padding: 0 10px; border: 1px solid var(--dv-border-strong); border-left: 0; border-radius: 0 var(--dv-radius-sm) var(--dv-radius-sm) 0; background: var(--dv-surface-addon); color: var(--dv-text-secondary); font-size: 13px; font-weight: 750; }
.dv-input-group:focus-within { border-radius: var(--dv-radius-sm); box-shadow: 0 0 0 3px var(--dv-focus-ring); }
.dv-input-group:focus-within input { box-shadow: none; }
.dv-hours { overflow: hidden; border: 1px solid var(--dv-border); border-radius: 12px; }
.dv-hours__row { display: grid; grid-template-columns: minmax(120px, 1.2fr) minmax(130px, 1fr) minmax(130px, 1fr) minmax(145px, auto); align-items: center; gap: 14px; padding: 12px 14px; background: var(--dv-surface); }
.dv-hours__row:nth-child(even) { background: var(--dv-surface-subtle); }
.dv-hours__row + .dv-hours__row { border-top: 1px solid var(--dv-border); }
.dv-hours__row > strong { font-size: 15px; }
.dv-time-field { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; color: var(--dv-muted); font-size: 12px; font-weight: 700; }
.dv-hours__row input[type="time"] { width: 100%; min-width: 0; padding: 9px; border: 1px solid var(--dv-border-strong); border-radius: var(--dv-radius-sm); background: var(--dv-surface-input); color: var(--dv-text); font: inherit; }
.dv-hours__row input[type="time"]:focus { border-color: var(--dv-accent-700); outline: 0; box-shadow: 0 0 0 3px var(--dv-focus-ring); }
.dv-hours__row:has(.dv-closed-toggle input:checked) .dv-time-field { opacity: .45; }
.dv-closed-toggle { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: var(--dv-radius-sm); font-size: 13px; font-weight: 700; cursor: pointer; }
.dv-closed-toggle input { width: 18px; height: 18px; margin: 0; accent-color: var(--dv-danger-700); }
.dv-form-actions { position: sticky; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-md); background: var(--dv-surface-overlay); box-shadow: 0 -5px 18px #0000000d; backdrop-filter: blur(10px); }
.dv-form-actions__hint { color: var(--dv-muted); font-size: 13px; }
.dv-site-selector { max-width: 420px; margin-bottom: 18px; }
.dv-tenant-selector { width: min(360px, 100%); margin-bottom: 0; }
.dv-grid--license-summary { grid-template-columns: 1.2fr 1fr 1fr; }
.dv-grid--license-summary .dv-value { overflow-wrap: anywhere; }
.dv-value--status-active { color: var(--dv-success-700); }
.dv-value--status-trial, .dv-value--status-grace { color: var(--dv-warning-700); }
.dv-value--status-suspended, .dv-value--status-expired { color: var(--dv-danger-700); }
.dv-inline-help { margin: 16px 0 0; padding: 12px 14px; border-radius: var(--dv-radius-sm); background: var(--dv-help-surface); color: var(--dv-help-text); font-size: 13px; line-height: 1.5; }
.dv-limit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dv-limit-card { display: grid; grid-template-columns: minmax(0, 1fr) 88px; align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid var(--dv-border); border-radius: 11px; background: var(--dv-surface-subtle); }
.dv-limit-card > span { display: grid; gap: 3px; font-size: 14px; font-weight: 750; }
.dv-limit-card small { font-size: 11px; font-weight: 500; }
.dv-limit-card input { width: 100%; min-width: 0; padding: 9px; border: 1px solid var(--dv-border-strong); border-radius: var(--dv-radius-sm); background: var(--dv-surface-input); color: var(--dv-text); font: inherit; text-align: center; }
.dv-limit-card input:focus { border-color: var(--dv-accent-700); outline: 0; box-shadow: 0 0 0 3px var(--dv-focus-ring); }
.dv-license-categories { display: grid; gap: 22px; }
.dv-license-category h3 { margin: 0 0 10px; color: var(--dv-section-heading); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.dv-module-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dv-module-choice { display: flex; align-items: flex-start; gap: 11px; min-width: 0; padding: 14px; border: 1px solid var(--dv-border); border-radius: 11px; background: var(--dv-surface-subtle); cursor: pointer; transition: border-color .15s, background .15s; }
.dv-module-choice:hover { border-color: var(--dv-border-hover); background: var(--dv-surface-hover); }
.dv-module-choice:has(input:checked) { border-color: var(--dv-border-selected); background: var(--dv-surface-selected); box-shadow: inset 0 0 0 1px var(--dv-border-selected); }
.dv-module-choice--core { border-color: var(--dv-border-selected); background: var(--dv-surface-core); cursor: default; }
.dv-module-choice input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--dv-brand-700); }
.dv-module-choice > span { display: grid; gap: 4px; }
.dv-module-choice strong { font-size: 14px; }
.dv-module-choice small { color: var(--dv-text-secondary); font-size: 12px; line-height: 1.45; }
.dv-grid--sms-summary { grid-template-columns: .9fr 1.25fr 1fr; }
.dv-grid--sms-summary .dv-value { overflow-wrap: anywhere; }
.dv-sms-test-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 22px 0; }
.dv-sms-test-grid .dv-settings-section { height: 100%; }
.dv-sms-test-grid p { line-height: 1.5; }
.dv-sms-test-grid textarea { width: 100%; }
.dv-sms-events { margin-top: 22px; }
.dv-sensitive-result { margin-bottom: 22px; border: 1px solid var(--dv-warning-border); }
.dv-sensitive-result::before { background: var(--dv-warning-700); }
.dv-sensitive-result .dv-value { font-family: var(--dv-font-mono); letter-spacing: .04em; }
.dv-dialog { width: min(560px, calc(100vw - 32px)); max-width: 560px; padding: 0; border: 1px solid var(--dv-border-strong); border-radius: var(--dv-radius-lg); color: var(--dv-text); background: var(--dv-surface); box-shadow: 0 20px 60px #00000055; }
.dv-dialog::backdrop { background: #07120eaa; backdrop-filter: blur(2px); }
.dv-dialog__form { display: grid; gap: 16px; padding: 22px; }
.dv-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.dv-dialog__header h2 { margin: 4px 0 0; color: var(--dv-heading); }
.dv-dialog__close { min-width: 40px; min-height: 40px; border: 1px solid var(--dv-border); border-radius: 50%; color: var(--dv-text); background: var(--dv-surface-subtle); font: inherit; font-size: 26px; line-height: 1; cursor: pointer; }
.dv-dialog__close:hover { border-color: var(--dv-border-hover); background: var(--dv-surface-hover); }
.dv-dialog__actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 4px; }
.dv-dialog .dv-notice { margin: 0; }
.dv-dialog .dv-field small[data-state="valid"] { color: var(--dv-success-text); }
.dv-dialog .dv-field small[data-state="pending"] { color: var(--dv-text-secondary); }
.dv-table-scroll { overflow-x: auto; }
.dv-table { width: 100%; border-collapse: collapse; }
.dv-table th, .dv-table td { padding: 11px 12px; border-bottom: 1px solid var(--dv-border); text-align: left; white-space: nowrap; }
.dv-table th { color: var(--dv-section-heading); font-size: 12px; text-transform: uppercase; }
.dv-text-success { color: var(--dv-success-700); }
.dv-text-danger { color: var(--dv-danger-700); }
.dv-main--catalog { max-width: var(--dv-content-width, 1200px); }
.dv-grid--catalog-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dv-catalog-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); align-items: start; gap: 22px; }
.dv-catalog-list, .dv-catalog-editor { min-width: 0; }
.dv-catalog-editor { position: sticky; top: 18px; }
.dv-catalog-editor .dv-settings-section { border: 1px solid var(--dv-editor-border); background: var(--dv-editor-surface); }
.dv-catalog-editor .dv-settings-section::before { background: var(--dv-editor-accent); }
.dv-catalog-editor .dv-form-actions { border-color: var(--dv-editor-border); background: var(--dv-editor-actions-surface); }
.dv-toolbar--catalog { margin-top: 0; }
.dv-toolbar--catalog h2 { margin: 0; }
.dv-catalog-filters { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; align-items: end; margin: 14px 0 8px; padding: 16px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface); }
.dv-catalog-filters .dv-field { margin: 0; }
.dv-catalog-filter--search, .dv-catalog-filter--category, .dv-catalog-filter--status { grid-column: span 2; }
.dv-catalog-filter--channel { grid-column: span 2; }
.dv-catalog-filter--page-size { grid-column: span 1; }
.dv-filter-actions { display: flex; grid-column: span 3; flex-wrap: wrap; gap: 10px; }
.dv-filter-actions .dv-button { flex: 1 1 auto; text-align: center; }
.dv-result-summary { margin: 10px 0 14px; color: var(--dv-text-secondary); font-size: 14px; }
.dv-selection-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin: 0 0 14px; padding: 11px 13px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface); }
.dv-selection-toolbar label { display: flex; align-items: center; gap: 8px; font-weight: 750; cursor: pointer; }
.dv-selection-toolbar input, .dv-product-card__select input, .dv-tree-product__select input { width: 19px; height: 19px; margin: 0; accent-color: var(--dv-brand-700); }
.dv-selection-toolbar [data-selection-count] { margin-right: auto; color: var(--dv-text-secondary); font-size: 13px; }
.dv-catalog-category + .dv-catalog-category, .dv-new-category { margin-top: 18px; }
.dv-count-badge { display: grid; place-items: center; min-width: 34px; height: 34px; padding: 0 9px; border-radius: 999px; color: var(--dv-success-text); background: var(--dv-success-surface); }
.dv-grid--order-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dv-orders-module { margin-top: 18px; }
.dv-orders-module .dv-module__header > div h2 { margin: 2px 0 0; }
.dv-orders-table td { vertical-align: middle; }
.dv-table-subline { display: block; margin-top: 3px; color: var(--dv-text-secondary); }
.dv-order-status { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; background: var(--dv-info-surface); color: var(--dv-info-text); }
.dv-order-status--ready, .dv-order-status--completed { background: var(--dv-success-surface); color: var(--dv-success-text); }
.dv-order-status--cancelled { background: var(--dv-danger-surface); color: var(--dv-danger-text); }
.dv-order-status--in_preparation, .dv-order-status--dispatched { background: var(--dv-warning-surface); color: var(--dv-warning-text); }
.dv-order-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.dv-order-actions form { margin: 0; }
.dv-order-print { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: var(--dv-warning-text); background: var(--dv-warning-surface); font-size: 12px; font-weight: 800; white-space: nowrap; }
.dv-order-print--delivered { color: var(--dv-success-text); background: var(--dv-success-surface); }
.dv-order-print--partial, .dv-order-print--transferring { color: var(--dv-info-text); background: var(--dv-info-surface); }
.dv-order-print--not_queued { color: var(--dv-text-secondary); background: var(--dv-surface-subtle); }
.dv-main--order-entry { max-width: var(--dv-content-width, 1200px); }
.dv-order-entry-context { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(180px, .7fr) minmax(240px, 1fr); gap: 14px; align-items: end; margin-bottom: 20px; padding: 16px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-md); background: var(--dv-surface); box-shadow: 0 4px 14px #0000000d; }
.dv-order-entry-context .dv-field { margin: 0; }
.dv-order-entry-context__status { display: grid; gap: 3px; align-self: stretch; padding: 10px 14px; border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); }
.dv-order-entry-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(360px, .7fr); gap: 20px; align-items: start; }
.dv-order-entry-products { min-width: 0; }
.dv-order-entry-search { display: grid; gap: 12px; margin-bottom: 18px; padding: 16px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-md); background: var(--dv-surface); }
.dv-order-entry-search .dv-field { margin: 0; }
.dv-order-category-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.dv-order-product-groups { display: grid; gap: 18px; }
.dv-order-product-group { min-width: 0; padding: 16px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-md); background: var(--dv-surface); box-shadow: 0 4px 14px #0000000d; }
.dv-order-product-group::before { display: block; height: 4px; margin: -16px -16px 14px; border-radius: var(--dv-radius-md) var(--dv-radius-md) 0 0; background: var(--dv-success-700); content: ""; }
.dv-order-product-group__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.dv-order-product-group__header h3 { margin: 0; color: var(--dv-heading); font-size: 21px; }
.dv-order-product-group__header span { display: grid; place-items: center; min-width: 30px; height: 30px; border-radius: 999px; color: var(--dv-success-text); background: var(--dv-success-surface); font-weight: 800; }
.dv-order-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dv-order-product { position: relative; display: flex; min-width: 0; min-height: 128px; flex-direction: column; align-items: stretch; gap: 7px; padding: 14px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); color: var(--dv-text); background: var(--dv-surface-subtle); font: inherit; text-align: left; cursor: pointer; }
.dv-order-product:hover, .dv-order-product:focus-visible { border-color: var(--dv-success-700); background: var(--dv-surface-hover); box-shadow: 0 0 0 3px var(--dv-focus-ring); }
.dv-order-product__name { color: var(--dv-heading); font-size: 16px; font-weight: 850; line-height: 1.25; }
.dv-order-product > small { color: var(--dv-text-secondary); line-height: 1.35; }
.dv-order-product__meta { display: flex; align-items: end; justify-content: space-between; gap: 8px; margin-top: auto; }
.dv-order-product__meta strong { color: var(--dv-success-700); font-size: 17px; }
.dv-order-product__age { align-self: flex-start; padding: 3px 7px; border-radius: 999px; color: var(--dv-warning-text); background: var(--dv-warning-surface); font-size: 11px; font-weight: 850; }
.dv-order-product__configure { color: var(--dv-info-text); font-size: 11px; font-weight: 800; }
.dv-order-cart { position: sticky; top: 16px; min-width: 0; }
.dv-order-cart__module { border-color: var(--dv-editor-border); background: var(--dv-editor-surface); }
.dv-order-cart__module::before { background: var(--dv-editor-accent); }
.dv-order-cart__module .dv-module__body { display: grid; gap: 15px; }
.dv-order-cart__empty { padding: 12px; }
.dv-order-cart__lines { display: grid; gap: 8px; }
.dv-order-cart-line { display: grid; gap: 9px; padding: 12px; border: 1px solid var(--dv-editor-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface); }
.dv-order-cart-line__main { display: grid; gap: 3px; min-width: 0; }
.dv-order-cart-line__main small { color: var(--dv-text-secondary); line-height: 1.35; }
.dv-order-cart-line__controls { display: grid; grid-template-columns: 32px 32px 32px minmax(80px, 1fr) 32px; align-items: center; gap: 4px; }
.dv-order-cart-line__controls button { height: 32px; border: 1px solid var(--dv-border-strong); border-radius: 8px; color: var(--dv-text); background: var(--dv-surface-subtle); font: inherit; font-weight: 850; cursor: pointer; }
.dv-order-cart-line__controls strong { text-align: center; }
.dv-order-cart-line__controls span { color: var(--dv-heading); font-weight: 850; text-align: right; }
.dv-order-cart-line__controls .dv-order-cart-line__remove { color: var(--dv-danger-text); background: var(--dv-danger-surface); }
.dv-order-cart__settings { display: grid; gap: 12px; padding-top: 13px; border-top: 1px solid var(--dv-editor-border); }
.dv-order-cart__settings .dv-field { margin: 0; }
.dv-order-age-check span { display: grid; gap: 2px; }
.dv-order-age-check small { color: var(--dv-text-secondary); }
.dv-order-cart__total { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0 5px; border-top: 2px solid var(--dv-editor-border); color: var(--dv-heading); font-size: 18px; font-weight: 850; }
.dv-order-cart__total strong { font-size: 23px; }
.dv-order-cart__submit { width: 100%; }
.dv-dialog--order-config { max-width: 640px; }
.dv-order-config-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dv-order-config-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 13px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); }
.dv-order-config-group legend { grid-column: 1 / -1; padding: 0 4px; color: var(--dv-heading); font-weight: 850; }
.dv-order-config-group > small { grid-column: 1 / -1; color: var(--dv-text-secondary); }
.dv-order-config-group .dv-toggle { margin: 0; padding: 10px; border: 1px solid var(--dv-border); border-radius: 10px; background: var(--dv-surface-subtle); }
.dv-order-config-group .dv-order-option-choice { position: relative; min-height: 58px; justify-content: center; padding: 12px 14px; border: 2px solid var(--dv-border-strong); border-radius: 12px; background: var(--dv-surface-subtle); color: var(--dv-heading); font-weight: 850; cursor: pointer; user-select: none; transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease, background .08s ease; }
.dv-order-config-group .dv-order-option-choice input { position: absolute; opacity: 0; pointer-events: none; }
.dv-order-config-group .dv-order-option-choice.is-selected { border-color: #173d27; background: var(--dv-option-color, #b7e4c7); color: #173d27; box-shadow: inset 0 0 0 2px #ffffffaa, 0 2px 7px #00000022; transform: translateY(-1px); }
.dv-option-color-field input[type="color"] { width: 100%; min-width: 50px; height: 42px; padding: 3px; border: 1px solid var(--dv-border-strong); border-radius: 8px; background: var(--dv-surface); cursor: pointer; }
.dv-modifier-summary__name { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.dv-option-color-swatch { width: 24px; height: 24px; flex: 0 0 24px; border: 1px solid var(--dv-border-strong); border-radius: 7px; background: var(--dv-option-swatch, #b7e4c7); }
.dv-position-note-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 9px; }
.dv-position-note-chip { min-height: 44px; padding: 9px 11px; border: 2px solid var(--dv-border-strong); border-radius: 10px; background: var(--dv-surface-subtle); color: var(--dv-heading); font: inherit; font-weight: 850; cursor: pointer; }
.dv-position-note-chip.is-selected { border-color: #173d27; background: #b7e4c7; color: #173d27; box-shadow: inset 0 0 0 2px #ffffffaa; transform: translateY(-1px); }
@media (max-width: 760px) { .dv-position-note-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dv-category-description { margin: 0 0 14px; }
.dv-product-list { display: grid; gap: 10px; }
.dv-product-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 15px; border: 1px solid var(--dv-border); border-radius: 12px; background: var(--dv-surface-subtle); }
.dv-product-card--inactive { opacity: .78; }
.dv-product-card__select { display: grid; flex: 0 0 auto; place-items: center; min-width: 28px; min-height: 36px; cursor: pointer; }
.dv-product-card__main { flex: 1 1 auto; min-width: 0; }
.dv-product-card__actions { display: flex; flex: 0 0 auto; flex-direction: column; gap: 7px; }
.dv-product-card__title { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.dv-product-card h3 { margin: 0; font-size: 17px; }
.dv-product-card p { margin: 6px 0 0; color: var(--dv-text-secondary); font-size: 14px; line-height: 1.45; }
.dv-product-card__meta, .dv-channel-tags { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 10px; font-size: 13px; }
.dv-product-card__meta span { color: var(--dv-text-secondary); }
.dv-product-warning { color: var(--dv-warning-700) !important; font-weight: 800; }
.dv-channel-tags span { padding: 4px 7px; border: 1px solid var(--dv-border); border-radius: 999px; color: var(--dv-text-secondary); background: var(--dv-surface); font-size: 11px; font-weight: 750; }
.dv-catalog-empty h3 { margin-bottom: 5px; }
.dv-catalog-empty p { margin-top: 0; }
.dv-main--transfer { max-width: var(--dv-content-width, 1200px); }
.dv-grid--transfer-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dv-transfer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 22px; }
.dv-button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.dv-upload-form { display: grid; gap: 16px; }
.dv-upload-form input[type="file"] { padding: 10px; border: 1px dashed var(--dv-border-strong); background: var(--dv-surface-subtle); }
.dv-transfer-preview { margin-top: 22px; }
.dv-preview-banner { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 14px 16px; border-radius: var(--dv-radius-sm); background: var(--dv-success-surface); color: var(--dv-heading); }
.dv-import-errors { padding: 14px 18px; border-left: 5px solid var(--dv-danger-700); border-radius: var(--dv-radius-sm); background: var(--dv-danger-surface); }
.dv-import-errors h3 { margin-top: 0; }
.dv-import-errors li + li { margin-top: 6px; }
.dv-table--preview td small { display: block; margin-top: 3px; color: var(--dv-text-secondary); }
.dv-mini-tag { display: inline-block; margin: 2px 4px 2px 0; padding: 3px 6px; border-radius: 999px; background: var(--dv-surface-subtle); font-size: 11px; }
.dv-import-confirm { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 16px; border: 2px solid var(--dv-accent-700); border-radius: var(--dv-radius-sm); background: var(--dv-success-surface); }
.dv-import-confirm small { display: block; margin-top: 4px; color: var(--dv-text-secondary); }
.dv-preview-controls { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.dv-preview-controls .dv-field { width: min(220px, 100%); margin: 0; }
.dv-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 9px; margin: 18px 0; }
.dv-pagination > span { padding: 8px 6px; color: var(--dv-text-secondary); }
.is-disabled { pointer-events: none; opacity: .5; }
.dv-new-category .dv-module__body { padding-top: 16px; }
.dv-toggle-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dv-channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dv-age-field { max-width: 220px; }
.dv-catalog-tree { margin-top: 14px; }
.dv-catalog-tree__heading { align-items: end; }
.dv-catalog-tree__heading small { max-width: 330px; text-align: right; }
.dv-catalog-tree__body { display: grid; gap: 9px; padding-top: 14px; }
.dv-tree-category { overflow: hidden; border: 1px solid var(--dv-border); border-radius: 11px; background: var(--dv-surface-subtle); }
.dv-tree-category__summary { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; min-height: 58px; padding: 10px 12px; cursor: pointer; list-style: none; transition: border-color .15s, background .15s, box-shadow .15s; }
.dv-tree-category__summary::-webkit-details-marker { display: none; }
.dv-tree-category__summary:hover { background: var(--dv-surface-hover); }
.dv-tree-category__summary:focus-visible { outline: 0; box-shadow: inset 0 0 0 3px var(--dv-focus-ring); }
.dv-tree-folder-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; color: var(--dv-brand-700); background: var(--dv-success-surface); font-size: 18px; font-weight: 900; }
.dv-tree-folder-icon::before { content: "▸"; }
.dv-tree-category[open] > .dv-tree-category__summary .dv-tree-folder-icon::before { content: "▾"; }
.dv-tree-category__name { display: grid; min-width: 0; gap: 3px; }
.dv-tree-category__name strong { overflow: hidden; color: var(--dv-heading); text-overflow: ellipsis; white-space: nowrap; }
.dv-tree-category__name small { color: var(--dv-text-secondary); }
.dv-tree-category__delete { position: relative; z-index: 1; }
.dv-tree-category__children { display: grid; gap: 7px; margin: 0 12px 12px 28px; padding: 4px 0 0 17px; border-left: 2px solid var(--dv-border-selected); }
.dv-tree-category__description { margin: 0 0 4px; font-size: 13px; }
.dv-tree-product { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-width: 0; padding: 10px; border: 1px solid var(--dv-border); border-radius: 9px; background: var(--dv-surface); transition: border-color .15s, background .15s, box-shadow .15s, opacity .15s; }
.dv-tree-product[draggable="true"] { cursor: grab; }
.dv-tree-product[draggable="true"]:active { cursor: grabbing; }
.dv-tree-product--inactive { opacity: .72; }
.dv-tree-product--selected { border-color: var(--dv-editor-accent); background: var(--dv-editor-surface); box-shadow: inset 3px 0 0 var(--dv-editor-accent); }
.dv-tree-product.is-dragging { opacity: .42; }
.dv-tree-category__summary.is-drop-target { border-radius: 10px; background: var(--dv-success-surface); box-shadow: inset 0 0 0 2px var(--dv-border-selected); }
.dv-tree-product__select { display: grid; place-items: center; cursor: pointer; }
.dv-tree-product__link { display: grid; min-width: 0; gap: 5px; color: inherit; text-decoration: none; }
.dv-tree-product__link:hover strong { color: var(--dv-accent-700); text-decoration: underline; }
.dv-tree-product__title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.dv-tree-product__title > strong { overflow-wrap: anywhere; }
.dv-tree-product__meta { display: flex; flex-wrap: wrap; gap: 5px 12px; color: var(--dv-text-secondary); font-size: 12px; }
.dv-tree-product__meta b { color: var(--dv-text); }
.dv-tree-product__actions { display: flex; gap: 7px; }
.dv-tree-empty { padding: 11px 12px; border: 1px dashed var(--dv-border-strong); border-radius: 9px; color: var(--dv-text-secondary); background: var(--dv-surface); font-size: 13px; }
.dv-tree-loading, .dv-tree-load-error { padding: 12px; border: 1px dashed var(--dv-border-strong); border-radius: 9px; color: var(--dv-text-secondary); background: var(--dv-surface); font-size: 13px; }
.dv-tree-load-error { color: var(--dv-danger-text); }
.dv-folder-result-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; padding: 5px 2px 0; color: var(--dv-text-secondary); font-size: 12px; }
.dv-folder-result-summary small { color: var(--dv-text-secondary); }
.dv-folder-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; padding-top: 5px; }
.dv-folder-pagination > span { padding: 7px 4px; color: var(--dv-text-secondary); font-size: 12px; }
.dv-tree-category[aria-busy="true"] > .dv-tree-category__summary { opacity: .72; }
.dv-button--block { width: 100%; margin-top: 14px; }
.dv-translation-panel { margin: 16px 0 0; border: 1px solid var(--dv-border-strong); border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); }
.dv-translation-panel > summary { padding: 12px 14px; color: var(--dv-section-heading); font-weight: 800; cursor: pointer; }
.dv-translation-panel[open] > summary { border-bottom: 1px solid var(--dv-border); }
.dv-translation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px; }
.dv-translation-card { min-width: 0; padding: 13px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface); }
.dv-translation-card h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 12px; color: var(--dv-heading); font-size: 15px; }
.dv-translation-card h3 small { color: var(--dv-text-secondary); font-size: 12px; font-weight: 600; }
.dv-translation-card .dv-field + .dv-field { margin-top: 12px; }
.dv-field__label-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.dv-field__label-row label { color: var(--dv-text); font-weight: 750; }
.dv-translate-button { display: grid; place-items: center; width: 30px; height: 28px; padding: 0; border: 1px solid var(--dv-accent-700); border-radius: 8px; color: var(--dv-accent-700); background: var(--dv-surface); font: 850 14px/1 var(--dv-font-sans); cursor: pointer; }
.dv-translate-button:hover { color: var(--dv-text-on-brand); background: var(--dv-accent-700); }
.dv-translate-button:focus-visible { outline: 0; box-shadow: 0 0 0 3px var(--dv-focus-ring); }
.dv-translate-button:disabled { cursor: wait; opacity: .65; }
.dv-translate-button[data-state="loading"] { animation: dv-translation-pulse 1s ease-in-out infinite alternate; }
.dv-translation-status { min-height: 17px; color: var(--dv-text-secondary); }
@keyframes dv-translation-pulse { from { opacity: .45; } to { opacity: 1; } }
.dv-branding-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr); gap: 16px; align-items: start; }
.dv-logo-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dv-logo-preview { display: grid; place-items: center; min-height: 220px; padding: 24px; overflow: hidden; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); }
.dv-logo-preview--light { background: #fff; }
.dv-logo-preview--dark { background: var(--dv-brand-950); }
.dv-logo-preview img { display: block; max-width: 100%; max-height: 180px; object-fit: contain; }
.dv-logo-empty { display: grid; place-items: center; min-height: 260px; padding: 30px; border: 2px dashed var(--dv-border-strong); border-radius: var(--dv-radius-sm); color: var(--dv-text-secondary); text-align: center; }
.dv-logo-empty strong { color: var(--dv-heading); font-size: 20px; }
.dv-branding-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; }
.dv-branding-meta div { min-width: 0; padding: 12px; border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); }
.dv-branding-meta dt { color: var(--dv-text-secondary); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.dv-branding-meta dd { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--dv-text); font-weight: 750; }
.dv-branding-delete { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--dv-border); }
.dv-label-purpose { margin-top: 20px; }
.dv-label-purpose__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dv-label-purpose__grid article { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); }
.dv-label-purpose__grid span { color: var(--dv-text-secondary); line-height: 1.4; }
.dv-label-layouts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dv-label-layout { display: block; cursor: pointer; }
.dv-label-layout input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.dv-label-layout span { display: grid; min-height: 100%; gap: 6px; padding: 14px; border: 2px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); }
.dv-label-layout small { color: var(--dv-text-secondary); line-height: 1.35; }
.dv-label-layout input:checked + span { border-color: var(--dv-border-selected); background: var(--dv-success-surface); box-shadow: inset 0 0 0 1px var(--dv-border-selected); }
.dv-label-layout input:focus-visible + span { outline: 3px solid var(--dv-focus-ring); outline-offset: 2px; }
.dv-label-a4-builder { margin-top: 20px; }
.dv-label-a4-picker { overflow: hidden; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); }
.dv-label-a4-picker__toolbar { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr) auto; align-items: end; gap: 12px; padding: 14px; border-bottom: 1px solid var(--dv-border); }
.dv-label-a4-picker__toolbar .dv-field { min-width: 0; }
.dv-label-a4-picker__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.dv-label-a4-picker__toolbar > strong { align-self: center; color: var(--dv-section-heading); white-space: nowrap; }
.dv-label-product-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-height: 360px; padding: 12px; overflow: auto; }
.dv-label-product-picker:focus { outline: 3px solid var(--dv-focus-ring); outline-offset: -3px; }
.dv-label-product-choice { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 9px; min-width: 0; padding: 11px; border: 1px solid var(--dv-border); border-radius: 9px; background: var(--dv-surface); cursor: pointer; }
.dv-label-product-choice:hover { border-color: var(--dv-border-selected); }
.dv-label-product-choice:has(input:checked) { border-color: var(--dv-border-selected); background: var(--dv-success-surface); box-shadow: inset 0 0 0 1px var(--dv-border-selected); }
.dv-label-product-choice input { margin: 3px 0 0; }
.dv-label-product-choice span { display: grid; min-width: 0; gap: 4px; }
.dv-label-product-choice strong { overflow-wrap: anywhere; color: var(--dv-text); }
.dv-label-product-choice small { overflow-wrap: anywhere; color: var(--dv-text-secondary); }
.dv-label-a4-submit { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.dv-label-a4-submit .dv-inline-help { flex: 1 1 auto; margin: 0; }
.dv-dialog--label-preview { width: min(1400px, calc(100vw - 24px)); max-width: none; height: min(920px, calc(100vh - 24px)); max-height: none; overflow: hidden; }
.dv-label-preview-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; }
.dv-label-preview-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--dv-border); }
.dv-label-preview-header h2 { margin: 3px 0 0; }
.dv-label-preview-actions { display: flex; align-items: center; gap: 10px; }
.dv-label-preview-stage { position: relative; min-height: 0; background: var(--dv-page); }
.dv-label-preview-stage iframe { display: block; width: 100%; height: 100%; border: 0; background: #eef1f2; }
.dv-label-preview-loading { position: absolute; inset: 50% auto auto 50%; z-index: 1; margin: 0; padding: 10px 14px; border-radius: var(--dv-radius-sm); color: var(--dv-text-secondary); background: var(--dv-surface); box-shadow: var(--dv-shadow); transform: translate(-50%, -50%); }
.dv-label-preview-stage[data-state="ready"] .dv-label-preview-loading { display: none; }

.dv-product-options-callout { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; padding: 14px; border: 1px solid var(--dv-border-selected); border-radius: var(--dv-radius-sm); background: var(--dv-success-surface); }
.dv-product-options-callout > div { display: grid; gap: 3px; }
.dv-product-options-callout small { color: var(--dv-text-secondary); }
.dv-grid--option-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dv-option-module { margin-top: 20px; }
.dv-option-list, .dv-modifier-list { display: grid; gap: 10px; }
.dv-option-item, .dv-modifier-item, .dv-option-create { overflow: hidden; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); background: var(--dv-surface-subtle); }
.dv-option-item > summary, .dv-modifier-item > summary, .dv-option-create > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; cursor: pointer; }
.dv-option-item > summary > span:first-child, .dv-modifier-item > summary > span:first-child { display: grid; min-width: 0; gap: 3px; }
.dv-option-item > summary small, .dv-modifier-item > summary small { color: var(--dv-text-secondary); }
.dv-option-item[open] > summary, .dv-modifier-item[open] > summary, .dv-option-create[open] > summary { border-bottom: 1px solid var(--dv-border); background: var(--dv-success-surface); }
.dv-option-price { display: grid; gap: 2px; margin-left: auto; color: var(--dv-heading); font-weight: 750; text-align: right; white-space: nowrap; }
.dv-option-price small { font-weight: 500; }
.dv-option-form { display: grid; gap: 14px; padding: 15px; }
.dv-option-actions { display: flex; justify-content: flex-end; }
.dv-inline-delete { display: flex; justify-content: flex-end; padding: 0 15px 15px; }
.dv-option-create { margin-top: 14px; }
.dv-option-create > summary { color: var(--dv-section-heading); font-weight: 750; }
.dv-option-empty { padding: 16px; border: 1px dashed var(--dv-border-strong); border-radius: var(--dv-radius-sm); color: var(--dv-text-secondary); background: var(--dv-surface); }
.dv-option-workspace { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); align-items: start; gap: 16px; margin-top: 20px; }
.dv-option-group-list { display: grid; gap: 8px; }
.dv-option-group-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; border: 1px solid var(--dv-border); border-radius: var(--dv-radius-sm); color: var(--dv-text); background: var(--dv-surface-subtle); text-decoration: none; }
.dv-option-group-link > span:first-child { display: grid; min-width: 0; gap: 4px; }
.dv-option-group-link small { color: var(--dv-text-secondary); }
.dv-option-group-link:hover, .dv-option-group-link.is-active { border-color: var(--dv-border-selected); background: var(--dv-success-surface); box-shadow: inset 3px 0 0 var(--dv-brand-700); }
.dv-option-link-form { display: grid; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--dv-border); }
.dv-detach-group { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--dv-border); }
.dv-field__inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.dv-field__inline .dv-translate-button { min-width: 42px; }

@media (max-width: 700px) {
  .dv-header { padding: max(16px, env(safe-area-inset-top)) 0 16px; }
  .dv-header__inner { padding: 0 10px; }
  .dv-header__inner { align-items: flex-start; flex-direction: column; }
  .dv-header__brand { width: 100%; gap: 12px; }
  .dv-header__logo { max-width: 112px; max-height: 44px; }
  .dv-header h1 { font-size: 24px; }
  .dv-main { margin-top: 16px; padding: 0 10px; }
  .dv-grid { grid-template-columns: 1fr; gap: 10px; }
  .dv-card { padding: 16px; }
  .dv-user { align-items: flex-start; }
  .dv-device-grid, .dv-details { grid-template-columns: 1fr; }
  .dv-toolbar, .dv-module__header, .dv-site__title { align-items: flex-start; flex-direction: column; }
  .dv-form-grid { grid-template-columns: 1fr; }
  .dv-form-grid--12 { grid-template-columns: 1fr; }
  .dv-col-3, .dv-col-4, .dv-col-6, .dv-col-8, .dv-col-12 { grid-column: auto; }
  .dv-span-2 { grid-column: auto; }
  .dv-page-heading--settings, .dv-settings-section legend { align-items: flex-start; flex-direction: column; }
  .dv-settings-section legend small { text-align: left; }
  .dv-toggle-grid--cards { grid-template-columns: 1fr; }
  .dv-hours__row { grid-template-columns: 1fr 1fr; align-items: end; gap: 10px; }
  .dv-hours__row > strong, .dv-hours__row > .dv-closed-toggle { grid-column: span 2; }
  .dv-time-field { grid-template-columns: 1fr; gap: 4px; }
  .dv-form-actions { align-items: stretch; flex-direction: column; margin-inline: -2px; }
  .dv-form-actions .dv-button { width: 100%; }
  .dv-grid--license-summary, .dv-grid--sms-summary, .dv-grid--catalog-summary, .dv-grid--transfer-summary, .dv-grid--option-summary, .dv-limit-grid, .dv-module-choice-grid, .dv-sms-test-grid, .dv-toggle-grid--compact, .dv-channel-grid, .dv-transfer-grid { grid-template-columns: 1fr; }
  .dv-order-entry-context, .dv-order-entry-layout, .dv-order-product-grid { grid-template-columns: 1fr; }
  .dv-order-cart { position: static; }
  .dv-order-config-group { grid-template-columns: 1fr; }
  .dv-catalog-layout { grid-template-columns: 1fr; }
  .dv-catalog-editor { position: static; }
  .dv-product-card { align-items: stretch; flex-direction: column; }
  .dv-product-card__select { justify-content: start; min-height: auto; }
  .dv-product-card__actions { flex-direction: row; }
  .dv-product-card__actions .dv-button { flex: 1 1 0; text-align: center; }
  .dv-catalog-tree__heading small { max-width: none; text-align: left; }
  .dv-tree-category__summary { grid-template-columns: 32px minmax(0, 1fr) auto; }
  .dv-tree-category__delete { grid-column: 2 / -1; width: 100%; }
  .dv-tree-category__children { margin-left: 16px; padding-left: 12px; }
  .dv-tree-product { grid-template-columns: 24px minmax(0, 1fr); }
  .dv-tree-product__actions { grid-column: 2; flex-wrap: wrap; }
  .dv-tree-product__actions .dv-button { flex: 1 1 auto; text-align: center; }
  .dv-folder-pagination .dv-button { flex: 1 1 auto; }
  .dv-selection-toolbar { align-items: stretch; flex-direction: column; }
  .dv-selection-toolbar [data-selection-count] { margin-right: 0; }
  .dv-selection-toolbar .dv-button { width: 100%; }
  .dv-catalog-filters { grid-template-columns: 1fr; }
  .dv-catalog-filter--search, .dv-catalog-filter--category, .dv-catalog-filter--status, .dv-catalog-filter--channel, .dv-catalog-filter--page-size, .dv-filter-actions { grid-column: auto; }
  .dv-filter-actions { flex-direction: column; }
  .dv-filter-actions .dv-button { width: 100%; text-align: center; }
  .dv-preview-controls { align-items: stretch; flex-direction: column; }
  .dv-import-confirm, .dv-preview-banner { align-items: stretch; flex-direction: column; }
  .dv-import-confirm .dv-button, .dv-button-row .dv-button { width: 100%; text-align: center; }
  .dv-tenant-selector { width: 100%; max-width: none; }
  .dv-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
  .dv-dialog__actions .dv-button { width: 100%; }
  .dv-translation-grid { grid-template-columns: 1fr; }
  .dv-branding-layout, .dv-logo-preview-grid, .dv-branding-meta { grid-template-columns: 1fr; }
  .dv-logo-preview { min-height: 170px; }
  .dv-label-purpose__grid, .dv-label-layouts { grid-template-columns: 1fr; }
  .dv-label-a4-picker__toolbar, .dv-label-product-picker { grid-template-columns: 1fr; }
  .dv-label-a4-picker__actions, .dv-label-a4-submit { align-items: stretch; flex-direction: column; }
  .dv-label-a4-picker__actions .dv-button, .dv-label-a4-submit .dv-button { width: 100%; }
  .dv-label-a4-picker__toolbar > strong { white-space: normal; }
  .dv-dialog--label-preview { width: calc(100vw - 12px); height: calc(100vh - 12px); }
  .dv-label-preview-header { align-items: stretch; flex-direction: column; }
  .dv-label-preview-actions .dv-button { flex: 1 1 auto; }
  .dv-product-options-callout, .dv-option-item > summary, .dv-modifier-item > summary { align-items: stretch; flex-direction: column; }
  .dv-product-options-callout .dv-button { width: 100%; text-align: center; }
  .dv-option-price { margin-left: 0; text-align: left; }
  .dv-option-workspace { grid-template-columns: 1fr; }
}

@media (min-width: 701px) and (max-width: 1080px) {
  .dv-grid--order-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dv-catalog-layout { grid-template-columns: 1fr; }
  .dv-catalog-editor { position: static; }
  .dv-option-workspace { grid-template-columns: 1fr; }
  .dv-order-entry-layout { grid-template-columns: 1fr; }
  .dv-order-cart { position: static; }
  .dv-order-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* DINEVARO_FULFILLMENT_BUTTONS_V1 */
.dv-order-fulfillment { gap: .5rem; }
.dv-fulfillment-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.dv-fulfillment-button { min-height: 3.25rem; width: 100%; padding: .75rem .65rem; white-space: normal; text-align: center; font-weight: 700; }
.dv-fulfillment-button.is-active { box-shadow: 0 0 0 2px currentColor inset; }
@media (max-width: 720px) { .dv-fulfillment-picker { grid-template-columns: 1fr; } }

/* DINEVARO_AGE_CHECK_VISIBILITY_V1 */
/* Das eigene Toggle-Layout darf das HTML-[hidden]-Attribut nicht übersteuern. */
.dv-order-age-check[hidden] {
  display: none !important;
}


/* DINEVARO_AGE_CHECK_ALERT_RED_V2 */
[data-age-check]:not([hidden]) {
  border: 3px solid #d92d20 !important;
  background: #ffe4e1 !important;
  color: #7a160f !important;
  box-shadow: 0 0 0 4px rgba(217, 45, 32, 0.16);
  border-radius: 10px;
  padding: 12px 14px;
}
[data-age-check]:not([hidden]) strong,
[data-age-check]:not([hidden]) span,
[data-age-check]:not([hidden]) small {
  color: #7a160f !important;
}
[data-age-check]:not([hidden]) input[type="checkbox"] {
  accent-color: #d92d20;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}


/* DINEVARO_DELIVERY_CUSTOMER_FOUNDATION_V1 */
[data-delivery-customer][hidden] {
  display: none !important;
}

.dv-order-delivery-customer {
  border: 1px solid var(--dv-border, #d1d5db);
  background: rgba(127, 127, 127, 0.06);
  border-radius: 10px;
  padding: 12px;
}

.dv-order-delivery-customer__details {
  margin-top: 8px;
  font-size: 0.9rem;
  line-height: 1.45;
  opacity: 0.82;
}


/* DINEVARO_DELIVERY_OPERATION_V1 */
.dv-order-delivery-summary {
  max-width: 28rem;
  white-space: normal;
  line-height: 1.3;
}


/* DINEVARO_SMS_TEMPLATE_EDITOR_V1 */
.dv-sms-template-tokens { display: flex; flex-wrap: wrap; gap: 8px; }
.dv-sms-template-preview .dv-module__header { align-items: flex-start; }
.dv-sms-template-metrics { display: grid; grid-template-columns: repeat(3, auto); gap: 2px 18px; text-align: right; }
.dv-sms-template-metrics strong { font-size: 1.15rem; }
.dv-sms-template-metrics small { opacity: .72; grid-row: 2; }
.dv-sms-template-preview__message {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  margin: 0;
  padding: 14px;
  border-radius: 10px;
  background: rgba(127, 127, 127, .08);
  border: 1px solid rgba(127, 127, 127, .2);
}
.dv-sms-template-reserved { opacity: .72; }
.dv-sms-template-history-body { max-width: 42rem; white-space: normal; overflow-wrap: anywhere; }


/* DINEVARO_DNS_COPY_BUTTON_V1 */
.dv-copy-button {
  display: inline-grid;
  place-items: center;
  width: 27px;
  min-width: 27px;
  height: 27px;
  padding: 0;
  border-radius: 7px;
  font-size: 11px;
  line-height: 1;
  vertical-align: middle;
}

/* DINEVARO_STAFF_LOGIN_IDENTITY_V1 */
.dv-staff-login-identity {
  padding-top: 14px;
  padding-bottom: 4px;
}

.dv-staff-login-username {
  font-size: 1.08rem;
  word-break: break-word;
}
/* /DINEVARO_STAFF_LOGIN_IDENTITY_V1 */


/* DV_PAYMENT_FOUNDATION_V1 */
.dv-payment-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dv-payment-button { min-height:52px; font-size:16px; }
.dv-payment-button.is-active { border-color:var(--dv-border-selected); background:var(--dv-surface-selected); box-shadow:inset 0 0 0 1px var(--dv-border-selected); }
.dv-dialog--cash { width:min(940px,calc(100vw - 24px)); max-width:none; padding:0; border:0; border-radius:16px; background:var(--dv-surface); color:var(--dv-text); box-shadow:0 24px 80px #0007; }
.dv-dialog--cash::backdrop { background:#0009; backdrop-filter:blur(2px); }
.dv-cash-dialog { padding:18px; }
.dv-cash-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.dv-cash-summary > div { display:grid; gap:5px; padding:14px; border:1px solid var(--dv-border); border-radius:12px; background:var(--dv-surface-subtle); }
.dv-cash-summary span { color:var(--dv-text-secondary); font-size:13px; font-weight:700; }
.dv-cash-summary strong { font-size:clamp(21px,3vw,30px); }
.dv-cash-summary__change strong { font-size:clamp(25px,3.5vw,36px); }
.dv-cash-exact { width:100%; min-height:50px; margin:0 0 12px; font-size:17px; }
.dv-cash-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.dv-cash-note { position:relative; min-width:0; padding:7px; overflow:hidden; border:1px solid var(--dv-border-strong); border-radius:12px; background:var(--dv-surface); color:var(--dv-text); cursor:pointer; }
.dv-cash-note:hover { transform:translateY(-1px); border-color:var(--dv-border-hover); }
.dv-cash-note img { display:block; width:100%; aspect-ratio:22/9; object-fit:cover; border-radius:8px; }
.dv-cash-note strong { position:absolute; right:13px; bottom:11px; padding:3px 7px; border-radius:7px; background:#111d; color:#fff; font-size:14px; }
.dv-cash-keypad-wrap { display:grid; grid-template-columns:minmax(180px,.75fr) minmax(260px,1.25fr); gap:12px; align-items:start; margin-top:14px; }
.dv-cash-entry-field input { min-height:58px; font-size:26px; font-weight:800; text-align:right; }
.dv-cash-keypad { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.dv-cash-keypad button { min-height:54px; border:1px solid var(--dv-border); border-radius:10px; background:var(--dv-surface-subtle); color:var(--dv-text); font:800 20px/1 var(--dv-font-sans); cursor:pointer; }
.dv-cash-keypad button:hover { background:var(--dv-surface-hover); }
.dv-cash-keypad__clear { grid-column:span 2; }
.dv-cash-actions { margin-top:14px; }
.dv-cash-actions .dv-button { min-height:50px; }
@media (max-width:720px) {
  .dv-cash-summary { grid-template-columns:1fr; }
  .dv-cash-notes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dv-cash-keypad-wrap { grid-template-columns:1fr; }
}

.dv-dialog--payment { width:min(620px,calc(100vw - 24px)); max-width:none; padding:0; border:0; border-radius:16px; background:var(--dv-surface); color:var(--dv-text); box-shadow:0 24px 80px #0007; }
.dv-dialog--payment::backdrop { background:#0009; backdrop-filter:blur(2px); }
.dv-payment-dialog { padding:18px; }
.dv-payment-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0; }
.dv-payment-choice__button { display:grid; place-items:center; gap:7px; min-height:170px; padding:20px 14px; border:1px solid var(--dv-border-strong); border-radius:14px; background:var(--dv-surface-subtle); color:var(--dv-text); cursor:pointer; text-align:center; }
.dv-payment-choice__button:hover { border-color:var(--dv-border-hover); background:var(--dv-surface-hover); transform:translateY(-1px); }
.dv-payment-choice__icon { display:grid; place-items:center; min-width:76px; height:54px; padding:0 10px; border-radius:12px; background:var(--dv-surface-selected); font-size:18px; font-weight:900; }
.dv-payment-choice__button strong { font-size:24px; }
.dv-payment-choice__button small { color:var(--dv-text-secondary); font-size:13px; }
.dv-order-payment--legacy-hidden, .dv-payment-methods--legacy-hidden, .dv-payment-method__legacy-hidden { display:none !important; }
@media (max-width:720px) { .dv-payment-choice { grid-template-columns:1fr; } }
/* /DV_PAYMENT_FOUNDATION_V1 */


/* DV_CASH_TENDER_ATM_V1 */
.dv-dialog--cash { width:min(860px,calc(100vw - 20px)); }
.dv-cash-dialog { padding:14px; }
.dv-cash-header { margin-bottom:4px; }

.dv-cash-summary {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:10px 0;
}
.dv-cash-summary > div {
  min-height:74px;
  padding:10px 12px;
  place-content:center;
  text-align:center;
}
.dv-cash-summary strong { font-size:clamp(20px,2.4vw,27px); }
.dv-cash-summary__change strong { font-size:clamp(22px,2.8vw,30px); }

.dv-cash-tools {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 10px;
}
.dv-cash-tools .dv-button { min-height:44px; padding:9px 10px; }

.dv-cash-workarea {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:10px;
  align-items:stretch;
}
.dv-cash-notes-panel,
.dv-cash-keypad-panel {
  min-width:0;
  padding:10px;
  border:1px solid var(--dv-border);
  border-radius:12px;
  background:var(--dv-surface-subtle);
}
.dv-cash-section-title {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin:0 0 8px;
}
.dv-cash-section-title small { color:var(--dv-text-secondary); font-size:11px; }

.dv-cash-notes {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.dv-cash-note-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--dv-border);
  border-radius:10px;
  background:var(--dv-surface);
}
.dv-cash-note {
  width:100%;
  padding:5px;
  border:0;
  border-radius:0;
}
.dv-cash-note img { aspect-ratio:22/9; border-radius:6px; }
.dv-cash-note strong { right:9px; bottom:8px; font-size:12px; }

.dv-cash-note-controls {
  display:grid;
  grid-template-columns:20% 60% 20%;
  align-items:stretch;
  border-top:1px solid var(--dv-border);
}
.dv-cash-note-controls button {
  min-width:0;
  min-height:36px;
  border:0;
  background:var(--dv-surface-subtle);
  color:var(--dv-text);
  font-size:22px;
  font-weight:900;
  cursor:pointer;
}
.dv-cash-note-controls button:hover:not(:disabled) { background:var(--dv-surface-hover); }
.dv-cash-note-controls button:disabled { opacity:.35; cursor:default; }
.dv-cash-note-controls span {
  display:grid;
  place-items:center;
  border-inline:1px solid var(--dv-border);
  font-size:14px;
  font-weight:800;
}

.dv-cash-entry-field { margin-bottom:8px; }
.dv-cash-entry-field input {
  min-height:50px;
  padding:8px 10px;
  font-size:23px;
}
.dv-cash-keypad-wrap { display:block; margin:0; }
.dv-cash-keypad--atm {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.dv-cash-keypad--atm button {
  min-height:49px;
  border-radius:9px;
  font-size:20px;
}
.dv-cash-keypad-functions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
}
.dv-cash-keypad-functions button {
  min-height:44px;
  border:1px solid var(--dv-border);
  border-radius:9px;
  background:var(--dv-surface-subtle);
  color:var(--dv-text);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
}

.dv-cash-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.dv-cash-actions .dv-button { width:100%; min-height:46px; }

@media (max-width:760px) {
  .dv-cash-workarea { grid-template-columns:1fr; }
  .dv-cash-section-title {
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}
@media (max-width:520px) {
  .dv-cash-summary { grid-template-columns:1fr; }
  .dv-cash-tools { grid-template-columns:1fr; }
  .dv-cash-notes { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* /DV_CASH_TENDER_ATM_V1 */


/* DV_CASH_SUMMARY_STATUS_COLORS_V2 */
/*
 * Nur visuelle Ebene: Die bestehende, funktionierende Cash-Tender-HTML-
 * Struktur bleibt unverändert. Reihenfolge der Summary-Boxen ist weiterhin
 * Rechnungsbetrag | Erhalten | Rückgeld.
 */
.dv-cash-summary > div:nth-child(1),
.dv-cash-summary > div:nth-child(2),
.dv-cash-summary > div:nth-child(3) {
  border-width:2px !important;
  transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

/* Rechnungsbetrag: blau / Referenzwert. */
.dv-cash-summary > div:nth-child(1) {
  border-color:#3b82f6 !important;
  background:rgba(59,130,246,.11) !important;
  box-shadow:inset 0 4px 0 #3b82f6;
}

/* Erhalten: grün / kassierter Betrag. */
.dv-cash-summary > div:nth-child(2) {
  border-color:#22c55e !important;
  background:rgba(34,197,94,.11) !important;
  box-shadow:inset 0 4px 0 #22c55e;
}

/* Rückgeld: neutral bei 0 oder exakt passend. */
.dv-cash-summary > div:nth-child(3).dv-cash-status--neutral {
  border-color:var(--dv-border-strong) !important;
  background:var(--dv-surface-subtle) !important;
  box-shadow:inset 0 4px 0 var(--dv-border-strong);
}

/* Noch zu wenig erhalten: amber/orange. */
.dv-cash-summary > div:nth-child(3).dv-cash-status--warning {
  border-color:#f59e0b !important;
  background:rgba(245,158,11,.14) !important;
  box-shadow:inset 0 4px 0 #f59e0b;
}

/* Echtes Rückgeld > 0: grün. */
.dv-cash-summary > div:nth-child(3).dv-cash-status--positive {
  border-color:#22c55e !important;
  background:rgba(34,197,94,.14) !important;
  box-shadow:inset 0 4px 0 #22c55e;
}
/* /DV_CASH_SUMMARY_STATUS_COLORS_V2 */


/* DV_PAYMENT_CHOICE_COLORS_V1 */
/* Nur visuelle Unterscheidung im Zahlungsart-Popup; keine JS-/Order-Logik. */
.dv-payment-choice__button[data-payment-choice="cash"] {
  border-color:#22c55e;
  background:rgba(34,197,94,.10);
  box-shadow:inset 0 4px 0 #22c55e;
}
.dv-payment-choice__button[data-payment-choice="cash"] .dv-payment-choice__icon {
  background:rgba(34,197,94,.16);
  box-shadow:inset 0 0 0 1px rgba(34,197,94,.30);
}
.dv-payment-choice__button[data-payment-choice="cash"]:hover,
.dv-payment-choice__button[data-payment-choice="cash"]:focus-visible {
  border-color:#16a34a;
  background:rgba(34,197,94,.17);
}

.dv-payment-choice__button[data-payment-choice="card"] {
  border-color:#3b82f6;
  background:rgba(59,130,246,.10);
  box-shadow:inset 0 4px 0 #3b82f6;
}
.dv-payment-choice__button[data-payment-choice="card"] .dv-payment-choice__icon {
  background:rgba(59,130,246,.16);
  box-shadow:inset 0 0 0 1px rgba(59,130,246,.30);
}
.dv-payment-choice__button[data-payment-choice="card"]:hover,
.dv-payment-choice__button[data-payment-choice="card"]:focus-visible {
  border-color:#2563eb;
  background:rgba(59,130,246,.17);
}
/* /DV_PAYMENT_CHOICE_COLORS_V1 */


/* DINEVARO_POS_FAVORITES_CATEGORY_COLORS_V1 */
.dv-pos-color--green  { --dv-pos-accent:#22c55e; --dv-pos-soft:rgba(34,197,94,.11);  --dv-pos-soft-strong:rgba(34,197,94,.20); }
.dv-pos-color--blue   { --dv-pos-accent:#3b82f6; --dv-pos-soft:rgba(59,130,246,.11); --dv-pos-soft-strong:rgba(59,130,246,.20); }
.dv-pos-color--orange { --dv-pos-accent:#f97316; --dv-pos-soft:rgba(249,115,22,.11); --dv-pos-soft-strong:rgba(249,115,22,.20); }
.dv-pos-color--red    { --dv-pos-accent:#ef4444; --dv-pos-soft:rgba(239,68,68,.11);  --dv-pos-soft-strong:rgba(239,68,68,.20); }
.dv-pos-color--violet { --dv-pos-accent:#8b5cf6; --dv-pos-soft:rgba(139,92,246,.11); --dv-pos-soft-strong:rgba(139,92,246,.20); }
.dv-pos-color--cyan   { --dv-pos-accent:#06b6d4; --dv-pos-soft:rgba(6,182,212,.11);  --dv-pos-soft-strong:rgba(6,182,212,.20); }
.dv-pos-color--amber  { --dv-pos-accent:#f59e0b; --dv-pos-soft:rgba(245,158,11,.12); --dv-pos-soft-strong:rgba(245,158,11,.22); }
.dv-pos-color--pink   { --dv-pos-accent:#ec4899; --dv-pos-soft:rgba(236,72,153,.11); --dv-pos-soft-strong:rgba(236,72,153,.20); }

.dv-order-category-tabs { align-items:stretch; }
.dv-order-category-button { position:relative; border-color:var(--dv-pos-accent); background:var(--dv-pos-soft); color:var(--dv-text); transition:background .15s,border-color .15s,box-shadow .15s,transform .15s; }
.dv-order-category-button:hover, .dv-order-category-button:focus-visible { border-color:var(--dv-pos-accent); background:var(--dv-pos-soft-strong); transform:translateY(-1px); }
.dv-order-category-button.is-active { border-color:var(--dv-pos-accent); background:var(--dv-pos-soft-strong); box-shadow:inset 0 0 0 2px var(--dv-pos-accent),0 3px 10px #0001; }
.dv-order-category-button--favorites { font-weight:850; }
.dv-order-category-button--favorites span { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:5px; padding:0 6px; border-radius:999px; background:var(--dv-pos-soft-strong); }
.dv-order-category-secondary { display:flex; justify-content:flex-end; margin-top:7px; }
.dv-order-category-secondary .dv-button { opacity:.76; font-size:12px; }
.dv-order-category-secondary .dv-button.is-active { opacity:1; box-shadow:inset 0 0 0 1px var(--dv-border-selected); }

.dv-order-product-group.dv-pos-color--green,
.dv-order-product-group.dv-pos-color--blue,
.dv-order-product-group.dv-pos-color--orange,
.dv-order-product-group.dv-pos-color--red,
.dv-order-product-group.dv-pos-color--violet,
.dv-order-product-group.dv-pos-color--cyan,
.dv-order-product-group.dv-pos-color--amber,
.dv-order-product-group.dv-pos-color--pink { border-top:4px solid var(--dv-pos-accent); border-radius:12px; overflow:hidden; }
.dv-order-product-group[class*="dv-pos-color--"] .dv-order-product-group__header { background:var(--dv-pos-soft); }
.dv-order-product-group--favorites .dv-order-product-grid { padding-top:2px; }

.dv-catalog-pos-presentation-link { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-top:10px; }
.dv-catalog-pos-presentation-link small { color:var(--dv-text-secondary); }
.dv-pos-presentation-form { display:grid; gap:10px; }
.dv-pos-presentation-intro { margin-bottom:10px; }
.dv-pos-presentation-summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; }
.dv-pos-presentation-summary strong { font-size:18px; }
.dv-pos-presentation-category { border-top:4px solid var(--dv-pos-accent); }
.dv-pos-presentation-category__header { background:var(--dv-pos-soft); }
.dv-pos-presentation-category__header > div:first-child { display:flex; align-items:center; gap:10px; }
.dv-pos-presentation-category__header h2 { margin:0; }
.dv-pos-color-swatch { width:18px; height:18px; flex:0 0 auto; border-radius:6px; background:var(--dv-pos-accent); box-shadow:0 0 0 3px var(--dv-pos-soft-strong); }
.dv-pos-category-color { min-width:180px; }
.dv-pos-favorite-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dv-pos-favorite-row { display:grid; grid-template-columns:auto auto minmax(0,1fr) 108px; align-items:center; gap:9px; min-width:0; padding:10px 11px; border:1px solid var(--dv-border); border-radius:11px; background:var(--dv-surface-subtle); }
.dv-pos-favorite-row.is-favorite, .dv-pos-favorite-row:has(> input:checked) { border-color:#f59e0b; background:rgba(245,158,11,.08); }
.dv-pos-favorite-row > input { width:20px; height:20px; margin:0; accent-color:#f59e0b; }
.dv-pos-favorite-star { color:#f59e0b; font-size:19px; line-height:1; }
.dv-pos-favorite-product { display:grid; min-width:0; gap:2px; }
.dv-pos-favorite-product strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-pos-favorite-product small { color:var(--dv-text-secondary); font-size:11px; }
.dv-pos-favorite-sort { display:grid; gap:3px; }
.dv-pos-favorite-sort span { color:var(--dv-text-secondary); font-size:10px; font-weight:700; }
.dv-pos-favorite-sort input { width:100%; min-width:0; padding:7px; text-align:center; }
.dv-pos-presentation-save { position:sticky; bottom:10px; z-index:4; display:flex; justify-content:flex-end; padding:10px; border:1px solid var(--dv-border); border-radius:12px; background:color-mix(in srgb,var(--dv-surface) 92%,transparent); box-shadow:0 8px 30px #0003; backdrop-filter:blur(8px); }

@media (max-width:900px) {
  .dv-pos-favorite-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .dv-order-category-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dv-order-category-secondary { justify-content:stretch; }
  .dv-order-category-secondary .dv-button { width:100%; }
  .dv-pos-favorite-row { grid-template-columns:auto auto minmax(0,1fr); }
  .dv-pos-favorite-sort { grid-column:3; }
  .dv-pos-presentation-category__header { align-items:stretch; }
  .dv-pos-category-color { width:100%; }
}
/* /DINEVARO_POS_FAVORITES_CATEGORY_COLORS_V1 */

/* =========================================================
   DINEVARO_WORKFLOW_NAV_V3
   Separate desktop topbar + navigation row.
   Visual reference: BDL WorkFlow navigation architecture.
   ========================================================= */

.dv3-shell {
  min-width: 0;
}

.dv3-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  color: var(--dv-text-on-brand);
}

.dv3-account__identity {
  font-weight: 800;
  white-space: nowrap;
}

.dv3-account__desktop {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dv3-account__link,
.dv3-account__logout {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--dv-text-on-brand);
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.dv3-account__link:hover,
.dv3-account__link:focus-visible,
.dv3-account__logout:hover,
.dv3-account__logout:focus-visible {
  background: color-mix(in srgb, var(--dv-text-on-brand) 10%, transparent);
  border-color: color-mix(in srgb, var(--dv-text-on-brand) 22%, transparent);
}

.dv3-account__form {
  margin: 0;
}

.dv3-account__kasse {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 18px;
  padding: 8px 16px;
  border: 1px solid var(--dv-text-on-brand);
  border-radius: 8px;
  background: var(--dv-text-on-brand);
  color: var(--dv-brand-900);
  font-weight: 900;
  text-decoration: none;
  letter-spacing: .02em;
  white-space: nowrap;
}

.dv3-account__kasse:hover,
.dv3-account__kasse:focus-visible,
.dv3-account__kasse.is-active {
  background: color-mix(in srgb, var(--dv-text-on-brand) 90%, var(--dv-brand-900) 10%);
  color: var(--dv-brand-900);
  outline: 2px solid color-mix(in srgb, var(--dv-text-on-brand) 35%, transparent);
  outline-offset: 2px;
}

.dv3-account__form select {
  min-height: 38px;
  max-width: 160px;
}

.dv3-mobile-toggle {
  display: none;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid color-mix(in srgb, var(--dv-text-on-brand) 42%, transparent);
  border-radius: 8px;
  background: transparent;
  color: var(--dv-text-on-brand);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.dv3-navigation {
  position: relative;
  z-index: 1500;
  min-width: 0;
}

.dv3-navigation__inner {
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.dv3-nav__link,
.dv3-nav__summary {
  position: relative;
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 15px;
  border: 0;
  background: transparent;
  color: color-mix(in srgb, var(--dv-text-on-brand) 76%, transparent);
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.dv3-nav__link:hover,
.dv3-nav__summary:hover,
.dv3-nav__link:focus-visible,
.dv3-nav__summary:focus-visible {
  background: color-mix(in srgb, var(--dv-text-on-brand) 8%, transparent);
  color: var(--dv-text-on-brand);
}

.dv3-nav__link.is-active,
.dv3-nav__group.is-active > .dv3-nav__summary {
  color: var(--dv-text-on-brand);
  background: color-mix(in srgb, var(--dv-text-on-brand) 6%, transparent);
}

.dv3-nav__link.is-active::after,
.dv3-nav__group.is-active > .dv3-nav__summary::before {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 0;
  left: 14px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: var(--dv-focus-ring);
}

.dv3-nav__group {
  position: relative;
}

.dv3-nav__group > summary {
  list-style: none;
}

.dv3-nav__group > summary::-webkit-details-marker {
  display: none;
}

.dv3-nav__summary::after {
  content: "▾";
  margin-left: 2px;
  font-size: 10px;
  line-height: 1;
}

.dv3-nav__group[open] > .dv3-nav__summary {
  color: var(--dv-text-on-brand);
  background: color-mix(in srgb, var(--dv-text-on-brand) 8%, transparent);
}

.dv3-nav__dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 1800;
  display: grid;
  min-width: 210px;
  padding: 6px;
  border: 1px solid color-mix(in srgb, var(--dv-text-on-brand) 22%, transparent);
  border-radius: 10px;
  background: var(--dv-brand-900);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .30);
}

.dv3-nav__dropdown .dv3-nav__link {
  width: 100%;
  min-height: 42px;
  justify-content: flex-start;
  padding: 9px 12px;
  border-radius: 7px;
}

.dv3-nav__dropdown .dv3-nav__link.is-active::after {
  display: none;
}

.dv3-nav__dropdown .dv3-nav__link:hover,
.dv3-nav__dropdown .dv3-nav__link.is-active {
  background: color-mix(in srgb, var(--dv-text-on-brand) 12%, transparent);
  color: var(--dv-text-on-brand);
}

.dv3-account__mobile {
  display: none;
}

/* No visual state effects. */
.dv3-navigation,
.dv3-nav__group,
.dv3-nav__dropdown,
.dv3-nav__link,
.dv3-nav__summary {
  animation: none !important;
  transition: none !important;
}

/* ---------- Desktop: WorkFlow-style two-row header ---------- */
@media (min-width: 901px) {
  .dv-header,
  .dv-header__inner {
    overflow: visible;
  }

  .dv-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 24px;
    row-gap: 0;
  }

  .dv-header__brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .dv3-shell {
    display: contents;
  }

  .dv3-top-actions {
    grid-column: 2;
    grid-row: 1;
  }

  .dv3-navigation {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 14px;
    border-top: 1px solid color-mix(in srgb, var(--dv-text-on-brand) 16%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--dv-text-on-brand) 16%, transparent);
    background: color-mix(in srgb, var(--dv-brand-900) 94%, black 6%);
  }

  .dv3-navigation__inner {
    overflow: visible;
  }
}

/* ---------- Mobile: proven overlay behavior ---------- */
@media (max-width: 900px) {
  .dv-header,
  .dv-header__inner {
    overflow: visible;
  }

  .dv-header__inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }

  .dv-header__brand {
    min-width: 0;
    flex: 1 1 auto;
  }

  .dv3-shell {
    position: relative;
    z-index: 2100;
    flex: 0 0 auto;
  }

  .dv3-top-actions {
    gap: 8px;
  }

  .dv3-account__desktop {
    display: none;
  }

  .dv3-mobile-toggle {
    display: inline-flex;
  }

  .dv3-navigation {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: auto;
    z-index: 2200;

    width: min(460px, calc(100vw - 20px));
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);

    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;

    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--dv-text-on-brand) 24%, transparent);
    border-radius: 10px;
    background: var(--dv-brand-900);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .34);
  }

  .dv3-shell.is-js:not(.is-mobile-open) .dv3-navigation {
    display: none;
  }

  .dv3-navigation__inner {
    display: grid;
    gap: 3px;
    width: 100%;
  }

  .dv3-nav__link,
  .dv3-nav__summary {
    width: 100%;
    min-height: 44px;
    justify-content: flex-start;
    padding: 9px 10px;
    border-radius: 7px;
  }

  .dv3-nav__summary {
    justify-content: space-between;
  }

  .dv3-nav__link.is-active::after,
  .dv3-nav__group.is-active > .dv3-nav__summary::before {
    left: 10px;
    right: auto;
    width: 72px;
    height: 2px;
  }

  .dv3-nav__group {
    width: 100%;
  }

  .dv3-nav__dropdown {
    position: static;
    width: 100%;
    min-width: 0;
    margin: 2px 0 5px;
    padding: 3px 4px 3px 14px;
    border: 0;
    border-left: 2px solid color-mix(in srgb, var(--dv-text-on-brand) 28%, transparent);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .dv3-nav__dropdown .dv3-nav__link {
    min-height: 44px;
  }

  .dv3-account__mobile {
    display: grid;
    gap: 8px;
    margin-top: 6px;
  }

  .dv3-account__mobile-divider {
    height: 1px;
    margin: 3px 0;
    background: color-mix(in srgb, var(--dv-text-on-brand) 28%, transparent);
  }

  .dv3-account__mobile-link,
  .dv3-account__mobile .dv3-account__logout {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 9px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--dv-text-on-brand);
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
  }

  .dv3-account__mobile-link:hover,
  .dv3-account__mobile-link:focus-visible,
  .dv3-account__mobile .dv3-account__logout:hover,
  .dv3-account__mobile .dv3-account__logout:focus-visible {
    background: color-mix(in srgb, var(--dv-text-on-brand) 10%, transparent);
  }

  .dv3-account__mobile-form,
  .dv3-account__mobile-form label,
  .dv3-account__mobile-form select {
    width: 100%;
  }

  .dv3-account__mobile-form select {
    max-width: none;
    min-height: 44px;
  }
}

/* /DINEVARO_WORKFLOW_NAV_V3 */

/* DINEVARO_POS_FAVORITE_STARS_V1 */
.dv-order-category-button--favorites {
  min-width: 48px;
  width: 48px;
  padding-inline: 0;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
}

.dv-pos-favorite-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid var(--dv-border);
  border-radius: 9px;
  background: var(--dv-surface);
  color: var(--dv-text);
  cursor: pointer;
  user-select: none;
}

.dv-pos-favorite-toggle:hover {
  border-color: var(--dv-focus-ring);
}

.dv-pos-favorite-toggle input[type="checkbox"][name^="favorite_"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.dv-pos-favorite-toggle .dv-pos-favorite-star {
  display: block;
  font-size: 28px;
  line-height: 1;
}

.dv-pos-favorite-toggle .dv-pos-favorite-star::before {
  content: "☆";
}

.dv-pos-favorite-toggle input[type="checkbox"][name^="favorite_"]:checked + .dv-pos-favorite-star::before {
  content: "★";
}

.dv-pos-favorite-toggle input[type="checkbox"][name^="favorite_"]:focus-visible + .dv-pos-favorite-star {
  outline: 3px solid var(--dv-focus-ring);
  outline-offset: 4px;
  border-radius: 4px;
}

.dv-pos-favorite-toggle:has(input:disabled) {
  cursor: default;
  opacity: .72;
}
/* /DINEVARO_POS_FAVORITE_STARS_V1 */

/* DINEVARO_PERSONAL_POS_FAVORITES_V1 */
.dv-order-product-card { position:relative; min-width:0; }
.dv-order-product-card > .dv-order-product { width:100%; height:100%; }
.dv-order-product-favorite {
  position:absolute; top:7px; right:7px; z-index:3; display:grid; place-items:center;
  width:35px; height:35px; padding:0; border:1px solid var(--dv-border); border-radius:999px;
  background:color-mix(in srgb, var(--dv-surface) 92%, transparent); color:var(--dv-text);
  box-shadow:0 3px 10px rgba(0,0,0,.14); font:inherit; font-size:22px; line-height:1; cursor:pointer;
}
.dv-order-product-favorite[aria-pressed="true"] { border-color:var(--dv-focus-ring); }
.dv-order-product-favorite:focus-visible { outline:3px solid var(--dv-focus-ring); outline-offset:2px; }

.dv-pos-category-colors { display:grid; gap:6px; min-width:260px; }
.dv-pos-color-options { display:flex; flex-wrap:wrap; gap:7px; }
.dv-pos-color-choice { position:relative; display:inline-grid; place-items:center; width:34px; height:34px; cursor:pointer; }
.dv-pos-color-choice input { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.dv-pos-color-choice__swatch { display:block; width:28px; height:28px; border:2px solid transparent; border-radius:999px; background:currentColor; box-shadow:inset 0 0 0 1px rgba(0,0,0,.16); }
.dv-pos-color-choice--auto .dv-pos-color-choice__swatch {
  background:conic-gradient(#16a34a 0 12.5%,#2563eb 12.5% 25%,#f97316 25% 37.5%,#dc2626 37.5% 50%,#7c3aed 50% 62.5%,#0891b2 62.5% 75%,#d97706 75% 87.5%,#db2777 87.5% 100%);
}
.dv-pos-color-choice input:checked + .dv-pos-color-choice__swatch { border-color:var(--dv-text); box-shadow:0 0 0 3px var(--dv-surface),0 0 0 5px var(--dv-focus-ring); }
.dv-pos-color-choice input:focus-visible + .dv-pos-color-choice__swatch { outline:3px solid var(--dv-focus-ring); outline-offset:4px; }
.dv-pos-color-choice--green { color:#16a34a; }
.dv-pos-color-choice--blue { color:#2563eb; }
.dv-pos-color-choice--orange { color:#f97316; }
.dv-pos-color-choice--red { color:#dc2626; }
.dv-pos-color-choice--violet { color:#7c3aed; }
.dv-pos-color-choice--cyan { color:#0891b2; }
.dv-pos-color-choice--amber { color:#d97706; }
.dv-pos-color-choice--pink { color:#db2777; }

.dv-pos-favorite-row { grid-template-columns:auto auto minmax(0,1fr) !important; }
.dv-pos-drag-handle {
  display:inline-grid; place-items:center; width:38px; min-width:38px; height:38px; padding:0;
  border:1px solid var(--dv-border); border-radius:8px; background:var(--dv-surface-subtle);
  color:var(--dv-text-secondary); font:inherit; font-size:18px; font-weight:900; cursor:grab;
  touch-action:none; user-select:none;
}
.dv-pos-drag-handle:active { cursor:grabbing; }
.dv-pos-drag-handle:disabled { opacity:.30; cursor:default; }
.dv-pos-favorite-row.is-dragging,.dv-personal-favorite-row.is-dragging { opacity:.55; }
.dv-pos-favorite-sort { display:none !important; }

.dv-personal-favorites-list { display:grid; gap:8px; }
.dv-personal-favorite-row {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px;
  padding:10px; border:1px solid var(--dv-border); border-radius:10px; background:var(--dv-surface);
}
.dv-personal-favorite-product { display:grid; gap:2px; }
.dv-personal-favorite-product small { color:var(--dv-text-secondary); }
.dv-personal-favorite-remove {
  display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid var(--dv-border);
  border-radius:999px; background:var(--dv-surface); color:var(--dv-text); font:inherit; font-size:24px; cursor:pointer;
}
/* /DINEVARO_PERSONAL_POS_FAVORITES_V1 */

/* =========================================================
   DINEVARO_POS_YELLOW_STARS_AND_PRODUCT_TINTS_V1
   Visual-only POS refinement.
   ========================================================= */

:root {
  --dv-favorite-star-color: #f5b301;
}

/* Favorite symbols: established yellow star language. */
.dv-order-category-button--favorites,
.dv-order-product-favorite,
.dv-pos-favorite-toggle .dv-pos-favorite-star,
.dv-personal-favorite-remove {
  color: var(--dv-favorite-star-color);
}

.dv-order-category-button--favorites:hover,
.dv-order-category-button--favorites:focus-visible,
.dv-order-product-favorite:hover,
.dv-order-product-favorite:focus-visible,
.dv-pos-favorite-toggle:hover .dv-pos-favorite-star,
.dv-pos-favorite-toggle:focus-within .dv-pos-favorite-star,
.dv-personal-favorite-remove:hover,
.dv-personal-favorite-remove:focus-visible {
  color: var(--dv-favorite-star-color);
}

/*
 * Product cards inherit the visual identity of their product group.
 * Tint is deliberately light so product name, price and SKU remain
 * readable and the category color is recognition support, not a fill.
 */
.dv-order-product-group.dv-pos-color--green .dv-order-product {
  background:
    color-mix(in srgb, #16a34a 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #16a34a 28%, var(--dv-border));
}

.dv-order-product-group.dv-pos-color--blue .dv-order-product {
  background:
    color-mix(in srgb, #2563eb 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #2563eb 28%, var(--dv-border));
}

.dv-order-product-group.dv-pos-color--orange .dv-order-product {
  background:
    color-mix(in srgb, #f97316 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #f97316 28%, var(--dv-border));
}

.dv-order-product-group.dv-pos-color--red .dv-order-product {
  background:
    color-mix(in srgb, #dc2626 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #dc2626 28%, var(--dv-border));
}

.dv-order-product-group.dv-pos-color--violet .dv-order-product {
  background:
    color-mix(in srgb, #7c3aed 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #7c3aed 28%, var(--dv-border));
}

.dv-order-product-group.dv-pos-color--cyan .dv-order-product {
  background:
    color-mix(in srgb, #0891b2 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #0891b2 28%, var(--dv-border));
}

.dv-order-product-group.dv-pos-color--amber .dv-order-product {
  background:
    color-mix(in srgb, #d97706 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #d97706 28%, var(--dv-border));
}

.dv-order-product-group.dv-pos-color--pink .dv-order-product {
  background:
    color-mix(in srgb, #db2777 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, #db2777 28%, var(--dv-border));
}

/* Favorites group stays recognizable as the personal ★ area. */
.dv-order-product-group--favorites .dv-order-product {
  background:
    color-mix(in srgb, var(--dv-favorite-star-color) 9%, var(--dv-surface));
  border-color:
    color-mix(in srgb, var(--dv-favorite-star-color) 30%, var(--dv-border));
}

/* Preserve a clear hover/focus affordance over the tint. */
.dv-order-product:hover,
.dv-order-product:focus-visible {
  filter: brightness(0.985);
}

/* /DINEVARO_POS_YELLOW_STARS_AND_PRODUCT_TINTS_V1 */

/* =========================================================
   DINEVARO_FAVORITE_CARD_SOURCE_COLORS_V1
   Favorite cards retain their original product-group color.
   ========================================================= */

.dv-order-product-card.dv-pos-color--green .dv-order-product {
  background: color-mix(in srgb, #16a34a 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #16a34a 28%, var(--dv-border));
}

.dv-order-product-card.dv-pos-color--blue .dv-order-product {
  background: color-mix(in srgb, #2563eb 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #2563eb 28%, var(--dv-border));
}

.dv-order-product-card.dv-pos-color--orange .dv-order-product {
  background: color-mix(in srgb, #f97316 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #f97316 28%, var(--dv-border));
}

.dv-order-product-card.dv-pos-color--red .dv-order-product {
  background: color-mix(in srgb, #dc2626 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #dc2626 28%, var(--dv-border));
}

.dv-order-product-card.dv-pos-color--violet .dv-order-product {
  background: color-mix(in srgb, #7c3aed 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #7c3aed 28%, var(--dv-border));
}

.dv-order-product-card.dv-pos-color--cyan .dv-order-product {
  background: color-mix(in srgb, #0891b2 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #0891b2 28%, var(--dv-border));
}

.dv-order-product-card.dv-pos-color--amber .dv-order-product {
  background: color-mix(in srgb, #d97706 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #d97706 28%, var(--dv-border));
}

.dv-order-product-card.dv-pos-color--pink .dv-order-product {
  background: color-mix(in srgb, #db2777 9%, var(--dv-surface));
  border-color: color-mix(in srgb, #db2777 28%, var(--dv-border));
}

/* /DINEVARO_FAVORITE_CARD_SOURCE_COLORS_V1 */

/* =========================================================
   DINEVARO_POS_FAVORITE_GROUPS_V1
   ========================================================= */

.dv-order-favorite-subgroups {
  display: grid;
  gap: 16px;
}

.dv-order-favorite-subgroup {
  display: grid;
  gap: 9px;
}

.dv-order-favorite-subgroup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 3px 6px;
  border-bottom: 1px solid var(--dv-border);
}

.dv-order-favorite-subgroup__header h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
}

.dv-order-favorite-subgroup__header span {
  color: var(--dv-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.dv-pos-favorite-group-field {
  min-width: 190px;
}

.dv-pos-favorite-group-field input {
  width: 100%;
}

/* /DINEVARO_POS_FAVORITE_GROUPS_V1 */
/* DINEVARO_HIDE_EMPTY_FAVORITE_GROUPS_V1
   The favorite JS already sets the HTML hidden attribute for empty
   subgroups. Keep author display:grid from overriding that state. */
.dv-order-favorite-subgroup[hidden],
[data-favorite-subgroup][hidden] {
  display: none !important;
}
/* /DINEVARO_HIDE_EMPTY_FAVORITE_GROUPS_V1 */


/* DINEVARO_02056_COMPACT_PRODUCT_CONFIG */
.dv-main--product-options .dv-module__body { padding: .8rem; }
.dv-main--product-options .dv-field { gap: .25rem; }
.dv-main--product-options .dv-field > span:first-child { font-size: .78rem; }
.dv-main--product-options input,
.dv-main--product-options select { min-height: 2.15rem; }
.dv-main--product-options .dv-option-group-link { padding: .55rem .65rem; }
.dv-option-rule-hint { display: block; margin-top: .35rem; opacity: .72; }
.dv-option-defaults { margin: .7rem 0; padding: .65rem; border: 1px solid var(--dv-border, #d7dce2); border-radius: .65rem; }
.dv-option-defaults__head { display: grid; gap: .2rem; margin-bottom: .55rem; }
.dv-option-defaults__head small { opacity: .72; }
.dv-option-defaults__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .4rem; }
.dv-option-default-chip { display: flex; align-items: center; gap: .45rem; padding: .45rem .55rem; border: 1px solid var(--dv-border, #d7dce2); border-radius: .55rem; cursor: pointer; }
.dv-option-default-chip input { min-height: auto; }
@media (max-width: 760px) { .dv-option-defaults__grid { grid-template-columns: 1fr 1fr; } }

/* BDL_POS_COMPACT_GLOBAL_BEGIN */
[data-channel="pos"][data-site-id] { --dv-pos-gap: 10px; --dv-pos-control-height: 42px; }
[data-channel="pos"][data-site-id] .dv-module__body { padding: 12px; }
[data-channel="pos"][data-site-id] .dv-field { gap: 5px; }
[data-channel="pos"][data-site-id] .dv-order-fulfillment { gap: 8px; }
[data-channel="pos"][data-site-id] .dv-order-fulfillment .dv-button,
[data-channel="pos"][data-site-id] .dv-order-fulfillment button { min-height: var(--dv-pos-control-height); }
[data-channel="pos"][data-site-id] .dv-order-cart { gap: var(--dv-pos-gap); }
[data-channel="pos"][data-site-id] .dv-order-cart__settings { gap: var(--dv-pos-gap); }
[data-channel="pos"][data-site-id] .dv-order-no-kitchen-ticket { margin-top: 2px; padding: 9px 11px; border: 1px solid var(--dv-border); border-radius: 10px; background: var(--dv-surface-subtle); }
[data-channel="pos"][data-site-id] .dv-order-no-kitchen-ticket span { display: grid; gap: 2px; }
[data-channel="pos"][data-site-id] .dv-order-no-kitchen-ticket small { font-size: .78rem; font-weight: 600; color: var(--dv-muted); }
/* BDL_POS_COMPACT_GLOBAL_END */
