@font-face {
    font-family: "Besalp Inter";
    src: url("../fonts/inter-latin-400-normal.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Besalp Inter";
    src: url("../fonts/inter-latin-500-normal.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Besalp Inter";
    src: url("../fonts/inter-latin-600-normal.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Besalp Inter";
    src: url("../fonts/inter-latin-700-normal.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Besalp Audit";
    src: url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Besalp Audit";
    src: url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

:root {
    --besalp-font-ui: "Besalp Inter", Arial, Helvetica, sans-serif;
    --besalp-font-audit: "Besalp Audit", "Besalp Inter", Arial, Helvetica, sans-serif;
    --besalp-color-ink: #191735;
    --besalp-color-muted: #5f6270;
    --besalp-color-line: #e5e7eb;
    --besalp-color-surface: #ffffff;
    --besalp-color-page: #f5f7fb;
    --besalp-color-brand: #24206b;
    --besalp-color-accent: #0f8cff;
    --besalp-color-danger: #dc2626;
    --besalp-space-1: 4px;
    --besalp-space-2: 8px;
    --besalp-space-3: 12px;
    --besalp-space-4: 16px;
    --besalp-space-5: 24px;
    --besalp-space-6: 32px;
    --besalp-radius: 8px;
    --besalp-detail-panel-width: 420px;
    --besalp-shadow-surface: 0 10px 30px rgba(15, 23, 42, 0.05);
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

.besalp-body {
    min-height: 100vh;
    margin: 0;
    background: var(--besalp-color-page);
    color: var(--besalp-color-ink);
    font-family: var(--besalp-font-ui);
    font-size: 15px;
    line-height: 1.5;
}

.besalp-shell {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    min-height: 100vh;
}

.besalp-app-content {
    min-width: 0;
}

.besalp-app-sidebar {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    gap: var(--besalp-space-6);
    height: 100vh;
    padding: var(--besalp-space-5);
    background: var(--besalp-color-surface);
    border-right: 1px solid var(--besalp-color-line);
}

.besalp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    min-height: 72px;
    padding: 0 var(--besalp-space-6);
    background: var(--besalp-color-surface);
    border-bottom: 1px solid var(--besalp-color-line);
}

.besalp-brand {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-3);
    color: var(--besalp-color-brand);
    text-decoration: none;
}

.besalp-brand-logo {
    width: 152px;
    height: auto;
    display: block;
}

.besalp-brand-product {
    padding-left: var(--besalp-space-3);
    border-left: 1px solid var(--besalp-color-line);
    color: var(--besalp-color-muted);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
}

.besalp-header-actions {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-3);
    margin: 0;
}

.besalp-user-label {
    color: var(--besalp-color-muted);
    font-size: 14px;
}

.besalp-app-nav {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-app-nav-logout {
    display: none;
    margin: 0;
}

.besalp-app-nav-logout .besalp-app-nav-item {
    width: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.besalp-app-nav-item {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-3);
    min-height: 44px;
    padding: 0 var(--besalp-space-3);
    border-radius: var(--besalp-radius-sm);
    color: var(--besalp-color-muted);
    font-weight: 700;
    text-decoration: none;
}

.besalp-app-nav-item:hover,
.besalp-app-nav-item-active {
    background: #eff6ff;
    color: var(--besalp-color-ink);
}

.besalp-app-nav-icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.besalp-app-nav-icon-dashboard {
    -webkit-mask-image: url("../icons/dashboard.svg");
    mask-image: url("../icons/dashboard.svg");
}

.besalp-app-nav-icon-tenants {
    -webkit-mask-image: url("../icons/tenants.svg");
    mask-image: url("../icons/tenants.svg");
}

.besalp-app-nav-icon-export {
    -webkit-mask-image: url("../icons/export.svg");
    mask-image: url("../icons/export.svg");
}

.besalp-app-nav-icon-jobs {
    -webkit-mask-image: url("../icons/jobs.svg");
    mask-image: url("../icons/jobs.svg");
}

.besalp-app-nav-icon-account {
    -webkit-mask-image: url("../icons/users.svg");
    mask-image: url("../icons/users.svg");
}

.besalp-app-nav-icon-settings {
    -webkit-mask-image: url("../icons/settings.svg");
    mask-image: url("../icons/settings.svg");
}

.besalp-app-nav-icon-logout {
    -webkit-mask-image: url("../icons/action-logout.svg");
    mask-image: url("../icons/action-logout.svg");
}

.besalp-app-nav-icon-files {
    -webkit-mask-image: url("../icons/file-document.svg");
    mask-image: url("../icons/file-document.svg");
}

.besalp-app-nav-icon-booking-rules {
    -webkit-mask-image: url("../icons/booking-rules.svg");
    mask-image: url("../icons/booking-rules.svg");
}

.besalp-app-sidebar-footer {
    display: grid;
    gap: var(--besalp-space-3);
    margin: auto 0 0;
}

.besalp-sidebar-account {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: #f8fafc;
}

.besalp-sidebar-account-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--besalp-color-brand);
    color: #ffffff;
    font-weight: 700;
}

.besalp-sidebar-account-text {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.besalp-sidebar-account-text strong {
    overflow: hidden;
    font-size: 13px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-sidebar-account-text span {
    overflow: hidden;
    color: var(--besalp-color-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-sidebar-account-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--besalp-space-2);
}

.besalp-sidebar-account-actions .besalp-button,
.besalp-sidebar-account-actions form {
    width: 100%;
}

.besalp-sidebar-account-actions .besalp-button {
    justify-content: flex-start;
}

.besalp-app-version {
    color: var(--besalp-color-muted);
    font-size: 11px;
    line-height: 1;
    text-align: center;
}

.besalp-main {
    padding: var(--besalp-space-6);
}

.besalp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--besalp-space-2);
    min-height: 40px;
    padding: 0 var(--besalp-space-4);
    border: 1px solid transparent;
    border-radius: 6px;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.besalp-button-primary {
    background: var(--besalp-color-brand);
    color: #ffffff;
}

.besalp-button-secondary {
    background: var(--besalp-color-surface);
    border-color: var(--besalp-color-line);
    color: var(--besalp-color-ink);
}

.besalp-button-sync {
    background: #0f766e;
    border-color: #0f766e;
    color: #ffffff;
}

.besalp-button-sync:hover,
.besalp-button-sync:focus-visible {
    background: #115e59;
    border-color: #115e59;
}

.besalp-button.besalp-button-danger {
    color: var(--besalp-color-danger);
}

.besalp-button.besalp-button-danger:hover {
    border-color: #fecaca;
    background: #fff1f2;
}

.besalp-button.besalp-button-danger .besalp-button-icon {
    color: var(--besalp-color-ink);
}

.besalp-button.besalp-button-danger-text {
    color: var(--besalp-color-danger);
}

.besalp-button.besalp-button-danger-text:hover {
    border-color: #fecaca;
    background: #fff1f2;
}

.besalp-button.besalp-button-danger-text .besalp-button-icon {
    color: var(--besalp-color-ink);
}

.besalp-action-menu-danger-label {
    color: var(--besalp-color-danger);
}

.besalp-button-small {
    min-height: 32px;
    padding: 0 var(--besalp-space-3);
}

.besalp-button-block {
    width: 100%;
}

.besalp-button-action {
    min-width: 132px;
}

.besalp-toolbar-actions form {
    margin: 0;
}

.besalp-button-icon {
    flex: 0 0 auto;
    display: block;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.besalp-button-icon-upload {
    -webkit-mask-image: url("../icons/action-upload.svg");
    mask-image: url("../icons/action-upload.svg");
}

.besalp-button-icon-new {
    -webkit-mask-image: url("../icons/action-new.svg");
    mask-image: url("../icons/action-new.svg");
}

.besalp-button-icon-edit {
    -webkit-mask-image: url("../icons/action-edit.svg");
    mask-image: url("../icons/action-edit.svg");
}

.besalp-button-icon-save {
    -webkit-mask-image: url("../icons/action-save.svg");
    mask-image: url("../icons/action-save.svg");
}

.besalp-button-icon-copy {
    -webkit-mask-image: url("../icons/action-copy.svg");
    mask-image: url("../icons/action-copy.svg");
}

.besalp-button-icon-return {
    -webkit-mask-image: url("../icons/action-return.svg");
    mask-image: url("../icons/action-return.svg");
}

.besalp-button-icon-document {
    -webkit-mask-image: url("../icons/file-document.svg");
    mask-image: url("../icons/file-document.svg");
}

.besalp-button-icon-preview {
    -webkit-mask-image: url("../icons/action-preview.svg");
    mask-image: url("../icons/action-preview.svg");
}

.besalp-button-icon-cancel {
    -webkit-mask-image: url("../icons/action-cancel.svg");
    mask-image: url("../icons/action-cancel.svg");
}

.besalp-button-icon-delete {
    -webkit-mask-image: url("../icons/action-delete.svg");
    mask-image: url("../icons/action-delete.svg");
}

.besalp-button-icon-filter-reset {
    -webkit-mask-image: url("../icons/action-filter-reset.svg");
    mask-image: url("../icons/action-filter-reset.svg");
}

.besalp-button-icon-login {
    -webkit-mask-image: url("../icons/action-login.svg");
    mask-image: url("../icons/action-login.svg");
}

.besalp-button-icon-account {
    -webkit-mask-image: url("../icons/users.svg");
    mask-image: url("../icons/users.svg");
}

.besalp-button-icon-logout {
    -webkit-mask-image: url("../icons/action-logout.svg");
    mask-image: url("../icons/action-logout.svg");
}

.besalp-button-icon-export {
    -webkit-mask-image: url("../icons/export.svg");
    mask-image: url("../icons/export.svg");
}

.besalp-button-icon-sync {
    -webkit-mask-image: url("../icons/action-sync.svg");
    mask-image: url("../icons/action-sync.svg");
}

.besalp-button-icon-ignore {
    -webkit-mask-image: url("../icons/action-ignore.svg");
    mask-image: url("../icons/action-ignore.svg");
}

.besalp-button-icon-restore {
    -webkit-mask-image: url("../icons/action-restore.svg");
    mask-image: url("../icons/action-restore.svg");
}

.besalp-button-icon-only {
    width: 44px;
    min-width: 44px;
    padding: 0;
}

.besalp-form {
    display: grid;
    gap: 18px;
}

.besalp-form-field {
    display: grid;
    align-content: start;
    gap: 6px;
}

.besalp-form-field-xs {
    max-width: 150px;
}

.besalp-form-field-sm {
    max-width: 240px;
}

.besalp-form-field-md {
    max-width: 420px;
}

.besalp-form-field-lg {
    max-width: 720px;
}

.besalp-checkbox-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    color: var(--besalp-color-ink);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
}

.besalp-checkbox-row input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--besalp-color-primary);
}

.besalp-form-label {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.besalp-form-control {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    height: 44px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--besalp-color-ink);
    font: inherit;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: 0;
    box-shadow: 0 1px 0 rgba(17, 24, 39, 0.02);
}

select.besalp-form-control {
    padding-right: 34px;
    background-image: linear-gradient(45deg, transparent 50%, var(--besalp-color-muted) 50%), linear-gradient(135deg, var(--besalp-color-muted) 50%, transparent 50%);
    background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

textarea.besalp-form-control {
    height: auto;
    min-height: 96px;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.4;
    resize: vertical;
}

.besalp-form-control[type="number"]::-webkit-outer-spin-button,
.besalp-form-control[type="number"]::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.besalp-form-control[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.besalp-form-control-compact {
    height: 34px;
    min-height: 34px;
    padding: 0 10px;
    font-size: 13px;
}

select.besalp-form-control-compact {
    padding-right: 28px;
    background-position: calc(100% - 15px) 50%, calc(100% - 10px) 50%;
}

.besalp-input-number {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.besalp-input-technical {
    font-variant-numeric: tabular-nums;
    text-align: left;
}

.besalp-form-control:focus {
    border-color: var(--besalp-color-accent);
    outline: 3px solid rgba(15, 140, 255, 0.18);
}

.besalp-form-control-error {
    border-color: var(--besalp-color-danger);
    outline: 3px solid rgba(239, 62, 92, 0.16);
}

.besalp-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--besalp-space-3);
}

body.besalp-modal-open {
    overflow: hidden;
}

.besalp-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 8000;
    background: rgba(25, 23, 53, 0.42);
}

.besalp-modal {
    position: fixed;
    z-index: 8010;
    top: 50%;
    left: 50%;
    width: min(920px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    transform: translate(-50%, -50%);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
    box-shadow: 0 24px 70px rgba(25, 23, 53, 0.28);
}

.besalp-modal-wide {
    width: min(1120px, calc(100vw - 48px));
    height: min(760px, calc(100vh - 48px));
}

.besalp-modal-with-footer {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.besalp-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    padding: var(--besalp-space-5) var(--besalp-space-5) var(--besalp-space-3);
    border-bottom: 1px solid var(--besalp-color-line);
}

.besalp-modal-title {
    margin: 0;
    font-size: 22px;
    line-height: 1.2;
}

.besalp-modal-close {
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: var(--besalp-color-surface);
    color: var(--besalp-color-ink);
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
    text-decoration: none;
}

.besalp-modal-close .besalp-icon {
    width: 20px;
    height: 20px;
}

.besalp-modal-tabs {
    display: flex;
    gap: var(--besalp-space-4);
    padding: 0 var(--besalp-space-5);
    border-bottom: 1px solid var(--besalp-color-line);
    overflow-x: auto;
}

.besalp-modal-tab {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--besalp-color-muted);
    cursor: default;
    font: inherit;
    font-weight: 700;
    white-space: nowrap;
}

button.besalp-modal-tab {
    cursor: pointer;
}

.besalp-modal-tab-active {
    border-bottom-color: var(--besalp-color-accent);
    color: var(--besalp-color-ink);
}

.besalp-modal-tab-panel[hidden] {
    display: none;
}

.besalp-modal-body {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: var(--besalp-space-5);
}

.besalp-file-preview-modal {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.besalp-file-properties-modal {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.besalp-file-preview-frame {
    min-height: 0;
    padding: 0;
    background: #f8fafc;
}

.besalp-file-preview-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    border: 0;
    background: #ffffff;
}

.besalp-document-edit-form {
    margin: 0;
}

.besalp-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-4) var(--besalp-space-5);
    border-top: 1px solid var(--besalp-color-line);
    background: var(--besalp-color-surface);
}

.besalp-modal-footer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--besalp-space-3);
    margin-left: auto;
}

.besalp-modal-footer-actions form {
    margin: 0;
}

.besalp-messagebox {
    display: grid;
    gap: var(--besalp-space-1);
    padding: var(--besalp-space-3) var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
}

.besalp-page > .besalp-messagebox {
    margin-bottom: var(--besalp-space-5);
}

.besalp-messagebox-warning {
    border-color: #f0c56a;
    background: #fff8e6;
}

.besalp-messagebox-danger {
    border-color: #f4a2a2;
    background: #fff1f1;
}

.besalp-messagebox-success {
    border-color: #9bd5b3;
    background: #eefbf3;
}

.besalp-messagebox-info {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.besalp-confirm-backdrop {
    z-index: 9100;
}

.besalp-confirm-dialog {
    --besalp-toast-color: #f8b21b;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 9110;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: var(--besalp-space-4);
    width: min(560px, calc(100vw - 32px));
    padding: var(--besalp-space-5);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(17, 24, 39, 0.22);
    transform: translate(-50%, -50%);
}

.besalp-confirm-dialog.besalp-messagebox-success {
    --besalp-toast-color: #2fbf61;
}

.besalp-confirm-dialog.besalp-messagebox-danger {
    --besalp-toast-color: #ef3e5c;
}

.besalp-confirm-dialog.besalp-messagebox-info {
    --besalp-toast-color: #2388f2;
}

.besalp-confirm-dialog.besalp-messagebox-warning {
    --besalp-toast-color: #f8b21b;
}

.besalp-confirm-dialog .besalp-toast-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.besalp-confirm-content {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-confirm-input-label {
    color: var(--besalp-color-ink);
    font-size: 13px;
    font-weight: 700;
    margin-top: var(--besalp-space-2);
}

.besalp-confirm-input {
    resize: vertical;
}

.besalp-confirm-content h3 {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 20px;
    line-height: 1.2;
}

.besalp-confirm-content p {
    margin: 0;
    color: var(--besalp-color-muted);
    font-size: 15px;
    line-height: 1.45;
}

.besalp-confirm-actions {
    grid-column: 2;
    display: flex;
    justify-content: flex-end;
    gap: var(--besalp-space-3);
}

.besalp-context-feedback {
    position: fixed;
    right: var(--besalp-space-5);
    bottom: var(--besalp-space-5);
    z-index: 9000;
    display: grid;
    gap: var(--besalp-space-2);
    width: min(460px, calc(100vw - 32px));
    pointer-events: none;
}

.besalp-context-feedback .besalp-messagebox {
    --besalp-toast-color: var(--besalp-color-accent);
    position: relative;
    grid-template-columns: 44px minmax(0, 1fr) 28px;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: var(--besalp-space-3);
    width: 100%;
    min-height: 92px;
    overflow: hidden;
    padding: var(--besalp-space-4) var(--besalp-space-4) var(--besalp-space-4) calc(var(--besalp-space-4) + 8px);
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 22px 52px rgba(17, 24, 39, 0.16);
    pointer-events: none;
    animation: besalp-toast-enter 180ms ease-out;
    transition: opacity 180ms ease, transform 180ms ease;
}

.besalp-context-feedback .besalp-messagebox::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 8px;
    background: var(--besalp-toast-color);
}

.besalp-context-feedback .besalp-messagebox-success {
    --besalp-toast-color: #2fbf61;
}

.besalp-context-feedback .besalp-messagebox-danger {
    --besalp-toast-color: #ef3e5c;
}

.besalp-context-feedback .besalp-messagebox-info {
    --besalp-toast-color: #2388f2;
}

.besalp-context-feedback .besalp-messagebox-warning {
    --besalp-toast-color: #f8b21b;
}

.besalp-toast-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--besalp-toast-color);
}

.besalp-toast-icon::before {
    content: "";
    width: 20px;
    height: 20px;
    background: #ffffff;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.besalp-messagebox-success .besalp-toast-icon::before {
    -webkit-mask-image: url("../icons/success.svg");
    mask-image: url("../icons/success.svg");
}

.besalp-messagebox-danger .besalp-toast-icon::before {
    -webkit-mask-image: url("../icons/error.svg");
    mask-image: url("../icons/error.svg");
}

.besalp-messagebox-info .besalp-toast-icon::before {
    -webkit-mask-image: url("../icons/info.svg");
    mask-image: url("../icons/info.svg");
}

.besalp-messagebox-warning .besalp-toast-icon::before {
    -webkit-mask-image: url("../icons/warning.svg");
    mask-image: url("../icons/warning.svg");
}

.besalp-context-feedback .besalp-messagebox strong {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    color: var(--besalp-color-ink);
    font-size: 15px;
    line-height: 1.15;
}

.besalp-context-feedback .besalp-messagebox > span:not(.besalp-toast-icon) {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    color: var(--besalp-color-muted);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}

.besalp-toast-close {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--besalp-color-muted);
    cursor: pointer;
    pointer-events: auto;
}

.besalp-toast-close::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("../icons/close.svg") center / contain no-repeat;
    mask: url("../icons/close.svg") center / contain no-repeat;
}

.besalp-toast-close:hover {
    background: #f8fafc;
    color: var(--besalp-color-ink);
}

.besalp-context-feedback .besalp-messagebox.besalp-toast-exit {
    opacity: 0;
    transform: translateY(8px);
}

@keyframes besalp-toast-enter {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 720px) {
    .besalp-context-feedback {
        right: var(--besalp-space-3);
        bottom: var(--besalp-space-3);
        width: calc(100vw - 24px);
    }
}

.besalp-screen-locked {
    overflow: hidden;
}

.besalp-spinner-overlay {
    position: fixed;
    inset: 0;
    z-index: 9200;
    display: grid;
    place-items: center;
    padding: var(--besalp-space-5);
    background: rgba(15, 23, 42, 0.46);
    backdrop-filter: blur(3px);
}

.besalp-spinner-overlay[hidden] {
    display: none;
}

.besalp-spinner-overlay-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: var(--besalp-space-4);
    width: min(520px, calc(100vw - 32px));
    padding: var(--besalp-space-5);
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.24);
}

.besalp-spinner-overlay-orbit {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
    box-shadow: 0 12px 28px rgba(35, 136, 242, 0.14);
}

.besalp-spinner-overlay-orbit span {
    position: absolute;
    inset: -5px;
    border-radius: 999px;
    background: conic-gradient(
        from 0deg,
        rgba(35, 136, 242, 0) 0deg,
        rgba(35, 136, 242, 0.18) 78deg,
        var(--besalp-color-accent) 132deg,
        rgba(35, 136, 242, 0.18) 188deg,
        rgba(35, 136, 242, 0) 286deg,
        rgba(35, 136, 242, 0) 360deg
    );
    animation: besalp-overlay-spin 920ms linear infinite;
    mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
}

