:root {
  --vl-accent: #167d8d;
  --vl-sidebar-text: #d8e5ec;
  --vl-sidebar-muted: #a8c0cf;
  --vl-secondary: #4e616c;
  --vl-outline: #344e5a;
  --vl-outline-border: #cbd7db;
  --vl-outline-hover: #edf3f2;
  --vl-outline-hover-text: #163c3a;
  --vl-navy: #092238;
  --vl-navy-hover: #183b50;
  --vl-teal: #086b66;
  --vl-teal-hover: #055550;
  --vl-ink: #1e303d;
  --vl-muted: #596976;
  --vl-background: #f5f6f4;
  --vl-surface: #fff;
  --vl-border: #dce3e3;
  --vl-soft: #edf5f2;
  --vl-radius: 12px;
  --vl-space: 8px;
  --bs-body-font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-body-color: var(--vl-ink);
  --bs-link-color: var(--vl-teal);
  --bs-link-hover-color: var(--vl-teal-hover);
}
* { box-sizing: border-box; }
html { font-size: 16px; }
body { margin: 0; background: var(--vl-background); color: var(--vl-ink); line-height: 1.6; }
a { text-underline-offset: .2em; color: var(--vl-link, var(--vl-teal)); }
a:hover { color: var(--vl-link-hover, var(--vl-teal-hover)); }
h1, h2, h3 { line-height: 1.25; letter-spacing: -.025em; color: #142b39; overflow-wrap: anywhere; }
h1 { font-size: clamp(1.8rem, 3vw, 2.25rem); font-weight: 650; margin-bottom: .75rem; }
h2 { font-size: 1.15rem; font-weight: 650; margin-bottom: .65rem; }
h3 { font-size: 1.05rem; font-weight: 650; }
p { color: var(--vl-muted); overflow-wrap: anywhere; }
:focus-visible, .btn:focus-visible, .form-control:focus, .form-select:focus {
  outline: 3px solid var(--vl-accent); outline-offset: 3px; box-shadow: 0 0 0 2px #fff;
}
.sidebar :focus-visible { outline-color: #8ce6da; box-shadow: none; }
.skip-link { position: fixed; z-index: 1050; top: -100px; left: 1rem; background: white; padding: .75rem 1rem; border-radius: 6px; }
.skip-link:focus { top: 1rem; }
.app-shell { display: grid; grid-template-columns: 236px minmax(0, 1fr); min-height: 100vh; }
.sidebar { background: var(--vl-navy); color: #d6e3e9; padding: 28px 18px; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.brand { display: flex; align-items: center; gap: 10px; font-size: 1.1rem; font-weight: 700; color: #fff; text-decoration: none; letter-spacing: -.03em; }
.brand:hover { color: #b7e5dc; }
.brand-mark { display: inline-grid; place-items: center; width: 30px; height: 34px; border: 1px solid #a6d2cc; border-radius: 9px 9px 9px 2px; color: #c1eee2; font-size: 1rem; }
.sidebar-content { display: flex !important; flex-direction: column; min-height: calc(100% - 60px); padding-top: 40px; }
.nav-label, .eyebrow { font-size: .72rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.nav-label { color: var(--vl-sidebar-muted); margin: 0 12px 12px; }
.workspace-nav { display: grid; gap: 6px; }
.workspace-nav a { display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 8px; color: #d8e5ec; text-decoration: none; font-size: .88rem; line-height: 1.4; }
.workspace-nav a:hover, .workspace-nav a[aria-current="page"] { color: white; background: var(--vl-navy-hover); }
.workspace-nav a[aria-current="page"] { box-shadow: inset 3px 0 #88d5c7; font-weight: 650; }
.workspace-nav a > span { width: 18px; font-size: 1.25rem; line-height: 1; text-align: center; }
.sidebar-note { margin: auto 12px 0; padding-top: 48px; }
.sidebar-note .nav-label { margin: 0; }
.sidebar-note p { color: var(--vl-sidebar-muted); font-size: .82rem; margin-top: 8px; }
.sidebar-note .currency-label { color: var(--vl-sidebar-muted); border-color: currentColor; }
.sidebar .workspace-nav a { color: var(--vl-sidebar-text); }
.btn-outline-secondary, .btn-outline-primary { --bs-btn-bg: #fff; }
.mobile-toggle { display: none; }
.workspace-body { display: flex; flex-direction: column; min-width: 0; }
.workspace-header { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #fff; padding: 20px 36px; border-bottom: 1px solid var(--vl-border); }
.scope-context { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; flex: 1; min-width: 0; }
.company-context { display: grid; gap: 4px; min-width: 0; max-width: 320px; overflow-wrap: anywhere; }
.eyebrow { color: var(--vl-muted); margin-bottom: 8px; }
.company-context .eyebrow { margin: 0; }
.company-context strong { font-size: .95rem; }
.business-switcher { min-width: 0; width: min(100%, 340px); }
.business-switcher label { display: block; font-size: .72rem; color: var(--vl-muted); margin-bottom: 4px; font-weight: 600; }
.switcher-controls { display: flex; gap: 8px; min-width: 0; }
.switcher-controls .form-select { min-width: 0; text-overflow: ellipsis; font-size: .85rem; }
.account-menu { position: relative; flex-shrink: 0; }
.account-menu summary { display: flex; align-items: center; gap: 8px; cursor: pointer; border-radius: 8px; font-size: .85rem; padding: 4px; }
.account-menu summary::after { content: '\2304'; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-avatar { display: grid; place-items: center; width: 34px; height: 34px; background: var(--vl-soft); border: 1px solid #d2e2dd; border-radius: 50%; color: var(--vl-teal); font-weight: 700; }
.account-popover { position: absolute; top: calc(100% + 14px); right: 0; z-index: 20; width: 240px; padding: 20px; background: white; border: 1px solid var(--vl-border); border-radius: var(--vl-radius); box-shadow: 0 10px 35px #09223818; }
.account-popover a { display: block; margin-bottom: 16px; }
.account-label { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-username, .profile-company { display: block; overflow-wrap: anywhere; }
.profile-role { margin: 6px 0; color: var(--vl-muted); font-size: .85rem; }
.profile-company { font-size: .85rem; margin-bottom: 16px; }
.page-content { width: 100%; max-width: 1440px; margin: 0 auto; padding: 36px; flex: 1; }
.page-heading, .section-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.page-heading { margin-bottom: 28px; }
.page-heading p:last-child, .section-heading p:last-child { margin-bottom: 0; }
.page-heading > div, .section-heading > div { min-width: 0; }
.page-heading .btn, .section-heading > .btn { flex-shrink: 0; }
.section-heading { margin-bottom: 20px; }
.panel { padding: 28px; border: 1px solid var(--vl-border); background: var(--vl-surface); border-radius: var(--vl-radius); margin-bottom: 24px; }
.panel.section-heading { padding: 24px 28px; }
.form-panel { max-width: 740px; }
.form-panel > p { max-width: 60ch; }
.page-content > h1 { margin-bottom: 16px; }
.page-content > p { max-width: 80ch; }
.btn { border-radius: 7px; padding: .65rem 1rem; font-size: .875rem; font-weight: 600; line-height: 1.4; min-height: 44px; white-space: normal; }
.btn-primary { --bs-btn-bg: var(--vl-teal); --bs-btn-border-color: var(--vl-teal); --bs-btn-hover-bg: var(--vl-teal-hover); --bs-btn-hover-border-color: var(--vl-teal-hover); --bs-btn-active-bg: var(--vl-teal-hover); --bs-btn-active-border-color: var(--vl-teal-hover); }
.btn-secondary { --bs-btn-color: #fff; --bs-btn-bg: var(--vl-secondary); --bs-btn-border-color: var(--vl-secondary); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--vl-secondary); --bs-btn-hover-border-color: var(--vl-secondary); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--vl-secondary); --bs-btn-active-border-color: var(--vl-secondary); --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: var(--vl-secondary); --bs-btn-disabled-border-color: var(--vl-secondary); }
.btn-outline-secondary { --bs-btn-color: var(--vl-outline); --bs-btn-border-color: var(--vl-outline-border); --bs-btn-hover-bg: var(--vl-outline-hover); --bs-btn-hover-color: var(--vl-outline-hover-text); --bs-btn-hover-border-color: var(--vl-outline); --bs-btn-active-bg: var(--vl-outline-hover); --bs-btn-active-color: var(--vl-outline-hover-text); --bs-btn-active-border-color: var(--vl-outline); --bs-btn-disabled-color: var(--vl-outline); --bs-btn-disabled-border-color: var(--vl-outline-border); }
.btn-outline-primary { --bs-btn-color: var(--vl-teal); --bs-btn-border-color: var(--vl-teal); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--vl-teal); --bs-btn-hover-border-color: var(--vl-teal); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--vl-teal); --bs-btn-active-border-color: var(--vl-teal); --bs-btn-disabled-color: var(--vl-teal); --bs-btn-disabled-border-color: var(--vl-teal); }
.form-control, .form-select { border-color: #c7d3d7; border-radius: 7px; min-height: 44px; padding: .65rem .8rem; color: var(--vl-ink); background-color: white; }
.form-control::placeholder { color: #687883; }
.form-panel label, .account-content label { display: block; font-size: .875rem; font-weight: 600; margin: 20px 0 7px; }
.form-panel label:has(input[type=checkbox]), .account-content label:has(input[type=checkbox]) { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; }
input[type=checkbox] { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 4px; accent-color: var(--vl-teal); }
.form-panel form, .account-content form { width: 100%; }
fieldset { border: 1px solid var(--vl-border); border-radius: 8px; padding: 16px 20px 20px; margin-top: 24px; min-width: 0; }
legend { float: none; width: auto; font-size: .9rem; font-weight: 650; padding: 0 6px; }
.form-panel fieldset label { margin-top: 12px; }
.form-panel .btn { margin-top: 24px !important; }
.form-actions { margin-top: 24px; }
.form-panel .form-actions .btn { margin-top: 0 !important; }
.form-hint, .section-note { font-size: .8rem; color: var(--vl-muted); margin-top: 16px; }
.input-validation-error { border: 2px solid #ac3434; background: #fffafa; }
.validation-summary-errors { background: #fff3f1; border: 1px solid #e0b2aa; border-left: 4px solid #ac3434; padding: 16px 20px; border-radius: 8px; margin-bottom: 20px; color: #8c2424 !important; }
.validation-summary-errors ul { padding-left: 20px; margin: 0; }
.validation-summary-valid, .field-validation-valid { display: none; }
.field-validation-error { display: block; margin-top: 6px; font-size: .85rem; color: #8c2424; }
.feedback, .support-banner { padding: 14px 20px; border: 1px solid #bddad0; border-radius: 8px; background: #edf7f2; color: #205346; }
.support-banner { margin: 20px 36px 0; background: #fff6e4; color: #714a12; border-color: #decba4; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.support-banner form { margin: 0; }
.filter-form { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin-bottom: 24px; }
.filter-form > div { flex: 1 1 200px; min-width: 0; }
.status-badge { display: inline-block; padding: 4px 9px; background: #edf2f3; color: #354b55; border: 1px solid #dce5e7; border-radius: 6px; font-size: .72rem; font-weight: 650; line-height: 1.5; }
.status-active { color: #205b49; background: #eaf6ee; border-color: #c8e4d4; }
.status-pending { color: #77541b; background: #fcf6e9; border-color: #e9dcc2; }
.status-review { color: #345376; background: #edf3fa; border-color: #d0dded; }
.currency-label { font-size: .67rem; border: 1px solid var(--vl-border); padding: 2px 5px; border-radius: 4px; font-weight: 600; letter-spacing: .03em; }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.summary-card { display: flex; flex-direction: column; gap: 12px; background: white; padding: 24px 20px; border: 1px solid var(--vl-border); border-radius: var(--vl-radius); }
.summary-label { font-size: .82rem; color: #465b67; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.summary-value { font-size: clamp(1rem, 1.5vw, 1.35rem); font-variant-numeric: tabular-nums; letter-spacing: -.03em; overflow-wrap: anywhere; }
.summary-note { font-size: .72rem; color: var(--vl-muted); }
.business-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.business-card { display: block; text-decoration: none; padding: 24px; border: 1px solid var(--vl-border); border-radius: 10px; color: var(--vl-teal); background: #fcfdfb; }
.business-card:hover { border-color: #82b3a8; background: #f2f8f4; }
.business-card h3 { margin: 12px 0 24px; }
.business-card > span:last-child { font-size: .85rem; font-weight: 650; }
.empty-state { text-align: center; padding: 44px 20px; max-width: 620px; margin: 0 auto; }
.empty-state p { font-size: .9rem; margin: 12px auto 20px; max-width: 52ch; }
.empty-symbol { display: inline-grid; place-items: center; width: 50px; height: 50px; border: 1px solid #d3e3dc; background: var(--vl-soft); color: var(--vl-teal); border-radius: 14px; font-size: 1.7rem; margin-bottom: 18px; }
.notice { padding: 24px 28px; border: 1px solid #d3e2db; border-radius: var(--vl-radius); background: #eef4f0; }
.notice p { font-size: .9rem; margin: 0; max-width: 85ch; }
.table-scroll { overflow-x: auto; border: 1px solid var(--vl-border); border-radius: 8px; }
.ledger-table { margin: 0; font-size: .85rem; --bs-table-bg: transparent; }
.ledger-table th { background: #f3f6f5; color: #52616b; font-weight: 600; font-size: .75rem; white-space: nowrap; }
.ledger-table td, .ledger-table th { padding: 15px 18px; vertical-align: middle; border-color: #e6ebea; }
.ledger-table td { min-width: 120px; max-width: 360px; overflow-wrap: anywhere; }
.ledger-table .amount { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ledger-table caption { padding: 12px 18px; font-size: .75rem; color: var(--vl-muted); }
.audit-list { list-style: none; padding: 0; margin: 0; }
.audit-list li { padding: 18px 0; border-bottom: 1px solid var(--vl-border); overflow-wrap: anywhere; }
.audit-list small { display: block; color: var(--vl-muted); margin-top: 6px; }
.button-row, .form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.button-row > form, .form-actions > form, .ledger-actions > form { margin: 0; }
.button-row > .btn, .form-actions > .btn, .ledger-actions > .btn,
.button-row > form .btn, .form-actions > form .btn, .ledger-actions > form .btn { margin-top: 0 !important; }
.action-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; vertical-align: middle; }
.action-button.d-block { display: flex !important; }
.button-icon { display: inline-block; flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; vertical-align: -.2em; pointer-events: none; }
.table-scroll .button-row { min-width: 15rem; }
.action-button:focus-visible { position: relative; z-index: 1; }
.document-actions { align-items: flex-start; }
.document-management-actions { flex-basis: 100%; align-items: flex-start; }
.document-management-actions > .document-link-actions { margin-top: 0; }
.document-management-actions > .document-link-actions[open] { flex-basis: 100%; }
.document-management-actions:not(:has(> *)) { display: none; }
.document-actions > .ledger-actions { margin: 0; }
.document-actions > details[open] { flex-basis: 100%; }
.document-actions > details > summary { list-style: none; }
.document-actions > details > summary::-webkit-details-marker { display: none; }
.account-content { max-width: 840px; }
.account-content > h1 { margin-top: 12px; }
.account-content > form, .account-content > section, .account-content > .account-panel { border: 1px solid var(--vl-border); border-radius: var(--vl-radius); padding: 28px; background: white; margin: 24px 0; }
.account-content h2 { margin-top: 24px; }
.account-content code { overflow-wrap: anywhere; }
.account-content img { max-width: 100%; height: auto; }
.account-content > p:last-child { font-size: .85rem; margin-top: 24px; }
.welcome-panel { padding: clamp(28px, 5vw, 64px); background: #fff; border: 1px solid var(--vl-border); border-radius: var(--vl-radius); }
.welcome-panel h1 { font-size: clamp(2rem, 3.8vw, 3.5rem); line-height: 1.15; margin: 22px 0; }
.welcome-panel .lead { max-width: 48ch; font-size: 1.05rem; margin-bottom: 28px; }
.welcome-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 64px; border-top: 1px solid var(--vl-border); padding-top: 32px; }
.welcome-details h2 { font-size: 1rem; margin-top: 18px; }
.welcome-details p { font-size: .85rem; margin: 0; }
.step-number { color: var(--vl-teal); font-size: .8rem; font-weight: 650; }
.workspace-footer { padding: 20px 36px; color: var(--vl-muted); font-size: .75rem; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
@media (max-width: 1199px) {
  .app-shell { grid-template-columns: 208px minmax(0, 1fr); }
  .workspace-header { padding: 20px 24px; }
  .page-content { padding: 28px 24px; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-label { display: none; }
}
@media (max-width: 767px) {
  .app-shell { display: block; }
  .sidebar { position: static; height: auto; padding: 16px 20px; overflow: visible; }
  .sidebar-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .brand { font-size: 1rem; }
  .mobile-toggle { display: flex; align-items: center; gap: 10px; color: #fff; border: 1px solid #52717f; border-radius: 7px; background: transparent; padding: 10px 12px; min-height: 44px; font-size: .85rem; }
  .sidebar-content:not(.show):not(.collapsing) { display: none !important; }
  .sidebar-content { padding-top: 24px; min-height: 0; }
  .sidebar-note { padding-top: 24px; }
  .workspace-header { padding: 18px 20px; gap: 12px; align-items: flex-start; }
  .scope-context { gap: 18px; }
  .company-context { max-width: 100%; }
  .business-switcher { width: 100%; }
  .switcher-controls { flex-wrap: wrap; }
  .switcher-controls .form-select { flex: 1 1 130px; }
  .page-content { padding: 28px 20px; }
  .page-heading, .section-heading { flex-direction: column; gap: 16px; }
  .panel, .panel.section-heading, .notice { padding: 22px 18px; }
  .summary-grid { gap: 12px; }
  .summary-card { padding: 18px 14px; }
  .welcome-details { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; }
  .account-content > form, .account-content > section, .account-content > .account-panel { padding: 22px 18px; }
  .empty-state { padding: 28px 0; }
  .support-banner { margin: 16px 20px 0; }
  .workspace-footer { padding: 20px; }
  .form-panel { max-width: 100%; }
  .account-popover { width: 220px; }
}
.operation-progress { position: fixed; inset: 0 0 auto; z-index: 1100; pointer-events: none; }
.operation-progress[hidden] { display: none; }
.operation-progress-track { height: 4px; overflow: hidden; background: #cde4df; }
.operation-progress-track > span { display: block; height: 100%; width: 40%; background: linear-gradient(90deg, #086b66, #5dd9c0, #087f8c); box-shadow: 0 0 14px #39c4b8; animation: operation-sweep 1.35s ease-in-out infinite; }
.operation-progress-message { position: fixed; right: 24px; bottom: 24px; max-width: calc(100vw - 40px); display: flex; align-items: center; gap: 12px; padding: 14px 20px; border: 1px solid #bcd9d0; border-radius: 12px; background: #fff; color: #234c46; box-shadow: 0 8px 32px #09223822; font-size: .875rem; }
.operation-spinner { width: 18px; height: 18px; flex: 0 0 18px; border: 2px solid #cde4df; border-top-color: #086b66; border-radius: 50%; animation: operation-spin .8s linear infinite; }
button[disabled] { cursor: wait; }
.operation-error { border: 1px solid #e0b2aa; border-left: 4px solid #ac3434; padding: 18px 20px; border-radius: 8px; background: #fff3f1; color: #8c2424; margin-bottom: 24px; }
.operation-error p { color: inherit; }
@keyframes operation-sweep { from { transform: translateX(-110%); } to { transform: translateX(360%); } }
@keyframes operation-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .operation-progress-track > span { width: 100%; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
:root { --ledger-border: #dbe3e8; }
.ledger-card { padding: clamp(1rem, 2.2vw, 1.75rem); margin-block: 1rem; gap: 1rem; min-width: 0; }
.ledger-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; margin-block: 1rem; }
.ledger-form { display: grid; gap: 1rem; min-width: 0; }
.ledger-form label { display: block; font-weight: 600; margin-block-end: .35rem; }
.ledger-form .form-check label { display: inline; }
.ledger-list { display: grid; gap: .85rem; padding-inline-start: 1.25rem; }
.ledger-metadata { display: grid; grid-template-columns: minmax(7rem, auto) 1fr; gap: .65rem 1rem; }
.ledger-metadata dd, .ledger-card th, .ledger-card td { overflow-wrap: anywhere; }
.journal-line { display: grid; grid-template-columns: minmax(12rem, 2fr) repeat(2,minmax(8rem,1fr)); gap: .75rem; padding: 1rem; border: 1px solid var(--ledger-border); border-radius: .65rem; margin-block: 1rem; min-width: 0; }
.journal-line legend { float: none; width: auto; padding-inline: .3rem; font-size: 1rem; font-weight: 600; }
.journal-line > div { min-width: 0; }
.journal-line[hidden] { display: none; }
.journal-line button { justify-self: start; align-self: end; }
@media (max-width: 767px) { .journal-line { grid-template-columns: minmax(0,1fr); } .ledger-metadata { grid-template-columns: minmax(0,1fr); } .ledger-metadata dd { margin-bottom: .6rem; } }

/* Action links keep link semantics while presenting a clear button target. */
.ledger-actions > a:not(.btn), .page-heading > a:not(.btn), .ledger-card article > a:not(.btn) { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .55rem .9rem; border: 1px solid var(--vl-outline-border); border-radius: .45rem; background: #fff; color: var(--vl-outline); text-decoration: none; font-weight: 600; }
.ledger-actions > a:not(.btn):hover, .page-heading > a:not(.btn):hover, .ledger-card article > a:not(.btn):hover { color: var(--vl-outline-hover-text); background: var(--vl-outline-hover); border-color: var(--vl-outline); }
.btn-primary { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: var(--vl-teal); --bs-btn-disabled-border-color: var(--vl-teal); }
[data-collection-picker] { display: grid; gap: .5rem; min-width: 0; }
.collection-picker > .select2-container { min-width: 0; max-width: 100%; }
.select2-container--default .select2-selection--single { min-height: 44px; height: auto; border: 1px solid #c7d3d7; border-radius: 7px; background: #fff; display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--vl-ink); line-height: 1.5; padding: .65rem 2.5rem .65rem .8rem; min-width: 0; width: 100%; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: #526678; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: .6rem; }
.select2-container--default .select2-selection--single .select2-selection__clear { position: absolute; right: 2rem; top: 50%; transform: translateY(-50%); font-size: 1.35rem; line-height: 1.5; padding: 0 .25rem; }
.select2-container--default .select2-selection--single:focus-visible, .select2-container--open .select2-selection--single { outline: 3px solid #16859a; outline-offset: 2px; }
.select2-container--default .select2-selection--single[aria-invalid="true"] { border-color: #b52d35; }
.select2-container--default.select2-container--disabled .select2-selection--single { background: #edf1f2; cursor: not-allowed; }
.select2-dropdown { border-color: #aabdc4; border-radius: 7px; overflow: hidden; box-shadow: 0 8px 24px #10283a24; }
.select2-container--default .select2-search--dropdown { padding: .6rem; }
.select2-container--default .select2-search--dropdown .select2-search__field { min-height: 44px; padding: .6rem .75rem; border: 1px solid #aabdc4; border-radius: 5px; color: var(--vl-ink); background: #fff; font: inherit; }
.select2-search__field:focus { outline: 2px solid #16859a; outline-offset: 1px; }
.select2-container--default .select2-results > .select2-results__options { max-height: min(16rem, 45vh); overscroll-behavior: contain; }
.select2-results__option { padding: .65rem .8rem; min-height: 44px; overflow-wrap: anywhere; }
.select2-container--default .select2-results__option[aria-selected="true"] { background: #e9f3f1; color: #143c3a; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: #206d68; color: #fff; }
.select2-container--default .select2-results__option[aria-disabled="true"] { color: #68737e; background: #f2f4f5; }
.document-link-actions { margin-top: .75rem; }
.document-link-actions > summary { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none; }
.document-link-actions > summary::-webkit-details-marker { display: none; }
.document-link-actions[open] { display: grid; gap: .75rem; }
.document-link-actions > form { padding: .75rem; border: 1px solid var(--border, #d6dfe2); border-radius: .75rem; }
.company-logo { width: 44px; height: 44px; object-fit: contain; flex-shrink: 0; background: #fff; border-radius: 6px; }
.brand > span:last-child { overflow-wrap: anywhere; min-width: 0; }
.brand-preview-frame { width: 100%; height: 420px; border: 1px solid var(--vl-border); border-radius: 12px; }
.brand-preview { display: grid; grid-template-columns: minmax(100px, 30%) 1fr; gap: 16px; min-height: 100vh; }
.brand-preview .sidebar { position: static; height: auto; padding: 20px 12px; }
.brand-preview .panel { margin: 12px; min-width: 0; }
.brand-preview .form-control, .brand-preview .btn { margin: 12px 0; }
body[data-full-navigation="true"] :focus-visible { outline-color: var(--vl-accent); }
body[data-full-navigation="true"] .sidebar :focus-visible { outline-color: #fff; }
.sidebar .btn-outline-secondary { --bs-btn-bg: transparent; --bs-btn-color: var(--vl-sidebar-text); --bs-btn-border-color: var(--vl-sidebar-muted); }
.preview-favicon { width: 32px; height: 32px; object-fit: contain; background: #fff; border: 1px solid var(--vl-border); }
@media (max-width: 575.98px) { .brand-preview { grid-template-columns: 1fr; } }
body[data-full-navigation="true"] .btn-primary:hover { filter: brightness(.85); }
body[data-full-navigation="true"] .workspace-nav a:hover,
body[data-full-navigation="true"] .workspace-nav a[aria-current="page"] { background: #ffffff18; }
