/* Use Tabler's native palette while retaining the prototype's component layout. */
:root {
    --tblr-primary: #5EBA00 !important;
    --tblr-primary-rgb: 94, 186, 0 !important;
    --tblr-primary-text-emphasis: #315D08 !important;
    --tblr-primary-bg-subtle: #E8F5D8 !important;
    --tblr-primary-border-subtle: #C9E7A5 !important;
    --brand: #5EBA00 !important;
    --brand-dark: #315D08 !important;
    --brand-light: #E8F5D8 !important;
    --accent: var(--tblr-yellow) !important;
    --canvas: var(--tblr-body-bg) !important;
    --ink: var(--tblr-body-color) !important;
}

@media print { @page { size:A4 portrait; } }

/* Company reports */
.report-switcher .nav-link { display:flex; align-items:center; gap:.65rem; min-width:220px; padding:.65rem .85rem; color:var(--tblr-secondary-color); border:1px solid transparent; }
.report-switcher .nav-link:hover { background:var(--tblr-bg-surface-secondary); color:var(--tblr-body-color); }
.report-switcher .nav-link.active { background:var(--tblr-primary-lt); color:var(--tblr-primary); border-color:color-mix(in srgb,var(--tblr-primary) 20%,transparent); }
.report-switcher .nav-link small { display:block; margin-top:.05rem; font-size:.68rem; font-style:italic; font-weight:400; opacity:.8; }
.report-tab-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:8px; background:var(--tblr-bg-surface-secondary); font-size:1.15rem; }
.report-switcher .nav-link.active .report-tab-icon { background:var(--tblr-primary); color:#fff; }
.report-filter { border-left:3px solid var(--tblr-primary); }
.report-stat { transition:transform .15s ease,box-shadow .15s ease; }
.report-stat:hover { transform:translateY(-1px); box-shadow:var(--tblr-shadow-card-hover); }
.report-stat .metric-label span { font-size:.72rem; font-style:italic; }
.report-stat .metric-value { font-size:1.4rem; }
.report-table thead th > span { display:block; margin-top:.12rem; font-size:.62rem; font-weight:400; font-style:italic; letter-spacing:0; text-transform:none; opacity:.8; }
.report-table tbody tr:hover { background:var(--tblr-bg-surface-secondary); }
.report-table tfoot td { padding-top:.8rem; padding-bottom:.8rem; background:var(--tblr-bg-surface-secondary); border-top:2px solid var(--tblr-border-color); font-weight:700; }
.report-print-heading { align-items:flex-end; justify-content:space-between; padding-bottom:4mm; margin-bottom:5mm; border-bottom:2px solid #1f2937; }
.report-print-company { font-size:18pt; font-weight:700; }
.report-print-summary { grid-template-columns:repeat(3,1fr); border:1px solid #d1d5db; }
.report-print-summary > div { display:flex; justify-content:space-between; gap:1rem; padding:2.5mm 3mm; border-right:1px solid #d1d5db; }
.report-print-summary > div:last-child { border-right:0; }

/* Company dashboard */
.dashboard-welcome { color:#fff; border:0; background:linear-gradient(120deg,#24344a 0%,#334a65 68%,#3e5a74 100%); }
.dashboard-welcome::after { content:""; position:absolute; width:220px; height:220px; right:-55px; top:-115px; border:38px solid rgba(255,255,255,.055); border-radius:50%; }
.dashboard-quick-actions { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }
.dashboard-quick-actions .btn { text-align:left; color:#26374d; border:0; box-shadow:0 1px 3px rgba(15,23,42,.12); }
.dashboard-quick-actions .btn span { display:block; margin-top:.05rem; color:#6b7280; font-size:.66rem; font-style:italic; }
.dashboard-stat { border-top:3px solid transparent; transition:transform .15s ease,box-shadow .15s ease; }
.dashboard-stat:hover { transform:translateY(-2px); box-shadow:var(--tblr-shadow-card-hover); border-top-color:var(--tblr-primary); }
.dashboard-chart { height:245px; display:flex; align-items:stretch; gap:clamp(.6rem,3vw,2rem); padding:.5rem .5rem 0; }
.dashboard-chart-item { flex:1; min-width:34px; display:grid; grid-template-rows:20px 1fr 24px; text-align:center; }
.dashboard-chart-value { font-size:.72rem; color:var(--tblr-secondary-color); font-weight:600; }
.dashboard-chart-track { height:100%; display:flex; align-items:flex-end; border-bottom:1px solid var(--tblr-border-color); background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),var(--tblr-border-color-translucent) 25%); }
.dashboard-chart-bar { width:min(42px,72%); min-height:8px; margin:0 auto; border-radius:6px 6px 0 0; background:var(--tblr-primary-lt); border:1px solid color-mix(in srgb,var(--tblr-primary) 22%,transparent); transition:height .3s ease; }
.dashboard-chart-bar.active { background:var(--tblr-primary); border-color:var(--tblr-primary); }
.dashboard-chart-label { padding-top:.35rem; color:var(--tblr-secondary-color); font-size:.75rem; }
.dashboard-attention .list-group-item { padding:.8rem 1rem; }
.dashboard-th-translation { display:block; margin-top:.1rem; font-size:.62rem; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; }
.dashboard-registry-link { display:flex; align-items:center; gap:.75rem; padding:.8rem; color:var(--tblr-body-color); text-decoration:none; border:1px solid var(--tblr-border-color); border-radius:var(--tblr-border-radius); transition:background .15s ease,border-color .15s ease; }
.dashboard-registry-link:hover { color:var(--tblr-body-color); background:var(--tblr-bg-surface-secondary); border-color:color-mix(in srgb,var(--tblr-primary) 30%,var(--tblr-border-color)); }
.dashboard-registry-link strong,.dashboard-registry-link small { display:block; }
.dashboard-registry-link strong { font-size:1.05rem; }
.dashboard-registry-link small { color:var(--tblr-secondary-color); }
@media (max-width:991.98px) { .dashboard-quick-actions { justify-content:flex-start; } }
@media (max-width:575.98px) { .dashboard-quick-actions .btn { flex:1 1 100%; } .dashboard-chart { gap:.35rem; padding-inline:0; } }

/* Documents workspace */
.document-status-card { color:inherit; text-decoration:none; border-top:3px solid transparent; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.document-status-card:hover { color:inherit; transform:translateY(-1px); box-shadow:var(--tblr-shadow-card-hover); }
.document-status-card.active { border-top-color:var(--tblr-primary); background:linear-gradient(180deg,var(--tblr-primary-lt),var(--tblr-bg-surface) 55%); }
.document-workflow { background:var(--tblr-bg-surface-secondary); }
.document-flow-step { display:grid; grid-template-columns:25px auto; grid-template-rows:auto auto; column-gap:.5rem; align-items:center; min-width:165px; }
.document-flow-step > span { grid-row:1/3; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--tblr-primary); color:#fff; font-size:.72rem; font-weight:700; }
.document-flow-step strong { font-size:.78rem; line-height:1.1; }
.document-flow-step small { color:var(--tblr-secondary-color); font-size:.65rem; }
.document-toolbar { background:var(--tblr-bg-surface-secondary); }
.document-list-table thead th > span { display:block; margin-top:.1rem; font-size:.61rem; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; }
.document-list-table tbody tr:hover { background:var(--tblr-bg-surface-secondary); }
.document-list-table { min-width:1180px; table-layout:fixed; }
.document-list-table th,.document-list-table td { padding:.9rem .8rem; }
.document-list-table td { line-height:1.35; }
.document-col-title { width:22%; }
.document-col-reference { width:16%; }
.document-col-parties { width:16%; }
.document-col-fee { width:8%; }
.document-col-status { width:8%; }
.document-col-updated { width:10%; }
.document-col-actions { width:20%; }
.document-row-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.3rem; align-items:center; min-width:0; }
.document-row-actions .btn { width:100%; min-width:0; padding:.3rem .35rem; justify-content:center; white-space:nowrap; font-size:.72rem; }
.document-row-actions .btn .ti { font-size:.8rem; }
.cursor-pointer { cursor:pointer; }
@media (max-width:767.98px) { .document-flow-step { flex:1 1 45%; min-width:145px; } }

/* Notary register */
.register-table { min-width:1180px; }
.register-table th,.register-table td { padding:.85rem .8rem; }
.register-table thead th > span { display:block; margin-top:.1rem; font-size:.61rem; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; }
.register-table tbody tr:hover { background:var(--tblr-bg-surface-secondary); }
.register-row-void { background:var(--tblr-danger-lt); }
.register-row-void td { opacity:.82; }
.register-action { width:124px; justify-content:center; white-space:nowrap; }
.register-print-heading { align-items:flex-end; justify-content:space-between; padding-bottom:4mm; margin-bottom:5mm; border-bottom:2px solid #1f2937; }
.register-print-heading h1 { margin:0 0 1mm; font-size:18pt; }
@media print {
    @page { size:A4 landscape; margin:10mm; }
    .register-print-heading { display:flex !important; }
    .register-card { border:0 !important; box-shadow:none !important; }
    .register-table { min-width:0; font-size:8.5pt; }
    .register-table th,.register-table td { padding:2mm !important; }
    .register-table thead th { color:#111 !important; background:#eef1f4 !important; }
}


/* Income and expenses */
.finance-stat { border-top:3px solid transparent; transition:transform .15s ease,box-shadow .15s ease; }
.finance-stat:hover { transform:translateY(-1px); box-shadow:var(--tblr-shadow-card-hover); border-top-color:var(--tblr-primary); }
.finance-toolbar { background:var(--tblr-bg-surface-secondary); }
.finance-table { min-width:1120px; }
.finance-table th,.finance-table td { padding:.85rem .8rem; }
.finance-table thead th > span { display:block; margin-top:.1rem; font-size:.61rem; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; }
.finance-table tbody tr:hover { background:var(--tblr-bg-surface-secondary); }
.finance-row-void { opacity:.68; }
.finance-row-actions { display:flex; flex-wrap:nowrap; align-items:center; gap:.4rem; min-width:max-content; }
.finance-row-actions .btn { min-width:76px; justify-content:center; white-space:nowrap; }
.finance-row-actions form { margin:0; }

/* Registry lists */
.registry-status-card { color:inherit; text-decoration:none; border-top:3px solid transparent; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.registry-status-card:hover { color:inherit; transform:translateY(-1px); box-shadow:var(--tblr-shadow-card-hover); }
.registry-status-card.active { border-top-color:var(--tblr-primary); background:linear-gradient(180deg,var(--tblr-primary-lt),var(--tblr-bg-surface) 58%); }
.registry-toolbar { background:var(--tblr-bg-surface-secondary); }
.registry-table { min-width:1050px; table-layout:fixed; }
.registry-table-vehicles { min-width:960px; }
.registry-table th,.registry-table td { padding:.85rem .8rem; }
.registry-table th:nth-child(1) { width:24%; }
.registry-table th:nth-child(2) { width:17%; }
.registry-table th:nth-child(3) { width:20%; }
.registry-table th:nth-child(4) { width:10%; }
.registry-table th:nth-child(5) { width:11%; }
.registry-table th:nth-child(6) { width:18%; }
.registry-table th:last-child { text-align:center; }
.registry-table th:last-child > span { text-align:center; }
.registry-table-vehicles th:nth-child(1) { width:19%; }
.registry-table-vehicles th:nth-child(2) { width:13%; }
.registry-table-vehicles th:nth-child(3) { width:15%; }
.registry-table-vehicles th:nth-child(4) { width:12%; }
.registry-table-vehicles th:nth-child(5) { width:8%; }
.registry-table-vehicles th:nth-child(6) { width:9%; }
.registry-table-vehicles th:nth-child(7) { width:22%; }
.registry-table thead th > span { display:block; margin-top:.1rem; font-size:.61rem; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; }
.registry-table tbody tr:hover { background:var(--tblr-bg-surface-secondary); }
.registry-row-actions { display:grid; grid-template-columns:62px 62px 82px; gap:.35rem; min-width:218px; }
.registry-row-actions .btn { width:100%; justify-content:center; white-space:nowrap; }
.registry-row-actions-compact { grid-template-columns:50px 50px 65px; gap:.25rem; min-width:173px; }
.registry-row-actions-compact .btn { padding:.3rem .2rem; font-size:.68rem; }
.registry-row-actions-compact .btn .ti { font-size:.8rem; }

/* Compact reusable identity picker in document wizards */
.identity-evidence-group { padding:.7rem .75rem; border:1px solid var(--tblr-border-color); border-radius:.5rem; background:var(--tblr-bg-surface); box-shadow:0 1px 2px rgba(0,0,0,.025); }
.identity-evidence-field { min-width:0; padding:0 .2rem; }
.identity-evidence-label { display:flex; min-height:32px; align-items:flex-start; justify-content:space-between; gap:.5rem; }
.identity-evidence-label .badge { flex:0 0 auto; font-size:.65rem; }
.identity-evidence-person { margin:.2rem 0 .35rem; color:var(--tblr-body-color); font-size:.72rem; font-weight:600; }
.identity-segmented-control { display:flex; min-width:0; height:39px; overflow:visible; border:1px solid var(--tblr-border-color); border-radius:.4rem; background:var(--tblr-bg-surface-secondary); }
.identity-segment { display:flex; min-width:0; align-items:center; justify-content:center; border:0; border-right:1px solid var(--tblr-border-color); background:transparent; color:var(--tblr-body-color); font-size:.7rem; font-weight:500; transition:color .15s ease,background-color .15s ease; }
.identity-segment:hover:not(:disabled) { background:var(--tblr-bg-surface-secondary); color:var(--tblr-primary); }
.identity-segment.active { background:var(--tblr-primary-lt); color:var(--tblr-primary); font-weight:600; box-shadow:inset 0 0 0 1px var(--tblr-primary); }
.identity-upload-choice { flex:0 1 38%; padding:0 .45rem; border-radius:.35rem 0 0 .35rem; white-space:nowrap; }
.identity-stored-choice { flex:1 1 52%; padding:0 .45rem; overflow:hidden; white-space:nowrap; }
.identity-stored-choice span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.identity-stored-choice:disabled { color:var(--tblr-secondary-color); cursor:not-allowed; }
.identity-count-dropdown { flex:0 0 48px; }
.identity-count-choice { width:100%; height:100%; padding:0 .35rem; border-right:0; border-radius:0 .35rem .35rem 0; color:var(--tblr-primary); }
.identity-count-choice::after { margin-left:.3rem; }
.identity-stored-menu { width:min(310px,calc(100vw - 2rem)); max-height:245px; padding:.35rem; overflow-y:auto; }
.identity-stored-menu-item { display:flex; align-items:stretch; border-radius:.3rem; }
.identity-stored-menu-item + .identity-stored-menu-item { margin-top:.2rem; }
.identity-stored-menu-item.active { background:var(--tblr-primary-lt); }
.identity-stored-menu-item.disabled { opacity:.58; }
.identity-stored-menu-choice { display:flex; min-width:0; flex:1; align-items:center; padding:.4rem .5rem; border:0; border-radius:.3rem; background:transparent; color:inherit; text-align:left; }
.identity-stored-menu-choice > span { display:flex; min-width:0; flex-direction:column; }
.identity-stored-menu-choice strong,.identity-stored-menu-choice small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.identity-stored-menu-choice strong { font-size:.7rem; }
.identity-stored-menu-choice small { color:var(--tblr-secondary-color); font-size:.62rem; }
.identity-stored-preview { display:flex; width:34px; flex:0 0 34px; align-items:center; justify-content:center; border-radius:.3rem; color:var(--tblr-primary); text-decoration:none; }
.identity-stored-preview:hover { background:var(--tblr-primary-lt); }
.identity-stored-menu-empty { padding:.65rem .5rem; color:var(--tblr-secondary-color); font-size:.68rem; text-align:center; }
.identity-upload-modal .modal-dialog { max-width:600px; }
.identity-upload-modal .modal-content { overflow:hidden; border:0; box-shadow:0 1rem 3rem rgba(15,23,42,.18); }
.identity-upload-modal .modal-header { padding:1.1rem 1.25rem .9rem; }
.identity-upload-modal .modal-body { padding:1rem 1.25rem 1.25rem; }
.identity-upload-modal .modal-footer { padding:.85rem 1.25rem; background:var(--tblr-bg-surface-secondary); }
.identity-upload-summary { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; padding:.7rem .8rem; border:1px solid var(--tblr-primary); border-radius:.4rem; background:var(--tblr-primary-lt); }
.identity-upload-summary-icon { display:flex; width:36px; height:36px; flex:0 0 36px; align-items:center; justify-content:center; border-radius:50%; background:var(--tblr-bg-surface); color:var(--tblr-primary); font-size:1.1rem; }
.identity-upload-modal .form-label { margin-bottom:.3rem; font-weight:600; }
.identity-upload-note { display:flex; align-items:flex-start; gap:.5rem; padding:.65rem .75rem; border-radius:.4rem; background:var(--tblr-bg-surface-secondary); color:var(--tblr-secondary-color); font-size:.72rem; }
.identity-upload-note .ti { margin-top:.05rem; color:var(--tblr-primary); font-size:1rem; }
@media (min-width:768px) {
    .identity-evidence-group .row > [class*="col-"]:not(:first-child) .identity-evidence-field { padding-left:1rem; border-left:1px solid var(--tblr-border-color); }
}

/* Compact summaries used above list pages (intentionally smaller than dashboard metrics) */
.list-summary-card { min-height:72px; border-top:1px solid var(--tblr-border-color); border-left:3px solid var(--tblr-border-color); border-radius:.35rem; box-shadow:none; }
.list-summary-card .card-body { padding:.55rem .7rem; }
.list-summary-card .avatar { width:34px; height:34px; min-width:34px; font-size:1rem; border-radius:.35rem; }
.list-summary-card .metric-label,.list-summary-card .text-secondary.small { font-size:.72rem; line-height:1.1; }
.list-summary-card .field-translation { margin-top:.05rem; font-size:.61rem; }
.list-summary-value { margin-top:.12rem; font-size:1.08rem; line-height:1.15; font-weight:700; letter-spacing:-.015em; color:var(--tblr-body-color); }
.list-summary-card:hover,.finance-stat.list-summary-card:hover { transform:none; box-shadow:none; }
.document-status-card.list-summary-card.active,.registry-status-card.list-summary-card.active,.employee-status-card.list-summary-card.active { border-top-color:var(--tblr-border-color); border-left-color:var(--tblr-primary); background:var(--tblr-primary-lt); }
@media (max-width:575.98px) { .list-summary-card { min-height:66px; } .list-summary-card .card-body { padding:.45rem .55rem; } }

.employee-status-card { color:inherit; text-decoration:none; }
.employee-status-card:hover { color:inherit; }
.employee-table { min-width:1060px; }
.employee-table th,.employee-table td { padding:.85rem .8rem; }
.employee-table thead th > span { display:block; margin-top:.1rem; font-size:.61rem; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; }
.employee-table tbody tr:hover { background:var(--tblr-bg-surface-secondary); }
.employee-row-actions { display:grid; grid-template-columns:62px 62px 82px; gap:.35rem; min-width:218px; }
.employee-row-actions .btn { width:100%; justify-content:center; white-space:nowrap; }
.employee-row-actions form { margin:0; }
@media (max-width:575.98px) { .report-switcher .nav-item,.report-switcher .nav-link { width:100%; min-width:0; } .report-filter .badge { display:none; } }
@media print {
    @page { size:A4 landscape; margin:10mm; }
    .report-print-heading { display:flex !important; }
    .report-print-summary { display:grid !important; }
    .report-table { font-size:9pt; }
    .report-table thead th { color:#111 !important; background:#eef1f4 !important; }
    .report-table th,.report-table td { padding:2mm !important; border:1px solid #d1d5db !important; }
    .report-table .badge { border:1px solid #9ca3af; }
    .card { border:0 !important; box-shadow:none !important; }
    .card-header { padding:0 0 3mm !important; border:0 !important; }
}

.auth-shell,
.public-shell { background: var(--tblr-body-bg) !important; }
.auth-art { background: var(--tblr-primary) !important; }
.a4-wrap { background: var(--tblr-bg-surface-secondary) !important; }

.navbar-vertical {
    --tblr-navbar-bg: var(--tblr-dark);
    background: var(--tblr-dark) !important;
    border-right-color: rgba(255, 255, 255, .08) !important;
}
.navbar-vertical .navbar-brand .text-dark { color: #fff !important; }
.app-brand{display:inline-flex;align-items:center;gap:.65rem;line-height:1}.app-brand-mark{width:38px;height:38px;display:block;flex:0 0 auto}.app-brand-copy{display:flex;flex-direction:column;align-items:flex-start}.app-brand-name{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.app-brand-subtitle{margin-top:.18rem;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.navbar-vertical .app-brand-mark{width:34px;height:34px}.navbar-vertical .app-brand-name{font-size:1.1rem}.navbar-vertical .app-brand-subtitle{font-size:.52rem}.auth-login .app-brand-mark{width:42px;height:42px}.auth-login .app-brand-name{font-size:1.55rem}.auth-login .app-brand-subtitle{font-size:.67rem}
.navbar-vertical .brand-mark {
    background: var(--tblr-primary) !important;
    color: #fff !important;
}
.navbar-vertical .nav-section { color: rgba(255, 255, 255, .45) !important; }
.navbar-vertical .nav-link,
.navbar-vertical .nav-link-icon { color: rgba(255, 255, 255, .72) !important; }
.navbar-vertical .nav-link:hover {
    background: rgba(255, 255, 255, .07) !important;
    color: #fff !important;
}
.navbar-vertical .nav-link.active {
    background: rgba(var(--tblr-primary-rgb), .28) !important;
    color: #fff !important;
    box-shadow: inset 3px 0 0 var(--tblr-primary);
}
.navbar-vertical .nav-link.active .nav-link-icon { color: #fff !important; }
.navbar-vertical .card.bg-brand-lt {
    background: rgba(255, 255, 255, .08) !important;
    color: rgba(255, 255, 255, .85) !important;
}
.navbar-vertical .navbar-brand {
    min-height: 54px;
    padding-top: .55rem;
    padding-bottom: .55rem;
}
.navbar-vertical .brand-mark {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 17px;
}
.navbar-vertical .nav-section {
    padding: 9px 18px 3px !important;
    font-size: 9px;
}
.navbar-vertical .nav-link {
    min-height: 34px;
    margin: 1px 8px;
    padding: .38rem .65rem;
    font-size: .82rem;
}
.navbar-vertical .nav-link-icon {
    width: 1.6rem;
    margin-right: .35rem;
    font-size: 1rem;
}
.navbar-vertical .mt-auto.p-3 { padding: .55rem !important; }
.navbar-vertical .mt-auto .card-body { padding: .65rem !important; }
.navbar-vertical .mt-auto .progress { margin-top: .3rem !important; }
@media (max-height: 780px) and (min-width: 992px) {
    .navbar-vertical .mt-auto { display: none; }
    .navbar-vertical .nav-section { padding-top: 7px !important; }
    .navbar-vertical .nav-link { min-height: 32px; padding-top: .3rem; padding-bottom: .3rem; }
}

[data-bs-theme="dark"] .page-wrapper,
[data-bs-theme="dark"] .page-header { background: var(--tblr-body-bg) !important; }
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .list-group-item,
[data-bs-theme="dark"] .dropdown-menu { background: var(--tblr-bg-surface) !important; border-color: var(--tblr-border-color) !important; }
[data-bs-theme="dark"] .table { --tblr-table-bg: var(--tblr-bg-surface); }
[data-bs-theme="dark"] .table thead th { background: var(--tblr-bg-surface-secondary) !important; color: var(--tblr-secondary-color) !important; }
[data-bs-theme="dark"] .table > tbody > tr:hover > * { background: var(--tblr-bg-surface-secondary) !important; }
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select { background-color: var(--tblr-bg-forms) !important; border-color: var(--tblr-border-color) !important; color: var(--tblr-body-color) !important; }
[data-bs-theme="dark"] .settings-workspace .nav-link.active { background: var(--tblr-bg-surface) !important; color: var(--tblr-body-color) !important; border-color: var(--tblr-border-color) !important; }
[data-bs-theme="dark"] .settings-workspace .nav-link:hover { background: var(--tblr-bg-surface-secondary) !important; }
[data-bs-theme="dark"] .empty-icon { background: var(--tblr-bg-surface-secondary); }
[data-bs-theme="dark"] .auth-shell,
[data-bs-theme="dark"] .public-shell { background: var(--tblr-body-bg) !important; }

.settings-workspace .nav-tabs .nav-link.active,
[data-bs-theme="dark"] .settings-workspace .nav-tabs .nav-link.active {
    background: var(--tblr-primary) !important;
    border-color: var(--tblr-primary) !important;
    color: #fff !important;
}
.settings-workspace .nav-tabs .nav-link.active .ti { color: #fff !important; }
.profile-section-tabs,
.document-section-tabs,
.access-section-tabs,
.subscription-section-tabs,
.activity-section-tabs {
    padding: .4rem;
    border: 1px solid var(--tblr-border-color);
    border-radius: var(--tblr-border-radius);
    background: var(--tblr-bg-surface-secondary);
}
.profile-section-tabs .nav,
.document-section-tabs .nav,
.access-section-tabs .nav,
.subscription-section-tabs .nav,
.activity-section-tabs .nav { gap: .4rem; }
.profile-section-tabs .nav-link,
.document-section-tabs .nav-link,
.access-section-tabs .nav-link,
.subscription-section-tabs .nav-link,
.activity-section-tabs .nav-link { color: var(--tblr-secondary-color); }
.profile-section-tabs .nav-link.active,
.document-section-tabs .nav-link.active,
.access-section-tabs .nav-link.active,
.subscription-section-tabs .nav-link.active,
.activity-section-tabs .nav-link.active {
    background: var(--tblr-primary);
    color: #fff;
    box-shadow: var(--tblr-box-shadow-input);
}

.user-profile-menu { min-width: 290px; }
.user-presence-dot {
    display: inline-block;
    flex: 0 0 auto;
    width: .7rem;
    height: .7rem;
    border: 2px solid var(--tblr-bg-surface, #fff);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(98, 105, 118, .2);
}


.page-wrapper > header.navbar {
    position: fixed;
    top: 0;
    left: 15rem;
    right: 0;
    z-index: 1030;
    border-bottom: 1px solid var(--tblr-border-color);
    box-shadow: 0 1px 3px rgba(24, 36, 51, .06);
}
@media (min-width: 992px) {
    .page-wrapper { padding-top: 3.5rem; }
}
@media (max-width: 991.98px) {
    .page-wrapper { padding-top: 0; }
    .page > .navbar-vertical {
        position: sticky;
        top: 0;
        z-index: 1040;
    }
}
@media (max-width: 767.98px) {
    .page-header .row { align-items: flex-start !important; }
    .page-header .col-auto { width: 100%; margin-left: 0 !important; margin-top: .75rem; }
    .page-header .btn-list { display: flex; width: 100%; flex-wrap: wrap; justify-content: flex-start; }
    .page-header .btn-list .btn { max-width: 100%; }
    .card-header { gap: .75rem; flex-wrap: wrap; }
    .card-header .card-actions { margin-left: 0; }
    .pagination { flex-wrap: wrap; }
    .card-footer:has(.pagination) { align-items: flex-start !important; gap: .75rem; flex-wrap: wrap; }
    .card-footer:has(.pagination) nav { margin-left: 0 !important; }
}

/* Company-specific notarial document preview - A4 portrait throughout. */
.legal-preview-wrap {
    overflow: hidden;
    padding: 0;
    border-radius: var(--tblr-border-radius-lg);
    background: var(--tblr-bg-surface-secondary);
}
.legal-preview-toolbar {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--tblr-border-color);
    background: var(--tblr-bg-surface);
}
.legal-preview-canvas {
    overflow: auto;
    padding: 1.5rem;
    text-align: center;
}
.legal-preview-canvas .legal-page + .legal-page { margin-top: 1.5rem; }
.legal-page {
    position: relative;
    isolation: isolate;
    container-type: inline-size;
    width: min(100%, 794px);
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 30px rgba(24, 36, 51, .18);
    color: #111;
    font-family: "Times New Roman", Times, serif;
}
.legal-page-a4 { aspect-ratio: 210 / 297; }
.legal-watermark {
    position: absolute;
    z-index: -1;
    top: 23.23%;
    left: 50%;
    width: 69.05%;
    height: auto;
    transform: translateX(-50%);
    opacity: .1;
    object-fit: contain;
    pointer-events: none;
}
.legal-masthead {
    position: relative;
    z-index: 2;
    height: auto;
    margin: 0;
    border: 0;
    padding: 4.76% 3.81% 0;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box;
}
.legal-header-grid {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}
.legal-header-grid td {
    padding: 0;
    border: 0;
    vertical-align: middle;
}
.legal-header-copy {
    width: 38%;
    padding-top: 0;
    font-size: clamp(6px, 1.511cqw, 12px);
    font-weight: 400;
    line-height: 1.35;
    text-align: center;
}
.legal-header-brand { width: 24%; text-align: center; }
.legal-header-logo {
    display: block;
    width: 64.58%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}
.legal-header-copy span { display: block; }
.legal-header-copy span:nth-child(2) { margin-top: 1.2mm; font-weight: 700; }
.legal-header-copy span:last-child {
    margin-top: 1.5mm;
    color: #555;
    font-size: 1em;
    font-weight: 400;
}
.legal-header-left { white-space: nowrap; }
.legal-header-right {
    font-family: Tahoma, Arial, sans-serif;
    font-size: clamp(6.5px, 1.637cqw, 13px);
    line-height: 1.5;
}
.legal-header-center {
    margin-top: 1mm;
    font-size: clamp(6px, 1.511cqw, 12px);
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
}
.legal-header-center span { display: block; }
.legal-header-center span:last-child { font-weight: 700; }
.legal-header-rules { margin-top: 1.8mm; }
.legal-header-rules span,
.legal-footer-rules span { display: block; width: 100%; }
.legal-header-rule-thick { height: .9mm; background: #245d80; }
.legal-header-rule-thin { height: .3mm; margin-top: .7mm; background: #245d80; }
.legal-document-body {
    position: relative;
    padding: 2.02% 7.14% 7.41%;
    font-size: clamp(5.5px, var(--document-font-fluid), var(--document-font-max));
    line-height: 1.16;
    text-align: justify;
    text-rendering: optimizeLegibility;
}
.legal-document-body p { margin: 0 0 .7mm; }
.legal-rendered-body { padding-top: 2.02%; }
.legal-rendered-copy { text-align: justify; white-space: normal; }
.legal-rendered-copy p { margin-bottom: .75em; }
.legal-rendered-body .legal-signatures { margin-top: 2.2em; }
.legal-rendered-certification { margin-top: 2em; position: relative; min-height: 10em; }
.legal-rendered-certification .physical-stamp-space { right: 2%; bottom: 0; width: 7em; }
.legal-document-body h4 {
    margin: .5em 0 .16em;
    font-size: 1em;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-document-body ol { margin: .2em 0 .5em; padding-left: 1.5em; }
.legal-meta-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .24em;
    white-space: nowrap;
}
.legal-meta-row strong { font-size: 1.167em; text-decoration: underline; text-underline-offset: .08em; }
.legal-centered-heading {
    margin: .6em 0 1em;
    text-align: center;
    font-size: 1.15em;
}
.legal-cover-title {
    display: grid;
    min-height: 33em;
    place-content: center;
    text-align: center;
}
.legal-cover-title > div { font-size: 1.35em; font-weight: 700; text-decoration: underline; }
.legal-cover-title strong { margin: .55em 0; color: #1138ce; font-family: Arial, sans-serif; font-size: 4.3em; line-height: 1.05; }
.legal-cover-title span { font-size: 1.35em; font-weight: 700; }
.legal-template-company-articles .legal-meta-row { display: none; }
.legal-template-company-articles .legal-document-body { padding-top: 1.2%; }
.legal-company-cover {
    display: flex;
    min-height: 35em;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
}
.legal-company-cover-kicker {
    margin-top: .35em;
    color: #0000ee;
    font-size: 1.42em;
    font-weight: 700;
    text-decoration: underline;
}
.legal-company-cover-name {
    display: flex;
    margin-top: 2em;
    flex-direction: column;
    align-items: center;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 800;
    line-height: .85;
}
.legal-company-cover-name span { color: #0800ef; font-size: 4.9em; letter-spacing: .02em; }
.legal-company-cover-name b { margin: .1em 0; color: #f20b08; font-size: 3.25em; }
.legal-company-cover-name strong { color: #00b84f; font-size: 4.2em; letter-spacing: -.045em; }
.legal-company-cover > img {
    width: 10.3em;
    height: 10.3em;
    margin-top: 1.2em;
    border-radius: 50%;
    object-fit: cover;
}
.legal-company-cover-year {
    margin-top: 1.25em;
    font-size: 1.25em;
    font-weight: 700;
    text-decoration: underline;
}
.legal-company-article-page { text-align: left; }
.legal-company-watermark { top: 18%; left: 17%; width: 66%; }
.legal-company-article-body {
    position: relative;
    padding: 6.2% 8.5% 11%;
    font-size: clamp(7px, var(--document-font-fluid), var(--document-font-max));
    line-height: var(--document-line-height, 1.31);
    text-align: justify;
}
.legal-company-article-body p { margin: 0 0 .55em; }
.legal-company-reference {
    display: flex;
    justify-content: space-between;
    gap: 1em;
    margin-bottom: .65em;
    font-size: .88em;
}
.legal-company-intro { text-indent: 3em; }
.legal-founders-list,
.legal-company-clauses { margin: .3em 0 .5em; padding-left: 1.6em; }
.legal-founders-list li,
.legal-company-clauses li { margin-bottom: .48em; padding-left: .18em; }
.legal-company-part-title {
    margin: .28em 0 .15em;
    font-size: 1em;
    text-align: center;
}
.legal-article-band {
    margin: 0 0 .32em;
    padding: .08em .35em;
    background: #fac08c;
    font-weight: 700;
    text-align: center;
    text-decoration: underline;
}
.legal-company-inline-logo {
    position: absolute;
    right: 9%;
    bottom: 10.5%;
    width: 5.2em;
    height: 5.2em;
    border-radius: 50%;
    object-fit: cover;
}
.legal-company-capital-page { padding-top: 7.2%; }
.legal-company-table-title { margin: .55em 0 .3em; font-size: 1em; text-align: left; }
.legal-company-capital-table { margin: .3em 0 .5em; font-size: .86em; }
.legal-company-capital-table th,
.legal-company-capital-table td { padding: .08em .28em; background: rgba(255,255,255,.35); }
.legal-company-checks { margin: .3em 0; padding-left: 1.2em; list-style: "✓  "; }
.legal-company-checks li { margin-bottom: .3em; }
.legal-company-officers { margin: .35em auto .55em; padding-left: 1.6em; }
.legal-company-officers li { display: flex; gap: .6em; margin-bottom: .22em; }
.legal-company-officers li::marker { display: list-item; }
.legal-company-officers span {
    flex: 1 1 auto;
    border-bottom: 1px dotted #444;
    font-weight: 700;
    text-align: right;
}
.legal-company-subheading {
    margin: .28em 0 .15em !important;
    text-align: center !important;
    text-decoration: none !important;
}
.legal-company-owner-signatures {
    width: 70%;
    margin: 1.4em auto 0;
}
.legal-company-owner-signatures > strong { display: block; margin-bottom: .4em; text-align: center; text-decoration: underline; }
.legal-company-owner-signatures > div { display: flex; align-items: baseline; gap: .45em; }
.legal-company-owner-signatures i { flex: 1 1 auto; border-bottom: 1px solid #222; }
.legal-company-final-notary { position: relative; display: flex; margin-top: 3em; flex-direction: column; align-items: center; }
.legal-company-final-notary .physical-stamp-space { right: 8%; bottom: -1.2em; width: 7em; }
.legal-company-attachments-page .legal-company-article-body { height: 100%; padding: 6.5% 15% 11%; box-sizing: border-box; }
.legal-company-identity-stack { display: flex; height: 84%; flex-direction: column; gap: 2.2%; }
.legal-company-identity-stack .legal-identity-facsimile { flex: 1 1 0; min-height: 0; }
.legal-attachment-notice { margin-top: 1em !important; color: #555; font-family: Arial, sans-serif; font-size: .68em; text-align: center; }
.legal-template-commercial-lease .legal-meta-row { display: none; }
.legal-template-commercial-lease .legal-document-body { padding-top: .8%; }
.legal-lease-cover {
    display: flex;
    min-height: 42em;
    flex-direction: column;
    text-align: justify;
}
.legal-lease-cover-title {
    display: flex;
    margin: 5.7em 0 3.2em;
    flex-direction: column;
    align-items: center;
    font-size: 1.45em;
    line-height: 1.08;
}
.legal-lease-cover-title span { font-size: .92em; }
.legal-lease-party { display: flex; gap: .7em; align-items: flex-start; }
.legal-lease-party b { flex: 0 0 auto; }
.legal-lease-party p { margin: 0; }
.legal-lease-party-name {
    margin: 1.55em 0 2.35em;
    font-size: 1.18em;
    text-align: center;
}
.legal-lease-party-name strong { font-style: italic; }
.legal-lease-year { margin-top: auto; font-size: 1.35em; font-weight: 700; text-align: center; }
.legal-lease-page { text-align: left; }
.legal-lease-watermark { top: 23%; left: 13%; width: 74%; }
.legal-lease-body {
    position: relative;
    padding: 10.5% 10.5% 11%;
    font-size: clamp(6px, var(--document-font-fluid), var(--document-font-max));
    line-height: var(--document-line-height, 1.14);
    text-align: justify;
}
.legal-lease-opening { margin: 0 0 1em; }
.legal-lease-clause { margin-bottom: .55em; }
.legal-lease-clause h3 {
    margin: 0 0 .12em;
    font-size: 1.08em;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-lease-clause ul,
.legal-lease-clause ol { margin: .15em 0 .35em; padding-left: 1.7em; }
.legal-lease-clause li { margin-bottom: .2em; padding-left: .2em; }
.legal-lease-checks { list-style: "✓  "; }
.legal-lease-diamonds { list-style: "❖  "; }
.legal-lease-arrows { list-style: "➢  "; }
.legal-lease-signature-page .legal-lease-watermark { top: 30%; }
.legal-lease-signature-page .legal-lease-body { padding-top: 13.5%; }
.legal-lease-signature-page .legal-signatures { margin: 0 0 2.2em; }
.legal-lease-signature-page .manual-signature-line { width: 54%; height: 2em; }
.legal-lease-witnesses { margin: 0 3% 2.2em; }
.legal-lease-witnesses > strong { font-size: 1.55em; text-align: center; }
.legal-lease-certification > strong { font-size: 1.35em; }
.legal-lease-certification .legal-certification-meta { margin-top: .15em; }
.legal-lease-certification .legal-notary-name { margin-top: 2.2em; }
.legal-lease-signature-page .legal-prepared-by { margin-top: 23em; }
.legal-table {
    width: 100%;
    margin: .4em 0 .75em;
    border-collapse: collapse;
    background: rgba(255,255,255,.56);
}
.legal-table th,
.legal-table td { border: 1px solid #777; padding: .25em .4em; }
.legal-table th { background: #f7c78f; }
.legal-signatures {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55em 3.5em;
    margin: .6em 0 .55em;
    text-align: center;
}
.legal-signature strong,
.legal-signature span { display: block; }
.legal-signature-role {
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-signature-name { margin-top: .08em; font-size: 1em; }
.manual-signature-line {
    height: 1.2em;
    margin: .08em auto 0;
    width: 56%;
    border-bottom: 2px dotted #222;
}
.legal-witnesses {
    margin: .18em 0 .55em;
    text-align: left;
}
.legal-witnesses > strong {
    display: block;
    margin-bottom: .08em;
    font-size: 1.03em;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-witnesses > div {
    display: flex;
    align-items: baseline;
    gap: .4em;
    line-height: 1.18;
}
.legal-witnesses i {
    flex: 1 1 auto;
    min-width: 5em;
    border-bottom: 1px solid #222;
}
.legal-template-vehicle-sale .legal-document-body { padding-top: .45%; }
.legal-template-vehicle-sale .legal-signatures { margin-top: .28em; margin-bottom: .18em; }
.legal-template-vehicle-sale .legal-certification { margin-top: .48em; }
.legal-template-vehicle-sale .legal-prepared-by { margin-top: 2.5em; margin-left: 10%; }
.legal-beec-direct .legal-watermark { top: 23.23%; left: 50%; width: 69.05%; opacity: .1; }
.legal-beec-direct .legal-document-body { padding: 2.02% 7.14% 7.41%; line-height: 1.16; letter-spacing: 0; }
.legal-beec-direct .legal-meta-row > span { text-decoration: underline; text-underline-offset: .08em; }
.legal-beec-direct .legal-meta-row strong { font-size: 1em; font-weight: 400; }
.legal-beec-direct .legal-rendered-copy p { margin-bottom: .26em; }
.legal-beec-direct .direct-sale-declaration { text-indent: 3.1em; }
.legal-beec-direct .direct-sale-acceptance { text-indent: 1.15em; }
.legal-dynamic-emphasis { font-weight: 700; }
.legal-dynamic-blue { color: #0645d8; }
.legal-dynamic-red { color: #e21b23; }
.legal-beec-direct .legal-signatures { margin: .15em 0 .08em; text-align: left; }
.legal-beec-direct .legal-signature-role { font-size: .94em; }
.legal-beec-direct .manual-signature-line { width: 44%; height: .72em; margin-left: 0; }
.legal-beec-direct .legal-witnesses { margin: .06em 0 .22em; }
.legal-beec-direct .legal-witnesses i { flex: 0 1 18em; }
.legal-beec-direct .legal-beec-certification { min-height: 8em; margin-top: .18em; text-align: center; }
.legal-beec-direct .legal-beec-certification > strong { font-size: 1.08em; }
.legal-beec-direct .legal-beec-certification p { margin: .12em 0; text-align: justify; }
.legal-beec-direct .legal-certification-meta { margin: .08em 0; text-align: left; }
.legal-beec-direct .legal-notary-name { margin-top: 5em; }
.legal-beec-direct .legal-prepared-by { margin: 7em 0 0 8%; font-style: italic; }
.legal-template-vehicle-sale-company.legal-beec-direct .legal-prepared-by {
    position: relative;
    top: -40px;
    margin-top: 5.5em;
}
.legal-physical-stamp-reserve { position: absolute; right: 0; bottom: -1em; width: 8em; height: 8em; border: 0; }
.legal-template-debt-acknowledgement .legal-document-body { padding-top: .38%; }
.legal-template-debt-acknowledgement .legal-document-body p { margin-bottom: .2em; }
.legal-template-debt-acknowledgement .legal-signatures {
    gap: .22em 3.5em;
    margin-top: .26em;
    margin-bottom: .12em;
}
.legal-template-debt-acknowledgement .manual-signature-line { height: .78em; }
.legal-template-debt-acknowledgement .legal-signature:nth-child(3) {
    grid-column: 1 / -1;
    width: 50%;
    justify-self: center;
}
.legal-template-debt-acknowledgement .legal-witnesses { margin-bottom: .32em; }
.legal-template-debt-acknowledgement .legal-certification { margin-top: .34em; }
.legal-template-debt-acknowledgement .legal-prepared-by { margin-top: .8em; }
.legal-template-vehicle-verification .legal-document-body {
    padding: .55% 9.2% 11%;
}
.legal-template-vehicle-verification .legal-document-body p { margin-bottom: .34em; }
.legal-verifier-signatures {
    width: 66%;
    margin: 1.2em auto .75em;
    text-align: left;
}
.legal-verifier-signatures > strong {
    display: block;
    margin-bottom: .55em;
    font-size: 1.08em;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-verifier-signatures > div { display: flex; align-items: baseline; gap: .45em; }
.legal-verifier-signatures i { flex: 1 1 auto; border-bottom: 1px solid #222; }
.legal-template-vehicle-verification .legal-certification { margin-top: .65em; }
.legal-template-vehicle-verification .legal-certification-meta span:last-child { display: none; }
.legal-template-vehicle-verification .legal-notary-name { margin-top: 1.4em; }
.legal-template-vehicle-verification .legal-prepared-by { margin-top: 3.4em; }
.legal-template-sponsorship .legal-meta-row { display: none; }
.legal-template-sponsorship .legal-document-body {
    padding: 2.3% 10% 10%;
    font-size: clamp(5.5px, var(--document-font-fluid), var(--document-font-max));
    line-height: var(--document-line-height, 1.16);
}
.legal-sponsorship-subject {
    margin-bottom: 1.08em;
    font-size: 1.08em;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-sponsorship-copy p { margin-bottom: .45em; }
.legal-sponsorship-copy a { color: #0645ad; text-decoration: underline; }
.legal-sponsor-signature {
    display: flex;
    width: 48%;
    margin: .78em auto .7em;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.legal-sponsor-signature strong { text-decoration: underline; text-underline-offset: .08em; }
.legal-sponsor-signature span { margin-top: .12em; }
.legal-sponsor-signature i {
    width: 58%;
    height: 1.05em;
    border-bottom: 2px dotted #222;
}
.legal-sponsorship-certification { position: relative; margin-top: .15em; }
.legal-sponsorship-certification p { margin-top: .35em; }
.legal-sponsorship-certification .legal-notary-name { margin-top: 1.25em; }
.legal-notary-signature-line {
    width: 34%;
    height: 2.35em;
    margin: 0 auto;
    border-bottom: 2px dotted #222;
}
.legal-sponsorship-certification .physical-stamp-space {
    right: 2%;
    bottom: -1.25em;
    width: 7.2em;
}
.legal-sponsorship-attachments-page { text-align: left; }
.legal-sponsorship-watermark { top: 22%; left: 12%; width: 76%; }
.legal-sponsorship-attachments {
    display: flex;
    height: 100%;
    padding: 12.2% 15.2% 11.5%;
    flex-direction: column;
    gap: 3.2%;
    box-sizing: border-box;
}
.legal-sponsorship-official .legal-document-body { padding: .2% 7.15% 8%; font-size: var(--document-font-fluid); line-height: 1.22; }
.legal-sponsorship-official-heading { display: flex; margin: 0 0 3.2%; align-items: baseline; justify-content: space-between; gap: 3%; }
.legal-sponsorship-official-date { flex: 0 0 auto; font-weight: 700; text-align: right; }
.legal-sponsorship-official-subject { margin: 0; font: 700 1.17em "Times New Roman", serif; text-decoration: underline; }
.legal-sponsorship-official-copy p { margin: 0 0 1.8%; text-align: justify; }
.legal-sponsorship-official-signature { width: 48%; margin: 2.7% auto 0; text-align: center; }
.legal-sponsorship-official-signature strong { display: block; text-decoration: underline; }
.legal-sponsorship-official-signature span { display: block; margin-top: .4%; font-size: 1.08em; }
.legal-sponsorship-official-signature i { display: block; width: 65%; height: 1.6em; margin: 0 auto; border-bottom: 1px dotted #111; }
.legal-sponsorship-official-reference { display: flex; justify-content: space-between; margin-top: 3.2%; }
.legal-sponsorship-official-certification { margin-top: 3%; text-align: justify; }
.legal-sponsorship-official-notary { margin-top: 6.5%; text-align: center; font-size: 1.08em; }
.legal-sponsorship-official-notary strong { display: block; }
.legal-sponsorship-official-notary i { display: block; width: 34%; height: 3.5em; margin: 0 auto; border-bottom: 1px dotted #111; }
.legal-sponsorship-official-evidence-page .legal-watermark { top: 24%; opacity: .04; }
.legal-sponsorship-passport-stack {
    position: absolute;
    top: 10.27%;
    left: 15.95%;
    width: 68.1%;
    margin: 0;
    padding: 0;
}
.legal-sponsorship-passport-card,
.legal-sponsorship-passport-card:last-child { display: flex; height: 45.24cqw; margin: 0 0 3.81cqw; align-items: center; justify-content: center; text-align: center; }
.legal-sponsorship-passport-card:last-child { margin-bottom: 0; }
.legal-sponsorship-passport-card img { display: block; width: auto; max-width: 100%; height: auto; max-height: 100%; border: 1px solid #555; background: #fff; }
.legal-sponsorship-passport-card .legal-evidence-missing { display: grid; height: 100%; place-items: center; border: 1px solid #777; }
.legal-passport-card {
    position: relative;
    min-height: 0;
    flex: 1 1 0;
    overflow: hidden;
    border: 1px solid #454545;
    background:
        linear-gradient(135deg, rgba(189,150,87,.24), rgba(238,229,198,.72) 48%, rgba(151,187,168,.34)),
        repeating-linear-gradient(8deg, transparent 0 8px, rgba(86,105,92,.08) 9px 10px);
    color: #403a2f;
    font-family: Arial, Helvetica, sans-serif;
    box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.legal-passport-heading {
    display: flex;
    justify-content: space-between;
    padding: 2.2% 2.5% .35%;
    font-size: clamp(6px, 1.05vw, 10.5px);
}
.legal-passport-subheading {
    border-top: 1px solid rgba(70,70,50,.35);
    border-bottom: 1px solid rgba(70,70,50,.35);
    padding: .55% 2.5%;
    font-size: clamp(5px, .84vw, 8.5px);
    font-weight: 700;
}
.legal-passport-content {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 3%;
    padding: 2.2% 3%;
}
.legal-passport-photo {
    display: grid;
    min-height: 8.8em;
    border: 1px solid rgba(70,70,50,.4);
    background: rgba(211,221,211,.62);
    place-content: center;
    color: #647269;
    text-align: center;
}
.legal-passport-photo i { display: block; font-size: 4.8em; line-height: 1; }
.legal-passport-photo span { font-size: .72em; letter-spacing: .15em; }
.legal-passport-content dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .42em .75em; margin: 0; }
.legal-passport-content dl div { min-width: 0; }
.legal-passport-content dt { font-size: .58em; font-weight: 400; }
.legal-passport-content dd { margin: 0; font-size: .78em; font-weight: 700; }
.legal-passport-machine {
    position: absolute;
    right: 2.5%;
    bottom: 2.2%;
    left: 2.5%;
    font-family: "Courier New", monospace;
    font-size: clamp(6px, 1.12vw, 11px);
    font-weight: 700;
    letter-spacing: .045em;
    line-height: 1.25;
    white-space: nowrap;
}
.legal-template-special-poa .legal-document-body,
.legal-template-general-poa .legal-document-body {
    padding: .9% 9.2% 10.5%;
    font-size: clamp(5.5px, var(--document-font-fluid), var(--document-font-max));
    line-height: var(--document-line-height, 1.16);
}
.legal-template-special-poa .legal-meta-row,
.legal-template-general-poa .legal-meta-row { margin-bottom: .16em; }
.legal-template-special-poa .legal-meta-row strong,
.legal-template-general-poa .legal-meta-row strong,
.legal-template-translation .legal-meta-row strong { text-transform: uppercase; }
.legal-poa-copy p { margin-bottom: .22em; }
.legal-poa-signature {
    margin: .2em auto .3em;
    text-align: center;
}
.legal-poa-signature > strong {
    display: block;
    font-size: 1.08em;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-poa-signature > div {
    display: flex;
    width: 54%;
    margin: .08em auto 0;
    align-items: baseline;
    justify-content: center;
    gap: .5em;
}
.legal-poa-signature i { width: 8em; border-bottom: 1px solid #222; }
.legal-poa-acceptance { margin: .12em 0 .2em !important; }
.legal-poa-witnesses { margin: .18em 0 .3em; }
.legal-poa-witnesses > strong { text-align: center; }
.legal-template-special-poa .legal-certification,
.legal-template-general-poa .legal-certification { margin-top: .3em; }
.legal-template-special-poa .legal-certification > strong,
.legal-template-general-poa .legal-certification > strong { font-size: 1.24em; }
.legal-template-special-poa .legal-certification p,
.legal-template-general-poa .legal-certification p { margin-bottom: .1em; }
.legal-template-special-poa .legal-notary-name,
.legal-template-general-poa .legal-notary-name { margin-top: .55em; }
.legal-template-special-poa .physical-stamp-space,
.legal-template-general-poa .physical-stamp-space { right: 1%; bottom: -1em; width: 7.4em; }
.legal-template-special-poa .legal-prepared-by,
.legal-template-general-poa .legal-prepared-by { margin-top: .7em; }
.legal-template-translation .legal-document-body {
    padding: 1.05% 9.2% 10.5%;
    font-size: clamp(5.5px, var(--document-font-fluid), var(--document-font-max));
    line-height: var(--document-line-height, 1.16);
}
.legal-template-translation .legal-meta-row { margin-bottom: .72em; }
.legal-template-translation .legal-meta-row > div { text-transform: uppercase; }
.legal-translation-copy p { margin-bottom: .5em; }
.legal-translation-indent { text-indent: 2em; }
.legal-translation-copy ol { margin: .08em 0 .42em 1.15em; }
.legal-translation-copy li { padding-left: .3em; }
.legal-translation-witnesses { margin-top: .18em; }
.legal-translation-witnesses > strong { display: block; text-align: center; text-decoration: underline; }
.legal-translation-witnesses > div { display: flex; gap: .55em; margin-top: .18em; }
.legal-translation-witnesses p { margin: 0; }
.legal-court-officers { display: flex; justify-content: space-between; margin: .42em 0 .55em; }
.legal-court-officers > div { display: flex; flex-direction: column; }
.legal-court-officers strong { text-decoration: underline; text-underline-offset: .08em; }
.legal-translation-source { margin-bottom: .48em !important; }
.legal-translation-reference { display: flex; justify-content: space-between; text-decoration: underline; text-underline-offset: .08em; }
.legal-translation-notary {
    position: relative;
    display: flex;
    margin-top: .7em;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.legal-translation-notary i { width: 34%; height: 1.7em; border-bottom: 1px solid #222; }
.legal-translation-notary .physical-stamp-space { right: 2%; bottom: -.2em; width: 6.6em; }
.legal-identity-facsimile {
    overflow: hidden;
    border: 1px solid #59666a;
    background:
        linear-gradient(135deg, rgba(160,190,188,.42), rgba(244,241,216,.76) 52%, rgba(126,176,194,.3)),
        repeating-linear-gradient(9deg, transparent 0 7px, rgba(40,80,90,.06) 8px 9px);
    color: #26383b;
    font-family: Arial, Helvetica, sans-serif;
}
.legal-identity-heading {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(40,70,75,.35);
    padding: 2.2% 3%;
    font-size: .58em;
}
.legal-identity-content { display: grid; grid-template-columns: 29% 1fr; gap: 3%; padding: 3%; }
.legal-identity-photo {
    display: grid;
    min-height: 6em;
    border: 1px solid rgba(40,70,75,.35);
    background: rgba(226,235,230,.7);
    place-content: center;
    text-align: center;
}
.legal-identity-photo i { display: block; font-size: 3.4em; }
.legal-identity-photo span { font-size: .5em; letter-spacing: .12em; }
.legal-identity-content dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5em; margin: 0; }
.legal-identity-content dt { font-size: .48em; font-weight: 400; }
.legal-identity-content dd { margin: 0; font-size: .62em; font-weight: 700; }
.legal-identity-facsimile.is-compact .legal-identity-content { padding: 2.2%; }
.legal-debt-attachments-page { text-align: left; }
.legal-debt-attachments-page .legal-watermark { top: 26%; }
.legal-debt-attachments {
    display: flex;
    height: 100%;
    padding: 3.2% 12% 4%;
    flex-direction: column;
    box-sizing: border-box;
}
.legal-debt-identity-row {
    display: grid;
    min-height: 0;
    flex: 1 1 0;
    grid-template-columns: 66% 30%;
    gap: 4%;
    margin-bottom: 1.2%;
}
.legal-signing-photo-placeholder {
    display: grid;
    border: 1px solid #64717a;
    background: rgba(238,242,244,.82);
    place-content: center;
    color: #5e6c75;
    font-family: Arial, sans-serif;
    text-align: center;
}
.legal-signing-photo-placeholder i { font-size: 3.3em; }
.legal-signing-photo-placeholder span { margin-top: .35em; font-size: .68em; font-weight: 700; }
.legal-signing-photo-placeholder small { font-size: .48em; }
.legal-debt-witness-heading { margin-top: .2em; text-align: center; text-decoration: underline; }
.legal-debt-witness-photos { display: grid; height: 18%; margin-top: .3em; grid-template-columns: repeat(2,1fr); gap: 17%; }
.legal-debt-witness-photos > div { display: grid; border: 1px solid #64717a; background: #eef2f3; place-content: center; text-align: center; }
.legal-debt-witness-photos i { font-size: 3.2em; }
.legal-debt-witness-photos span { font-size: .72em; font-weight: 700; }
.legal-certification {
    position: relative;
    margin-top: .52em;
    text-align: justify;
}
.legal-certification > strong {
    display: block;
    font-size: 1.08em;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-certification-meta {
    display: flex;
    justify-content: space-between;
    gap: 1em;
    margin: .28em 0 .12em;
    font-weight: 700;
}
.legal-notary-name { margin-top: .45em; text-align: center; }
.legal-prepared-by {
    margin-top: 1.8em;
    font-size: 14pt;
    font-style: normal;
    font-weight: 700;
    text-align: left;
}
.legal-ownership-confirmation .ownership-copy { text-align: justify; }
.legal-ownership-confirmation .ownership-copy p { margin: 0; }
.legal-ownership-confirmation .ownership-witnesses { margin-top: 1.1em; }
.legal-ownership-confirmation .ownership-witnesses > strong { display: block; text-align: center; text-decoration: underline; }
.legal-ownership-confirmation .ownership-witnesses > div { display: flex; align-items: end; gap: .5em; margin-top: .25em; }
.legal-ownership-confirmation .ownership-witnesses span { white-space: nowrap; }
.legal-ownership-confirmation .ownership-witnesses i { flex: 1; border-bottom: 1px solid #111; }
.legal-ownership-confirmation .ownership-certification { margin-top: 1.1em; text-align: center; }
.legal-ownership-confirmation .ownership-certification h3 { margin: 0; font: 700 1em "Times New Roman", Times, serif; }
.legal-ownership-confirmation .ownership-reference { margin-top: .4em; text-align: left; font-weight: 700; }
.legal-ownership-confirmation .ownership-certification p { margin-top: .35em; text-align: justify; }
.legal-ownership-confirmation .ownership-notary { margin-top: 2.6em; }
.legal-ownership-confirmation .ownership-prepared { position: absolute; left: 10.95%; bottom: 8.5%; font-size: .9em; font-weight: 700; font-style: italic; }
.physical-stamp-space {
    position: absolute;
    right: 1%;
    bottom: -1.1em;
    width: 9em;
    aspect-ratio: 1;
    border: 1px dashed rgba(70, 96, 110, .38);
    border-radius: 50%;
}
.legal-footer {
    position: absolute;
    z-index: 3;
    right: 4.76%;
    bottom: 2.02%;
    left: 4.76%;
    border: 0;
    padding: 0;
    color: #67b7e8;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(4.5px, 1.133cqw, 9px);
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
}
.legal-footer p { margin: 0; }
.legal-footer .legal-footer-prepared {
    margin: 0 0 8.9375mm;
    color: #111;
    font-family: "Times New Roman", Times, serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    text-align: left;
    text-transform: capitalize;
}
.legal-footer-rules { margin-bottom: 1mm; }
.legal-footer-rule-thick { height: .7mm; background: #a9817b; }
.legal-footer-rule-thin { height: .25mm; margin-top: .35mm; background: #a9817b; }
.legal-footer-email { font-size: 1.111em; text-decoration: underline; }
.legal-evidence-body {
    padding-top: 2.2cqw;
    font-family: "Times New Roman", Times, serif;
}
.legal-evidence-title {
    margin: 0 0 2.1cqw;
    font-size: 2.35cqw;
    font-weight: 700;
    text-align: center;
    text-decoration: underline;
}
.legal-party-evidence-grid,
.legal-vehicle-evidence-grid {
    display: grid;
    gap: 1.6cqw;
}
.legal-party-evidence-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.legal-vehicle-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.legal-evidence-authority { margin: 2cqw auto 0; width: 88%; text-align: center; }
.legal-evidence-authority img { display: block; width: 100%; height: 91cqw; object-fit: contain; border: 1px solid #222; background: #fff; }
.legal-evidence-authority figcaption { margin-top: 1cqw; font-family: "Times New Roman", Times, serif; font-size: 1.65cqw; }
.legal-evidence-authority figcaption span { display: block; margin-top: .3cqw; }
.legal-party-evidence-page .legal-evidence-body { padding-top: 2.4%; }
.legal-party-evidence-title { margin-bottom: 1.2cqw; }
.legal-party-evidence-page .legal-party-evidence-grid {
    width: 75%;
    margin: 0 auto;
}
.legal-vehicle-evidence-page .legal-evidence-body { padding: 3.2% 7.14% 7.41%; }
.legal-vehicle-evidence-page .legal-vehicle-evidence-grid {
    width: 88%;
    margin: 0 auto;
}
.legal-vehicle-evidence-page .legal-evidence-title { margin-bottom: 1.6cqw; }
.legal-party-evidence-page .legal-party-evidence-grid > .legal-evidence-card img,
.legal-party-evidence-page .legal-party-evidence-grid > .legal-evidence-card .legal-evidence-missing { height: 27.4cqw; }
.legal-evidence-card {
    position: relative;
    z-index: 2;
    margin: 0;
    min-width: 0;
}
.legal-evidence-card img,
.legal-evidence-missing {
    display: block;
    width: 100%;
    height: 21cqw;
    border: .13cqw solid #374151;
    background: #fff;
    object-fit: contain;
}
.legal-evidence-card figcaption {
    display: flex;
    justify-content: space-between;
    gap: 1cqw;
    padding-top: .5cqw;
    font-size: 1.55cqw;
    line-height: 1.15;
}
.legal-evidence-card figcaption span { text-align: right; }
.legal-evidence-missing {
    display: grid;
    place-items: center;
    color: #64748b;
    font-size: 1.6cqw;
}
.legal-witness-evidence-title {
    grid-column: 1 / -1;
    margin: .4cqw 0 -.6cqw;
    font-size: 1.9cqw;
    text-align: center;
    text-decoration: underline;
}
.legal-witness-evidence-row {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0;
    padding: 0;
}
.legal-party-evidence-page .legal-witness-evidence-title,
.legal-party-evidence-page .legal-witness-evidence-row {
    width: 133.333%;
    margin-left: -16.666%;
}
.legal-witness-evidence-row > .legal-evidence-card:first-child {
    grid-column: 2 / span 5;
    padding-right: .8cqw;
}
.legal-witness-evidence-row > .legal-evidence-card:last-child {
    grid-column: 7 / span 5;
    padding-left: .8cqw;
}
.legal-evidence-witness .legal-evidence-missing { height: 32.4cqw; }
.legal-evidence-witness-frame {
    width: 100%;
    overflow: hidden;
    border: 0;
    background: transparent;
}
.legal-evidence-witness-frame img {
    display: block;
    width: 100%;
    height: auto;
    border: .13cqw solid #374151;
    box-sizing: border-box;
    background: transparent;
}
.legal-evidence-witness-name {
    min-height: 2.2cqw;
    padding-bottom: .35cqw;
    font-size: 1.3cqw;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}
.legal-evidence-witness figcaption {
    display: block;
    padding: .45cqw 0 0;
    font-weight: 700;
    text-align: center;
}
.legal-evidence-signing figcaption,
.legal-evidence-witness figcaption { font-size: 1.12cqw; }
.legal-optional-identity-row { gap: 1.6cqw; padding: 0; }
.legal-optional-identity-row .legal-evidence-card img { height: 13cqw; }
.legal-evidence-chassis { grid-column: 1 / -1; padding: 0 8cqw; }
.legal-vehicle-evidence-page .legal-evidence-chassis { padding: 0 5cqw; }
.legal-evidence-chassis img,
.legal-evidence-chassis .legal-evidence-missing { height: 27cqw; }
.legal-vehicle-evidence-page .legal-evidence-chassis img,
.legal-vehicle-evidence-page .legal-evidence-chassis .legal-evidence-missing { height: 34cqw; }
.legal-vehicle-evidence-grid > .legal-evidence-card:not(.legal-evidence-chassis) img,
.legal-vehicle-evidence-grid > .legal-evidence-card:not(.legal-evidence-chassis) .legal-evidence-missing {
    height: 41cqw;
    object-fit: cover;
}
.legal-vehicle-evidence-page .legal-vehicle-evidence-grid > .legal-evidence-card:not(.legal-evidence-chassis) img,
.legal-vehicle-evidence-page .legal-vehicle-evidence-grid > .legal-evidence-card:not(.legal-evidence-chassis) .legal-evidence-missing { height: 50cqw; }
.legal-ownership-party-stack { width: 71.5%; margin: 2cqw auto 0; }
.legal-ownership-identity-card { margin-bottom: 1.6cqw; text-align: center; }
.legal-ownership-identity-card img,
.legal-ownership-identity-card .legal-evidence-missing { width: auto; max-width: 100%; height: 30.7cqw; margin: 0 auto; }
.legal-ownership-company-evidence .legal-ownership-identity-card img,
.legal-ownership-company-evidence .legal-ownership-identity-card .legal-evidence-missing { height: 43cqw; }
.legal-ownership-identity-card figcaption { justify-content: center; }
.legal-ownership-identity-card figcaption span { margin-left: 1cqw; }
.legal-ownership-chassis-card { width: 85.7%; margin: 7cqw auto 0; text-align: center; }
.legal-ownership-chassis-card img,
.legal-ownership-chassis-card .legal-evidence-missing { height: 81cqw; object-fit: contain; }
.legal-ownership-chassis-card figcaption { display: block; text-align: center; }
.legal-ownership-chassis-card figcaption span { display: block; margin-top: .4cqw; text-align: center; }
.legal-generic-evidence-page .legal-evidence-body { padding-top: 1.8%; }
.legal-generic-evidence-page .legal-evidence-title small {
    display: block;
    margin-top: .45cqw;
    color: var(--tblr-secondary-color);
    font-size: .58em;
    font-style: italic;
    font-weight: 400;
    text-transform: none;
}
.legal-generic-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.2cqw;
    margin-top: 2.2cqw;
}
.legal-generic-evidence-card { margin: 0; }
.legal-generic-evidence-card img { height: 31.5cqw; object-fit: contain; }
.legal-generic-evidence-card figcaption { min-height: 5.4cqw; }
.legal-generic-evidence-card figcaption strong,
.legal-generic-evidence-card figcaption span { display: block; text-align: center; }
.legal-evidence-vehicle-view figcaption { font-size: 1.15cqw; }
.legal-evidence-page-number {
    position: absolute;
    right: 0;
    bottom: 3.6%;
    left: 0;
    z-index: 3;
    font-family: "Times New Roman", Times, serif;
    font-size: 1.65cqw;
    font-weight: 700;
    text-align: center;
}
.attachment-list-preview {
    display: grid;
    width: 48px;
    height: 40px;
    flex: 0 0 48px;
    overflow: hidden;
    place-items: center;
    border: 1px solid var(--tblr-border-color);
    border-radius: var(--tblr-border-radius-sm);
    background: var(--tblr-bg-surface-secondary);
    padding: 0;
    cursor: pointer;
}
.attachment-list-preview img { width: 100%; height: 100%; object-fit: cover; }
.attachment-list-preview:hover img { transform: scale(1.04); }
.attachment-list-preview img { transition: transform .15s ease; }
.attachment-list-file { color: var(--tblr-primary); font-size: 1.25rem; }
.attachment-list-section {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem 1rem;
    border-top: 1px solid var(--tblr-border-color);
    border-bottom: 1px solid var(--tblr-border-color);
    background: var(--tblr-bg-surface-secondary);
    color: var(--tblr-secondary-color);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.attachment-list-section:first-child { border-top: 0; }
.attachment-list-section small {
    margin-left: auto;
    color: var(--tblr-secondary-color);
    font-size: .67rem;
    font-style: italic;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
.attachment-preview-modal .modal-content { max-height: calc(100vh - 2rem); overflow: hidden; }
.attachment-preview-modal .modal-dialog { max-width: min(760px, calc(100vw - 2rem)); }
.attachment-preview-modal .modal-header { flex: 0 0 auto; }
.attachment-preview-toolbar {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .75rem;
    padding: .65rem 1rem;
    border-bottom: 1px solid var(--tblr-border-color);
    background: var(--tblr-bg-surface-secondary);
}
.attachment-preview-zoom-value { min-width: 4.5rem; font-variant-numeric: tabular-nums; }
.attachment-preview-body { min-height: 360px; padding: 0; overflow: hidden; background: #e9edf2; }
.attachment-preview-frame { position: relative; width: 100%; height: min(54vh, 540px); }
.attachment-preview-stage {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: flex-start;
    justify-content: center;
    overflow: auto;
    padding: 1rem;
}
.attachment-preview-stage img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--tblr-border-radius);
    box-shadow: var(--tblr-box-shadow);
    transition: width .12s ease;
}
.attachment-preview-pdf { width: 100%; height: 100%; border: 0; background: #fff; }
.attachment-preview-nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 2.75rem;
    height: 2.75rem;
    border-color: rgba(255,255,255,.75);
    border-radius: 50%;
    background: rgba(24,36,51,.82);
    box-shadow: 0 3px 12px rgba(0,0,0,.2);
    color: #fff;
    transform: translateY(-50%);
}
.attachment-preview-nav:hover,
.attachment-preview-nav:focus { background: rgba(24,36,51,.96); color: #fff; }
.attachment-preview-nav:disabled { visibility: hidden; }
.attachment-preview-nav-previous { left: .75rem; }
.attachment-preview-nav-next { right: .75rem; }
.attachment-preview-strip {
    display: flex;
    gap: .5rem;
    height: 72px;
    overflow-x: auto;
    padding: .6rem 1rem;
    border-top: 1px solid var(--tblr-border-color);
    background: var(--tblr-bg-surface);
    scrollbar-width: thin;
}
.attachment-preview-strip-item {
    position: relative;
    display: grid;
    width: 58px;
    min-width: 58px;
    height: 50px;
    overflow: hidden;
    place-items: center;
    padding: 0;
    border: 2px solid transparent;
    border-radius: var(--tblr-border-radius-sm);
    background: var(--tblr-bg-surface-secondary);
    color: var(--tblr-primary);
}
.attachment-preview-strip-item img { width: 100%; height: 100%; object-fit: cover; }
.attachment-preview-strip-item i { font-size: 1.4rem; }
.attachment-preview-strip-item.active {
    border-color: var(--tblr-primary);
    box-shadow: 0 0 0 2px rgba(var(--tblr-primary-rgb), .14);
}
.attachment-preview-strip-number {
    position: absolute;
    right: 2px;
    bottom: 2px;
    min-width: 1rem;
    padding: 0 .2rem;
    border-radius: 999px;
    background: rgba(24,36,51,.82);
    color: #fff;
    font-size: .6rem;
    line-height: 1rem;
}
@media (max-width: 767.98px) {
    .attachment-preview-modal .modal-dialog { margin: .5rem; }
    .attachment-preview-toolbar { justify-content: space-between; }
    .attachment-preview-toolbar > .text-secondary { display: none; }
    .attachment-preview-body { min-height: 300px; }
    .attachment-preview-frame { height: 52vh; }
    .attachment-preview-nav { width: 2.4rem; height: 2.4rem; }
    .attachment-preview-nav-previous { left: .4rem; }
    .attachment-preview-nav-next { right: .4rem; }
}
.template-card.is-selected {
    border-color: var(--tblr-primary);
    box-shadow: 0 0 0 2px rgba(var(--tblr-primary-rgb), .15);
}
.template-management-list {
    position: sticky;
    top: 76px;
    max-height: calc(100vh - 100px);
    overflow: auto;
}
.template-management-item {
    display: flex;
    align-items: center;
    min-height: 68px;
    gap: .15rem;
}
.template-management-item.active {
    border-color: var(--tblr-primary);
    background: var(--tblr-primary);
    color: #fff;
}
.template-management-item.active .text-secondary { color: rgba(255,255,255,.72) !important; }
.template-management-item.active .avatar { background: rgba(255,255,255,.16) !important; color: #fff !important; }
.company-role-choice { display: flex; min-height: 68px; align-items: center; }
.company-role-choice.active { border-color: var(--tblr-primary); background: var(--tblr-primary); color: #fff; }
.company-role-choice.active .text-secondary { color: rgba(255,255,255,.72) !important; }
.company-role-choice.active .avatar { background: rgba(255,255,255,.16); color: #fff; }
.payment-channel-choice { display: flex; min-height: 66px; align-items: center; cursor: pointer; }
.payment-channel-choice.active { border-color: var(--tblr-primary); background: var(--tblr-primary-bg-subtle); }
.template-section-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    padding: .45rem;
    border: 1px solid var(--tblr-border-color);
    border-radius: var(--tblr-border-radius);
    background: var(--tblr-bg-surface-secondary);
}
.template-section-tabs .btn {
    border: 0;
    background: transparent;
}
.template-section-tabs .btn.active {
    background: var(--tblr-primary);
    color: #fff;
    box-shadow: var(--tblr-box-shadow-input);
}
.template-editor-modal { min-height: min(820px, calc(100vh - 3.5rem)); }
.template-editor-grid { display: grid; min-height: 620px; grid-template-columns: 260px minmax(0,1fr); }
.template-editor-sidebar { background: var(--tblr-bg-surface-secondary); }
.template-editor-sidebar .list-group-item { display: flex; align-items: center; border-radius: var(--tblr-border-radius); }
.template-editor-sidebar .list-group-item.active { background: var(--tblr-primary); color: #fff; }
.template-editor-workspace { min-width: 0; }
.template-editor-toolbar { display: flex; align-items: center; padding: .65rem 1rem; background: var(--tblr-bg-surface-secondary); }
.template-legal-editor { min-height: 280px; font-family: "Times New Roman", Times, serif; font-size: 1rem; line-height: 1.5; }
.template-editor-preview { min-height: 105px; background: #fff; color: #111; font-family: "Times New Roman", Times, serif; font-size: 12pt; line-height: 1.16; white-space: pre-wrap; }
button.wizard-step { border: 0; background: transparent; font: inherit; }
.wizard-step:focus-visible { border-radius: var(--tblr-border-radius); outline: 2px solid var(--tblr-primary); outline-offset: 3px; }
.direct-sale-progress-card { overflow: hidden; border-top: 3px solid var(--tblr-primary); }
.direct-sale-steps { gap: .5rem; }
.direct-sale-steps .wizard-step {
    min-height: 76px;
    padding: .2rem .5rem;
    border-radius: var(--tblr-border-radius);
}
.direct-sale-steps .wizard-step:hover { background: var(--tblr-bg-surface-secondary); }
.direct-sale-steps .wizard-step.active { background: var(--tblr-primary-bg-subtle); }
.direct-sale-steps .wizard-number i { display: none; }
.direct-sale-steps .wizard-step.done .wizard-number span { display: none; }
.direct-sale-steps .wizard-step.done .wizard-number i { display: inline-block; }
.direct-sale-steps .wizard-label { font-size: .78rem; }
.direct-sale-steps .wizard-label > i { color: var(--tblr-secondary-color); }
.direct-sale-steps .wizard-step.active .wizard-label > i,
.direct-sale-steps .wizard-step.done .wizard-label > i { color: var(--tblr-primary); }
.direct-sale-panel-heading {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--tblr-border-color);
}
.direct-sale-panel-number {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    flex: 0 0 2.25rem;
    place-items: center;
    border-radius: 50%;
    background: var(--tblr-primary);
    color: #fff;
    font-weight: 700;
}
.direct-sale-section-label {
    padding: .55rem .75rem;
    border-radius: var(--tblr-border-radius);
    background: var(--tblr-bg-surface-secondary);
    color: var(--tblr-secondary-color);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}
.direct-sale-section-label span { font-size: .72rem; font-style: italic; font-weight: 500; text-transform: none; }
.direct-sale-save-choice { padding: .75rem 1rem; }
.wizard-action-bar {
    position: sticky;
    z-index: 20;
    bottom: 0;
    background: var(--tblr-bg-surface);
    box-shadow: 0 -8px 18px rgba(24,36,51,.06);
}
[data-wizard-progress-bar] { transition: width .25s ease; }
.document-meta-table {
    --tblr-table-border-color: color-mix(in srgb, var(--tblr-border-color) 72%, transparent);
    font-size: .82rem;
}
.document-meta-table thead { display: none; }
.document-meta-table > :not(caption) > * > * {
    padding: .45rem .55rem;
    border-width: 1px;
    vertical-align: top;
}
.document-meta-table tbody th {
    width: 38%;
    background: var(--tblr-bg-surface-secondary);
    color: var(--tblr-secondary-color);
    font-weight: 600;
}
.document-meta-table tbody td {
    overflow-wrap: anywhere;
    font-weight: 500;
}
.document-type-picker .template-card { transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.document-type-picker .template-card:hover { border-color: var(--tblr-primary); box-shadow: var(--tblr-box-shadow); transform: translateY(-1px); }
.document-type-picker,
.document-type-picker > .card-body,
.template-picker-grid,
.vehicle-sale-picker { overflow: visible; }
.template-picker-grid > [class*="col-"] { position: relative; z-index: 1; }
.vehicle-sale-picker-column:has(.vehicle-sale-menu.show) { z-index: 50; }
.vehicle-sale-picker { min-height: 12.25rem; }
.vehicle-sale-dropdown { position: relative; }
.vehicle-sale-menu {
    width: max-content;
    min-width: 100%;
    max-width: min(25rem, calc(100vw - 2rem));
    padding: .4rem;
    border-color: var(--tblr-border-color);
    box-shadow: 0 .75rem 2rem rgba(15, 23, 42, .16);
    z-index: 1085;
}
.vehicle-sale-option {
    display: block;
    min-width: 0;
    padding: .65rem .75rem;
    border-radius: var(--tblr-border-radius);
    white-space: normal;
}
.vehicle-sale-option + .vehicle-sale-option { margin-top: .2rem; }
.vehicle-sale-option:hover,
.vehicle-sale-option:focus { background: var(--tblr-tertiary-bg); text-decoration: none; }
@media (max-width: 767.98px) {
    .vehicle-sale-picker { min-height: auto; }
    .vehicle-sale-menu { width: 100%; max-width: calc(100vw - 3.5rem); }
}
.beec-live-wrap { padding: 1rem; }
.beec-live-page { aspect-ratio: 210 / 297; max-width: 794px; min-height: 0; padding: 4.5% 6.5% 5%; overflow: hidden; font-family: "Times New Roman", Times, serif; }
.beec-live-masthead { position: relative; z-index: 2; height: 17.7%; margin: -4.5% -6.5% 0; width: 113%; }
.beec-live-watermark { position: absolute; z-index: 0; top: 32%; left: 18%; width: 64%; height: 48%; object-fit: contain; opacity: .055; }
.beec-live-meta,.beec-live-copy,.beec-live-signatures,.beec-live-witnesses,.beec-live-cert { position: relative; z-index: 1; }
.beec-live-meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: .7%; font-size: clamp(7px,1.22vw,14px); }
.beec-live-copy { margin-top: .5%; font-size: clamp(7px,1.25vw,14px); line-height: 1.16; text-align: justify; }
.beec-live-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; margin-top: 2%; font-size: clamp(7px,1.22vw,14px); }
.beec-live-signatures > div { display: flex; flex-direction: column; }
.beec-live-signatures strong { text-decoration: underline; }
.beec-live-signatures i { display: block; width: 58%; height: 1.4em; border-bottom: 1px dotted #111; }
.beec-live-witnesses { display: flex; flex-direction: column; margin-top: 1%; font-size: clamp(7px,1.18vw,13px); }
.beec-live-witnesses > strong { text-decoration: underline; }
.beec-live-cert { margin-top: 2%; text-align: center; font-size: clamp(7px,1.14vw,12.5px); }
.beec-live-cert > span { display: block; margin-top: .4%; text-align: left; font-weight: 700; }
.beec-live-cert p { margin: .4% 0 0; text-align: justify; }
@media (max-width: 767.98px) {
    .legal-preview-toolbar { align-items: flex-start; flex-wrap: wrap; }
    .legal-preview-toolbar .btn-list { width: 100%; margin-left: 0 !important; }
    .legal-preview-canvas { padding: .5rem; }
    .legal-signatures { gap: .5em 1.2em; }
    .legal-meta-row { flex-wrap: wrap; white-space: normal; }
    .template-management-list { position: static; max-height: none; }
    .template-section-tabs .btn { flex: 1 1 calc(50% - .4rem); }
    .template-editor-grid { grid-template-columns: 1fr; }
    .template-editor-sidebar { border-right: 0 !important; border-bottom: 1px solid var(--tblr-border-color); }
    .template-editor-sidebar .list-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .wizard-action-bar { margin-right: -1px; margin-left: -1px; }
    .direct-sale-progress-card .badge,
    .direct-sale-panel-heading > .badge { display: none; }
    .direct-sale-steps .wizard-step { min-width: 92px; min-height: 58px; }
    .direct-sale-steps .wizard-label { display: block; font-size: .66rem; white-space: normal; }
    .direct-sale-steps .wizard-label > i { display: none; }
    .direct-sale-panel-heading { align-items: flex-start; }
    .wizard-action-bar { flex-wrap: wrap; }
    .wizard-action-bar [data-wizard-final-draft],
    .wizard-action-bar [data-wizard-next] { flex: 1 1 auto; }
}
@media print {
    .legal-preview-wrap,
    .legal-preview-canvas { overflow: visible; padding: 0; background: #fff !important; }
    .legal-page-a4 { width: 210mm; height: 297mm; box-shadow: none; }
    .legal-page-a4 { width: 210mm; height: 297mm; box-shadow: none; }
    .legal-page { zoom: 1 !important; break-after: page; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Official package enforcement: template-specific pages may change content, never the shared page style. */
.legal-page .legal-watermark,
.legal-page .legal-company-watermark,
.legal-page .legal-lease-watermark,
.legal-page .legal-sponsorship-watermark,
.legal-beec-direct .legal-watermark {
    top: 25.25%;
    left: 50%;
    width: 69.05%;
    height: auto;
    transform: translateX(-50%);
    opacity: .1;
    object-fit: contain;
}
.legal-evidence-page .legal-watermark { opacity: .04; }
.legal-page:not(.legal-evidence-page) .legal-document-body { padding-top: 10px; }
.legal-company-article-body,
.legal-lease-body,
.legal-sponsorship-attachments,
.legal-debt-attachments {
    position: relative;
    z-index: 1;
    padding: 2.02% 7.14% 7.41%;
    font-family: "Times New Roman", Times, serif;
    font-size: clamp(5.5px, var(--document-font-fluid), var(--document-font-max));
    line-height: 1.16;
}

/* Shared legal typography: identical in template previews, issued previews and print. */
.legal-page:not(.legal-evidence-page),
.legal-page:not(.legal-evidence-page) .legal-document-body,
.legal-page:not(.legal-evidence-page) .legal-company-article-body,
.legal-page:not(.legal-evidence-page) .legal-lease-body {
    font-family: "Times New Roman", Times, serif;
    font-size: clamp(5.5px, var(--document-font-fluid), var(--document-font-max));
    line-height: 1.16;
}
.legal-page:not(.legal-evidence-page) .legal-document-body p,
.legal-page:not(.legal-evidence-page) .legal-company-article-body p,
.legal-page:not(.legal-evidence-page) .legal-lease-body p { margin-bottom: .7mm; }
.legal-page:not(.legal-evidence-page) .legal-meta-row,
.legal-page:not(.legal-evidence-page) .legal-sponsorship-official-heading {
    font-family: "Times New Roman", Times, serif;
    font-size: 1em;
    line-height: 1.16;
}
.legal-page:not(.legal-evidence-page) .legal-meta-row strong,
.legal-page:not(.legal-evidence-page) .legal-sponsorship-official-subject {
    font: inherit;
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-page:not(.legal-evidence-page) .legal-meta-row > span,
.legal-page:not(.legal-evidence-page) .legal-sponsorship-official-date {
    font-size: 1em;
    font-weight: 400;
    text-decoration: none;
}
.legal-page:not(.legal-evidence-page) .legal-meta-row u,
.legal-page:not(.legal-evidence-page) .legal-sponsorship-official-heading u { text-underline-offset: .08em; }
.legal-page:not(.legal-evidence-page) .legal-signature-role,
.legal-page:not(.legal-evidence-page) .legal-witnesses > strong,
.legal-page:not(.legal-evidence-page) .legal-certification > strong,
.legal-page:not(.legal-evidence-page) .legal-sponsorship-official-signature > strong {
    font-family: "Times New Roman", Times, serif;
    font-size: 1em;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: .08em;
}
.legal-page:not(.legal-evidence-page) .legal-signature-name,
.legal-page:not(.legal-evidence-page) .legal-sponsorship-official-signature span,
.legal-page:not(.legal-evidence-page) .legal-sponsorship-official-notary,
.legal-page:not(.legal-evidence-page) .legal-certification,
.legal-page:not(.legal-evidence-page) .legal-notary-name {
    font-family: "Times New Roman", Times, serif;
    font-size: 1em;
    line-height: 1.16;
}
.legal-sponsorship-official .legal-document-body { line-height: 1.16; }