.besalp-spinner-overlay-orbit img {
    width: 38px;
    height: 38px;
    object-fit: contain;
    opacity: 0.96;
}

.besalp-spinner-overlay-copy {
    display: grid;
    gap: var(--besalp-space-1);
}

.besalp-spinner-overlay-copy strong {
    color: var(--besalp-color-ink);
    font-size: 20px;
    line-height: 1.2;
}

.besalp-spinner-overlay-copy span {
    color: var(--besalp-color-muted);
    font-size: 15px;
    line-height: 1.45;
}

@keyframes besalp-overlay-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .besalp-spinner-overlay-orbit span {
        animation-duration: 2200ms;
    }

    .besalp-access-switch::before,
    .besalp-access-heading,
    .besalp-access-content,
    .besalp-access-encryption {
        transition: none !important;
    }
}

@media (max-width: 560px) {
    .besalp-spinner-overlay-card {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }
}

.besalp-auditor-body {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 264px minmax(0, 1fr);
    background: #eef3f9;
}

.besalp-auditor-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: var(--besalp-space-5);
    padding: var(--besalp-space-5) var(--besalp-space-4);
    border-right: 1px solid var(--besalp-color-line);
    background: var(--besalp-color-surface);
}

.besalp-auditor-sidebar .besalp-brand {
    padding: 0 0 var(--besalp-space-4);
}

.besalp-auditor-sidebar-nav {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-auditor-sidebar-link {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-3);
    min-height: 48px;
    padding: 0 var(--besalp-space-3);
    border-radius: 0;
    color: var(--besalp-color-muted);
    font-weight: 800;
    text-decoration: none;
}

.besalp-auditor-sidebar-link:hover,
.besalp-auditor-sidebar-link-active {
    background: #eff6ff;
    color: var(--besalp-color-ink);
}

.besalp-auditor-sidebar-footer {
    display: grid;
    margin-top: auto;
    gap: var(--besalp-space-2);
}

.besalp-auditor-sidebar-footer form {
    width: 100%;
}

.besalp-auditor-sidebar-footer .besalp-button {
    justify-content: flex-start;
    width: 100%;
}

.besalp-auditor-main {
    min-width: 0;
}

.besalp-auditor-shell {
    display: grid;
    gap: var(--besalp-space-5);
    width: 100%;
    max-width: 1680px;
    margin: 0;
    padding: var(--besalp-space-5);
}

.besalp-auditor-panel {
    min-width: 0;
    padding: var(--besalp-space-5);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-auditor-year-switch {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-3);
    color: var(--besalp-color-muted);
    font-weight: 800;
}

.besalp-auditor-workspace {
    display: grid;
    gap: var(--besalp-space-5);
    align-items: start;
}

.besalp-filter-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--besalp-color-line);
    border-radius: 8px;
    background: var(--besalp-color-surface);
    color: var(--besalp-color-muted);
    cursor: pointer;
}

.besalp-auditor-search {
    display: grid;
    gap: var(--besalp-space-2);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-auditor-search > label {
    font-weight: 800;
}

.besalp-auditor-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: var(--besalp-space-2);
}

.besalp-auditor-file-preview-body {
    min-width: 0;
    min-height: 0;
    padding: var(--besalp-space-4);
    background: #f3f6fa;
}

.besalp-auditor-file-preview-body iframe {
    width: 100%;
    height: 100%;
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: #fff;
}

.besalp-auditor-evidence-modal {
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(1680px, calc(100vw - 24px));
    height: 100dvh;
    max-height: 100dvh;
    grid-template-rows: auto minmax(0, 1fr) auto;
    transform: none;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 1px solid var(--besalp-color-line);
    border-radius: 0;
    box-shadow: -18px 0 48px rgba(25, 23, 53, 0.18);
}

.besalp-auditor-evidence-workspace {
    display: grid;
    grid-template-columns: minmax(520px, 1.15fr) minmax(440px, 0.85fr);
    min-height: 0;
    overflow: hidden;
}

.besalp-auditor-evidence-preview {
    min-width: 0;
    min-height: 0;
    padding: var(--besalp-space-4);
    border-right: 1px solid var(--besalp-color-line);
    background: #f3f6fa;
}

.besalp-auditor-evidence-preview .besalp-file-preview-frame {
    height: 100%;
    min-height: 0;
}

.besalp-auditor-evidence-details {
    display: grid;
    align-content: start;
    gap: var(--besalp-space-4);
    min-width: 0;
    padding: var(--besalp-space-4);
    overflow-y: auto;
}

.besalp-auditor-evidence-section {
    display: grid;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
}

.besalp-auditor-evidence-section-active {
    border-color: #9fc4ff;
    box-shadow: 0 0 0 3px rgba(33, 129, 255, 0.1);
}

.besalp-auditor-evidence-section h4 {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 18px;
}

.besalp-auditor-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-3);
    margin: 0;
}

.besalp-auditor-evidence-grid > div {
    min-width: 0;
}

.besalp-auditor-evidence-grid dt {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 800;
}

.besalp-auditor-evidence-grid dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    color: var(--besalp-color-ink);
    font-weight: 700;
}

.besalp-auditor-evidence-list {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-auditor-evidence-list article {
    display: grid;
    gap: 4px;
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 8px;
    background: #f8fafc;
}

.besalp-auditor-evidence-list article > span {
    color: var(--besalp-color-muted);
    font-size: 14px;
}

.besalp-mfa-code-input {
    max-width: 180px;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-align: center;
}

.besalp-code-input-group {
    display: grid;
    grid-template-columns: repeat(6, 48px);
    justify-content: center;
    gap: var(--besalp-space-2);
}

.besalp-code-input {
    width: 48px;
    height: 56px;
    border: 1px solid var(--besalp-color-line);
    border-radius: 8px;
    background: var(--besalp-color-surface);
    color: var(--besalp-color-ink);
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.besalp-code-input:focus {
    border-color: var(--besalp-color-accent);
    box-shadow: 0 0 0 3px rgba(37, 137, 255, 0.18);
    outline: none;
}

.besalp-auth-code-form {
    width: 100%;
}

.besalp-auth-code-form .besalp-form-actions {
    justify-content: center;
}

.besalp-auth-code-form .besalp-form-field {
    justify-items: center;
}

.besalp-mfa-secret-box {
    display: grid;
    gap: var(--besalp-space-2);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius-sm);
    background: #f8fafc;
}

.besalp-totp-qr-box {
    display: grid;
    place-items: center;
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius-sm);
    background: #ffffff;
}

.besalp-totp-qr-svg {
    width: min(260px, 100%);
    height: auto;
}

.besalp-mfa-secret-box span {
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
}

.besalp-mfa-secret-box code {
    max-width: 100%;
    overflow-wrap: anywhere;
    color: var(--besalp-color-ink);
    font-size: 13px;
}

.besalp-public-form-actions {
    align-items: center;
    justify-content: space-between;
}

.besalp-public-form-actions .besalp-button-secondary {
    min-width: 112px;
}

.besalp-access-page {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    background:
        linear-gradient(90deg, rgba(245, 249, 254, 0.94) 0%, rgba(245, 249, 254, 0.74) 42%, rgba(245, 249, 254, 0.36) 100%),
        url("../img/entry-background.png") center / cover no-repeat;
    position: relative;
    overflow: auto;
}

.besalp-access-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(31, 42, 75, 0.04));
    pointer-events: none;
}

.besalp-access-shell {
    width: 100%;
    min-height: 100dvh;
    display: grid;
    grid-template-columns: minmax(300px, 42%) minmax(0, 1fr);
    position: relative;
    z-index: 1;
}

.besalp-access-brand-panel {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(38px, 5vw, 76px);
    border-right: 1px solid rgba(214, 225, 238, 0.88);
    background: rgba(247, 250, 255, 0.78);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.besalp-access-logo {
    width: clamp(146px, 14vw, 190px);
    height: auto;
    display: block;
}

.besalp-access-brand-message {
    display: grid;
    gap: var(--besalp-space-5);
    margin: auto 0;
    padding: clamp(40px, 8vh, 96px) 0;
}

.besalp-access-brand-message h1 {
    max-width: 520px;
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: clamp(42px, 4.8vw, 70px);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

.besalp-access-brand-message p {
    max-width: 500px;
    margin: 0;
    color: #596477;
    font-size: clamp(17px, 1.45vw, 22px);
    line-height: 1.5;
}

.besalp-access-swiss,
.besalp-access-card-security,
.besalp-access-encryption {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-2);
    color: #596477;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.besalp-access-security-icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    flex: 0 0 auto;
    background: var(--besalp-color-brand);
    -webkit-mask: url("../icons/security.svg") center / contain no-repeat;
    mask: url("../icons/security.svg") center / contain no-repeat;
}

.besalp-access-workspace {
    min-width: 0;
    display: grid;
    place-items: center;
    padding: clamp(40px, 6vw, 92px);
}

.besalp-access-card {
    width: min(100%, 540px);
    display: grid;
    gap: var(--besalp-space-5);
    padding: clamp(32px, 4vw, 50px);
    border: 1px solid rgba(211, 221, 233, 0.94);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 28px 76px rgba(26, 39, 67, 0.18);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.besalp-access-page-mfa-setup .besalp-access-card,
.besalp-access-page-mfa-choice .besalp-access-card {
    width: min(100%, 680px);
}

.besalp-access-card-security {
    justify-self: end;
    font-size: 12px;
}

.besalp-access-card-security .besalp-access-security-icon,
.besalp-access-encryption .besalp-access-security-icon,
.besalp-access-swiss .besalp-access-security-icon {
    width: 16px;
    height: 16px;
}

.besalp-access-switch {
    isolation: isolate;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 4px;
    border: 1px solid #d9e1eb;
    border-radius: 12px;
    background: #f7f9fc;
    position: relative;
}

.besalp-access-switch::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc(50% - 4px);
    border-radius: 9px;
    background: var(--besalp-color-brand);
    box-shadow: 0 8px 18px rgba(36, 32, 107, 0.18);
    transform: translateX(0);
    transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.besalp-access-page[data-besalp-access-mode="login"] .besalp-access-switch::before,
.besalp-access-page[data-besalp-access-switching-to="login"] .besalp-access-switch::before {
    transform: translateX(100%);
}

.besalp-access-page[data-besalp-access-switching-to="upload"] .besalp-access-switch::before {
    transform: translateX(0);
}

.besalp-access-switch a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--besalp-space-2);
    padding: 0 var(--besalp-space-3);
    border-radius: 9px;
    color: #5b6474;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: color 150ms ease;
}

.besalp-access-switch a[aria-current="page"] {
    color: #ffffff;
}

.besalp-access-page[data-besalp-access-switching-to] .besalp-access-heading,
.besalp-access-page[data-besalp-access-switching-to] .besalp-access-content,
.besalp-access-page[data-besalp-access-switching-to] .besalp-access-encryption {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 160ms ease, transform 160ms ease;
}

.besalp-access-heading {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-access-heading h1 {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: clamp(28px, 3vw, 36px);
    line-height: 1.12;
}

.besalp-access-heading > p:not(.besalp-eyebrow) {
    max-width: 640px;
    margin: 0;
    color: var(--besalp-color-muted);
    font-size: 16px;
}

.besalp-access-content {
    display: grid;
    gap: var(--besalp-space-4);
}

.besalp-access-content .besalp-form {
    gap: var(--besalp-space-4);
}

.besalp-access-primary-form .besalp-button {
    margin-top: var(--besalp-space-2);
}

.besalp-access-form-link {
    width: fit-content;
    color: var(--besalp-color-primary);
    font-weight: 700;
    text-decoration: none;
}

.besalp-access-form-link:hover,
.besalp-access-form-link:focus-visible {
    text-decoration: underline;
}

.besalp-access-form-link-right {
    justify-self: end;
    margin-top: calc(var(--besalp-space-2) * -1);
}

.besalp-access-context-note {
    display: grid;
    gap: var(--besalp-space-1);
    padding: var(--besalp-space-3);
    border: 1px solid #e0e7f0;
    border-radius: 10px;
    background: #f7f9fc;
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-access-context-note strong {
    color: var(--besalp-color-ink);
}

.besalp-access-content .besalp-form-control {
    min-height: 52px;
    border-radius: 8px;
    background: #fbfdff;
}

.besalp-access-content .besalp-form-actions {
    margin-top: var(--besalp-space-2);
}

.besalp-access-content .besalp-button {
    min-height: 46px;
}

.besalp-access-method-fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.besalp-access-methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-3);
}

.besalp-access-method {
    min-height: 172px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: 12px;
    background: #ffffff;
    color: var(--besalp-color-ink);
    text-align: center;
    cursor: pointer;
    position: relative;
}

.besalp-access-method:has(input:checked) {
    border-color: var(--besalp-color-accent);
    background: #f3f8ff;
    box-shadow: 0 0 0 2px rgba(15, 140, 255, 0.08);
}

.besalp-access-method input {
    position: absolute;
    top: var(--besalp-space-3);
    right: var(--besalp-space-3);
    width: 20px;
    height: 20px;
    accent-color: var(--besalp-color-accent);
}

.besalp-access-method-icon {
    width: 52px;
    height: 52px;
    background: var(--besalp-color-brand);
    -webkit-mask: url("../icons/security.svg") center / contain no-repeat;
    mask: url("../icons/security.svg") center / contain no-repeat;
}

.besalp-access-method-email .besalp-access-method-icon {
    -webkit-mask-image: url("../icons/mail.svg");
    mask-image: url("../icons/mail.svg");
}

.besalp-access-setup-grid {
    display: grid;
    grid-template-columns: minmax(180px, 0.75fr) minmax(0, 1.25fr);
    gap: var(--besalp-space-3);
    align-items: stretch;
}

.besalp-access-setup-grid .besalp-totp-qr-box,
.besalp-access-setup-grid .besalp-mfa-secret-box {
    margin: 0;
}

.besalp-public-upload-app {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: var(--besalp-space-5);
    background: #eef3f9;
}

.besalp-public-upload-shell {
    width: min(100%, 560px);
    height: min(860px, calc(100vh - (2 * var(--besalp-space-5))));
    height: min(860px, calc(100dvh - (2 * var(--besalp-space-5))));
    min-height: 620px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--besalp-color-line);
    border-radius: 18px;
    background: var(--besalp-color-surface);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.14);
}

.besalp-public-upload-header {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-3) var(--besalp-space-5);
    border-bottom: 1px solid var(--besalp-color-line);
    background: rgba(255, 255, 255, 0.96);
}

.besalp-public-upload-header span {
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 700;
}

.besalp-public-upload-header .besalp-brand-product {
    color: var(--besalp-color-muted);
}

.besalp-public-upload-brand {
    flex: 0 1 auto;
    min-width: 0;
}

.besalp-public-upload-logo {
    width: 116px;
    height: auto;
    display: block;
}

.besalp-public-upload-form {
    min-height: 0;
    display: grid;
}

.besalp-public-upload-source input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.besalp-public-upload-screen {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: var(--besalp-space-4);
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--besalp-space-5);
}

.besalp-public-upload-screen[hidden] {
    display: none;
}

.besalp-public-upload-intro {
    display: grid;
    gap: var(--besalp-space-2);
    margin: auto 0 var(--besalp-space-4);
    text-align: center;
}

.besalp-public-upload-intro h1,
.besalp-public-upload-screen-titlebar h1,
.besalp-public-upload-progress-screen h1,
.besalp-public-upload-result-screen h1 {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: clamp(24px, 7vw, 32px);
    line-height: 1.15;
}

.besalp-public-upload-intro p,
.besalp-public-upload-intro small,
.besalp-public-upload-progress-screen p,
.besalp-public-upload-result-screen > p {
    margin: 0;
    color: var(--besalp-color-muted);
}

.besalp-public-upload-intro small {
    font-size: 14px;
    font-weight: 700;
}

.besalp-public-upload-source-list {
    display: grid;
    gap: var(--besalp-space-3);
}

.besalp-public-upload-source-secondary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-3);
}

.besalp-public-upload-source {
    min-height: 104px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: var(--besalp-space-2);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 12px;
    background: var(--besalp-color-surface);
    color: var(--besalp-color-brand);
    text-align: center;
    cursor: pointer;
}

.besalp-public-upload-source-primary {
    min-height: 132px;
    grid-template-columns: auto auto;
    border-color: var(--besalp-color-accent);
    background: var(--besalp-color-brand);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(32, 94, 210, 0.22);
}

.besalp-public-upload-source:focus-within {
    outline: 3px solid rgba(37, 137, 255, 0.24);
    outline-offset: 2px;
}

.besalp-public-upload-source strong {
    font-size: 16px;
    line-height: 1.25;
}

.besalp-public-upload-source-primary strong {
    font-size: 20px;
}

.besalp-public-upload-source-icon {
    width: 34px;
    height: 34px;
    background: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.besalp-public-upload-source-icon-scan,
.besalp-public-upload-source-icon-photo {
    -webkit-mask-image: url("../icons/file-image.svg");
    mask-image: url("../icons/file-image.svg");
}

.besalp-public-upload-source-icon-files {
    -webkit-mask-image: url("../icons/file-document.svg");
    mask-image: url("../icons/file-document.svg");
}

.besalp-public-upload-validity {
    margin: auto 0 0;
    padding-top: var(--besalp-space-4);
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.besalp-public-upload-screen-titlebar {
    min-height: 44px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
}

.besalp-public-upload-screen-titlebar h1 {
    grid-column: 2;
    font-size: 22px;
    text-align: center;
}

.besalp-public-upload-back {
    grid-column: 1;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: var(--besalp-color-ink);
    cursor: pointer;
    position: relative;
}

.besalp-public-upload-back::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 14px;
    width: 12px;
    height: 12px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.besalp-public-upload-count {
    color: var(--besalp-color-ink);
    font-size: 24px;
}

.besalp-public-upload-selection {
    display: grid;
    gap: var(--besalp-space-3);
}

.besalp-public-upload-file {
    min-width: 0;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: var(--besalp-space-3);
    align-items: center;
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 12px;
    background: var(--besalp-color-surface);
}

.besalp-public-upload-file-preview {
    width: 72px;
    height: 78px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    background: #eef3f9;
    color: var(--besalp-color-brand);
    position: relative;
}

.besalp-public-upload-file-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.besalp-public-upload-file-preview:not(.besalp-public-upload-file-preview-image)::before {
    content: "";
    width: 34px;
    height: 34px;
    background: currentColor;
    -webkit-mask: url("../icons/file-document.svg") center / contain no-repeat;
    mask: url("../icons/file-document.svg") center / contain no-repeat;
}

.besalp-public-upload-file-preview-pdf::after,
.besalp-public-upload-file-preview-csv::after {
    position: absolute;
    right: 4px;
    bottom: 4px;
    padding: 2px 4px;
    border-radius: 4px;
    background: var(--besalp-color-brand);
    color: #ffffff;
    font-size: 9px;
    font-weight: 900;
}

.besalp-public-upload-file-preview-pdf::after {
    content: "PDF";
}

.besalp-public-upload-file-preview-csv::after {
    content: "CSV";
}

.besalp-public-upload-file-details {
    min-width: 0;
    display: grid;
    gap: var(--besalp-space-1);
}

.besalp-public-upload-file-details strong {
    overflow: hidden;
    color: var(--besalp-color-ink);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-public-upload-file-details span {
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-public-upload-file-actions {
    display: flex;
    gap: var(--besalp-space-1);
}

.besalp-public-upload-file-action {
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
}

.besalp-public-upload-file-action::before {
    content: "";
    position: absolute;
    inset: 11px;
    background: var(--besalp-color-brand);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.besalp-public-upload-file-action-rotate::before {
    content: "↻";
    inset: 0;
    display: grid;
    place-items: center;
    background: transparent;
    color: var(--besalp-color-brand);
    font-size: 27px;
    font-weight: 500;
}

.besalp-public-upload-file-action-remove::before {
    background: var(--besalp-color-danger);
    -webkit-mask-image: url("../icons/action-delete.svg");
    mask-image: url("../icons/action-delete.svg");
}

.besalp-public-upload-add {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--besalp-space-2);
    border: 1px dashed var(--besalp-color-accent);
    border-radius: 12px;
    background: #f8fbff;
    color: var(--besalp-color-brand);
    font-weight: 800;
    cursor: pointer;
}

.besalp-public-upload-add span {
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.besalp-public-upload-add-sources {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--besalp-space-2);
}

.besalp-public-upload-add-sources[hidden] {
    display: none;
}

.besalp-public-upload-add-sources button {
    min-height: 44px;
    padding: var(--besalp-space-2);
    border: 1px solid var(--besalp-color-line);
    border-radius: 8px;
    background: var(--besalp-color-surface);
    color: var(--besalp-color-brand);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.besalp-public-upload-error {
    padding: var(--besalp-space-3);
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fef2f2;
    color: #991b1b;
    font-size: 14px;
    font-weight: 700;
}

.besalp-public-upload-error[hidden] {
    display: none;
}

.besalp-public-upload-bottom-action {
    position: sticky;
    bottom: calc(-1 * var(--besalp-space-5));
    z-index: 2;
    margin-top: auto;
    padding: var(--besalp-space-4) 0 var(--besalp-space-1);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff 24%);
}

.besalp-public-upload-bottom-action .besalp-button {
    width: 100%;
    min-height: 54px;
}

.besalp-public-upload-progress-screen {
    justify-content: center;
    text-align: center;
}

.besalp-public-upload-progress-card {
    display: grid;
    gap: var(--besalp-space-3);
    margin-top: var(--besalp-space-5);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: 12px;
    background: var(--besalp-color-surface);
}

.besalp-public-upload-progress-copy {
    display: flex;
    justify-content: space-between;
    gap: var(--besalp-space-3);
    color: var(--besalp-color-ink);
}

.besalp-public-upload-progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef5;
}

.besalp-public-upload-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--besalp-color-brand);
    transition: width 160ms ease;
}

.besalp-public-upload-result-screen {
    align-items: center;
    justify-content: center;
    text-align: center;
}

.besalp-public-upload-result-icon {
    width: 88px;
    height: 88px;
    display: block;
    border: 3px solid currentColor;
    border-radius: 999px;
    color: #16a34a;
    position: relative;
}

.besalp-public-upload-result-icon-success::before {
    content: "";
    position: absolute;
    left: 27px;
    top: 19px;
    width: 24px;
    height: 38px;
    border-right: 4px solid currentColor;
    border-bottom: 4px solid currentColor;
    transform: rotate(42deg);
}

.besalp-public-upload-result-icon-warning {
    color: #f59e0b;
}

.besalp-public-upload-result-icon-warning::before {
    content: "";
    position: absolute;
    inset: 22px;
    background: currentColor;
    -webkit-mask: url("../icons/warning.svg") center / contain no-repeat;
    mask: url("../icons/warning.svg") center / contain no-repeat;
}

.besalp-public-upload-receipt {
    width: 100%;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: var(--besalp-space-3);
    align-items: center;
    margin-top: var(--besalp-space-4);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: 12px;
    background: #f8fafc;
    text-align: left;
}

.besalp-public-upload-receipt-icon {
    width: 48px;
    height: 48px;
    background: var(--besalp-color-brand);
    -webkit-mask: url("../icons/file-document.svg") center / contain no-repeat;
    mask: url("../icons/file-document.svg") center / contain no-repeat;
}

.besalp-public-upload-receipt div {
    min-width: 0;
    display: grid;
    gap: var(--besalp-space-1);
}

.besalp-public-upload-receipt small {
    color: var(--besalp-color-muted);
}

.besalp-public-upload-receipt strong {
    overflow-wrap: anywhere;
    color: var(--besalp-color-ink);
    font-size: 20px;
}

.besalp-public-upload-receipt p {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: var(--besalp-space-3);
    border-top: 1px solid var(--besalp-color-line);
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-public-upload-receipt .besalp-public-upload-receipt-warning {
    color: #92400e;
}

.besalp-public-upload-result-actions {
    width: 100%;
    display: grid;
    gap: var(--besalp-space-2);
    margin-top: auto;
}

.besalp-public-upload-result-actions .besalp-button {
    width: 100%;
    min-height: 54px;
}

.besalp-public-upload-result-actions p {
    margin: 0;
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-page {
    max-width: 1120px;
    margin: 0 auto;
}

.besalp-page-wide {
    max-width: none;
}

.besalp-card-section {
    margin-bottom: var(--besalp-space-5);
    padding: var(--besalp-space-5);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
}

.besalp-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-5);
    margin-bottom: 0;
    padding: var(--besalp-space-6);
    background:
        linear-gradient(135deg, rgba(239, 246, 255, 0.9), rgba(255, 255, 255, 0.98)),
        var(--besalp-color-surface);
    border: 1px solid #dbeafe;
    border-radius: var(--besalp-radius);
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.06);
}

.besalp-app-page {
    display: grid;
    gap: var(--besalp-space-5);
    width: 100%;
    min-width: 0;
}

.besalp-app-page > * {
    min-width: 0;
}

.besalp-app-page > .besalp-section {
    margin-top: 0;
}

.besalp-app-page > .besalp-section > .besalp-table-wrap {
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-app-page .besalp-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.besalp-page-header-main {
    min-width: 0;
}

.besalp-page-header-side {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--besalp-space-3);
    min-width: 220px;
}

.besalp-page-header-meta {
    color: var(--besalp-color-muted);
}

.besalp-page-header-actions {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-2);
}

.besalp-eyebrow {
    margin: 0 0 var(--besalp-space-1);
    color: var(--besalp-color-accent);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.besalp-page-title {
    margin: 0;
    font-size: 28px;
    line-height: 1.2;
}

.besalp-page-subtitle {
    margin: var(--besalp-space-2) 0 0;
    color: var(--besalp-color-muted);
}

.besalp-card {
    max-width: 560px;
    padding: var(--besalp-space-5);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-evidence-preview {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
}

.besalp-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--besalp-space-4);
}

.besalp-kpi-card {
    display: grid;
    place-items: center;
    align-content: center;
    min-width: 0;
    min-height: 146px;
    padding: var(--besalp-space-4);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    color: inherit;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.04);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.besalp-kpi-card-link:hover {
    border-color: #bfdbfe;
    transform: translateY(-1px);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.besalp-kpi-card-attention {
    border-color: #fed7aa;
}

.besalp-kpi-card-ready {
    border-color: #bbf7d0;
}

.besalp-kpi-card-warning {
    border-color: #fecaca;
}

.besalp-booking-evidence {
    display: grid;
    gap: var(--besalp-space-4);
    margin-bottom: var(--besalp-space-4);
}

.besalp-booking-evidence + .besalp-kpi-card,
.besalp-kpi-card + .besalp-payment-match-actions,
.besalp-payment-match-actions + .besalp-settings-form,
.besalp-payment-match-actions + .besalp-booking-suggestion-notice,
.besalp-booking-suggestion-notice + .besalp-settings-form {
    margin-top: var(--besalp-space-4);
}

.besalp-kpi-icon {
    display: inline-flex;
    width: 24px;
    height: 24px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: var(--besalp-space-4);
    color: var(--besalp-color-brand);
    background: currentColor;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.besalp-kpi-icon-tenants {
    -webkit-mask-image: url("../icons/tenants.svg");
    mask-image: url("../icons/tenants.svg");
}

.besalp-kpi-icon-contacts {
    -webkit-mask-image: url("../icons/contacts.svg");
    mask-image: url("../icons/contacts.svg");
}

.besalp-kpi-icon-inbox,
.besalp-kpi-icon-mail {
    -webkit-mask-image: url("../icons/mail.svg");
    mask-image: url("../icons/mail.svg");
}

.besalp-kpi-icon-inbox {
    -webkit-mask-image: url("../icons/folder-inbox.svg");
    mask-image: url("../icons/folder-inbox.svg");
}

.besalp-kpi-icon-review {
    -webkit-mask-image: url("../icons/review.svg");
    mask-image: url("../icons/review.svg");
}

.besalp-kpi-icon-account-plan {
    -webkit-mask-image: url("../icons/account-plan.svg");
    mask-image: url("../icons/account-plan.svg");
}

.besalp-kpi-icon-cost-centers {
    -webkit-mask-image: url("../icons/cost-centers.svg");
    mask-image: url("../icons/cost-centers.svg");
}

.besalp-kpi-icon-booking-rules {
    -webkit-mask-image: url("../icons/booking-rules.svg");
    mask-image: url("../icons/booking-rules.svg");
}

.besalp-kpi-icon-banks {
    -webkit-mask-image: url("../icons/banks.svg");
    mask-image: url("../icons/banks.svg");
}

.besalp-kpi-icon-credit-cards {
    -webkit-mask-image: url("../icons/credit-cards.svg");
    mask-image: url("../icons/credit-cards.svg");
}

.besalp-kpi-icon-booking {
    -webkit-mask-image: url("../icons/booking-rules.svg");
    mask-image: url("../icons/booking-rules.svg");
}

.besalp-kpi-icon-provider {
    -webkit-mask-image: url("../icons/provider.svg");
    mask-image: url("../icons/provider.svg");
}

.besalp-kpi-icon-account {
    -webkit-mask-image: url("../icons/users.svg");
    mask-image: url("../icons/users.svg");
}

.besalp-kpi-icon-export {
    -webkit-mask-image: url("../icons/export.svg");
    mask-image: url("../icons/export.svg");
}

.besalp-kpi-icon-warning {
    -webkit-mask-image: url("../icons/warning.svg");
    mask-image: url("../icons/warning.svg");
}

.besalp-kpi-icon-clarifications {
    -webkit-mask-image: url("../icons/clarifications.svg");
    mask-image: url("../icons/clarifications.svg");
}

.besalp-kpi-icon-document {
    -webkit-mask-image: url("../icons/file-document.svg");
    mask-image: url("../icons/file-document.svg");
}

.besalp-kpi-label {
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
}

.besalp-kpi-value {
    margin-top: var(--besalp-space-1);
    color: var(--besalp-color-ink);
    font-size: 30px;
    line-height: 1;
}

.besalp-kpi-text {
    margin-top: var(--besalp-space-3);
    color: var(--besalp-color-muted);
    font-size: 13px;
    line-height: 1.35;
}

.besalp-dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.55fr);
    gap: var(--besalp-space-4);
    align-items: start;
}

.besalp-dashboard-side {
    display: grid;
    gap: var(--besalp-space-4);
}

.besalp-dashboard-panel {
    min-width: 0;
    padding: var(--besalp-space-5);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.045);
}

.besalp-dashboard-panel-primary {
    min-height: 480px;
}

.besalp-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    margin-bottom: var(--besalp-space-4);
}

.besalp-panel-header h2 {
    margin: 0;
    font-size: 20px;
    line-height: 1.3;
}

.besalp-panel-header p {
    margin: var(--besalp-space-1) 0 0;
    color: var(--besalp-color-muted);
}

.besalp-dashboard-tenant-list {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-dashboard-tenant-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    align-items: center;
    gap: var(--besalp-space-4);
    min-height: 72px;
    padding: var(--besalp-space-3) var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    color: inherit;
    text-decoration: none;
}

.besalp-dashboard-tenant-row:hover {
    border-color: #bfdbfe;
    background: #f8fbff;
}

.besalp-dashboard-tenant-main,
.besalp-dashboard-tenant-metrics {
    display: grid;
    min-width: 0;
}

.besalp-dashboard-tenant-main {
    color: inherit;
    text-decoration: none;
}

.besalp-dashboard-tenant-main:hover strong {
    color: var(--besalp-color-brand);
}

.besalp-dashboard-tenant-main strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-dashboard-tenant-main span {
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-dashboard-tenant-metrics {
    grid-template-columns: repeat(4, auto auto);
    align-items: center;
    gap: var(--besalp-space-2);
}

.besalp-dashboard-metric-label {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
}

.besalp-dashboard-counter,
.besalp-tag-count {
    min-width: 32px;
    text-decoration: none;
}

.besalp-dashboard-counter:hover {
    border-color: #93c5fd;
    background: #eff6ff;
}

.besalp-dashboard-insight-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.65fr);
    gap: var(--besalp-space-4);
}

.besalp-dashboard-insight-primary,
.besalp-dashboard-quality-panel {
    min-height: 300px;
}

.besalp-dashboard-progress {
    display: block;
    width: 100%;
    height: 16px;
    overflow: hidden;
    border: 0;
    border-radius: 4px;
    background: #eef2f7;
    appearance: none;
    -webkit-appearance: none;
}

.besalp-dashboard-progress::-webkit-progress-bar {
    border-radius: inherit;
    background: #eef2f7;
}

.besalp-dashboard-progress::-webkit-progress-value {
    border-radius: inherit;
    background: #2563eb;
}

.besalp-dashboard-progress::-moz-progress-bar {
    border-radius: inherit;
    background: #2563eb;
}

.besalp-dashboard-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-4);
    margin-top: var(--besalp-space-4);
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-dashboard-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-2);
    color: inherit;
    text-decoration: none;
}

.besalp-dashboard-chart-legend i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.besalp-dashboard-priority-table a:hover {
    color: var(--besalp-color-brand);
}

.besalp-dashboard-age-summary {
    display: grid;
    grid-template-columns: minmax(150px, 0.28fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--besalp-space-6);
}

.besalp-dashboard-age-total {
    display: grid;
    align-content: center;
    justify-items: center;
    min-height: 180px;
    padding-right: var(--besalp-space-5);
    text-align: center;
    border-right: 1px solid var(--besalp-color-line);
}

.besalp-dashboard-age-total strong {
    color: var(--besalp-color-ink);
    font-size: clamp(42px, 4vw, 58px);
    line-height: 1;
}

.besalp-dashboard-age-total span {
    margin-top: var(--besalp-space-2);
    color: var(--besalp-color-muted);
    font-size: 15px;
}

.besalp-dashboard-age-total small {
    margin-top: var(--besalp-space-5);
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
}

.besalp-dashboard-age-visual {
    min-width: 0;
}

.besalp-dashboard-age-bar {
    display: block;
    width: 100%;
    height: 24px;
    overflow: hidden;
    border-radius: 8px;
}

.besalp-dashboard-age-track {
    fill: #eef2f7;
}

.besalp-dashboard-age-segment-recent {
    fill: #2563eb;
}

.besalp-dashboard-age-segment-week {
    fill: #60a5fa;
}

.besalp-dashboard-age-segment-month {
    fill: #f59e0b;
}

.besalp-dashboard-age-segment-older {
    fill: #dc2626;
}

.besalp-dashboard-age-legend {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: var(--besalp-space-5);
}

.besalp-dashboard-age-legend > div {
    display: grid;
    gap: var(--besalp-space-2);
    padding: 0 var(--besalp-space-4);
    text-align: center;
    border-left: 1px solid var(--besalp-color-line);
}

.besalp-dashboard-age-legend > div:first-child {
    border-left: 0;
}

.besalp-dashboard-age-legend span {
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
}

.besalp-dashboard-age-legend strong {
    font-size: 20px;
}

.besalp-dashboard-age-value-recent,
.besalp-dashboard-age-value-week {
    color: #2563eb;
}

.besalp-dashboard-age-value-month {
    color: #d97706;
}

.besalp-dashboard-age-value-older {
    color: #dc2626;
}

.besalp-dashboard-quality-list {
    display: grid;
    gap: var(--besalp-space-5);
    padding-top: var(--besalp-space-2);
}

.besalp-dashboard-quality-row {
    display: grid;
    grid-template-columns: minmax(170px, 0.8fr) minmax(100px, 1fr) 50px;
    align-items: center;
    gap: var(--besalp-space-3);
}

.besalp-dashboard-quality-row > div {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-2);
    min-width: 0;
}

.besalp-dashboard-quality-row strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-dashboard-quality-row b {
    text-align: right;
}

.besalp-dashboard-quality-dot {
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.besalp-dashboard-quality-dot-success {
    background: #16a34a;
}

.besalp-dashboard-quality-dot-warning {
    background: #f59e0b;
}

.besalp-dashboard-quality-row progress {
    display: block;
    width: 100%;
    height: 6px;
    border: 0;
    border-radius: 999px;
    overflow: hidden;
    background: #eef2f7;
    appearance: none;
    -webkit-appearance: none;
}

.besalp-dashboard-quality-row progress::-webkit-progress-bar {
    background: #eef2f7;
}

.besalp-dashboard-quality-row progress::-webkit-progress-value {
    border-radius: 999px;
    background: #16a34a;
}

.besalp-dashboard-quality-row progress::-moz-progress-bar {
    border-radius: 999px;
    background: #16a34a;
}

.besalp-dashboard-quality-rule {
    display: block;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: #eef2f7;
}

.besalp-dashboard-trend-summary {
    display: flex;
    justify-content: center;
    gap: var(--besalp-space-6);
    margin: 0 auto var(--besalp-space-3);
}

.besalp-dashboard-trend-summary > div {
    display: grid;
    justify-items: center;
    min-width: 90px;
    padding-left: var(--besalp-space-5);
    text-align: center;
    border-left: 1px solid var(--besalp-color-line);
}

.besalp-dashboard-trend-summary > div:first-child {
    border-left: 0;
}

.besalp-dashboard-trend-summary strong {
    color: #2563eb;
    font-size: 22px;
}

.besalp-dashboard-trend-summary > div:nth-child(2) strong,
.besalp-dashboard-trend-difference-ready {
    color: #16a34a;
}

.besalp-dashboard-trend-difference-warning {
    color: #d97706 !important;
}

.besalp-dashboard-trend-summary span {
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-dashboard-trend-chart-shell {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: var(--besalp-space-2);
    min-width: 0;
}

.besalp-dashboard-trend-y-axis {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: column;
    padding: 0 0 24px;
}

.besalp-dashboard-trend-plot {
    min-width: 0;
}

.besalp-dashboard-trend {
    display: block;
    width: 100%;
    min-height: 190px;
}

.besalp-dashboard-chart-gridline {
    stroke: #e2e8f0;
    stroke-width: 1;
}

.besalp-dashboard-trend-bar {
    fill: #2563eb;
}

.besalp-dashboard-trend-bookings {
    fill: none;
    stroke: #16a34a;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.besalp-dashboard-legend-uploads {
    background: #2563eb;
}

.besalp-dashboard-legend-completed {
    background: #16a34a;
}

.besalp-dashboard-chart-labels {
    color: var(--besalp-color-muted);
    font-size: 13px;
    line-height: 1.2;
}

.besalp-dashboard-trend-x-axis {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-2);
}

.besalp-dashboard-trend-x-axis {
    padding: var(--besalp-space-2) 2px 0;
}

.besalp-dashboard-priority-table td small {
    display: block;
    margin-top: 3px;
    color: var(--besalp-color-muted);
}

.besalp-dashboard-workload-cell {
    width: 220px;
    min-width: 160px;
}

.besalp-dashboard-workload-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.besalp-table-number {
    text-align: right;
}

.besalp-dashboard-clarification-table {
    margin-top: 0;
}

.besalp-dashboard-priority-table .besalp-table-number,
.besalp-dashboard-clarification-table .besalp-table-number {
    text-align: center;
}

.besalp-action-tile-list {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-action-tile {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: var(--besalp-space-3);
    min-height: 48px;
    padding: 0 var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    color: var(--besalp-color-ink);
    font-weight: 700;
    text-decoration: none;
}

.besalp-action-tile .besalp-kpi-icon {
    margin: 0;
}

.besalp-action-tile:hover {
    border-color: #bfdbfe;
    background: #f8fbff;
}

.besalp-workflow-list {
    display: grid;
    gap: var(--besalp-space-3);
    margin: 0;
    padding-left: 20px;
    color: var(--besalp-color-muted);
}

.besalp-export-ready {
    display: grid;
    gap: var(--besalp-space-1);
}

.besalp-export-ready strong {
    color: var(--besalp-color-ink);
    font-size: 32px;
    line-height: 1;
}

.besalp-export-ready span {
    color: var(--besalp-color-muted);
}

.besalp-status-card,
.besalp-module-card {
    min-width: 0;
    padding: var(--besalp-space-5);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-status-head {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-2);
    margin-bottom: var(--besalp-space-3);
}

.besalp-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--besalp-color-muted);
}

.besalp-status-dot-ok {
    background: #1f9d55;
}

.besalp-status-dot-warn {
    background: #d89a1d;
}

.besalp-status-dot-fail {
    background: #d64545;
}

.besalp-status-state {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

.besalp-card-title {
    margin: 0 0 var(--besalp-space-4);
    font-size: 18px;
    line-height: 1.3;
}

.besalp-card-text {
    margin: 0;
    color: var(--besalp-color-muted);
}

.besalp-section {
    margin-top: var(--besalp-space-6);
}

.besalp-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    flex-wrap: wrap;
    margin-bottom: var(--besalp-space-4);
}

.besalp-section-header > * {
    min-width: 0;
}

.besalp-section-header > .besalp-toolbar-actions {
    margin-left: auto;
}

.besalp-section-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.3;
}

.besalp-module-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-4);
}

.besalp-module-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
}

.besalp-module-title {
    margin: 0 0 var(--besalp-space-2);
    font-size: 17px;
    line-height: 1.3;
}

.besalp-badge {
    flex: 0 0 auto;
    padding: 3px var(--besalp-space-2);
    border-radius: 999px;
    background: #eef2ff;
    color: var(--besalp-color-brand);
    font-size: 12px;
    font-weight: 700;
}

.besalp-badge-muted {
    background: #f1f5f9;
    color: var(--besalp-color-muted);
}

.besalp-badge-link {
    text-decoration: none;
}

.besalp-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
    align-items: center;
}

.besalp-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 24px;
    padding: 2px 8px;
    border: 1px solid #cfe2ff;
    border-radius: 6px;
    background: #f4f8ff;
    color: #1f4ed8;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.besalp-tag-strong {
    min-width: 28px;
    min-height: 24px;
    background: #f1f5ff;
    color: var(--besalp-color-brand);
}

.besalp-tag-success {
    border-color: #bbf7d0;
    background: #ecfdf5;
    color: #15803d;
}

.besalp-tag-muted {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: var(--besalp-color-muted);
}

.besalp-tag-warning {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.besalp-table-cell-center {
    text-align: center;
}

.besalp-data-table th.besalp-table-cell-center,
.besalp-data-table td.besalp-table-cell-center {
    text-align: center;
}

.besalp-table-cell-center .besalp-tag {
    display: inline-flex;
    margin-right: auto;
    margin-left: auto;
}

.besalp-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.besalp-status-badge-new {
    background: #eef2ff;
    color: var(--besalp-color-brand);
}

.besalp-status-badge-processing {
    background: #fff8e6;
    color: #8a5b00;
}

.besalp-status-badge-detected {
    background: #eefbf3;
    color: #176c3b;
}

.besalp-status-badge-failed {
    background: #fff1f1;
    color: #9b1c1c;
}

.besalp-status-badge-muted {
    background: #f3f5f8;
    color: var(--besalp-color-muted);
}

.besalp-status-form {
    margin: 0;
}

.besalp-status-select {
    min-height: 32px;
    max-width: 160px;
    padding: 0 var(--besalp-space-3);
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.besalp-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-4);
}

.besalp-settings-card {
    display: grid;
    gap: var(--besalp-space-4);
    min-width: 0;
    padding: var(--besalp-space-5);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-settings-page {
    width: 100%;
    max-width: none;
}

.besalp-settings-page .besalp-page-header {
    width: 100%;
    max-width: 100%;
}

.besalp-settings-suite {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--besalp-space-4);
    align-items: start;
    width: 100%;
    max-width: 100%;
}

.besalp-settings-suite > * {
    min-width: 0;
}

.besalp-settings-suite-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: var(--besalp-space-3);
    min-width: 0;
    padding: var(--besalp-space-2);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-settings-suite-nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
    min-width: 0;
    overflow: visible;
}

.besalp-settings-suite-nav-group {
    position: relative;
    flex: 0 0 auto;
}

.besalp-settings-suite-nav-group[open] {
    z-index: 30;
}

.besalp-settings-suite-nav-group-trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-3);
    min-height: 38px;
    padding: 0 var(--besalp-space-3);
    border-radius: 6px;
    color: var(--besalp-color-ink);
    cursor: pointer;
    font-weight: 750;
    list-style: none;
    white-space: nowrap;
}

.besalp-settings-suite-nav-group-trigger::-webkit-details-marker {
    display: none;
}

.besalp-settings-suite-nav-chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    opacity: 0.58;
    transform: rotate(45deg) translateY(-2px);
}

.besalp-settings-suite-nav-group[open] .besalp-settings-suite-nav-chevron {
    transform: rotate(225deg) translateY(-2px);
}

.besalp-settings-suite-nav-menu {
    position: absolute;
    top: calc(100% + var(--besalp-space-2));
    left: 0;
    display: grid;
    gap: var(--besalp-space-1);
    min-width: 240px;
    padding: var(--besalp-space-2);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    box-shadow: 0 18px 38px rgba(17, 24, 39, 0.14);
}

.besalp-settings-suite-nav-menu .besalp-settings-suite-nav-item {
    width: 100%;
    justify-content: flex-start;
}

.besalp-export-settings-nav {
    margin-bottom: var(--besalp-space-4);
}

.besalp-settings-suite-nav-item {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-3);
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 var(--besalp-space-3);
    border-radius: 6px;
    color: var(--besalp-color-ink);
    font-weight: 750;
    text-decoration: none;
}

.besalp-settings-suite-nav-icon {
    width: 18px;
    height: 18px;
    background: currentColor;
    opacity: 0.72;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.besalp-settings-suite-nav-icon-dashboard {
    mask-image: url("../icons/dashboard.svg");
    -webkit-mask-image: url("../icons/dashboard.svg");
}

.besalp-settings-suite-nav-icon-provider,
.besalp-settings-suite-nav-icon-settings {
    mask-image: url("../icons/settings.svg");
    -webkit-mask-image: url("../icons/settings.svg");
}

.besalp-settings-suite-nav-icon-mail {
    mask-image: url("../icons/folder-inbox.svg");
    -webkit-mask-image: url("../icons/folder-inbox.svg");
}

.besalp-settings-suite-nav-icon-numbering {
    mask-image: url("../icons/numbering.svg");
    -webkit-mask-image: url("../icons/numbering.svg");
}

.besalp-settings-suite-nav-icon-document {
    mask-image: url("../icons/file-document.svg");
    -webkit-mask-image: url("../icons/file-document.svg");
}

.besalp-settings-suite-nav-icon-accounts {
    mask-image: url("../icons/account-plan.svg");
    -webkit-mask-image: url("../icons/account-plan.svg");
}

.besalp-settings-suite-nav-icon-industry {
    mask-image: url("../icons/industry.svg");
    -webkit-mask-image: url("../icons/industry.svg");
}

.besalp-settings-suite-nav-icon-export {
    mask-image: url("../icons/export.svg");
    -webkit-mask-image: url("../icons/export.svg");
}

.besalp-settings-suite-nav-icon-tax {
    mask-image: url("../icons/tax.svg");
    -webkit-mask-image: url("../icons/tax.svg");
}

.besalp-settings-suite-nav-icon-currency {
    mask-image: url("../icons/currency.svg");
    -webkit-mask-image: url("../icons/currency.svg");
}

.besalp-settings-suite-nav-icon-language {
    mask-image: url("../icons/language.svg");
    -webkit-mask-image: url("../icons/language.svg");
}

.besalp-settings-suite-nav-icon-system {
    mask-image: url("../icons/system.svg");
    -webkit-mask-image: url("../icons/system.svg");
}

.besalp-settings-suite-nav-icon-communication {
    mask-image: url("../icons/communication.svg");
    -webkit-mask-image: url("../icons/communication.svg");
}

.besalp-settings-suite-nav-icon-standards {
    mask-image: url("../icons/standards.svg");
    -webkit-mask-image: url("../icons/standards.svg");
}

.besalp-settings-suite-nav-icon-documents {
    mask-image: url("../icons/documents.svg");
    -webkit-mask-image: url("../icons/documents.svg");
}

.besalp-settings-suite-nav-icon-automation {
    mask-image: url("../icons/automation.svg");
    -webkit-mask-image: url("../icons/automation.svg");
}

.besalp-settings-suite-nav-icon-interfaces {
    mask-image: url("../icons/interfaces.svg");
    -webkit-mask-image: url("../icons/interfaces.svg");
}

.besalp-settings-suite-nav-icon-organization {
    mask-image: url("../icons/organization.svg");
    -webkit-mask-image: url("../icons/organization.svg");
}

.besalp-settings-suite-nav-icon-security {
    mask-image: url("../icons/security.svg");
    -webkit-mask-image: url("../icons/security.svg");
}

.besalp-settings-suite-nav-icon-roles {
    mask-image: url("../icons/roles.svg");
    -webkit-mask-image: url("../icons/roles.svg");
}

.besalp-settings-suite-nav-icon-notifications {
    mask-image: url("../icons/notifications.svg");
    -webkit-mask-image: url("../icons/notifications.svg");
}

.besalp-notification-language {
    min-width: 220px;
    display: grid;
    gap: var(--besalp-space-1);
}

.besalp-notification-table {
    width: 100%;
    min-width: 760px;
    table-layout: fixed;
}

.besalp-notification-column-template {
    width: 17%;
}

.besalp-notification-column-trigger {
    width: 47%;
}

.besalp-notification-column-recipient {
    width: auto;
}

.besalp-notification-column-actions {
    width: 96px;
}

.besalp-notification-group {
    display: grid;
    gap: var(--besalp-space-3);
}

.besalp-notification-group + .besalp-notification-group {
    margin-top: var(--besalp-space-5);
}

.besalp-notification-drawer-heading {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.besalp-notification-recipient {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: var(--besalp-space-1) 0 0;
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-notification-recipient strong {
    color: var(--besalp-color-ink);
}

.besalp-notification-drawer-body {
    display: grid;
    align-content: start;
    gap: var(--besalp-space-4);
}

.besalp-modal .besalp-notification-template-form {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
}

.besalp-notification-body-input {
    min-height: 220px;
    resize: vertical;
    font-family: inherit;
    line-height: 1.55;
}

.besalp-notification-preview,
.besalp-notification-test {
    display: grid;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: #f8fafc;
}

.besalp-notification-placeholders {
    display: grid;
    gap: var(--besalp-space-2);
}

.besalp-notification-placeholders h4,
.besalp-notification-preview h4,
.besalp-notification-test h4 {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 15px;
}

.besalp-notification-placeholders > div {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
}

.besalp-notification-placeholder {
    display: inline-grid;
    gap: 2px;
    padding: var(--besalp-space-2) var(--besalp-space-3);
    border: 1px solid #cdd9e7;
    border-radius: 8px;
    background: #ffffff;
}

.besalp-notification-placeholder code {
    color: var(--besalp-color-brand);
    font-weight: 800;
}

.besalp-notification-placeholder small {
    color: var(--besalp-color-muted);
}

.besalp-notification-preview pre {
    max-height: 260px;
    margin: 0;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    color: var(--besalp-color-ink);
    font: inherit;
    line-height: 1.5;
}

.besalp-notification-test .besalp-settings-form {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
}

.besalp-notification-footer {
    justify-content: space-between;
}

.besalp-notification-reset-action {
    min-width: 0;
}

.besalp-notification-reset-action form {
    margin: 0;
}

.besalp-settings-suite-nav-icon-document-types {
    mask-image: url("../icons/document-types.svg");
    -webkit-mask-image: url("../icons/document-types.svg");
}

.besalp-settings-suite-nav-icon-upload-rules {
    mask-image: url("../icons/upload-rules.svg");
    -webkit-mask-image: url("../icons/upload-rules.svg");
}

.besalp-settings-suite-nav-icon-retention {
    mask-image: url("../icons/retention.svg");
    -webkit-mask-image: url("../icons/retention.svg");
}

.besalp-settings-suite-nav-icon-booking-rule-templates {
    mask-image: url("../icons/booking-rule-templates.svg");
    -webkit-mask-image: url("../icons/booking-rule-templates.svg");
}

.besalp-settings-suite-nav-icon-self-learning {
    mask-image: url("../icons/self-learning.svg");
    -webkit-mask-image: url("../icons/self-learning.svg");
}

.besalp-settings-suite-nav-icon-jobs {
    mask-image: url("../icons/jobs.svg");
    -webkit-mask-image: url("../icons/jobs.svg");
}

.besalp-settings-suite-nav-item:hover {
    background: #f4f8ff;
}

.besalp-settings-suite-nav-group-trigger:hover {
    background: #f4f8ff;
}

.besalp-settings-suite-nav-item-active {
    background: #eef6ff;
    color: var(--besalp-color-ink);
}

.besalp-settings-content {
    display: flex;
    flex-direction: column;
    gap: var(--besalp-space-4);
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.besalp-settings-content > .besalp-section {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-top: 0;
}

.besalp-settings-content > * {
    min-width: 0;
}

.besalp-settings-suite-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--besalp-space-5);
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: var(--besalp-space-6);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-settings-suite-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-3);
    justify-self: end;
    width: min(320px, 100%);
}

.besalp-settings-suite-metrics div {
    display: grid;
    justify-items: center;
    gap: var(--besalp-space-1);
    min-width: 0;
    padding: var(--besalp-space-3);
    background: #f8fafc;
    border: 1px solid #e8eef6;
    border-radius: 6px;
    text-align: center;
}

.besalp-settings-suite-metrics span {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
}

.besalp-settings-suite-metrics strong {
    color: var(--besalp-color-ink);
    font-size: 24px;
    line-height: 1;
}

.besalp-settings-suite-section {
    margin-top: 0;
    padding: var(--besalp-space-5);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
    box-shadow: var(--besalp-shadow-surface);
    scroll-margin-top: var(--besalp-space-6);
}

.besalp-settings-grouped-map {
    display: grid;
    gap: var(--besalp-space-5);
}

.besalp-settings-map-group {
    display: grid;
    gap: var(--besalp-space-3);
    min-width: 0;
}

.besalp-settings-map-group-head {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-2);
    min-width: 0;
    color: var(--besalp-color-ink);
}

.besalp-settings-map-group-head .besalp-settings-suite-nav-icon {
    color: var(--besalp-color-muted);
}

.besalp-settings-prepared-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-4);
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.besalp-settings-prepared-card {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--besalp-space-3);
    min-width: 0;
    color: var(--besalp-color-ink);
    text-decoration: none;
}

.besalp-settings-prepared-icon {
    width: 22px;
    height: 22px;
    color: var(--besalp-color-brand);
    background: currentColor;
    margin-top: 3px;
}

.besalp-settings-prepared-card {
    padding: var(--besalp-space-4);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-settings-prepared-card:hover {
    border-color: #cbd8ea;
    background: #fbfdff;
}

.besalp-settings-table-list {
    display: block;
    margin-top: var(--besalp-space-2);
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.besalp-settings-state {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
    color: var(--besalp-color-muted);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.besalp-settings-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--besalp-space-4);
    padding: var(--besalp-space-5);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-drawer-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-content: start;
}

.besalp-form-section-title {
    margin: 0;
    color: var(--besalp-color-muted);
    font-size: var(--besalp-font-size-xs);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.besalp-form-section-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--besalp-space-4);
}

.besalp-form-fieldset {
    grid-column: 1 / -1;
    display: grid;
    gap: var(--besalp-space-3);
    min-inline-size: 0;
    width: 100%;
    margin: 0;
    padding: var(--besalp-space-2) 0 0;
    border: 0;
}

.besalp-form-fieldset + .besalp-form-fieldset {
    margin-top: var(--besalp-space-3);
    padding-top: var(--besalp-space-4);
    border-top: 1px solid var(--besalp-color-line);
}

.besalp-form-fieldset-title {
    width: 100%;
    margin: 0 0 var(--besalp-space-3);
    padding: 0;
    color: var(--besalp-color-muted);
    font-size: var(--besalp-font-size-xs);
    font-weight: 700;
    letter-spacing: 0;
    text-align: left;
    text-transform: uppercase;
}

.besalp-form-fieldset-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--besalp-space-4);
    min-width: 0;
}

.besalp-form-fieldset-wide {
    grid-column: 1 / -1;
}

.besalp-form-fieldset-span-2 {
    grid-column: span 2;
}

.besalp-form-fieldset-grid > .besalp-checkbox-group {
    align-self: end;
}

.besalp-form-fieldset-grid > .besalp-form-section-grid,
.besalp-form-fieldset-grid > .besalp-checkbox-group {
    grid-column: 1 / -1;
}

.besalp-role-permission-list {
    grid-column: 1 / -1;
    display: grid;
}

.besalp-role-permission-group {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
    gap: var(--besalp-space-4);
    align-items: start;
    padding: var(--besalp-space-3) 0;
}

.besalp-role-permission-group:first-child {
    padding-top: 0;
}

.besalp-role-permission-group + .besalp-role-permission-group {
    border-top: 1px solid var(--besalp-color-line);
}

.besalp-role-permission-title {
    margin: 10px 0 0;
}

.besalp-role-permission-group .besalp-checkbox-option {
    min-height: 36px;
    padding: 0 var(--besalp-space-2);
    font-size: 14px;
}

.besalp-settings-vat-form {
    grid-template-columns: minmax(120px, 0.55fr) minmax(160px, 0.8fr) minmax(0, 1.4fr) minmax(0, 1.4fr);
}

.besalp-drawer-form select.besalp-form-control {
    min-width: 0;
    text-overflow: ellipsis;
}

.besalp-settings-form-actions {
    grid-column: 1 / -1;
}

.besalp-settings-form-wide {
    grid-column: 1 / -1;
}

.besalp-numbering-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
    gap: var(--besalp-space-4);
}

.besalp-form-field-compact {
    max-width: 180px;
}

.besalp-settings-provider-form {
    margin-top: var(--besalp-space-4);
}

.besalp-settings-detail-panel {
    display: grid;
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
    gap: var(--besalp-space-4);
    align-items: start;
    margin-top: var(--besalp-space-4);
    padding: var(--besalp-space-4);
    background: #fbfdff;
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-settings-detail-kicker {
    display: block;
    margin-bottom: var(--besalp-space-1);
    color: var(--besalp-color-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.besalp-settings-detail-panel .besalp-module-title {
    margin-bottom: var(--besalp-space-1);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.besalp-settings-detail-panel .besalp-card-text {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.besalp-settings-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--besalp-space-3);
    margin: 0;
}

.besalp-settings-detail-grid div {
    min-width: 0;
}

.besalp-settings-detail-grid dt {
    color: var(--besalp-color-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.besalp-settings-detail-grid dd {
    margin: var(--besalp-space-1) 0 0;
    color: var(--besalp-color-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.besalp-settings-linked-list {
    grid-column: 1 / -1;
    min-width: 0;
}

.besalp-settings-linked-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--besalp-space-2);
    margin: var(--besalp-space-2) 0 0;
    padding: 0;
    list-style: none;
}

.besalp-settings-linked-items li {
    min-width: 0;
    padding: var(--besalp-space-2);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: #ffffff;
}

.besalp-settings-linked-name {
    display: block;
    color: var(--besalp-color-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.besalp-settings-linked-meta {
    display: block;
    margin-top: 2px;
    color: var(--besalp-color-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.besalp-drawer {
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(1440px, calc(100vw - 24px));
    height: 100vh;
    max-height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    grid-template-rows: auto minmax(0, 1fr) auto;
    transform: none;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 1px solid var(--besalp-color-line);
    border-radius: 0;
    box-shadow: -18px 0 48px rgba(25, 23, 53, 0.18);
    animation: besalp-drawer-in 160ms ease-out;
}

.besalp-drawer-with-tabs {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.besalp-drawer-backdrop {
    background: rgba(15, 23, 42, 0.14);
}

.besalp-drawer-workspace {
    display: grid;
    grid-template-columns: minmax(360px, 48%) minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--besalp-color-page);
}

.besalp-drawer-mobile-switch {
    display: none;
}

.besalp-drawer-preview,
.besalp-drawer-editor {
    min-width: 0;
    min-height: 0;
}

.besalp-drawer-preview {
    overflow: hidden;
    padding: var(--besalp-space-4);
    border-right: 1px solid var(--besalp-color-line);
    background: var(--besalp-color-page);
}

.besalp-drawer-editor {
    display: flex;
    flex-direction: column;
    overflow: auto;
    background: var(--besalp-color-surface);
}

.besalp-drawer-editor > .besalp-modal-tabs {
    flex: 0 0 auto;
}

.besalp-drawer-editor > .besalp-modal-body,
.besalp-drawer-workspace > form.besalp-drawer-editor {
    flex: 1 1 auto;
}

.besalp-document-preview {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: var(--besalp-space-3);
    height: 100%;
    min-height: 0;
}

.besalp-document-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.besalp-document-preview-frame {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: #ffffff;
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-document-preview-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

.besalp-document-preview-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: var(--besalp-space-2);
    min-height: 280px;
    padding: var(--besalp-space-5);
    color: var(--besalp-color-muted);
    text-align: center;
    border: 1px dashed var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: #ffffff;
}

.besalp-document-preview-empty strong {
    color: var(--besalp-color-ink);
}

.besalp-document-preview-evidence {
    align-self: start;
    overflow: auto;
}

@keyframes besalp-drawer-in {
    from {
        transform: translateX(24px);
    }

    to {
        transform: translateX(0);
    }
}

.besalp-settings-master-table .besalp-data-table {
    min-width: 980px;
}

.besalp-settings-master-table {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.besalp-data-table-row-selected > td {
    background: #eef6ff;
}

.besalp-data-table tr[data-besalp-row-href] {
    cursor: pointer;
}

.besalp-data-table tr[data-besalp-row-href]:hover > td {
    background: #f4f8ff;
}

.besalp-account-tree-row td {
    background: #f8fafc;
    border-bottom-color: #e5e7eb;
    color: #111827;
    font-weight: 700;
}

.besalp-account-tree-type td {
    background: #eef6ff;
    font-weight: 700;
}

.besalp-account-tree-group td {
    background: #f6f8fb;
    font-weight: 700;
}

.besalp-account-tree-subgroup td {
    background: #ffffff;
    font-weight: 700;
}

.besalp-account-tree-node {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    position: relative;
    font-weight: 700;
}

.besalp-account-tree-group .besalp-account-tree-node {
    padding-left: 28px;
}

.besalp-account-tree-subgroup .besalp-account-tree-node {
    padding-left: 64px;
}

.besalp-account-tree-account td:first-child {
    position: relative;
}

.besalp-account-tree-account td:first-child::before {
    content: "";
    position: absolute;
    left: 76px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #d8dee8;
}

.besalp-account-tree-account td:first-child::after {
    content: "";
    position: absolute;
    left: 76px;
    top: 50%;
    width: 18px;
    height: 1px;
    background: #d8dee8;
}

.besalp-account-tree-account td > .besalp-table-cell-clickable {
    padding-left: 104px;
    font-weight: 400;
}

.besalp-account-tree-account td {
    font-weight: 400;
}

.besalp-account-tree-account td,
.besalp-account-tree-account .besalp-table-cell-clickable,
.besalp-account-tree-account .besalp-table-cell-link {
    font-weight: 400;
}

.besalp-account-tree-account-code {
    font-variant-numeric: tabular-nums;
    font-weight: 400;
}

.besalp-data-table .besalp-table-drag-column {
    width: 44px;
    min-width: 44px;
    padding-left: 10px;
    padding-right: 6px;
    text-align: center;
}

.besalp-drag-handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.besalp-drag-handle:hover,
.besalp-drag-handle:focus-visible {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #1f2937;
    outline: none;
}

.besalp-drag-handle:active {
    cursor: grabbing;
}

.besalp-drag-handle span {
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask-image: url("../icons/action-drag.svg");
    mask-image: url("../icons/action-drag.svg");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.besalp-sortable-row-dragging > td {
    background: #eef6ff;
    opacity: 0.72;
}

.besalp-sortable-placeholder > td {
    position: relative;
    padding: 0;
    border-top: 2px solid #2f80ed;
    border-bottom: 2px solid #bfdbfe;
    background: linear-gradient(180deg, #f8fbff 0%, #eaf4ff 100%);
    box-shadow: inset 0 0 0 1px #d6e9ff;
}

.besalp-sortable-placeholder > td::after {
    position: absolute;
    top: 50%;
    left: 16px;
    right: 16px;
    height: 2px;
    border-radius: 999px;
    background: #2f80ed;
    content: "";
    transform: translateY(-50%);
}

.besalp-sortable-ghost {
    position: fixed;
    z-index: 1200;
    border-collapse: collapse;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.24);
    opacity: 0.96;
    pointer-events: none;
    table-layout: fixed;
}

.besalp-sortable-ghost-row > td {
    background: #ffffff;
    border-top: 1px solid #dbeafe;
    border-bottom: 1px solid #dbeafe;
}

.besalp-sortable-active {
    cursor: grabbing;
}

.besalp-sortable-active .besalp-drag-handle {
    cursor: grabbing;
}

.besalp-sortable-body-dragging {
    cursor: grabbing;
    user-select: none;
}

.besalp-sortable-saving {
    opacity: 0.72;
}

#tax-config .besalp-settings-master-table .besalp-data-table {
    min-width: 1320px;
}

.besalp-settings-edit-table .besalp-form-control {
    min-height: 34px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.besalp-settings-edit-table .besalp-form-control[readonly] {
    background: #f8fafc;
    color: var(--besalp-color-muted);
}

.besalp-settings-code-input {
    max-width: 90px;
    text-transform: uppercase;
}

.besalp-settings-number-input {
    max-width: 110px;
}

.besalp-settings-new-row td {
    background: #fbfdff;
}

.besalp-modal .besalp-settings-form {
    align-content: start;
    margin: 0;
    border: 0;
    border-radius: 0;
}

.besalp-modal .besalp-account-form,
.besalp-modal .besalp-cost-center-form,
.besalp-modal .besalp-bank-account-form,
.besalp-modal .besalp-credit-card-form {
    align-content: start;
    gap: var(--besalp-space-4);
}

.besalp-modal .besalp-bank-account-form,
.besalp-modal .besalp-credit-card-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.besalp-modal .besalp-settings-provider-form {
    margin-top: 0;
}

.besalp-modal .besalp-tenant-email-identity-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: var(--besalp-space-5);
    margin-top: 0;
}

.besalp-settings-empty-state {
    display: grid;
    justify-items: center;
    gap: var(--besalp-space-2);
    text-align: center;
}

.besalp-compact-list {
    display: grid;
    gap: var(--besalp-space-2);
    margin: 0;
    padding-top: var(--besalp-space-3);
    border-top: 1px solid var(--besalp-color-line);
}

.besalp-compact-list div {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: var(--besalp-space-3);
}

.besalp-compact-list dt {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.besalp-compact-list dd {
    min-width: 0;
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.besalp-dashboard-meta {
    max-width: none;
    margin-top: var(--besalp-space-6);
}

.besalp-account-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.35fr) minmax(0, 0.65fr);
    gap: var(--besalp-space-4);
    align-items: start;
}

.besalp-account-profile-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: var(--besalp-space-4);
    max-width: none;
}

.besalp-account-avatar-large {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 14px;
    background: var(--besalp-color-brand);
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
}

.besalp-account-profile-text {
    display: grid;
    min-width: 0;
    gap: var(--besalp-space-1);
}

.besalp-account-profile-text strong {
    overflow: hidden;
    font-size: 18px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-account-profile-text span {
    color: var(--besalp-color-muted);
}

.besalp-account-security-card {
    max-width: none;
}

.besalp-account-grid > .besalp-card {
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-empty-state {
    padding: var(--besalp-space-6);
    background: var(--besalp-color-surface);
    border: 1px dashed var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-empty-state-action {
    margin-top: var(--besalp-space-4);
}

.besalp-table-wrap {
    overflow-x: auto;
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
}

.besalp-data-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.besalp-data-table th,
.besalp-data-table td {
    padding: var(--besalp-space-3) var(--besalp-space-4);
    border-bottom: 1px solid var(--besalp-color-line);
    text-align: left;
    vertical-align: middle;
}

.besalp-data-table td {
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 400;
}

.besalp-data-table th {
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--besalp-color-surface);
}

.besalp-data-table .besalp-table-actions-column {
    position: sticky;
    right: 0;
    z-index: 3;
    width: 96px;
    min-width: 96px;
    background: var(--besalp-color-surface);
    box-shadow: -1px 0 0 var(--besalp-color-line), -10px 0 16px rgba(255, 255, 255, 0.92);
}

.besalp-evidence-assignment-table-wrap {
    max-height: min(56vh, 620px);
    overflow: auto;
}

.besalp-evidence-assignment-table {
    min-width: 720px;
    table-layout: fixed;
}

.besalp-evidence-assignment-select {
    width: 84px;
}

.besalp-evidence-assignment-date {
    width: 150px;
}

.besalp-evidence-assignment-amount {
    width: 170px;
}

.besalp-evidence-assignment-row {
    cursor: pointer;
    transition: background-color 120ms ease;
}

.besalp-evidence-assignment-row:hover,
.besalp-evidence-assignment-row:focus-visible {
    background: #f8fafc;
    outline: none;
}

.besalp-evidence-assignment-row:has(input[type="radio"]:checked) {
    background: #eef5ff;
    box-shadow: inset 3px 0 0 var(--besalp-color-brand);
}

.besalp-evidence-assignment-row td:first-child,
.besalp-evidence-assignment-row th:first-child {
    text-align: center;
}

.besalp-data-table th.besalp-table-actions-column {
    z-index: 5;
}

.besalp-data-table tr:last-child td {
    border-bottom: 0;
}

.besalp-table-row-active td {
    background: #f8fafc;
}

.besalp-table-row-active .besalp-table-actions-column {
    background: #f8fafc;
}

.besalp-data-table tbody tr:hover td {
    background: #f8fafc;
}

.besalp-data-table tbody tr:hover .besalp-table-actions-column {
    background: #f8fafc;
}

.besalp-table-cell-main {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    gap: var(--besalp-space-2);
}

.besalp-table-cell-stack,
.besalp-table-cell-ref {
    display: grid;
    gap: var(--besalp-space-1);
    min-width: 0;
}

.besalp-table-cell-meta,
.besalp-table-cell-subtext,
.besalp-table-cell-ref span {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
}

.besalp-document-currency-meta {
    display: grid;
    gap: 2px;
    margin-top: var(--besalp-space-1);
}

.besalp-table-cell-subtext {
    display: block;
}

.besalp-table-cell-value {
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.besalp-table-cell-link {
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.besalp-table-cell-link:hover,
.besalp-table-cell-clickable:hover .besalp-table-cell-link {
    text-decoration: underline;
}

.besalp-inline-action {
    color: var(--besalp-color-brand);
    font-weight: 700;
    margin-left: var(--besalp-space-2);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.besalp-table-cell-clickable {
    display: block;
    color: inherit;
    text-decoration: none;
}

.besalp-data-table td:has(> .besalp-table-cell-clickable) {
    padding: 0;
}

.besalp-data-table td > .besalp-table-cell-clickable {
    padding: var(--besalp-space-3) var(--besalp-space-4);
}

.besalp-data-table .besalp-account-tree-account td:first-child {
    padding: 0;
}

.besalp-data-table .besalp-account-tree-account td:first-child::before {
    left: 104px;
}

.besalp-data-table .besalp-account-tree-account td:first-child::after {
    left: 104px;
    width: 24px;
}

.besalp-data-table .besalp-account-tree-account td > .besalp-table-cell-clickable {
    align-items: center;
    display: inline-flex;
    gap: var(--besalp-space-5);
    padding-left: 140px;
    font-weight: 400;
}

.besalp-account-tree-account-name {
    color: #1f2937;
    font-weight: 400;
}

.besalp-table-cell-clickable .besalp-table-cell-main,
.besalp-table-cell-clickable .besalp-table-cell-stack {
    width: 100%;
}

.besalp-table-cell-main .besalp-table-cell-stack {
    overflow: hidden;
}

.besalp-table-cell-main .besalp-table-cell-link {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    margin-bottom: var(--besalp-space-4);
}

.besalp-toolbar-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
}

.besalp-toolbar-actions form {
    display: inline-flex;
    margin: 0;
}

.besalp-toolbar-upload {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.besalp-toolbar-upload .besalp-button {
    cursor: pointer;
}

.besalp-upload-manager {
    display: grid;
    gap: var(--besalp-space-3);
    margin-bottom: var(--besalp-space-4);
    padding: var(--besalp-space-4);
    border: 1px solid #bfdbfe;
    border-radius: var(--besalp-radius-sm);
    background: #eff6ff;
    box-shadow: 0 10px 24px rgba(15, 140, 255, 0.08);
}

.besalp-upload-manager[hidden] {
    display: none;
}

.besalp-upload-manager-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
}

.besalp-upload-progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #eef2f7;
}

.besalp-upload-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--besalp-color-brand);
    transition: width 160ms ease;
}

.besalp-upload-list {
    display: grid;
    gap: var(--besalp-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.besalp-upload-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-3);
    min-width: 0;
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-upload-list span:first-child {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-upload-remove {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--besalp-color-muted);
    cursor: pointer;
}

.besalp-upload-remove::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    margin: 6px auto;
    background: currentColor;
    -webkit-mask: url("../icons/action-cancel.svg") center / contain no-repeat;
    mask: url("../icons/action-cancel.svg") center / contain no-repeat;
}

.besalp-upload-remove:hover {
    color: var(--besalp-color-danger);
}

.besalp-upload-modal-layer[hidden] {
    display: none;
}

.besalp-upload-dropzone {
    position: relative;
    display: grid;
    justify-items: start;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-5);
    border: 1px dashed var(--besalp-color-line);
    border-radius: var(--besalp-radius-sm);
    background: #f8fafc;
    overflow: hidden;
}

.besalp-upload-dropzone::before {
    content: "";
    position: absolute;
    right: var(--besalp-space-6);
    bottom: var(--besalp-space-4);
    width: 96px;
    height: 96px;
    background: var(--besalp-color-brand);
    opacity: 0.08;
    -webkit-mask: url("../icons/action-upload.svg") center / contain no-repeat;
    mask: url("../icons/action-upload.svg") center / contain no-repeat;
    pointer-events: none;
}

.besalp-upload-dropzone > * {
    position: relative;
    z-index: 1;
}

.besalp-table-heading-filter {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-1);
    min-width: 0;
}

.besalp-table-sort-link {
    color: inherit;
    text-decoration: none;
}

.besalp-table-sort-link:hover {
    color: var(--besalp-color-brand);
}

.besalp-filter-menu {
    position: relative;
    display: inline-flex;
}

.besalp-filter-menu summary {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--besalp-color-muted);
    cursor: pointer;
    list-style: none;
}

.besalp-filter-menu summary:hover,
.besalp-filter-menu[open] summary {
    border-color: var(--besalp-color-line);
    background: #ffffff;
    color: var(--besalp-color-ink);
}

.besalp-filter-menu-active summary {
    color: var(--besalp-color-brand);
}

.besalp-filter-menu summary::-webkit-details-marker {
    display: none;
}

.besalp-icon {
    width: 15px;
    height: 15px;
    display: block;
    background: currentColor;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.besalp-icon-filter {
    mask-image: url("../icons/filter.svg");
    -webkit-mask-image: url("../icons/filter.svg");
}

.besalp-filter-menu-active .besalp-icon-filter {
    mask-image: url("../icons/filter-active.svg");
    -webkit-mask-image: url("../icons/filter-active.svg");
}

.besalp-icon-more-horizontal {
    mask-image: url("../icons/more-horizontal.svg");
    -webkit-mask-image: url("../icons/more-horizontal.svg");
}

.besalp-icon-close {
    mask-image: url("../icons/close.svg");
    -webkit-mask-image: url("../icons/close.svg");
}

.besalp-filter-menu-list {
    position: absolute;
    top: calc(100% + var(--besalp-space-1));
    right: 0;
    z-index: 3000;
    display: grid;
    min-width: 210px;
    padding: var(--besalp-space-1);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(17, 24, 39, 0.14);
}

.besalp-filter-menu-list-wide {
    min-width: 260px;
}

.besalp-filter-menu-list a {
    display: block;
    width: 100%;
    padding: var(--besalp-space-2) var(--besalp-space-3);
    border-radius: 5px;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.besalp-filter-menu-list a:hover,
.besalp-filter-option-active {
    background: #f8fafc;
}

.besalp-filter-option-active {
    color: var(--besalp-color-brand) !important;
}

.besalp-filter-menu-form {
    display: grid;
    gap: var(--besalp-space-2);
    margin: var(--besalp-space-1) 0 0;
    padding: var(--besalp-space-2);
    border-top: 1px solid var(--besalp-color-line);
}

.besalp-filter-menu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--besalp-space-2);
}

.besalp-filter-menu-label {
    display: block;
    margin-bottom: 4px;
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
}

.besalp-filter-menu-control {
    width: 100%;
    min-height: 34px;
    padding: 0 var(--besalp-space-2);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--besalp-color-ink);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
}

.besalp-filter-menu-control[type="date"] {
    color: var(--besalp-color-ink);
    color-scheme: light;
    font-family: var(--besalp-font-ui);
    font-size: 13px;
    font-weight: 700;
    opacity: 1;
}

.besalp-filter-menu-control[type="date"]::-webkit-datetime-edit,
.besalp-filter-menu-control[type="date"]::-webkit-datetime-edit-fields-wrapper,
.besalp-filter-menu-control[type="date"]::-webkit-datetime-edit-text,
.besalp-filter-menu-control[type="date"]::-webkit-datetime-edit-month-field,
.besalp-filter-menu-control[type="date"]::-webkit-datetime-edit-day-field,
.besalp-filter-menu-control[type="date"]::-webkit-datetime-edit-year-field {
    color: var(--besalp-color-ink);
    font-family: var(--besalp-font-ui);
}

#auditor-booking-date-from,
#auditor-booking-date-to,
#auditor-file-date-from,
#auditor-file-date-to {
    color: var(--besalp-color-ink) !important;
    font-family: var(--besalp-font-ui) !important;
    -webkit-text-fill-color: var(--besalp-color-ink);
}

#auditor-booking-date-from::-webkit-datetime-edit,
#auditor-booking-date-from::-webkit-datetime-edit-fields-wrapper,
#auditor-booking-date-from::-webkit-datetime-edit-text,
#auditor-booking-date-from::-webkit-datetime-edit-month-field,
#auditor-booking-date-from::-webkit-datetime-edit-day-field,
#auditor-booking-date-from::-webkit-datetime-edit-year-field,
#auditor-booking-date-to::-webkit-datetime-edit,
#auditor-booking-date-to::-webkit-datetime-edit-fields-wrapper,
#auditor-booking-date-to::-webkit-datetime-edit-text,
#auditor-booking-date-to::-webkit-datetime-edit-month-field,
#auditor-booking-date-to::-webkit-datetime-edit-day-field,
#auditor-booking-date-to::-webkit-datetime-edit-year-field,
#auditor-file-date-from::-webkit-datetime-edit,
#auditor-file-date-from::-webkit-datetime-edit-fields-wrapper,
#auditor-file-date-from::-webkit-datetime-edit-text,
#auditor-file-date-from::-webkit-datetime-edit-month-field,
#auditor-file-date-from::-webkit-datetime-edit-day-field,
#auditor-file-date-from::-webkit-datetime-edit-year-field,
#auditor-file-date-to::-webkit-datetime-edit,
#auditor-file-date-to::-webkit-datetime-edit-fields-wrapper,
#auditor-file-date-to::-webkit-datetime-edit-text,
#auditor-file-date-to::-webkit-datetime-edit-month-field,
#auditor-file-date-to::-webkit-datetime-edit-day-field,
#auditor-file-date-to::-webkit-datetime-edit-year-field {
    color: var(--besalp-color-ink) !important;
    font-family: var(--besalp-font-ui) !important;
    -webkit-text-fill-color: var(--besalp-color-ink);
}

.besalp-filter-menu-control[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0.72;
}

.besalp-action-menu {
    position: relative;
    display: inline-flex;
}

.besalp-table-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
}

.besalp-table-actions > .besalp-action-menu {
    order: 2;
}

.besalp-table-actions > .besalp-quick-action {
    order: 1;
}

.besalp-quick-action,
.besalp-record-lock-button,
.besalp-drawer-lock-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--besalp-color-ink);
    cursor: pointer;
    transition: color 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.besalp-quick-action:hover,
.besalp-quick-action:focus-visible {
    border-color: #a8c8ff;
    background: #eef5ff;
    color: var(--besalp-color-brand);
    outline: none;
}

.besalp-quick-action::before,
.besalp-record-lock-button::before,
.besalp-drawer-lock-button::before {
    width: 18px;
    height: 18px;
    background: currentColor;
    content: "";
    mask: var(--besalp-action-icon) center / contain no-repeat;
    -webkit-mask: var(--besalp-action-icon) center / contain no-repeat;
}

.besalp-quick-action-preview {
    --besalp-action-icon: url("../icons/action-preview.svg");
}

.besalp-quick-action-evidence {
    --besalp-action-icon: url("../icons/action-properties.svg");
}

.besalp-quick-action-movements {
    --besalp-action-icon: url("../icons/action-movements.svg");
}

.besalp-quick-action-edit {
    --besalp-action-icon: url("../icons/action-edit.svg");
}

.besalp-quick-action-review {
    --besalp-action-icon: url("../icons/review.svg");
}

.besalp-quick-action-download {
    --besalp-action-icon: url("../icons/action-download.svg");
}

.besalp-record-lock-button,
.besalp-drawer-lock-button {
    --besalp-action-icon: url("../icons/action-lock.svg");
    border-color: #f0c66a;
    background: #fff8e6;
    color: #9a6500;
}

.besalp-record-lock-button:hover,
.besalp-record-lock-button:focus-visible,
.besalp-drawer-lock-button:hover,
.besalp-drawer-lock-button:focus-visible {
    border-color: #d9a52f;
    background: #fff1c7;
    outline: none;
}

.besalp-drawer-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.besalp-record-lock-lost {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    padding: var(--besalp-space-5);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(2px);
}

.besalp-record-lock-lost[hidden] {
    display: none;
}

.besalp-record-lock-lost-card {
    max-width: 520px;
}

.besalp-action-menu summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--besalp-color-ink);
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    list-style: none;
}

.besalp-action-menu summary::-webkit-details-marker {
    display: none;
}

.besalp-action-menu-list {
    position: absolute;
    top: calc(100% + var(--besalp-space-1));
    right: 0;
    z-index: 4300;
    display: grid;
    min-width: 170px;
    padding: var(--besalp-space-1);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(17, 24, 39, 0.14);
}

.besalp-action-menu-list a,
.besalp-action-menu-list button,
.besalp-action-menu-disabled {
    display: flex;
    align-items: center;
    gap: var(--besalp-space-2);
    width: 100%;
    padding: var(--besalp-space-2) var(--besalp-space-3);
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--besalp-color-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
}

.besalp-menu-icon {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.besalp-menu-icon-edit {
    -webkit-mask-image: url("../icons/action-edit.svg");
    mask-image: url("../icons/action-edit.svg");
}

.besalp-menu-icon-properties {
    -webkit-mask-image: url("../icons/action-properties.svg");
    mask-image: url("../icons/action-properties.svg");
}

.besalp-menu-icon-new {
    -webkit-mask-image: url("../icons/action-new.svg");
    mask-image: url("../icons/action-new.svg");
}

.besalp-menu-icon-sync {
    -webkit-mask-image: url("../icons/action-sync.svg");
    mask-image: url("../icons/action-sync.svg");
}

.besalp-menu-icon-activate {
    -webkit-mask-image: url("../icons/action-activate.svg");
    mask-image: url("../icons/action-activate.svg");
}

.besalp-menu-icon-deactivate {
    -webkit-mask-image: url("../icons/action-deactivate.svg");
    mask-image: url("../icons/action-deactivate.svg");
}

.besalp-menu-icon-account-plan {
    -webkit-mask-image: url("../icons/account-plan.svg");
    mask-image: url("../icons/account-plan.svg");
}

.besalp-menu-icon-open {
    -webkit-mask-image: url("../icons/tenants.svg");
    mask-image: url("../icons/tenants.svg");
}

.besalp-menu-icon-preview {
    -webkit-mask-image: url("../icons/action-preview.svg");
    mask-image: url("../icons/action-preview.svg");
}

.besalp-menu-icon-evidence {
    -webkit-mask-image: url("../icons/action-properties.svg");
    mask-image: url("../icons/action-properties.svg");
}

.besalp-menu-icon-save {
    -webkit-mask-image: url("../icons/action-save.svg");
    mask-image: url("../icons/action-save.svg");
}

.besalp-menu-icon-copy {
    -webkit-mask-image: url("../icons/action-copy.svg");
    mask-image: url("../icons/action-copy.svg");
}

.besalp-menu-icon-booking {
    -webkit-mask-image: url("../icons/action-booking.svg");
    mask-image: url("../icons/action-booking.svg");
}

.besalp-menu-icon-review {
    -webkit-mask-image: url("../icons/review.svg");
    mask-image: url("../icons/review.svg");
}

.besalp-menu-icon-movements {
    -webkit-mask-image: url("../icons/action-movements.svg");
    mask-image: url("../icons/action-movements.svg");
}

.besalp-menu-icon-extract {
    -webkit-mask-image: url("../icons/action-extract.svg");
    mask-image: url("../icons/action-extract.svg");
}

.besalp-menu-icon-import {
    -webkit-mask-image: url("../icons/action-import.svg");
    mask-image: url("../icons/action-import.svg");
}

.besalp-menu-icon-download {
    -webkit-mask-image: url("../icons/action-download.svg");
    mask-image: url("../icons/action-download.svg");
}

.besalp-menu-icon-history {
    -webkit-mask-image: url("../icons/info.svg");
    mask-image: url("../icons/info.svg");
}

.besalp-menu-icon-move {
    -webkit-mask-image: url("../icons/action-move.svg");
    mask-image: url("../icons/action-move.svg");
}

.besalp-menu-icon-delete {
    -webkit-mask-image: url("../icons/action-delete.svg");
    mask-image: url("../icons/action-delete.svg");
}

.besalp-menu-icon-delete-final {
    -webkit-mask-image: url("../icons/action-delete-final.svg");
    mask-image: url("../icons/action-delete-final.svg");
}

.besalp-menu-icon-revoke {
    -webkit-mask-image: url("../icons/action-revoke.svg");
    mask-image: url("../icons/action-revoke.svg");
}

.besalp-menu-icon-email {
    -webkit-mask-image: url("../icons/mail.svg");
    mask-image: url("../icons/mail.svg");
}

.besalp-menu-icon-invalid {
    -webkit-mask-image: url("../icons/action-invalid.svg");
    mask-image: url("../icons/action-invalid.svg");
}

.besalp-menu-icon-ignore {
    -webkit-mask-image: url("../icons/action-ignore.svg");
    mask-image: url("../icons/action-ignore.svg");
}

.besalp-menu-icon-restore {
    -webkit-mask-image: url("../icons/action-restore.svg");
    mask-image: url("../icons/action-restore.svg");
}

.besalp-action-menu-list form {
    margin: 0;
}

.besalp-action-menu-list button {
    cursor: pointer;
}

.besalp-action-menu-list a:hover,
.besalp-action-menu-list button:hover {
    background: #f8fafc;
}

.besalp-action-menu-text-danger {
    color: #b91c1c;
}

.besalp-action-menu-disabled {
    color: var(--besalp-color-muted);
    cursor: not-allowed;
    opacity: 0.65;
}

.besalp-ajax-busy {
    cursor: progress;
}

.besalp-ajax-busy button,
.besalp-ajax-busy input,
.besalp-ajax-busy select,
.besalp-ajax-busy textarea {
    cursor: progress;
}

.besalp-description-list {
    display: grid;
    gap: var(--besalp-space-3);
    margin: 0;
}

.besalp-description-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: var(--besalp-space-4);
}

.besalp-description-row dt {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.besalp-description-row dd {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.besalp-file-manager {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: var(--besalp-space-5);
}

.besalp-file-manager-fullscreen {
    grid-template-columns: minmax(0, 1fr);
}

.besalp-file-sidebar,
.besalp-file-content {
    min-width: 0;
    padding: var(--besalp-space-5);
    background: var(--besalp-color-surface);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-file-content-fullscreen {
    padding: var(--besalp-space-5);
}

.besalp-tenant-workspace-main .besalp-file-content-fullscreen {
    padding: 0;
    border: 0;
    background: transparent;
}

.besalp-file-content .besalp-table-wrap {
    border: 0;
    border-radius: 0;
}

.besalp-file-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--besalp-space-5);
    align-items: start;
}

.besalp-file-list-wrap {
    max-height: 72vh;
    overflow: auto;
    scrollbar-gutter: stable;
}

.besalp-file-list-wrap.besalp-file-list-menu-open {
    overflow: auto;
}

.besalp-file-list-table {
    min-width: 980px;
}

.besalp-file-list-table th,
.besalp-file-list-table td {
    padding: 10px var(--besalp-space-3);
}

.besalp-file-list-table th:first-child,
.besalp-file-list-table td:first-child {
    width: 36%;
}

.besalp-file-list-table th:nth-child(2),
.besalp-file-list-table td:nth-child(2) {
    width: 16%;
}

.besalp-file-list-table th:nth-child(3),
.besalp-file-list-table td:nth-child(3) {
    width: 10%;
}

.besalp-file-list-table th:nth-child(4),
.besalp-file-list-table td:nth-child(4),
.besalp-file-list-table th:nth-child(5),
.besalp-file-list-table td:nth-child(5) {
    width: 13%;
}

.besalp-file-list-table th:nth-child(6),
.besalp-file-list-table td:nth-child(6) {
    width: 12%;
}

.besalp-file-list-table .besalp-table-cell-main {
    align-items: center;
}

.besalp-file-list-table .besalp-file-icon {
    width: 16px;
    height: 16px;
}

.besalp-file-list-table .besalp-table-cell-link {
    font-weight: 700;
}

.besalp-file-list-table .besalp-table-cell-meta {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.besalp-table-cell-type .besalp-table-cell-value,
.besalp-table-cell-amount,
.besalp-table-cell-date {
    color: var(--besalp-color-ink);
    font-weight: 400;
    white-space: nowrap;
}

.besalp-table-cell-amount {
    text-align: right;
}

.besalp-data-table th.besalp-table-cell-amount,
.besalp-data-table td.besalp-table-cell-amount {
    text-align: right;
}

.besalp-file-list-table td.besalp-table-cell-amount {
    font-weight: 500;
}

.besalp-file-list-table .besalp-table-cell-date {
    font-weight: 500;
}

.besalp-table-cell-date {
    font-size: 14px;
}

.besalp-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-3);
    margin-top: var(--besalp-space-3);
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-pagination-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-2);
}

.besalp-contact-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--besalp-space-5);
    align-items: start;
    margin-top: var(--besalp-space-4);
}

.besalp-payment-movements-section {
    margin-top: var(--besalp-space-5);
}

.besalp-bank-movements-section {
    margin-top: var(--besalp-space-5);
}

.besalp-bank-transaction-table {
    min-width: 860px;
}

.besalp-bank-transaction-table .besalp-table-cell-amount,
.besalp-payment-transaction-table .besalp-table-cell-amount {
    text-align: right;
}

.besalp-file-sidebar-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    margin-bottom: var(--besalp-space-4);
}

.besalp-file-toolbar {
    align-items: flex-start;
}

.besalp-embedded-file-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: var(--besalp-space-4);
    align-items: start;
}

.besalp-embedded-folder-tree {
    display: grid;
    gap: var(--besalp-space-4);
    position: sticky;
    top: var(--besalp-space-4);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius-sm);
    background: #ffffff;
}

.besalp-file-tree-list,
.besalp-file-tree-children {
    display: grid;
}

.besalp-file-tree-list {
    gap: var(--besalp-space-1);
}

.besalp-file-tree-children {
    margin-left: 10px;
}

.besalp-file-tree-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    min-height: 34px;
    gap: var(--besalp-space-2);
    padding: 0 var(--besalp-space-2);
    border-radius: 6px;
    color: var(--besalp-color-ink);
    text-decoration: none;
}

.besalp-file-tree-root {
    grid-template-columns: auto minmax(0, 1fr) auto;
    background: #f8fafc;
    font-weight: 700;
}

.besalp-file-tree-child {
    grid-template-columns: 22px auto minmax(0, 1fr) auto;
    color: var(--besalp-color-muted);
    font-size: 14px;
}

.besalp-file-tree-row-active {
    background: #eef2ff;
    color: var(--besalp-color-brand);
    font-weight: 700;
}

.besalp-file-tree-branch {
    position: relative;
    align-self: stretch;
    min-height: 34px;
}

.besalp-file-tree-branch::before,
.besalp-file-tree-branch::after {
    content: "";
    position: absolute;
    left: 10px;
    border-color: #cbd5e1;
}

.besalp-file-tree-branch::before {
    top: 0;
    bottom: 0;
    border-left: 1px solid #cbd5e1;
}

.besalp-file-tree-child-last .besalp-file-tree-branch::before {
    bottom: 50%;
}

.besalp-file-tree-branch::after {
    top: 50%;
    width: 12px;
    border-top: 1px solid #cbd5e1;
}

.besalp-file-storage-usage {
    display: grid;
    gap: var(--besalp-space-1);
    padding-top: var(--besalp-space-3);
    border-top: 1px solid var(--besalp-color-line);
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-file-storage-usage span {
    font-weight: 700;
    color: var(--besalp-color-ink);
}

.besalp-file-storage-usage strong {
    font-size: 14px;
    color: var(--besalp-color-ink);
}

.besalp-folder-tree {
    display: grid;
    gap: var(--besalp-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.besalp-folder-row,
.besalp-folder-child {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    gap: var(--besalp-space-2);
}

.besalp-folder-row {
    align-items: center;
    min-height: 36px;
    padding: 0 var(--besalp-space-2);
    border-radius: 6px;
    background: #f8fafc;
    color: var(--besalp-color-ink);
    text-decoration: none;
}

.besalp-folder-row-active {
    background: #eef2ff;
}

.besalp-folder-child {
    align-items: center;
    margin-top: var(--besalp-space-2);
    margin-left: var(--besalp-space-5);
    color: var(--besalp-color-muted);
    font-size: 14px;
    text-decoration: none;
}

.besalp-folder-child-active {
    color: var(--besalp-color-brand);
    font-weight: 700;
}

.besalp-folder-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-folder-count {
    margin-left: auto;
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
}

.besalp-folder-icon,
.besalp-file-icon {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    background: var(--besalp-color-brand);
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.besalp-import-summary {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-3);
    margin: var(--besalp-space-4) 0;
    color: var(--besalp-color-muted);
}

.besalp-alert {
    margin-top: var(--besalp-space-4);
    padding: var(--besalp-space-3) var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    line-height: 1.5;
}

.besalp-alert-warning {
    border-color: #e3b341;
    background: #fff8df;
    color: #6b4f00;
}

.besalp-import-summary span {
    padding: var(--besalp-space-2) var(--besalp-space-3);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-page);
}

.besalp-folder-icon {
    -webkit-mask-image: url("../icons/folder-default.svg");
    mask-image: url("../icons/folder-default.svg");
}

.besalp-folder-icon-default {
    -webkit-mask-image: url("../icons/folder-default.svg");
    mask-image: url("../icons/folder-default.svg");
}

.besalp-file-icon {
    background: var(--besalp-color-accent);
    -webkit-mask-image: url("../icons/file-document.svg");
    mask-image: url("../icons/file-document.svg");
}

.besalp-file-icon.besalp-file-icon-pdf {
    background: #d92d20;
    -webkit-mask-image: url("../icons/file-pdf.svg");
    mask-image: url("../icons/file-pdf.svg");
}

.besalp-file-icon.besalp-file-icon-image {
    background: #7a5af8;
    -webkit-mask-image: url("../icons/file-image.svg");
    mask-image: url("../icons/file-image.svg");
}

.besalp-file-icon.besalp-file-icon-csv {
    background: #079455;
    -webkit-mask-image: url("../icons/file-csv.svg");
    mask-image: url("../icons/file-csv.svg");
}

.besalp-folder-icon-inbox {
    background: var(--besalp-color-accent);
    -webkit-mask-image: url("../icons/folder-inbox.svg");
    mask-image: url("../icons/folder-inbox.svg");
}

.besalp-folder-icon-invalid {
    background: #f04438;
    -webkit-mask-image: url("../icons/folder-invalid.svg");
    mask-image: url("../icons/folder-invalid.svg");
}

.besalp-folder-icon-trash {
    background: #f04438;
    -webkit-mask-image: url("../icons/folder-invalid.svg");
    mask-image: url("../icons/folder-invalid.svg");
}

.besalp-folder-icon-invoice {
    -webkit-mask-image: url("../icons/folder-invoice.svg");
    mask-image: url("../icons/folder-invoice.svg");
}

.besalp-folder-icon-receipt {
    -webkit-mask-image: url("../icons/folder-receipt.svg");
    mask-image: url("../icons/folder-receipt.svg");
}

.besalp-folder-icon-cash-receipt {
    -webkit-mask-image: url("../icons/folder-cash-receipt.svg");
    mask-image: url("../icons/folder-cash-receipt.svg");
}

.besalp-folder-icon-bank {
    -webkit-mask-image: url("../icons/folder-bank.svg");
    mask-image: url("../icons/folder-bank.svg");
}

.besalp-folder-icon-credit-card {
    -webkit-mask-image: url("../icons/folder-credit-card.svg");
    mask-image: url("../icons/folder-credit-card.svg");
}

.besalp-folder-icon-other {
    -webkit-mask-image: url("../icons/folder-other.svg");
    mask-image: url("../icons/folder-other.svg");
}

.besalp-folder-icon-all-files {
    -webkit-mask-image: url("../icons/folder-all.svg");
    mask-image: url("../icons/folder-all.svg");
}

.besalp-folder-icon-open {
    background: var(--besalp-color-accent);
}

.besalp-folder-row-danger {
    color: #b42318;
}

.besalp-folder-row-danger.besalp-folder-row-active {
    background: #fef3f2;
    color: #912018;
}

.besalp-folder-row-danger.besalp-file-tree-row-active {
    background: #fef3f2;
    color: #b42318;
}

.besalp-folder-row-danger.besalp-folder-child-active {
    color: #b42318;
    font-weight: 700;
}

.besalp-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.besalp-choice-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--besalp-color-line);
    border-radius: 10px;
    background: var(--besalp-color-surface);
    cursor: pointer;
    font-weight: 700;
}

.besalp-choice-card:has(input:checked) {
    border-color: var(--besalp-color-accent);
    background: #eef6ff;
}

.besalp-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.besalp-tenant-workspace {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: var(--besalp-space-5);
    align-items: start;
}

.besalp-tenant-sidebar,
.besalp-workspace-surface {
    padding: var(--besalp-space-5);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
    box-shadow: var(--besalp-shadow-surface);
}

.besalp-tenant-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-3);
}

.besalp-tenant-search {
    margin-top: var(--besalp-space-4);
}

.besalp-tenant-list {
    display: grid;
    gap: var(--besalp-space-2);
    margin: var(--besalp-space-4) 0 0;
    padding: 0;
    list-style: none;
}

.besalp-tenant-directory-table {
    min-width: 1040px;
}

.besalp-tenant-directory-table th,
.besalp-tenant-directory-table td {
    vertical-align: middle;
}

.besalp-tenant-directory-table .besalp-table-cell-center {
    text-align: center;
}

.besalp-tenant-directory-table .besalp-table-cell-center .besalp-tag {
    margin-inline: auto;
}

.besalp-tenant-directory-name {
    font-weight: 700;
}

.besalp-tenant-row {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr) auto;
    gap: var(--besalp-space-3);
    align-items: center;
    min-height: 64px;
    padding: var(--besalp-space-3);
    border: 1px solid transparent;
    border-radius: var(--besalp-radius-sm);
    color: var(--besalp-color-ink);
    text-decoration: none;
}

.besalp-tenant-row:hover,
.besalp-tenant-row-active {
    border-color: var(--besalp-color-line);
    background: #f8fafc;
}

.besalp-tenant-row-active {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.besalp-tenant-row-main {
    display: grid;
    gap: var(--besalp-space-1);
    min-width: 0;
}

.besalp-tenant-row-title,
.besalp-tenant-row-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-tenant-row-title {
    font-weight: 800;
}

.besalp-tenant-row-meta {
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-tenant-row-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 var(--besalp-space-2);
    border-radius: 999px;
    background: #eef2ff;
    color: var(--besalp-color-brand);
    font-size: 13px;
    font-weight: 800;
}

.besalp-tenant-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    margin-bottom: var(--besalp-space-4);
}

.besalp-tenant-workspace-main {
    width: 100%;
}

.besalp-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
    margin-bottom: var(--besalp-space-5);
    border-bottom: 1px solid var(--besalp-color-line);
}

.besalp-tab {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-2);
    min-height: 40px;
    padding: 0 var(--besalp-space-3);
    border-bottom: 2px solid transparent;
    color: var(--besalp-color-muted);
    font-weight: 700;
    text-decoration: none;
}

.besalp-tab-active {
    border-bottom-color: var(--besalp-color-accent);
    color: var(--besalp-color-ink);
}

.besalp-tab span {
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-tab .besalp-tag {
    color: #1d4ed8;
    font-size: 12px;
}

.besalp-tab-disabled {
    opacity: 0.55;
}

.besalp-tenant-tab-section {
    display: grid;
    gap: var(--besalp-space-4);
    min-width: 0;
    margin-top: var(--besalp-space-5);
}

.besalp-tabs + .besalp-tenant-tab-section {
    margin-top: 0;
}

.besalp-tenant-tab-section > .besalp-toolbar {
    margin-bottom: 0;
}

.besalp-tenant-workspace-main .besalp-toolbar + .besalp-contact-workspace,
.besalp-tenant-workspace-main .besalp-toolbar + .besalp-table-wrap,
.besalp-tenant-workspace-main .besalp-toolbar + .besalp-tenant-tab-section,
.besalp-tenant-workspace-main .besalp-toolbar + .besalp-empty-state {
    margin-top: 0;
}

.besalp-tenant-tab-section + .besalp-tenant-tab-section {
    margin-top: calc(var(--besalp-space-6) + var(--besalp-space-4));
}

.besalp-tenant-section-surface {
    min-width: 0;
    padding: var(--besalp-space-5);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
}

.besalp-tenant-section-surface > .besalp-settings-form {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.besalp-tenant-section-stack {
    display: grid;
    gap: var(--besalp-space-4);
}

.besalp-processing-form .besalp-checkbox-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: var(--besalp-space-3);
}

.besalp-processing-form .besalp-checkbox-option {
    justify-content: flex-start;
    width: 100%;
    min-height: 46px;
    padding: var(--besalp-space-3);
}

.besalp-processing-form .besalp-checkbox-option span {
    line-height: 1.35;
}

.besalp-form-actions-right {
    display: flex;
    justify-content: flex-end;
}

.besalp-auditor-access-form {
    grid-template-columns: minmax(280px, 1fr) minmax(120px, 220px) auto;
    align-items: end;
}

.besalp-auditor-access-actions {
    display: flex;
    justify-content: flex-end;
}

.besalp-auditor-access-link-box {
    display: grid;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-4);
    border: 1px solid #bfdbfe;
    border-radius: var(--besalp-radius);
    background: #eff6ff;
}

.besalp-auditor-access-link-box strong,
.besalp-auditor-access-link-box span {
    display: block;
}

.besalp-auditor-access-link-box span {
    margin-top: var(--besalp-space-1);
    color: var(--besalp-color-muted);
}

.besalp-auditor-access-link-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--besalp-space-3);
    align-items: center;
}

.besalp-auditor-access-modal-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.besalp-auditor-access-years-field,
.besalp-auditor-access-meta {
    grid-column: 1 / -1;
}

.besalp-auditor-access-years {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.besalp-auditor-access-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-3);
}

.besalp-auditor-access-meta > div {
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 8px;
    background: #f8fafc;
}

.besalp-auditor-access-meta span,
.besalp-auditor-access-meta strong {
    display: block;
}

.besalp-auditor-access-meta span {
    color: var(--besalp-color-muted);
    font-weight: 700;
}

.besalp-section-body {
    margin-top: var(--besalp-space-4);
}

.besalp-tenant-overview {
    display: grid;
    gap: var(--besalp-space-4);
}

.besalp-tenant-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--besalp-space-4);
}

.besalp-tenant-dashboard-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--besalp-space-2);
    align-items: stretch;
}

.besalp-overview-tile {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--besalp-space-3);
    min-height: 74px;
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.04);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.besalp-overview-tile:hover {
    border-color: #bfdbfe;
    transform: translateY(-1px);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.besalp-overview-tile-static:hover {
    transform: none;
}

.besalp-overview-tile-active {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.besalp-overview-tile strong {
    display: block;
    margin-bottom: 2px;
    font-size: 14px;
}

.besalp-overview-tile small {
    display: block;
    color: var(--besalp-color-muted);
    font-size: 12px;
    line-height: 1.3;
}

.besalp-overview-tile span:not(.besalp-tag) {
    color: var(--besalp-color-muted);
    line-height: 1.45;
}

.besalp-table-selection-column {
    width: 48px;
    min-width: 48px;
    text-align: center;
}

.besalp-table-selection-checkbox {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0 auto;
    accent-color: var(--besalp-color-primary);
    cursor: pointer;
}

.besalp-tenant-readiness-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--besalp-space-4);
    margin-top: var(--besalp-space-4);
}

.besalp-readiness-panel {
    min-height: 132px;
    padding: var(--besalp-space-5);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.04);
}

.besalp-readiness-panel strong {
    display: block;
    margin-bottom: var(--besalp-space-2);
    font-size: 17px;
}

.besalp-readiness-panel p {
    margin: 0;
    color: var(--besalp-color-muted);
    line-height: 1.5;
}

.besalp-account-plan-wrap {
    margin-top: var(--besalp-space-4);
    max-height: 72vh;
    overflow: auto;
    scrollbar-gutter: stable;
}

.besalp-tenant-workspace-main .besalp-table-wrap {
    border: 0;
    border-radius: 0;
    background: transparent;
}

.besalp-account-code {
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.besalp-account-plan-table {
    table-layout: fixed;
}

.besalp-account-plan-col-group-main,
.besalp-account-plan-col-group,
.besalp-account-plan-col-subgroup {
    width: 64px;
}

.besalp-account-plan-col-account {
    width: auto;
}

.besalp-account-plan-col-features {
    width: 220px;
}

.besalp-account-plan-col-status {
    width: 120px;
}

.besalp-account-plan-col-actions {
    width: 96px;
}

.besalp-account-group-row td {
    border-bottom: 1px solid var(--besalp-color-line);
    color: var(--besalp-color-muted);
    white-space: nowrap;
}

.besalp-account-group-row strong {
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 800;
}

.besalp-account-group-row-main td {
    background: #f1f5f9;
    padding-top: 14px;
    padding-bottom: 14px;
}

.besalp-account-group-row-group td {
    background: #f8fafc;
}

.besalp-account-group-row-subgroup td {
    background: #fcfdff;
}

.besalp-account-plan-table .besalp-account-group-row .besalp-table-actions-column {
    position: static;
    box-shadow: none;
}

.besalp-account-plan-table .besalp-account-group-row-main .besalp-table-actions-column {
    background: #f1f5f9;
}

.besalp-account-plan-table .besalp-account-group-row-group .besalp-table-actions-column {
    background: #f8fafc;
}

.besalp-account-plan-table .besalp-account-group-row-subgroup .besalp-table-actions-column {
    background: #fcfdff;
}

.besalp-account-row td {
    background: #ffffff;
}

.besalp-table-row-inactive td {
    color: var(--besalp-color-muted);
    background: #f8fafc;
}

.besalp-account-row td:nth-child(4) {
    white-space: nowrap;
}

.besalp-account-row td:first-child {
    border-left: 3px solid transparent;
}

.besalp-account-row:hover td {
    background: #f8fbff;
}

.besalp-account-row .besalp-account-code {
    color: var(--besalp-color-ink);
    font-weight: 500;
}

.besalp-account-row td {
    font-weight: 400;
}

.besalp-account-row-inactive td,
.besalp-account-row-inactive:hover td {
    background: #f8fafc;
    color: var(--besalp-color-muted);
}

.besalp-account-row-inactive strong,
.besalp-account-row-inactive .besalp-account-code {
    color: var(--besalp-color-muted);
    font-weight: 500;
}

.besalp-account-row-inactive .besalp-table-cell-ref,
.besalp-account-row-inactive .besalp-table-cell-ref span {
    color: var(--besalp-color-muted);
    font-weight: 400;
}

.besalp-account-row-inactive td:first-child {
    border-left-color: #cbd5e1;
}

.besalp-review-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 6px;
    background: #f8fafc;
    color: var(--besalp-color-muted);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.besalp-review-badge-open {
    background: #fff7ed;
    color: #9a3412;
}

.besalp-review-badge-in_review {
    background: #eff6ff;
    color: #1d4ed8;
}

.besalp-review-badge-approved {
    background: #ecfdf5;
    color: #047857;
}

.besalp-review-badge-rejected {
    background: #fef2f2;
    color: #b91c1c;
}

.besalp-detail-panel,
.besalp-file-detail {
    position: sticky;
    top: var(--besalp-space-4);
    min-width: 0;
    max-height: 72vh;
    overflow: auto;
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius-sm);
    background: #ffffff;
}

.besalp-detail-panel-head,
.besalp-file-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-4);
    margin-bottom: var(--besalp-space-4);
}

.besalp-detail-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-2);
}

.besalp-document-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-3);
    margin-bottom: var(--besalp-space-5);
}

.besalp-document-summary div {
    min-width: 0;
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #f8fafc;
}

.besalp-document-summary span {
    display: block;
    margin-bottom: var(--besalp-space-1);
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.besalp-document-summary strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.besalp-file-detail-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--besalp-space-4);
    margin: 0;
}

.besalp-file-detail-grid div {
    min-width: 0;
}

.besalp-file-detail-grid dt {
    margin-bottom: var(--besalp-space-1);
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.besalp-file-detail-grid dd {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.besalp-file-detail {
    display: none;
}

.besalp-file-detail:has(.besalp-modal) {
    display: block;
    position: static;
    max-height: none;
    padding: 0;
    border: 0;
    background: transparent;
}

.besalp-file-detail:has(.besalp-modal) > :not(.besalp-modal):not(.besalp-modal-backdrop) {
    display: none;
}

.besalp-tenants-detail-panel {
    position: static;
    max-height: none;
}

.besalp-file-properties-panel {
    display: grid;
    gap: var(--besalp-space-5);
}

.besalp-file-properties-section {
    display: grid;
    gap: var(--besalp-space-3);
}

.besalp-detail-subsection {
    display: grid;
    gap: var(--besalp-space-3);
    margin-top: var(--besalp-space-5);
}

.besalp-detail-subtitle {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.besalp-payment-transaction-table {
    min-width: 620px;
}

.besalp-payment-match-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
    margin-top: var(--besalp-space-2);
}

.besalp-payment-match-actions form {
    margin: 0;
}

.besalp-payment-match-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-4);
}

.besalp-payment-match-review-modal {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.besalp-payment-match-review-stack {
    display: grid;
    gap: var(--besalp-space-4);
}

.besalp-payment-match-review-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(420px, 0.9fr);
    gap: var(--besalp-space-5);
    align-items: start;
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: #fbfdff;
}

.besalp-payment-match-review-copy,
.besalp-payment-match-review-facts div {
    min-width: 0;
}

.besalp-payment-match-review-title {
    margin: 0 0 var(--besalp-space-2);
    color: var(--besalp-color-ink);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.besalp-payment-match-review-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-3) var(--besalp-space-4);
    margin: 0;
}

.besalp-payment-match-review-facts dt {
    margin: 0 0 var(--besalp-space-1);
    color: var(--besalp-color-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.besalp-payment-match-review-facts dd {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.besalp-payment-match-review-fact-wide {
    grid-column: 1 / -1;
}

.besalp-modal-footer form {
    margin: 0;
}

.besalp-extraction-detail {
    display: grid;
    gap: var(--besalp-space-3);
    margin-top: var(--besalp-space-5);
    padding-top: var(--besalp-space-4);
    border-top: 1px solid var(--besalp-color-line);
}

.besalp-extraction-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-3);
}

.besalp-extraction-detail-head h3 {
    margin: 0;
    color: var(--besalp-color-ink);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.besalp-accounting-suggestion-box {
    display: grid;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #f8fafc;
}

.besalp-accounting-suggestion-list {
    display: grid;
    gap: var(--besalp-space-3);
}

.besalp-accounting-suggestion-detail {
    margin-bottom: var(--besalp-space-5);
}

.besalp-accounting-suggestion-item {
    display: grid;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: var(--besalp-color-surface);
}

.besalp-accounting-suggestion-item strong {
    display: block;
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.besalp-accounting-suggestion-item span {
    display: block;
    margin-top: var(--besalp-space-1);
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}

.besalp-accounting-suggestion-item .besalp-accounting-suggestion-status-text {
    display: inline;
    margin-top: 0;
}

.besalp-accounting-suggestion-item > .besalp-file-detail-grid {
    margin-top: var(--besalp-space-2);
}

.besalp-payment-match-detail {
    margin-bottom: var(--besalp-space-5);
}

.besalp-booking-suggestion-notice {
    display: flex;
    align-items: flex-start;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-3);
    border: 1px solid #c9d8ff;
    border-radius: 6px;
    background: #f4f7ff;
}

.besalp-booking-suggestion-notice > div {
    display: grid;
    gap: var(--besalp-space-1);
}

.besalp-booking-suggestion-notice strong {
    color: var(--besalp-color-ink);
    font-size: 14px;
    line-height: 1.3;
}

.besalp-booking-suggestion-notice div > span {
    color: var(--besalp-color-muted);
    font-size: 13px;
    line-height: 1.4;
}

.besalp-extraction-quality {
    display: grid;
    gap: var(--besalp-space-1);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #f8fafc;
}

.besalp-extraction-quality strong {
    color: var(--besalp-color-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.besalp-extraction-quality span {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

.besalp-extraction-quality-complete {
    border-color: #9bd5b3;
    background: #eefbf3;
}

.besalp-extraction-quality-warning {
    border-color: #f0c56a;
    background: #fff8e6;
}

.besalp-extraction-field-list {
    display: grid;
    gap: 6px;
    margin-top: var(--besalp-space-2);
}

.besalp-extraction-field-list-modal {
    gap: var(--besalp-space-2);
}

.besalp-extraction-field-row {
    display: grid;
    grid-template-columns: minmax(90px, 0.9fr) minmax(90px, 1.2fr) auto;
    align-items: center;
    gap: var(--besalp-space-2);
    padding: 7px 9px;
    border: 1px solid rgba(214, 220, 230, 0.72);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--besalp-color-muted);
    font-size: 12px;
    line-height: 1.3;
}

.besalp-extraction-field-value {
    color: var(--besalp-color-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.besalp-extraction-field-status {
    justify-self: end;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eef2ff;
    color: var(--besalp-color-primary);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.besalp-extraction-field-status-missing,
.besalp-extraction-field-status-provider_only {
    background: #fff4de;
    color: #9a5c13;
}

.besalp-extraction-field-status-dms_only {
    background: #eef2ff;
    color: var(--besalp-color-primary);
}

.besalp-extraction-field-status-imported {
    background: #e7f8ee;
    color: #19743a;
}

.besalp-document-extraction-panel {
    display: grid;
    gap: var(--besalp-space-5);
}

.besalp-document-extraction-panel[hidden] {
    display: none;
}

.besalp-extraction-modal-meta {
    margin: 0;
}

.besalp-extraction-modal-section {
    display: grid;
    gap: var(--besalp-space-3);
}

.besalp-extraction-modal-section .besalp-module-title {
    margin: 0;
}

.besalp-extraction-field-list-modal .besalp-extraction-field-row {
    grid-template-columns: minmax(120px, 0.7fr) minmax(220px, 1.8fr) auto;
}

.besalp-extraction-field-list-modal .besalp-extraction-field-value {
    white-space: normal;
}

.besalp-extraction-raw-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--besalp-space-2);
}

.besalp-extraction-raw-item {
    display: grid;
    gap: 5px;
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #f8fafc;
    min-width: 0;
}

.besalp-extraction-raw-item span {
    color: var(--besalp-color-muted);
    font-size: 12px;
    font-weight: 700;
}

.besalp-extraction-raw-item code {
    display: block;
    max-height: 150px;
    overflow: auto;
    color: var(--besalp-color-ink);
    font-family: var(--besalp-font-audit), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    line-height: 1.45;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.besalp-address-quality {
    display: inline-flex;
    width: fit-content;
    margin-top: 2px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eef2ff;
    color: var(--besalp-color-primary);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.besalp-address-quality-raw {
    background: #fff4de;
    color: #9a5c13;
}

.besalp-address-quality-structured {
    background: #e7f8ee;
    color: #19743a;
}

.besalp-document-form {
    display: grid;
    gap: var(--besalp-space-4);
    margin-top: var(--besalp-space-5);
    padding-top: var(--besalp-space-5);
    border-top: 1px solid var(--besalp-color-line);
}

.besalp-modal .besalp-document-form,
.besalp-modal .besalp-contact-form {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.besalp-modal-body.besalp-contact-form {
    padding: var(--besalp-space-5);
}

.besalp-document-form-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--besalp-space-4);
}

.besalp-document-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
}

.besalp-document-form-wide {
    grid-column: span 2;
}

.besalp-document-amounts {
    display: grid;
    gap: var(--besalp-space-3);
    padding: var(--besalp-space-4);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: #f8fafc;
}

.besalp-document-amount-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
}

.besalp-document-amount-tax {
    grid-column: 1 / -1;
}

.besalp-document-amount-tax .besalp-form-control[readonly] {
    background: var(--besalp-color-page);
    color: var(--besalp-color-muted);
}

.besalp-booking-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
    width: 100%;
    min-width: 0;
    margin-top: var(--besalp-space-4);
}

.besalp-booking-form-wide {
    grid-column: 1 / -1;
}

.besalp-booking-form-grid select.besalp-form-control {
    min-width: 0;
    text-overflow: ellipsis;
}

.besalp-document-positions-panel {
    display: grid;
    gap: var(--besalp-space-4);
}

.besalp-document-position-list {
    display: grid;
    gap: var(--besalp-space-3);
    padding-right: var(--besalp-space-1);
}

.besalp-document-position-apply {
    width: 100%;
    justify-content: center;
    margin-bottom: var(--besalp-space-3);
}

.besalp-document-position-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(300px, 1fr) auto;
    align-items: start;
    gap: var(--besalp-space-4);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: var(--besalp-color-surface);
}

.besalp-document-position-column {
    display: grid;
    gap: var(--besalp-space-2);
    min-width: 0;
}

.besalp-document-position-actions {
    display: flex;
    justify-content: flex-end;
    min-width: 120px;
    padding-top: 22px;
}

.besalp-document-position-actions > .besalp-button {
    width: 120px;
    justify-content: center;
}

.besalp-form-control.besalp-form-control-invalid {
    border-color: var(--besalp-color-danger);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.besalp-position-source {
    display: flex;
    align-items: center;
    min-height: 40px;
    color: var(--besalp-color-muted);
    font-size: 14px;
    line-height: 1.4;
}

.besalp-position-row-new {
    background: #f8fafc;
}

.besalp-contact-related-row-new {
    background: #f8fafc;
}

.besalp-contact-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: var(--besalp-space-5);
    margin-bottom: var(--besalp-space-6);
}

.besalp-contact-panel {
    min-width: 0;
    padding: var(--besalp-space-5);
    border: 1px solid var(--besalp-color-line);
    border-radius: var(--besalp-radius);
    background: var(--besalp-color-surface);
}

.besalp-contact-tenant-list {
    display: grid;
    gap: var(--besalp-space-3);
    margin: var(--besalp-space-4) 0 0;
    padding: 0;
    list-style: none;
}

.besalp-contact-tenant-row {
    display: flex;
    align-items: flex-start;
    gap: var(--besalp-space-2);
    min-width: 0;
    min-height: 44px;
    padding: var(--besalp-space-2);
    border-radius: 6px;
    background: #f8fafc;
    color: var(--besalp-color-ink);
    text-decoration: none;
}

.besalp-contact-tenant-row-active {
    background: #eef2ff;
}

.besalp-contact-tenant-name {
    display: grid;
    min-width: 0;
    line-height: 1.3;
}

.besalp-contact-tenant-name small {
    color: var(--besalp-color-muted);
    font-size: 13px;
}

.besalp-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 18px 20px;
}

.besalp-contact-form-wide,
.besalp-contact-form-actions {
    grid-column: span 2;
}

.besalp-contact-form-actions {
    justify-content: flex-end;
}

.besalp-checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
}

.besalp-checkbox-option {
    display: inline-flex;
    align-items: center;
    gap: var(--besalp-space-2);
    min-height: 40px;
    padding: 0 var(--besalp-space-3);
    border: 1px solid var(--besalp-color-border);
    border-radius: 6px;
    background: #fff;
    color: var(--besalp-color-ink);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.besalp-checkbox-option input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--besalp-color-brand);
}

.besalp-contact-list-wrap {
    max-height: 72vh;
    overflow: auto;
}

.besalp-tenant-workspace-main .besalp-contact-list-wrap {
    border: 0;
    border-radius: 0;
}

.besalp-tenants-detail-panel .besalp-contact-form {
    grid-template-columns: 1fr;
}

.besalp-tenants-detail-panel .besalp-contact-form-wide,
.besalp-tenants-detail-panel .besalp-contact-form-actions {
    grid-column: auto;
}

.besalp-modal .besalp-tenant-form {
    margin: 0;
    padding: var(--besalp-space-5);
    border: 0;
    border-radius: 0;
}

.besalp-tenant-form-shell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: var(--besalp-space-5);
    width: 100%;
}

.besalp-tenant-form-main {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 18px 20px;
}

.besalp-tenant-form-side {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 18px;
}

.besalp-tenant-place-field {
    display: grid;
    grid-template-columns: minmax(96px, 128px) minmax(0, 1fr);
    gap: var(--besalp-space-3);
}

.besalp-contact-subsection {
    display: grid;
    gap: var(--besalp-space-3);
    margin-top: var(--besalp-space-5);
}

.besalp-contact-inline-table-wrap {
    max-height: 220px;
    overflow: auto;
}

.besalp-contact-inline-table {
    min-width: 420px;
}

.besalp-contact-form-panel,
.besalp-contact-related-panel {
    grid-column: 1 / -1;
}

.besalp-contact-related-panel {
    display: grid;
    align-content: start;
    gap: var(--besalp-space-4);
}

.besalp-contact-related-wrap {
    max-height: 360px;
    overflow: auto;
}

.besalp-contact-related-table {
    min-width: 760px;
    table-layout: fixed;
}

.besalp-export-profile-form {
    display: flex;
    flex-direction: column;
}

.besalp-export-mapping-panel {
    grid-column: 1 / -1;
    display: grid;
    align-content: start;
    gap: var(--besalp-space-4);
    flex: 1 1 auto;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
}

.besalp-export-mapping-wrap {
    max-height: none;
    min-height: 0;
    overflow: auto;
}

.besalp-export-mapping-table {
    min-width: 860px;
    table-layout: fixed;
}

.besalp-export-mapping-wrap thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--besalp-color-surface);
}

.besalp-export-mapping-col-source,
.besalp-export-mapping-col-target,
.besalp-export-mapping-col-default {
    width: 24%;
}

.besalp-export-mapping-col-required {
    width: 12%;
}

.besalp-export-mapping-col-actions {
    width: 96px;
}

.besalp-contact-address-list {
    display: grid;
    gap: var(--besalp-space-3);
    overflow: visible;
}

.besalp-contact-alias-list {
    display: grid;
    gap: var(--besalp-space-3);
    overflow: visible;
}

.besalp-contact-alias-row {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) minmax(180px, 0.8fr) auto;
    align-items: start;
    gap: var(--besalp-space-4);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: var(--besalp-color-surface);
}

.besalp-contact-alias-column {
    display: grid;
    gap: var(--besalp-space-2);
    min-width: 0;
}

.besalp-contact-alias-row-new {
    background: #f8fafc;
}

.besalp-contact-alias-actions {
    display: flex;
    justify-content: flex-end;
    min-width: 120px;
    padding-top: 22px;
}

.besalp-contact-address-row {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 1.25fr) auto;
    align-items: start;
    gap: var(--besalp-space-4);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: var(--besalp-color-surface);
}

.besalp-contact-address-column {
    display: grid;
    gap: var(--besalp-space-2);
    min-width: 0;
}

.besalp-contact-address-row-new {
    background: #f8fafc;
}

.besalp-contact-address-actions {
    display: flex;
    justify-content: flex-end;
    min-width: 120px;
    padding-top: 22px;
}

.besalp-contact-address-place {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: var(--besalp-space-2);
}

.besalp-contact-address-place-field,
.besalp-organization-place {
    display: grid;
    gap: var(--besalp-space-2);
    min-width: 0;
}

.besalp-organization-place {
    grid-template-columns: minmax(72px, 0.35fr) minmax(0, 1fr);
}

.besalp-contact-payment-list {
    display: grid;
    gap: var(--besalp-space-3);
    overflow: visible;
}

.besalp-contact-payment-row {
    display: grid;
    grid-template-columns: minmax(180px, 0.8fr) minmax(300px, 1.25fr) auto;
    align-items: start;
    gap: var(--besalp-space-4);
    padding: var(--besalp-space-3);
    border: 1px solid var(--besalp-color-line);
    border-radius: 6px;
    background: var(--besalp-color-surface);
}

.besalp-contact-payment-row-new {
    background: #f8fafc;
}

.besalp-contact-alias-row[hidden],
.besalp-contact-address-row[hidden],
.besalp-contact-payment-row[hidden] {
    display: none !important;
}

.besalp-contact-payment-column {
    display: grid;
    gap: var(--besalp-space-2);
    min-width: 0;
}

.besalp-contact-payment-meta {
    display: grid;
    gap: var(--besalp-space-1);
    color: var(--besalp-color-muted);
    font-size: 13px;
    line-height: 1.4;
}

.besalp-contact-payment-actions {
    display: flex;
    justify-content: flex-end;
    min-width: 120px;
    padding-top: 22px;
}

.besalp-file-audit {
    margin-top: var(--besalp-space-5);
}

.besalp-audit-list {
    position: relative;
    display: grid;
    gap: 0;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.besalp-audit-list::before {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 6px;
    width: 2px;
    background: #e5e7eb;
}

.besalp-audit-list li {
    position: relative;
    display: grid;
    gap: 3px;
    padding: 0 0 18px 26px;
}

.besalp-audit-list li::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 2px;
    width: 10px;
    height: 10px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: var(--besalp-color-accent);
    box-shadow: 0 0 0 1px rgba(15, 140, 255, 0.28);
}

.besalp-audit-list li:last-child {
    padding-bottom: 0;
}

.besalp-audit-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--besalp-space-2);
    color: var(--besalp-color-muted);
    font-family: var(--besalp-font-ui);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
}

.besalp-audit-action {
    color: var(--besalp-color-ink);
    font-family: var(--besalp-font-audit);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

@media (max-width: 720px) {
    .besalp-shell {
        display: block;
        min-height: 100dvh;
        padding-bottom: calc(72px + env(safe-area-inset-bottom));
    }

    .besalp-app-sidebar {
        position: fixed;
        z-index: 7000;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        height: auto;
        gap: 0;
        padding: var(--besalp-space-2) var(--besalp-space-2) max(var(--besalp-space-2), env(safe-area-inset-bottom));
        border-top: 1px solid var(--besalp-color-line);
        border-right: 0;
        border-bottom: 0;
        box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.08);
    }

    .besalp-app-nav {
        grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
        gap: var(--besalp-space-1);
        width: 100%;
    }

    .besalp-app-nav-item {
        align-items: center;
        flex-direction: column;
        justify-content: center;
        gap: var(--besalp-space-1);
        min-height: 52px;
        padding: var(--besalp-space-1);
        font-size: 10px;
        line-height: 1.1;
        text-align: center;
    }

    .besalp-app-nav-icon {
        width: 22px;
        height: 22px;
    }

    .besalp-app-nav-logout {
        display: contents;
    }

    .besalp-app-nav-logout .besalp-app-nav-item {
        font-size: 10px;
        line-height: 1.1;
    }

    .besalp-app-sidebar > .besalp-brand,
    .besalp-app-sidebar-footer {
        display: none;
    }

    .besalp-header,
    .besalp-main {
        padding: var(--besalp-space-4);
    }

    .besalp-brand-logo {
        width: 140px;
    }

    .besalp-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .besalp-header {
        align-items: flex-start;
        flex-direction: column;
        padding-top: var(--besalp-space-4);
        padding-bottom: var(--besalp-space-4);
    }

    .besalp-kpi-grid,
    .besalp-dashboard-layout,
    .besalp-tenant-overview-grid,
    .besalp-tenant-dashboard-strip,
    .besalp-tenant-readiness-grid {
        grid-template-columns: 1fr;
    }

    .besalp-dashboard-insight-grid {
        grid-template-columns: 1fr;
    }

    .besalp-dashboard-tenant-row {
        grid-template-columns: 1fr;
    }

    .besalp-dashboard-tenant-metrics {
        grid-template-columns: repeat(2, minmax(0, max-content));
    }

    .besalp-auditor-search-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .besalp-auditor-body {
        grid-template-columns: 1fr;
    }

    .besalp-auditor-sidebar {
        position: static;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--besalp-color-line);
    }

    .besalp-auditor-sidebar-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .besalp-description-row {
        grid-template-columns: 1fr;
        gap: var(--besalp-space-1);
    }

    .besalp-kpi-grid,
    .besalp-dashboard-layout,
    .besalp-account-grid,
    .besalp-module-grid,
    .besalp-settings-suite,
    .besalp-settings-suite-overview,
    .besalp-settings-suite-metrics,
    .besalp-settings-prepared-grid,
    .besalp-settings-grid,
    .besalp-settings-form,
    .besalp-form-section-grid,
    .besalp-form-fieldset-grid {
        grid-template-columns: 1fr;
    }

    .besalp-form-fieldset-span-2 {
        grid-column: 1 / -1;
    }

    .besalp-role-permission-group {
        grid-template-columns: 1fr;
        gap: var(--besalp-space-2);
    }

    .besalp-role-permission-title {
        margin-top: 0;
    }

    .besalp-settings-suite-nav {
        position: static;
        align-items: stretch;
        flex-direction: column;
    }

    .besalp-settings-suite-nav-list {
        width: 100%;
        flex-direction: column;
        overflow-x: visible;
    }

    .besalp-settings-suite-nav-group {
        width: 100%;
    }

    .besalp-settings-suite-nav-group-trigger {
        width: 100%;
        justify-content: space-between;
    }

    .besalp-settings-suite-nav-menu {
        position: static;
        min-width: 0;
        margin-top: var(--besalp-space-2);
        box-shadow: none;
    }

    .besalp-settings-detail-panel,
    .besalp-payment-match-review-panel,
    .besalp-settings-detail-grid {
        grid-template-columns: 1fr;
    }

    .besalp-payment-match-review-facts {
        grid-template-columns: 1fr;
    }

    .besalp-drawer {
        width: 100vw;
    }

    .besalp-drawer-workspace {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    .besalp-drawer-mobile-switch {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2px;
        padding: var(--besalp-space-2);
        background: var(--besalp-color-page);
        border-bottom: 1px solid var(--besalp-color-line);
    }

    .besalp-drawer-mobile-switch button {
        min-height: 40px;
        color: var(--besalp-color-muted);
        font: inherit;
        font-weight: 700;
        border: 0;
        border-radius: var(--besalp-radius);
        background: transparent;
    }

    .besalp-drawer-mobile-switch button[aria-selected="true"] {
        color: var(--besalp-color-brand);
        background: #ffffff;
        box-shadow: var(--besalp-shadow-surface);
    }

    .besalp-drawer-workspace > [data-besalp-drawer-pane] {
        grid-column: 1;
        grid-row: 2;
    }

    .besalp-drawer-workspace[data-active-pane="editor"] > [data-besalp-drawer-pane="preview"],
    .besalp-drawer-workspace[data-active-pane="preview"] > [data-besalp-drawer-pane="editor"] {
        display: none;
    }

    .besalp-drawer-preview {
        padding: var(--besalp-space-3);
        border-right: 0;
    }

    .besalp-settings-suite-metrics {
        justify-self: stretch;
        width: 100%;
    }

    .besalp-numbering-row {
        grid-template-columns: 1fr;
    }

    .besalp-processing-form .besalp-checkbox-group {
        grid-template-columns: 1fr;
    }

    .besalp-auditor-access-actions,
    .besalp-form-actions-right {
        justify-content: stretch;
    }

    .besalp-auditor-access-actions .besalp-button,
    .besalp-form-actions-right .besalp-button {
        width: 100%;
    }

    .besalp-auditor-access-link-row {
        grid-template-columns: 1fr;
    }

    .besalp-auditor-workspace,
    .besalp-auditor-access-modal-grid,
    .besalp-auditor-access-meta,
    .besalp-auditor-access-years {
        grid-template-columns: 1fr;
    }

    .besalp-auditor-year-switch {
        align-items: flex-start;
        flex-direction: column;
    }

    .besalp-auditor-shell,
    .besalp-settings-suite-section {
        padding: var(--besalp-space-4);
    }

    .besalp-code-input-group {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .besalp-code-input {
        width: 100%;
        min-width: 0;
    }

    .besalp-panel-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .besalp-dashboard-tenant-row {
        grid-template-columns: 1fr;
    }

    .besalp-dashboard-tenant-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .besalp-dashboard-age-summary {
        grid-template-columns: 1fr;
    }

    .besalp-dashboard-age-total {
        min-height: 0;
        padding-right: 0;
        padding-bottom: var(--besalp-space-4);
        border-right: 0;
        border-bottom: 1px solid var(--besalp-color-line);
    }

    .besalp-dashboard-age-legend {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--besalp-space-4) 0;
    }

    .besalp-dashboard-age-legend > div:nth-child(3) {
        border-left: 0;
    }

    .besalp-dashboard-quality-row {
        grid-template-columns: minmax(0, 1fr) 50px;
    }

    .besalp-dashboard-quality-row progress,
    .besalp-dashboard-quality-rule {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .besalp-dashboard-trend-summary {
        justify-content: center;
        gap: var(--besalp-space-3);
        margin-top: 0;
        width: 100%;
    }

    .besalp-dashboard-trend-summary > div {
        min-width: 0;
        padding-left: var(--besalp-space-3);
    }

    .besalp-sidebar-account-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .besalp-module-card {
        flex-direction: column;
    }

    .besalp-file-manager {
        grid-template-columns: 1fr;
    }

    .besalp-file-workspace {
        grid-template-columns: 1fr;
    }

    .besalp-embedded-file-layout {
        grid-template-columns: 1fr;
    }

    .besalp-embedded-folder-tree {
        position: static;
    }

    .besalp-contact-workspace {
        grid-template-columns: 1fr;
    }

    .besalp-contact-address-row {
        grid-template-columns: 1fr;
    }

    .besalp-contact-alias-row {
        grid-template-columns: 1fr;
    }

    .besalp-contact-alias-actions {
        justify-content: flex-start;
        min-width: 0;
        padding-top: 0;
    }

    .besalp-contact-address-actions {
        justify-content: flex-start;
        min-width: 0;
        padding-top: 0;
    }

    .besalp-organization-place {
        grid-template-columns: 1fr;
    }

    .besalp-contact-payment-row {
        grid-template-columns: 1fr;
    }

    .besalp-contact-payment-actions {
        justify-content: flex-start;
        min-width: 0;
        padding-top: 0;
    }

    .besalp-document-position-row {
        grid-template-columns: 1fr;
    }

    .besalp-document-position-actions {
        justify-content: flex-start;
        min-width: 0;
        padding-top: 0;
    }

    .besalp-file-list-wrap,
    .besalp-file-detail,
    .besalp-tenants-detail-panel {
        max-height: none;
    }

    .besalp-file-detail,
    .besalp-tenants-detail-panel {
        position: static;
    }

    .besalp-tenant-workspace {
        grid-template-columns: 1fr;
    }

    .besalp-file-detail-grid {
        grid-template-columns: 1fr;
    }

    .besalp-document-form-grid,
    .besalp-document-amount-grid,
    .besalp-booking-form-grid,
    .besalp-contact-form,
    .besalp-tenant-form-shell,
    .besalp-tenant-form-main {
        grid-template-columns: 1fr;
    }

    .besalp-tenant-form-side {
        padding-left: 0;
        border-left: 0;
    }

    .besalp-document-form-wide,
    .besalp-document-amount-tax,
    .besalp-contact-form-wide,
    .besalp-contact-form-actions,
    .besalp-tenant-form-wide {
        grid-column: auto;
    }

    .besalp-tenant-place-field {
        grid-template-columns: minmax(96px, 150px) 1fr;
    }

    .besalp-modal,
    .besalp-modal-wide {
        width: calc(100vw - 24px);
        height: calc(100vh - 24px);
        max-height: calc(100vh - 24px);
    }

    .besalp-modal.besalp-drawer {
        top: 0;
        right: 0;
        bottom: auto;
        left: auto;
        width: 100vw;
        height: 100vh;
        max-height: 100vh;
        height: 100dvh;
        max-height: 100dvh;
        border-left: 0;
    }

    .besalp-drawer .besalp-modal-header {
        padding-top: max(var(--besalp-space-4), env(safe-area-inset-top));
    }

    .besalp-drawer .besalp-modal-footer {
        align-items: stretch;
        flex-direction: column;
        flex-wrap: wrap;
        padding-bottom: max(var(--besalp-space-4), env(safe-area-inset-bottom));
    }

    .besalp-drawer .besalp-modal-footer-actions {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
        margin-left: 0;
    }

    .besalp-drawer .besalp-modal-footer > .besalp-button,
    .besalp-drawer .besalp-modal-footer > form,
    .besalp-drawer .besalp-modal-footer-actions > .besalp-button,
    .besalp-drawer .besalp-modal-footer-actions > form,
    .besalp-drawer .besalp-modal-footer form .besalp-button {
        width: 100%;
    }

    .besalp-page-header,
    .besalp-page-header-side {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
        min-width: 0;
    }

    .besalp-page-header {
        gap: var(--besalp-space-4);
        padding: var(--besalp-space-4);
    }

    .besalp-page-header-side,
    .besalp-page-header-actions {
        justify-content: flex-start;
    }

    .besalp-modal-header,
    .besalp-modal-footer,
    .besalp-modal-body {
        padding-left: var(--besalp-space-4);
        padding-right: var(--besalp-space-4);
    }

    .besalp-app-page .besalp-table-wrap {
        max-height: min(56dvh, 560px);
        overflow: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    .besalp-data-table .besalp-table-actions-column {
        width: 76px;
        min-width: 76px;
    }

    .besalp-file-list-table {
        min-width: 100%;
        table-layout: fixed;
    }

    .besalp-file-list-table th:first-child,
    .besalp-file-list-table td:first-child {
        width: auto;
    }

    .besalp-file-list-table th:nth-child(2),
    .besalp-file-list-table td:nth-child(2),
    .besalp-file-list-table th:nth-child(4),
    .besalp-file-list-table td:nth-child(4),
    .besalp-file-list-table th:nth-child(5),
    .besalp-file-list-table td:nth-child(5),
    .besalp-file-list-table th:nth-child(6),
    .besalp-file-list-table td:nth-child(6) {
        display: none;
    }

    .besalp-file-list-table th:nth-child(3),
    .besalp-file-list-table td:nth-child(3) {
        width: 96px;
    }

    .besalp-contact-list-table {
        min-width: 100%;
        table-layout: fixed;
    }

    .besalp-contact-list-table th:first-child,
    .besalp-contact-list-table td:first-child {
        width: auto;
    }

    .besalp-contact-list-table th:nth-child(2),
    .besalp-contact-list-table td:nth-child(2),
    .besalp-contact-list-table th:nth-child(4),
    .besalp-contact-list-table td:nth-child(4),
    .besalp-contact-list-table th:nth-child(5),
    .besalp-contact-list-table td:nth-child(5) {
        display: none;
    }

    .besalp-contact-list-table th:nth-child(3),
    .besalp-contact-list-table td:nth-child(3) {
        width: 132px;
    }

    .besalp-contact-list-table th:nth-child(6),
    .besalp-contact-list-table td:nth-child(6) {
        width: 82px;
    }

    .besalp-document-form-wide {
        grid-column: auto;
    }

    .besalp-contact-layout,
    .besalp-contact-form {
        grid-template-columns: 1fr;
    }

    .besalp-contact-form-wide,
    .besalp-contact-form-actions {
        grid-column: auto;
    }

    .besalp-public-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .besalp-public-form-actions .besalp-button {
        width: 100%;
    }

    .besalp-notification-language {
        width: 100%;
    }

    .besalp-notification-column-actions {
        width: 76px;
    }

    .besalp-notification-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .besalp-notification-reset-action .besalp-button,
    .besalp-notification-footer .besalp-modal-footer-actions,
    .besalp-notification-footer .besalp-modal-footer-actions .besalp-button {
        width: 100%;
    }

    .besalp-notification-footer .besalp-modal-footer-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .besalp-notification-test .besalp-settings-form {
        grid-template-columns: 1fr;
    }

    .besalp-notification-test .besalp-button {
        width: 100%;
    }

    .besalp-access-page {
        min-height: 100dvh;
        padding: 0;
        overflow: auto;
        background:
            linear-gradient(180deg, rgba(247, 250, 255, 0.8) 0%, rgba(247, 250, 255, 0.58) 48%, rgba(247, 250, 255, 0.88) 100%),
            url("../img/entry-background.png") 62% center / cover no-repeat;
    }

    .besalp-access-shell {
        width: 100%;
        min-height: 100dvh;
        display: flex;
        flex-direction: column;
    }

    .besalp-access-brand-panel {
        min-height: auto;
        display: grid;
        gap: clamp(18px, 3vh, 28px);
        padding: max(24px, env(safe-area-inset-top)) 22px 24px;
        border: 0;
        background: transparent;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .besalp-access-logo {
        width: 132px;
    }

    .besalp-access-brand-message {
        gap: var(--besalp-space-2);
        margin: 0;
        padding: 0;
    }

    .besalp-access-brand-message h1 {
        max-width: 330px;
        font-size: clamp(30px, 9vw, 42px);
        line-height: 1.02;
    }

    .besalp-access-brand-message p {
        max-width: 350px;
        font-size: 14px;
        line-height: 1.45;
    }

    .besalp-access-swiss {
        display: none;
    }

    .besalp-access-workspace {
        width: 100%;
        display: block;
        margin-top: auto;
        padding: 0 14px max(72px, calc(env(safe-area-inset-bottom) + 48px));
    }

    .besalp-access-card {
        width: 100%;
        gap: var(--besalp-space-4);
        padding: 24px 20px 22px;
        border-radius: 22px;
        box-shadow: 0 18px 48px rgba(26, 39, 67, 0.2);
    }

    .besalp-access-card-security {
        display: none;
    }

    .besalp-access-switch a {
        min-height: 42px;
        padding: 0 var(--besalp-space-2);
        font-size: 13px;
    }

    .besalp-access-heading {
        gap: var(--besalp-space-1);
    }

    .besalp-access-heading h1 {
        font-size: 25px;
    }

    .besalp-access-heading > p:not(.besalp-eyebrow) {
        font-size: 14px;
        line-height: 1.4;
    }

    .besalp-access-content .besalp-form {
        gap: var(--besalp-space-3);
    }

    .besalp-access-content .besalp-form-control {
        min-height: 48px;
    }

    .besalp-access-content .besalp-button {
        min-height: 48px;
    }

    .besalp-access-encryption {
        justify-content: center;
        font-size: 12px;
    }

    .besalp-access-context-note {
        display: grid;
        gap: var(--besalp-space-1);
        padding: var(--besalp-space-3);
        border-radius: 10px;
        background: #f5f8fc;
        color: var(--besalp-color-muted);
        font-size: 12px;
    }

    .besalp-access-context-note strong {
        color: var(--besalp-color-ink);
    }

    .besalp-access-methods,
    .besalp-access-setup-grid {
        grid-template-columns: 1fr;
    }

    .besalp-access-method {
        min-height: 112px;
        grid-template-columns: 44px minmax(0, 1fr);
        justify-items: start;
        text-align: left;
    }

    .besalp-access-method-icon {
        width: 40px;
        height: 40px;
    }

    .besalp-code-input-group {
        width: 100%;
        grid-template-columns: repeat(6, minmax(38px, 48px));
    }

    .besalp-code-input {
        width: 100%;
    }

    .besalp-public-upload-app {
        place-items: stretch;
        padding: 0;
        overflow: hidden;
        background: var(--besalp-color-surface);
    }

    .besalp-public-upload-shell {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        max-height: 100dvh;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .besalp-public-upload-header {
        min-height: calc(64px + env(safe-area-inset-top));
        padding: max(var(--besalp-space-3), env(safe-area-inset-top)) var(--besalp-space-4) var(--besalp-space-3);
    }

    .besalp-public-upload-logo {
        width: 108px;
    }

    .besalp-public-upload-screen {
        padding: var(--besalp-space-4) var(--besalp-space-4) max(var(--besalp-space-4), env(safe-area-inset-bottom));
    }

    .besalp-public-upload-source-primary {
        min-height: 120px;
    }

    .besalp-public-upload-file {
        grid-template-columns: 64px minmax(0, 1fr) auto;
        padding: var(--besalp-space-2);
    }

    .besalp-public-upload-file-preview {
        width: 64px;
        height: 70px;
    }

    .besalp-public-upload-file-action {
        width: 42px;
        height: 42px;
    }

    .besalp-public-upload-bottom-action {
        bottom: calc(-1 * max(var(--besalp-space-4), env(safe-area-inset-bottom)));
        padding-bottom: max(var(--besalp-space-2), env(safe-area-inset-bottom));
    }

    .besalp-public-upload-result-actions {
        padding-bottom: env(safe-area-inset-bottom);
    }

    .besalp-auditor-evidence-modal {
        width: 100vw;
    }

    .besalp-auditor-evidence-workspace {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(44dvh, 1fr) auto;
        overflow-y: auto;
    }

    .besalp-auditor-evidence-preview {
        min-height: 44dvh;
        border-right: 0;
        border-bottom: 1px solid var(--besalp-color-line);
    }

    .besalp-auditor-evidence-details {
        overflow: visible;
    }

    .besalp-auditor-evidence-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
