:root {
  --brand-ink: #17212b;
  --brand-muted: #617084;
  --brand-blue: #245e83;
  --brand-blue-dark: #183f5a;
  --brand-green: #4f7d57;
  --brand-copper: #b86b38;
  --brand-paper: #f4f1ec;
  --brand-line: #d9e1e8;
  --brand-panel: #ffffff;
}
body[data-theme="dark"] {
  --brand-ink: #e7edf3;
  --brand-muted: #a7b4c4;
  --brand-blue-dark: #7db7db;
  --brand-green: #7fb28a;
  --brand-copper: #e0a06d;
  --brand-paper: #121820;
  --brand-line: #2a3644;
  --brand-panel: #1a222c;
}
html { font-size: 14px; }
@media (min-width: 768px) { html { font-size: 16px; } }
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(36, 94, 131, .35); }
html { position: relative; min-height: 100%; }
body {
  margin-bottom: 60px;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--employee-color, var(--brand-blue)) 5%, transparent) 0 24rem, transparent 34rem),
    linear-gradient(180deg, color-mix(in srgb, var(--tenant-color, var(--brand-green)) 4%, transparent), transparent 16rem),
    var(--brand-paper);
  color: var(--brand-ink);
}
.context-help-link { width: 30px; height: 30px; display: inline-grid; place-items: center; border: 1px solid rgba(36, 94, 131, .28); border-radius: 50%; color: var(--brand-blue); background: rgba(36, 94, 131, .06); font-weight: 700; text-decoration: none; }
.context-help-link:hover { color: #fff; background: var(--brand-blue); border-color: var(--brand-blue); }
.navbar { background: #fbfaf7; border-top: 3px solid color-mix(in srgb, var(--tenant-color, var(--brand-blue)) 72%, var(--employee-color, var(--brand-green))); }
body[data-theme="dark"] .navbar { background: #151c25; }
body[data-theme="dark"] .navbar .nav-link,
body[data-theme="dark"] .navbar-brand,
body[data-theme="dark"] .brand-lockup { color: var(--brand-ink) !important; }
.navbar-collapse { gap: .75rem; }
.navbar-nav { flex-wrap: wrap; row-gap: .15rem; }
.navbar .d-flex.align-items-center.gap-2 { flex-wrap: wrap; justify-content: flex-end; }
.navbar .form-select-sm { max-width: 220px; }
.navbar .nav-link { padding: .35rem .5rem; font-size: .92rem; }
.navbar .nav-link { border-radius: 6px; }
.navbar .nav-link:hover { background: #eef3f1; color: var(--brand-blue-dark) !important; }
.navbar button.nav-link { border: 0; background: transparent; font: inherit; }
.navbar .dropdown-menu { border-color: var(--brand-line); border-radius: 6px; box-shadow: 0 8px 22px rgba(23, 33, 43, .1); }
.navbar .dropdown-item { font-size: .92rem; }
.navbar .dropdown-item:active { background: var(--brand-blue); }
.a4w-menu-disabled { cursor: not-allowed; opacity: .48; color: var(--brand-muted) !important; }
.navbar .nav-link.a4w-menu-disabled { pointer-events: auto; }
.a4w-return-trail { margin-top: -.75rem; margin-bottom: .65rem; border-bottom: 1px solid var(--brand-line); background: color-mix(in srgb, var(--brand-panel) 88%, var(--brand-paper)); }
.a4w-return-trail > .container-fluid { min-height: 34px; display: flex; align-items: center; gap: .55rem; overflow-x: auto; }
.a4w-return-trail-label { flex: 0 0 auto; color: var(--brand-muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.a4w-return-trail-links { display: flex; align-items: center; gap: .35rem; min-width: 0; }
.a4w-return-trail-link { flex: 0 0 auto; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: .18rem .5rem; border: 1px solid color-mix(in srgb, var(--tenant-color, var(--brand-blue)) 24%, var(--brand-line)); border-radius: 6px; background: var(--brand-panel); color: var(--brand-blue-dark); font-size: .82rem; font-weight: 700; text-decoration: none; }
.a4w-return-trail-link:hover { color: #fff; background: var(--brand-blue); border-color: var(--brand-blue); }
.a4w-return-trail-separator { flex: 0 0 auto; color: var(--brand-muted); font-size: .78rem; }
body[data-theme="dark"] .a4w-return-trail { background: #151c25; }
body[data-theme="dark"] .a4w-return-trail-link { background: #1a222c; color: var(--brand-ink); }
.identity-avatar { width: 1.35rem; height: 1.35rem; border-radius: 50%; object-fit: cover; border: 1px solid rgba(23, 33, 43, .22); flex: 0 0 auto; background: #fff; }
.identity-avatar--logo { border-radius: 4px; object-fit: contain; padding: 1px; }
.login-shell { min-height: calc(100vh - 160px); display: grid; place-items: center; padding: 2rem 1rem; }
.login-panel { width: min(100%, 420px); }
.a4w-login-disabled { color: var(--brand-muted); cursor: not-allowed; opacity: .6; text-decoration: none; }
.license-pill { display: inline-flex; align-items: center; min-height: 31px; padding: .25rem .55rem; border: 1px solid #dfe4ea; border-radius: 999px; color: #526071; background: #fff; text-decoration: none; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.license-pill:hover { color: var(--brand-blue-dark); border-color: #b8c6d4; }
.license-pill.is-active { color: #176b45; border-color: #b7dcc7; background: #effaf3; }
.license-pill.is-locked { color: #a74314; border-color: #edc2ab; background: #fff7ed; }
.version-pill { display: inline-flex; align-items: center; gap: .35rem; min-height: 31px; padding: .25rem .55rem; border: 1px solid #dfe4ea; border-radius: 999px; color: #526071; background: #fff; text-decoration: none; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.version-pill:hover { color: var(--brand-blue-dark); border-color: #b8c6d4; }
.version-pill.has-update { color: #8a4d0f; border-color: #f1c98c; background: #fff8ea; }
.version-pill span { display: inline-flex; align-items: center; min-height: 1.15rem; padding: 0 .35rem; border-radius: 999px; background: #b86b38; color: #fff; font-size: .68rem; line-height: 1; text-transform: uppercase; }
.identity-pill { gap: .35rem; border-color: color-mix(in srgb, var(--identity-color, var(--brand-blue)) 38%, #dfe4ea); background: color-mix(in srgb, var(--identity-color, var(--brand-blue)) 10%, #fff); color: #263241; }
.identity-pill--tenant { --identity-color: var(--tenant-color); }
.identity-pill--employee { --identity-color: var(--employee-color); box-shadow: inset 3px 0 0 color-mix(in srgb, var(--employee-color) 72%, #fff); }
.tenant-switcher { display: inline-flex; align-items: center; gap: .35rem; min-height: 31px; padding: .18rem .35rem; border: 1px solid color-mix(in srgb, var(--tenant-color, var(--brand-blue)) 38%, #dfe4ea); border-radius: 999px; background: color-mix(in srgb, var(--tenant-color, var(--brand-blue)) 10%, #fff); }
.tenant-switcher .form-select { width: auto; max-width: 260px; border: 0; background-color: transparent; color: #263241; font-weight: 700; font-size: .8rem; padding-top: .1rem; padding-bottom: .1rem; }
.tenant-switcher .form-select:focus { box-shadow: none; }
.identity-dot,
.color-swatch { width: .78rem; height: .78rem; border-radius: 50%; border: 1px solid rgba(23, 33, 43, .22); background: var(--identity-color, var(--swatch-color, var(--brand-blue))); flex: 0 0 auto; display: inline-block; vertical-align: -0.08rem; }
.color-swatch { margin-right: .35rem; background: var(--swatch-color, var(--brand-blue)); }
body[data-theme="dark"] .identity-pill { color: var(--brand-ink); background: color-mix(in srgb, var(--identity-color, var(--brand-blue)) 16%, #151c25); }
.brand-lockup { display: inline-flex; align-items: center; gap: .65rem; padding-right: 1rem; color: var(--brand-ink); text-decoration: none; }
.brand-mark { width: 2.35rem; height: 2.35rem; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--brand-blue-dark), var(--brand-green)); color: #fff; font-weight: 800; letter-spacing: 0; box-shadow: inset 0 -2px 0 rgba(255,255,255,.14); }
.brand-copy { display: grid; line-height: 1.05; text-align: left; }
.brand-name { font-weight: 800; font-size: 1.05rem; letter-spacing: 0; }
.brand-edition { color: var(--brand-copper); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.page-title { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 1.5rem 0; }
.brand-hero { align-items: center; padding: 1.25rem 1.4rem; border: 1px solid #d7ded7; border-left: 6px solid var(--brand-green); border-radius: 8px; background: linear-gradient(135deg, #ffffff 0%, #f7f5f0 68%, #eef3f1 100%); box-shadow: 0 8px 24px rgba(23, 33, 43, .06); }
.brand-hero h1 { max-width: 760px; margin: .2rem 0 .35rem; font-size: clamp(1.45rem, 2vw, 2.15rem); line-height: 1.15; }
.eyebrow { color: var(--brand-copper); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.hero-subtitle { color: var(--brand-blue-dark); font-weight: 600; }
.panel { background: var(--brand-panel); border: 1px solid var(--brand-line); border-radius: 8px; padding: 1rem; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.panel > summary { cursor: pointer; list-style-position: inside; }
.panel > summary::marker { color: var(--brand-blue); }
.note-text { color: var(--brand-muted); white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.45; }
.metric { min-height: 112px; }
.metric strong { display: block; font-size: 1.6rem; }
.dashboard-card-grid,
.dashboard-metric-grid,
.workday-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: .75rem; }
.workday-card { display: block; min-height: 5.8rem; border: 1px solid #d8e1ea; border-left: 4px solid var(--brand-blue); border-radius: 7px; padding: .7rem .8rem; color: #16202a; background: #fff; text-decoration: none; }
.workday-card:hover { background: #f6fafc; border-color: #b9cbd9; }
.workday-card span { display: block; color: var(--brand-muted); font-size: .82rem; }
.workday-card strong { display: block; font-size: 1.65rem; line-height: 1.05; margin: .2rem 0; }
.workday-card small { color: var(--brand-muted); }
.workday-card-plan { border-left-color: #2563eb; }
.workday-card-project-overdue { border-left-color: #b45309; background: #fffbeb; }
.workday-card-billable { border-left-color: #15803d; }
.workday-card-payment-due { border-left-color: #c2410c; background: #fff7ed; }
.workday-card-project-overdue:hover,
.workday-card-payment-due:hover { background: #fff3df; }
.workflow-step-list { display: grid; gap: .45rem; }
.workflow-step-list > div { display: grid; grid-template-columns: 1.9rem minmax(0, 1fr); gap: .15rem .55rem; align-items: start; border: 1px solid #e5e9ef; border-radius: 6px; padding: .5rem .6rem; background: #fbfcfe; }
.workflow-step-list span { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; width: 1.55rem; height: 1.55rem; border-radius: 999px; background: var(--brand-blue); color: #fff; font-weight: 700; font-size: .78rem; }
.workflow-step-list strong { line-height: 1.15; }
.workflow-step-list small { color: var(--brand-muted); }
.action-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.35rem; height: 1.35rem; margin-left: .35rem; padding: 0 .35rem; border-radius: 999px; background: #eef2f7; color: #324155; font-size: .76rem; font-weight: 700; line-height: 1; }
.btn-primary .action-count { background: rgba(255,255,255,.22); color: #fff; }
.muted { color: var(--brand-muted); }
.table { background: #fff; }
body[data-theme="dark"] .table { --bs-table-bg: var(--brand-panel); --bs-table-color: var(--brand-ink); --bs-table-border-color: var(--brand-line); --bs-table-hover-bg: #223041; }
body[data-theme="dark"] .form-control,
body[data-theme="dark"] .form-select,
body[data-theme="dark"] textarea { background: #121820; color: var(--brand-ink); border-color: var(--brand-line); }
body[data-theme="dark"] .status-note { background: #17283a; }
.table th { color: #3d4a5c; font-size: .85rem; text-transform: uppercase; }
.sort-link { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: .2rem; }
.sort-link:hover { color: var(--brand-blue); text-decoration: underline; }
.amount-open { color: #a74314; font-weight: 700; }
.amount-paid { color: #176b45; font-weight: 700; }
.badge + .badge { margin-left: .2rem; }
.table .badge { margin-top: .12rem; white-space: normal; text-align: left; }
.table .badge.text-bg-light,
.table .badge.text-bg-secondary {
  color: #263241 !important;
  background-color: #eef3f7 !important;
  border: 1px solid #c6d1dd;
}
.table .badge.text-bg-warning {
  color: #3d2a05 !important;
  border: 1px solid #d8a932;
}
body[data-theme="dark"] .table .badge.text-bg-light,
body[data-theme="dark"] .table .badge.text-bg-secondary {
  color: #e7edf3 !important;
  background-color: #2a3644 !important;
  border-color: #435266;
}
body[data-theme="dark"] .table .badge.text-bg-warning {
  color: #241804 !important;
}
.btn-primary { background: var(--brand-blue); border-color: var(--brand-blue); }
.btn-primary:hover, .btn-primary:focus { background: var(--brand-blue-dark); border-color: var(--brand-blue-dark); }
.btn-outline-primary { color: var(--brand-blue); border-color: var(--brand-blue); }
.btn-outline-primary:hover { background: var(--brand-blue); border-color: var(--brand-blue); }
.btn-outline-danger,
.btn-warning-action {
  color: #9f2d2d;
  border-color: #d9a2a2;
  background: #fff5f5;
}
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-warning-action:hover,
.btn-warning-action:focus {
  color: #7f1d1d;
  border-color: #c66f6f;
  background: #ffe8e8;
}
body[data-theme="dark"] .btn-outline-danger,
body[data-theme="dark"] .btn-warning-action {
  color: #f2aaaa;
  border-color: #7f3d3d;
  background: #2a171b;
}
body[data-theme="dark"] .btn-outline-danger:hover,
body[data-theme="dark"] .btn-outline-danger:focus,
body[data-theme="dark"] .btn-warning-action:hover,
body[data-theme="dark"] .btn-warning-action:focus {
  color: #ffd5d5;
  border-color: #a95050;
  background: #3a1d22;
}
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.form-grid .wide { grid-column: 1 / -1; }
.form-grid .span-2 { grid-column: span 2; }
.form-grid .span-3 { grid-column: span 3; }
.form-grid .span-4 { grid-column: 1 / -1; }
.employee-edit-grid { grid-template-columns: repeat(4, minmax(11rem, 1fr)); align-items: start; }
.article-edit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; }
.article-edit-grid textarea.form-control { min-height: 5.2rem; resize: vertical; }
.document-preview { min-height: 76vh; background: #fff; border: 1px solid #dfe4ea; border-radius: 8px; padding: 1rem; }
textarea.code { font-family: Consolas, monospace; min-height: 440px; }
.thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; border: 1px solid #dfe4ea; background: #f6f7f9; }
.thumb-lg { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; border: 1px solid #dfe4ea; background: #f6f7f9; }
.small { font-size: .85rem; }
.gallery { display: flex; gap: .4rem; flex-wrap: wrap; }
.image-manage-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .75rem; }
.image-manage-item { display: grid; gap: .4rem; }
.image-manage-item img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border: 1px solid var(--brand-line); border-radius: 8px; background: #fff; }
.timeline-list { display: grid; gap: .65rem; }
.timeline-entry { border-left: 3px solid var(--brand-line); padding: .55rem .75rem; background: #fbfcfe; border-radius: 6px; }
body[data-theme="dark"] .timeline-entry { background: #151c25; }
.line-grid { display: grid; grid-template-columns: 2fr .7fr .8fr .8fr; gap: .5rem; align-items: center; }
.status-note { border-left: 4px solid var(--brand-blue); padding: .75rem 1rem; background: #eef4fb; border-radius: 4px; overflow-wrap: anywhere; }
.status-note-warning { border-left-color: #b45353; background: #fff5f5; }
.mail-template-overview-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .85rem; align-items: start; border-left: 5px solid var(--brand-green); background: color-mix(in srgb, var(--brand-panel) 86%, #eef8f0); }
.mail-template-overview-icon { width: 2.35rem; height: 2.35rem; display: inline-grid; place-items: center; border: 1px solid color-mix(in srgb, var(--brand-green) 42%, var(--brand-line)); border-radius: 8px; background: color-mix(in srgb, var(--brand-green) 12%, var(--brand-panel)); color: var(--brand-green); font-size: 1.35rem; font-weight: 700; }
.mail-template-edit-card,
.customer-mail-template-card { border: 1px solid color-mix(in srgb, var(--brand-green) 28%, var(--brand-line)); border-left: 4px solid var(--brand-green); border-radius: 8px; padding: .85rem; background: color-mix(in srgb, var(--brand-panel) 88%, #eef8f0); }
.mail-template-edit-card .field-label,
.customer-mail-template-card .field-label { margin-top: .35rem; }
.employee-login-status { display: flex; justify-content: space-between; align-items: flex-start; gap: .85rem; border: 1px solid var(--brand-line); border-left: 4px solid var(--brand-blue); border-radius: 6px; padding: .75rem .85rem; background: #f8fbfd; }
.employee-login-status strong,
.employee-login-status span { display: block; }
.employee-login-status > div:first-child span { color: var(--brand-muted); margin-top: .15rem; }
.employee-login-status--ok { border-left-color: #176b45; background: #effaf3; }
.employee-login-status--warning { border-left-color: #b45353; background: #fff5f5; }
.employee-login-facts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .25rem; min-width: 12rem; }
.employee-twofactor-disabled { opacity: .72; }
.startup-choice-panel { border: 1px solid #d8e1ea; border-left: 5px solid var(--brand-blue); border-radius: 8px; background: #f8fbfd; padding: 1rem; margin-bottom: 1rem; }
.startup-choice-head strong,
.startup-choice-head span,
.startup-choice-card strong,
.startup-choice-card span { display: block; }
.startup-choice-head strong { font-size: 1.05rem; }
.startup-choice-head span,
.startup-choice-card span,
.startup-choice-note { color: var(--brand-muted); }
.startup-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: .85rem; }
.startup-choice-card { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .35rem .65rem; min-height: 8.5rem; padding: .85rem; border: 1px solid var(--brand-line); border-radius: 8px; background: var(--brand-panel); color: var(--brand-ink); text-decoration: none; }
.startup-choice-card:hover { border-color: var(--brand-blue); color: var(--brand-ink); box-shadow: 0 2px 8px rgba(15, 23, 42, .08); }
.startup-choice-card strong,
.startup-choice-card span:last-child { grid-column: 2; }
.startup-choice-mark { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--brand-blue); color: #fff; font-weight: 700; }
.startup-choice-note { margin-top: .85rem; padding-top: .75rem; border-top: 1px solid #dde6ef; }
.license-status { border: 1px solid #dfe4ea; border-left: 4px solid #8794a5; border-radius: 8px; padding: .8rem .9rem; background: #fbfcfe; }
.license-status strong, .license-status span { display: block; }
.license-status span { color: #526071; margin-top: .15rem; }
.license-status.is-active { border-left-color: #176b45; background: #effaf3; }
.license-status.is-locked { border-left-color: #c2410c; background: #fff7ed; }
.license-facts { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: .45rem .75rem; }
.license-facts dt { color: #697586; font-size: .78rem; text-transform: uppercase; }
.license-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.license-center-hero { margin-bottom: 1rem; }
.license-center-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 1rem; align-items: start; }
.license-center-span-main { grid-column: 1; }
.license-center-span-side { grid-column: 2; }
.license-center-span-full { grid-column: 1 / -1; }
.license-status-card { border-left: 5px solid #8794a5; }
.license-status-card--active { border-left-color: #176b45; }
.license-status-card--trial { border-left-color: #c9852e; }
.license-status-card--expired, .license-status-card--inactive { border-left-color: #be4c44; }
.license-status-head { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1rem; }
.license-status-badge { display: inline-flex; align-items: center; min-height: 34px; padding: .2rem .7rem; border-radius: 999px; font-size: .8rem; font-weight: 800; white-space: nowrap; flex: 0 0 auto; }
.license-status-badge--active { color: #176b45; background: #dff3e7; border: 1px solid #b7dcc7; }
.license-status-badge--trial { color: #8a5a12; background: #fff4df; border: 1px solid #edd7a8; }
.license-status-badge--expired, .license-status-badge--inactive { color: #9f2f2f; background: #fdecec; border: 1px solid #efc2c2; }
.license-center-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-bottom: 1rem; }
.license-center-facts > div { min-height: 74px; padding: .7rem .8rem; border: 1px solid var(--brand-line); border-radius: 8px; background: #fbfcfe; }
.license-center-facts span { display: block; color: var(--brand-muted); font-size: .76rem; text-transform: uppercase; }
.license-center-facts strong { display: block; margin-top: .25rem; font-size: 1rem; overflow-wrap: anywhere; }
.license-center-subsection { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #edf0f4; }
.license-center-subsection > summary { cursor: pointer; font-weight: 700; color: var(--brand-blue-dark); list-style: none; }
.license-center-subsection > summary::-webkit-details-marker { display: none; }
.license-center-subsection > summary::before { content: "›"; display: inline-block; margin-right: .35rem; font-weight: 800; }
.license-center-subsection[open] > summary::before { transform: rotate(90deg); }
.license-activation-details > summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; cursor: pointer; list-style: none; }
.license-activation-details > summary::-webkit-details-marker { display: none; }
.license-activation-details > summary::after { content: "›"; display: inline-flex; align-items: center; justify-content: center; width: 1.7rem; height: 1.7rem; border: 1px solid #dfe4ea; border-radius: 999px; color: var(--brand-blue-dark); font-weight: 800; }
.license-activation-details[open] > summary::after { transform: rotate(90deg); }
.license-activation-details strong { display: block; color: var(--brand-ink); }
.license-activation-details small { display: block; color: var(--brand-muted); font-weight: 500; }
.license-activate-form { display: grid; gap: 1rem; }
.license-activate-block { display: grid; gap: .55rem; }
.license-file-picker { width: fit-content; margin: 0; }
.license-action-grid { display: flex; flex-wrap: wrap; gap: .5rem; }
.license-action-grid--vendor { justify-content: flex-end; }
.license-product-list { margin: .75rem 0 0; padding: 0; list-style: none; display: grid; gap: .55rem; color: #3b4a5d; }
.license-product-list li { display: flex; gap: .55rem; align-items: flex-start; }
.license-product-list li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-green); flex: 0 0 auto; margin-top: .55rem; }
.license-upgrade-section { border-left: 4px solid var(--brand-copper); }
.license-vendor-panel { background: linear-gradient(135deg, #ffffff 0%, #f7f5f0 72%, #eef3f1 100%); }
.license-vendor-grid { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.license-marketing-panel { border: 1px solid #b7dcc7; background: linear-gradient(135deg, #f8fcf9 0%, #ffffff 100%); }
.license-marketing-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr); gap: 1.25rem; align-items: end; }
.license-marketing-cta { display: grid; gap: .75rem; justify-items: start; }
@media (max-width: 1100px) {
  .license-center-grid { grid-template-columns: 1fr; }
  .license-center-span-main, .license-center-span-side, .license-center-span-full { grid-column: 1; }
  .license-center-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .license-status-head { flex-direction: column; }
  .license-center-facts, .license-marketing-grid { grid-template-columns: 1fr; }
  .license-action-grid--vendor { justify-content: flex-start; }
}
.feature-list { display: grid; gap: .55rem; }
.feature-row { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr) auto; gap: .75rem; align-items: center; padding: .65rem .75rem; border: 1px solid #dfe4ea; border-radius: 6px; background: #fbfcfe; }
.feature-row span { color: #617084; }
.feature-row em { justify-self: end; padding: .15rem .45rem; border-radius: 999px; font-style: normal; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.feature-row.is-active { border-color: #b7dcc7; background: #effaf3; }
.feature-row.is-active em { color: #176b45; background: #dff3e7; }
.feature-row.is-locked { border-color: #edc2ab; background: #fff7ed; }
.feature-row.is-locked em { color: #a74314; background: #ffe8d8; }
@media (max-width: 1100px) {
  .program-update-layout { grid-template-columns: 1fr; }
  .program-update-side { position: static; }
  .article-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) { .employee-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .form-grid, .payment-booking-grid, .payment-action-menu, .work-entry-schedule-grid { grid-template-columns: 1fr; } .dashboard-card-grid, .dashboard-metric-grid, .workday-grid { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); } .form-grid .span-2, .form-grid .span-3, .form-grid .span-4, .payment-booking-grid .span-2, .payment-action-menu .btn:last-child:nth-child(odd) { grid-column: 1 / -1; } .page-title { align-items: start; flex-direction: column; } .brand-hero { padding: 1rem; } .payment-booking-panel { position: static; } .position-add-row { align-items: flex-start; flex-direction: column; } .position-add-actions, .trip-step-chain-compact { justify-content: flex-start; } }
@media (max-width: 430px) { .dashboard-card-grid, .dashboard-metric-grid, .workday-grid { grid-template-columns: 1fr; } }

.payment-table-wrap { max-height: 68vh; overflow: auto; }
.selected-invoice { border-left: 4px solid #4776b4; padding: .75rem 1rem; background: #eef4fb; border-radius: 4px; }
.payment-booking-panel { position: sticky; top: 1rem; }
.payment-action-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-bottom: .75rem; }
.payment-action-menu .btn { min-height: 2.35rem; display: inline-flex; align-items: center; justify-content: center; white-space: normal; }
.payment-action-menu .btn:last-child:nth-child(odd) { grid-column: 1 / -1; }
.payment-action-empty,
.payment-action-panel { border: 1px solid #edf0f4; border-left: 4px solid #6f8fb1; border-radius: 6px; background: #fbfdff; padding: .8rem .85rem; }
.payment-action-empty { display: grid; gap: .2rem; color: var(--brand-muted); }
.payment-action-empty strong,
.payment-action-panel h3 { color: var(--brand-ink); }
.payment-action-panel h3 { font-size: 1rem; margin: 0 0 .25rem; }
.payment-action-panel p { margin: 0 0 .75rem; color: var(--brand-muted); font-size: .9rem; line-height: 1.35; }
.payment-booking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem .75rem; }
.payment-booking-grid .span-2 { grid-column: 1 / -1; }
.payment-flow-note { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .55rem .7rem; border: 1px solid #d7e5f4; border-left: 4px solid #4776b4; border-radius: 6px; background: #f5f9fd; }
.payment-flow-note strong { white-space: nowrap; }
.payment-flow-note span { color: var(--brand-muted); font-size: .88rem; }
.payment-entry { border-top: 1px solid #dfe4ea; padding: .75rem 0; }
.payment-entry:first-of-type { border-top: 0; }
.payment-recent-panel { background: #fbfcfe; }
.payment-recent-panel summary { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; cursor: pointer; list-style: none; }
.payment-recent-panel summary::-webkit-details-marker { display: none; }
.payment-recent-panel summary::before { content: ">"; color: var(--brand-blue); font-weight: 700; margin-top: .12rem; }
.payment-recent-panel[open] summary::before { content: "v"; }
.payment-recent-panel summary > span:first-of-type { flex: 1; min-width: 0; }
.payment-recent-panel summary small { display: block; color: var(--brand-muted); margin-top: .1rem; }
.payment-recent-list { margin-top: .75rem; border-top: 1px solid #edf0f4; }
.payment-recent { color: #16202a; text-decoration: none; border-top: 1px solid #edf0f4; padding: .55rem 0; }
.payment-recent-list .payment-recent:first-child { border-top: 0; }
.payment-recent:hover { color: #0d6efd; }
.payment-recent-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .4rem .9rem; }
.payment-recent-grid .payment-recent { border-top: 0; border-bottom: 1px solid #edf0f4; }
.placeholder-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .5rem; }
.placeholder-grid.compact { grid-template-columns: 1fr; max-height: 72vh; overflow: auto; padding-right: .15rem; }
.placeholder-token { text-align: left; border: 1px solid #dfe4ea; border-radius: 8px; background: #fff; padding: .6rem .7rem; min-height: 64px; }
.placeholder-token:hover { border-color: #4776b4; background: #f3f7fc; }
.placeholder-token span { display: block; font-weight: 600; }
.placeholder-token code { font-size: .8rem; color: #526071; white-space: normal; }
.placeholder-help { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .35rem .8rem; }
.placeholder-help div { display: flex; gap: .5rem; align-items: baseline; }
.placeholder-help code { min-width: 130px; }
.dynamic-token-strip { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .35rem; }
.dynamic-token { border: 1px solid #dfe4ea; border-radius: 6px; background: #f8fafc; color: #27384a; padding: .18rem .42rem; font-size: .78rem; line-height: 1.2; }
.dynamic-token:hover { border-color: #4776b4; background: #eef6fb; color: #183f5a; }
body[data-theme="dark"] .dynamic-token { border-color: var(--brand-line); background: #202b38; color: var(--brand-ink); }
.template-sidebar .panel { padding: .9rem; }
.template-main { min-width: 0; }
.template-main > .panel, .template-main .panel { width: 100%; }
.template-tools { position: sticky; top: 1rem; }
.template-editor-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: .75rem; align-items: start; }
.template-editor-grid textarea.code { min-height: 52vh; }
.template-visual-editor { min-height: 52vh; max-height: 66vh; overflow: auto; border: 1px solid #dfe4ea; border-radius: 8px; background: #fff; padding: 1rem; }
.template-visual-editor:focus { outline: 0; border-color: var(--brand-blue); box-shadow: 0 0 0 .2rem rgba(36, 94, 131, .12); }
body[data-theme="dark"] .template-visual-editor { background: #121820; border-color: var(--brand-line); color: var(--brand-ink); }
@media (min-width: 1500px) {
  .template-sidebar { flex: 0 0 15%; max-width: 15%; }
  .template-main { flex: 0 0 85%; max-width: 85%; }
}
@media (max-width: 1199px) { .template-editor-grid { grid-template-columns: 1fr; } }
.page-busy { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(246, 247, 249, .72); z-index: 2000; }
.page-busy.is-active { display: flex; }
.page-busy > div { background: #fff; border: 1px solid #dfe4ea; border-radius: 8px; padding: .8rem 1rem; box-shadow: 0 8px 24px rgba(15, 23, 42, .16); display: flex; gap: .7rem; align-items: center; }
.internal-email-overlay { position: fixed; inset: 0; z-index: 3070; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(15, 23, 42, .55); }
.internal-email-overlay.is-active { display: flex; }
.internal-email-dialog { width: min(560px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; background: var(--brand-panel); color: var(--brand-ink); border: 1px solid var(--brand-line); border-radius: 8px; padding: 1rem; box-shadow: 0 18px 48px rgba(15, 23, 42, .26); }
.internal-email-head { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; margin-bottom: .85rem; }
.internal-email-head h2 { margin: 0 0 .2rem; font-size: 1.2rem; }
.internal-email-head p { margin: 0; color: var(--brand-muted); }
.internal-email-grid { display: grid; gap: .7rem; }
.internal-email-grid .wide { grid-column: 1 / -1; }
.internal-email-field-head { display: flex; justify-content: space-between; gap: .5rem; align-items: center; margin-bottom: .25rem; }
.internal-email-field-head .field-label { margin: 0; }
.internal-email-status { margin-top: .85rem; padding: .65rem .75rem; border-left: 4px solid var(--brand-blue); border-radius: 4px; background: #eef4fb; overflow-wrap: anywhere; }
.internal-email-status.is-pending { border-left-color: #9a6b1c; background: #fff8e7; }
.internal-email-status.is-success { border-left-color: #176b45; background: #effaf3; }
.internal-email-status.is-error { border-left-color: #b45353; background: #fff5f5; }
.internal-email-actions { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; margin-top: .9rem; }
body[data-theme="dark"] .internal-email-status { background: #17283a; }
body[data-theme="dark"] .internal-email-status.is-pending { background: #2a2417; }
body[data-theme="dark"] .internal-email-status.is-success { background: #14291d; }
body[data-theme="dark"] .internal-email-status.is-error { background: #2a171b; }
.a4w-confirm-overlay { position: fixed; inset: 0; z-index: 3060; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(15, 23, 42, .5); }
.a4w-confirm-overlay.is-active { display: flex; }
.a4w-confirm-dialog { width: min(480px, calc(100vw - 2rem)); background: var(--brand-panel); color: var(--brand-ink); border: 1px solid var(--brand-line); border-radius: 8px; padding: 1rem; box-shadow: 0 18px 48px rgba(15, 23, 42, .24); }
.a4w-confirm-dialog h2 { margin: 0 0 .45rem; font-size: 1.15rem; }
.a4w-confirm-dialog p { margin: 0; color: var(--brand-muted); overflow-wrap: anywhere; }
.a4w-confirm-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
.a4w-preview-overlay { position: fixed; inset: 0; z-index: 3040; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(15, 23, 42, .55); }
.a4w-preview-overlay.is-active { display: flex; }
.a4w-preview-dialog { width: min(820px, calc(100vw - 2rem)); height: min(94dvh, 1040px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: .75rem; background: var(--brand-panel); color: var(--brand-ink); border: 1px solid var(--brand-line); border-radius: 8px; padding: 1rem; box-shadow: 0 18px 52px rgba(15, 23, 42, .28); }
.a4w-preview-head { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; }
.a4w-preview-head h2 { margin: 0 0 .2rem; font-size: 1.18rem; }
.a4w-preview-head p { margin: 0; color: var(--brand-muted); }
.a4w-preview-dialog iframe { width: 100%; height: 100%; border: 1px solid var(--brand-line); border-radius: 6px; background: #fff; }
.a4w-preview-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; align-items: center; }
.a4w-preview-document-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-right: auto; }
.a4w-preview-document-actions:empty { display: none; }
.a4w-preview-document-actions form { margin: 0; display: inline-flex; }
.a4w-preview-document-actions .btn { white-space: nowrap; }
.a4w-window-actions { display: inline-flex; gap: .35rem; align-items: center; }
.a4w-icon-button { width: 2rem; height: 2rem; display: inline-grid; place-items: center; border: 1px solid #cfd7e3; border-radius: 6px; background: #fff; color: #2f3b4a; font-size: 1.15rem; line-height: 1; text-decoration: none; cursor: pointer; }
.a4w-icon-button:hover,
.a4w-icon-button:focus { color: #17212f; background: #f2f6fb; border-color: #aebbd0; text-decoration: none; }
.a4w-search-modal { position: fixed; inset: 0; z-index: 3050; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(15, 23, 42, .52); }
.a4w-search-modal.is-active { display: flex; }
.a4w-search-dialog { width: min(1080px, calc(100vw - 2rem)); height: min(92dvh, 900px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: .75rem; overflow: hidden; background: var(--brand-panel); color: var(--brand-ink); border: 1px solid var(--brand-line); border-radius: 8px; padding: 1rem; box-shadow: 0 18px 52px rgba(15, 23, 42, .28); }
.a4w-search-head { display: flex; justify-content: space-between; gap: .75rem; align-items: flex-start; }
.a4w-search-head h2 { margin: 0 0 .2rem; font-size: 1.15rem; }
.a4w-search-head p { margin: 0; color: var(--brand-muted); }
.a4w-search-body { min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
.a4w-search-body .compact-result-list { flex: 1 1 auto; min-height: 0; max-height: min(46vh, 430px); overflow-y: auto; overflow-x: hidden; }
.a4w-search-body .compact-result-list .table { width: 100%; table-layout: fixed; }
.a4w-search-body .compact-result-list td,
.a4w-search-body .compact-result-list th { overflow-wrap: anywhere; }
.a4w-search-body > .d-flex.justify-content-between { flex: 0 0 auto; padding-bottom: .15rem; }
.a4w-search-actions { display: flex; justify-content: flex-end; gap: .5rem; align-items: center; border-top: 1px solid #edf0f4; padding-top: .75rem; }
.a4w-search-row { cursor: pointer; }
.a4w-search-row:hover td { background: #f4f8fc; }
.a4w-search-row.is-selected td { background: #e7f0f7; box-shadow: inset 3px 0 0 var(--brand-blue); }
.a4w-search-row .form-check-input { pointer-events: none; }
.document-create-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin: .55rem 0 .9rem; }
.selection-summary { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .55rem .65rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.selection-summary strong { color: var(--brand-ink); }
@media (max-width: 760px) {
  .a4w-preview-overlay { padding: .45rem; align-items: stretch; }
  .a4w-preview-dialog { width: 100%; height: calc(100dvh - .9rem); padding: .7rem; }
  .a4w-preview-head { flex-direction: column; }
  .a4w-search-modal { padding: .45rem; align-items: stretch; }
  .a4w-search-dialog { width: 100%; max-height: none; height: calc(100dvh - .9rem); padding: .7rem; }
  .a4w-search-head { flex-direction: column; }
}
.busy-spinner { width: 1rem; height: 1rem; border: 2px solid #c8d2df; border-top-color: #4776b4; border-radius: 999px; animation: busy-spin .8s linear infinite; }
@keyframes busy-spin { to { transform: rotate(360deg); } }
.master-table-wrap { max-height: 70vh; overflow: auto; }
.master-detail-browser .panel { padding: .75rem; }
.master-detail-browser .table { font-size: .86rem; line-height: 1.22; }
.master-detail-browser .table th,
.master-detail-browser .table td { padding: .38rem .45rem; vertical-align: top; }
.master-detail-browser .thumb { width: 36px; height: 36px; border-radius: 6px; }
.compact-master-table small,
.compact-master-table .small { font-size: .78rem; }
.compact-master-table .btn-group-sm > .btn,
.compact-master-table .btn-sm { padding: .16rem .32rem; font-size: .75rem; }
.article-form-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.article-actions { display: flex; gap: .45rem; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.article-actions .input-group { width: min(100%, 440px); }
.article-actions-bottom { justify-content: flex-end; }
.article-actions-secondary { padding-top: .25rem; border-top: 1px solid #edf0f4; }
.form-grid-single { grid-template-columns: 1fr; }
.archive-file-list { max-height: 78vh; overflow: auto; border: 1px solid #edf0f4; border-radius: 6px; }
.archive-preview { width: 100%; min-height: 78vh; border: 1px solid #dfe4ea; border-radius: 6px; background: #fff; }
.employee-role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .35rem .65rem; padding: .6rem .7rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.employee-photo-editor { display: grid; grid-template-columns: 56px 1fr; gap: .75rem; align-items: center; }
.employee-photo-preview { width: 56px; height: 56px; border-radius: 6px; object-fit: cover; border: 1px solid var(--brand-line); background: #f6f8fb; }
.employee-photo-preview--placeholder { display: inline-grid; place-items: center; color: var(--brand-muted); font-weight: 800; }
.workflow-step { position: relative; }
.workflow-step > .step-title:first-child,
.workflow-step summary.step-title { padding-bottom: .45rem; border-bottom: 1px solid #edf0f4; }
.step-title { display: flex; align-items: flex-start; gap: .65rem; }
.step-title > span:first-child { flex: 0 0 1.8rem; width: 1.8rem; height: 1.8rem; display: inline-grid; place-items: center; border-radius: 999px; background: #e7f0f7; color: var(--brand-blue-dark); font-weight: 800; }
.document-action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .45rem; }
.document-action-grid form { margin: 0; }
.document-action-grid .btn { width: 100%; }
.archive-select-link { display: inline-flex; max-width: 100%; color: var(--brand-ink); text-decoration: none; overflow-wrap: anywhere; }
.archive-select-link:hover { color: var(--brand-blue); text-decoration: underline; }
.program-update-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); gap: .75rem; align-items: start; }
.program-update-main,
.program-update-side { min-width: 0; }
.program-update-side { position: sticky; top: .75rem; }
.update-live-panel { border-left: 4px solid var(--brand-blue); }
.update-settings-panel { opacity: .96; }
.update-details { max-height: min(52vh, 520px); overflow: auto; margin: 0; padding: .75rem; border: 1px solid #dfe4ea; border-radius: 6px; background: #0f1720; color: #f8fbff; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .88rem; line-height: 1.45; text-shadow: 0 0 1px rgba(255,255,255,.25); }
@media (max-width: 920px) {
  .program-update-layout { grid-template-columns: 1fr; }
  .program-update-side { position: static; }
}
@media (max-width: 480px) {
  .program-update-layout { gap: .55rem; }
  .program-update-layout .panel { padding: .75rem; }
  .update-settings-panel .form-check { align-items: flex-start; }
  .update-details { max-height: 42vh; font-size: .8rem; }
}
.help-frame { width: 100%; min-height: calc(100vh - 245px); border: 1px solid var(--brand-line); border-radius: 8px; background: #fff; }
.attachment-section { border-top: 1px solid #edf0f4; padding-top: .85rem; }
.attachment-list { display: grid; gap: .55rem; }
.attachment-item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: .65rem; align-items: center; padding: .55rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.attachment-thumb { width: 54px; height: 54px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #dfe4ea; border-radius: 6px; background: #fff; color: #526071; text-decoration: none; font-weight: 800; font-size: .78rem; overflow: hidden; }
.attachment-thumb img { width: 100%; height: 100%; object-fit: cover; }
.attachment-meta { min-width: 0; display: grid; gap: .1rem; }
.attachment-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attachment-meta span { color: #617084; font-size: .82rem; }
.attachment-actions { display: flex; flex-wrap: wrap; gap: .3rem; justify-content: flex-end; }
.field-label { display: block; font-size: .75rem; color: #5d6d7e; text-transform: uppercase; margin-bottom: .2rem; }
.reset-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .45rem .8rem; }
.reset-grid .form-check { margin: 0; padding: .55rem .75rem .55rem 2rem; border: 1px solid #dfe4ea; border-radius: 8px; background: #fff; }
.settings-toolbar { display: grid; grid-template-columns: minmax(220px, 340px) minmax(0, 1fr); gap: .75rem; align-items: center; }
.settings-tabs { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; }
.settings-tabs--start { justify-content: flex-start; }
.settings-tabs a { display: inline-flex; align-items: center; min-height: 2.15rem; padding: .35rem .65rem; border: 1px solid #dfe4ea; border-radius: 6px; background: #fbfcfe; color: #17212b; text-decoration: none; font-weight: 600; font-size: .88rem; }
.settings-tabs a:hover { border-color: #b8c6d4; color: #245e83; }
.settings-tabs a.is-active { background: #245e83; border-color: #245e83; color: #fff; }
.backup-action-bar { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.backup-action-bar form { display: inline-flex; margin: 0; }
.settings-identity-cell { display: flex; align-items: center; gap: .6rem; min-width: 12rem; }
.settings-list-logo { width: 2.35rem; height: 2.35rem; border-radius: 6px; object-fit: contain; border: 1px solid var(--brand-line); background: #fff; flex: 0 0 auto; }
.settings-list-logo--round { border-radius: 50%; object-fit: cover; }
.settings-list-logo--empty { display: inline-grid; place-items: center; background: color-mix(in srgb, var(--brand-blue) 5%, #fff); }
.settings-list-logo--empty .color-swatch { margin: 0; }
.settings-section.is-filtered-out { display: none; }
.settings-context-nav { padding: .75rem; }
.settings-subnav-panel { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.settings-crosslink-list { display: grid; gap: .5rem; }
.settings-crosslink-list a { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem .75rem; border: 1px solid #dfe4ea; border-radius: 6px; background: #fbfcfe; color: var(--brand-ink); text-decoration: none; font-weight: 700; }
.settings-crosslink-list a:hover { color: var(--brand-blue-dark); border-color: #b8c6d4; background: #f6fafc; }
.settings-crosslink-list span { color: var(--brand-muted); font-weight: 500; font-size: .85rem; text-align: right; }
.email-settings-overview { display: flex; justify-content: space-between; align-items: stretch; gap: 1rem; }
.email-settings-overview-main { display: grid; grid-template-columns: minmax(18rem, 28rem) minmax(0, 1fr); gap: .75rem; flex: 1 1 auto; min-width: 0; }
.email-enable-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; align-items: flex-start; margin: 0; padding: .75rem .85rem; border: 1px solid #dbe5ec; border-left: 4px solid var(--brand-blue); border-radius: 8px; background: #f8fbfd; cursor: pointer; }
.email-enable-card strong,
.email-enable-card small { display: block; }
.email-enable-card small { color: var(--brand-muted); line-height: 1.3; margin-top: .15rem; }
.email-settings-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; min-width: 0; }
.email-settings-facts div { min-width: 0; padding: .58rem .65rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.email-settings-facts span { display: block; color: #697586; font-size: .72rem; text-transform: uppercase; }
.email-settings-facts strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #16202a; }
.email-settings-actions { display: flex; flex-wrap: wrap; align-content: flex-start; justify-content: flex-end; gap: .5rem; flex: 0 0 auto; }
.email-settings-tabs { position: sticky; top: .35rem; z-index: 6; padding: .45rem; border: 1px solid #edf0f4; border-radius: 8px; background: rgba(255, 255, 255, .96); }
.email-settings-panel { display: none; }
.email-settings-panel.is-active { display: block; }
.email-settings-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; margin-bottom: .9rem; }
.email-provider-helper summary,
.settings-cert-note summary { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; cursor: pointer; list-style: none; }
.email-provider-helper summary::-webkit-details-marker,
.settings-cert-note summary::-webkit-details-marker { display: none; }
.email-provider-helper summary strong,
.email-provider-helper summary small,
.settings-cert-note summary strong,
.settings-cert-note summary small { display: block; }
.email-provider-helper summary small,
.settings-cert-note summary small { color: var(--brand-muted); margin-top: .1rem; }
.email-option-list { display: grid; gap: .65rem; }
.email-option-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .6rem; align-items: flex-start; margin: 0; padding: .7rem .8rem; border: 1px solid #edf0f4; border-left: 4px solid #b9ccd9; border-radius: 6px; background: #fbfcfe; }
.email-option-row strong,
.email-option-row small { display: block; }
.email-option-row small { color: var(--brand-muted); line-height: 1.3; margin-top: .12rem; }
.email-log-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: 1rem; align-items: start; }
.email-settings-savebar { display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
.email-settings-savebar strong,
.email-settings-savebar span { display: block; }
.email-settings-shell.is-mail-disabled [data-mail-dependent] { opacity: .62; }
.email-settings-shell.is-mail-disabled [data-mail-dependent]::before { content: "E-Mail-Funktion ist deaktiviert. Werte können vorbereitet werden, werden aber noch nicht verwendet."; display: block; margin-bottom: .75rem; padding: .55rem .7rem; border: 1px solid #dbe5ec; border-left: 4px solid #8794a5; border-radius: 6px; background: #f8fafc; color: #526071; font-size: .86rem; }
.settings-main-col > .settings-section,
.settings-main-col > form.settings-section { width: 100%; }
.settings-action { width: auto; max-width: 100%; }
.settings-cert-note { padding-top: .55rem; padding-bottom: .55rem; }
.settings-cert-note .form-check { align-items: center; }
.tenant-image-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; align-items: stretch; }
.tenant-image-card { display: grid; grid-template-rows: auto auto minmax(8rem, 1fr); gap: .45rem; min-width: 0; padding: .75rem; border: 1px solid #dfe4ea; border-radius: 6px; background: #fbfcfe; }
.tenant-file-input { width: 100%; min-width: 0; }
.tenant-file-input::file-selector-button { margin-right: .75rem; }
.tenant-image-preview { min-height: 8rem; display: flex; align-items: center; justify-content: center; border: 1px dashed #ccd7e3; border-radius: 6px; background: #fff; overflow: hidden; }
.tenant-image-preview img { max-width: 100%; max-height: 9rem; object-fit: contain; }
.tenant-image-preview--wide img { width: 100%; max-height: 9rem; object-fit: contain; }
.tenant-edit-actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding-top: .75rem; border-top: 1px solid #edf0f4; }
.tenant-edit-actions-primary { display: flex; gap: .5rem; justify-content: flex-end; flex-wrap: wrap; margin-left: auto; }
.tenant-delete-panel { max-width: min(100%, 48rem); }
@media (min-width: 992px) {
  .settings-edit-grid { grid-template-columns: repeat(4, minmax(9rem, 1fr)); }
  .settings-edit-grid .wide { grid-column: span 2; }
  .settings-edit-grid textarea.wide,
  .settings-edit-grid .span-4 { grid-column: 1 / -1; }
  .settings-section form > .settings-action,
  .settings-section > .settings-action { display: inline-flex; }
}
@media (max-width: 760px) {
  .tenant-image-grid { grid-template-columns: 1fr; }
  .tenant-edit-actions,
  .tenant-edit-actions-primary { justify-content: flex-start; }
}
.scan-input-group .btn { min-width: 3.8rem; }
.code-scan-overlay { position: fixed; inset: 0; z-index: 2100; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(15, 23, 42, .72); }
.code-scan-overlay.is-active { display: flex; }
.code-scan-dialog { position: relative; width: min(520px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; background: #fff; border-radius: 8px; padding: 1rem; box-shadow: 0 18px 50px rgba(0,0,0,.28); }
.code-scan-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; margin-bottom: .75rem; }
.code-scan-video { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; background: #101828; }
.code-scan-frame { position: absolute; left: 18%; right: 18%; top: 38%; height: 28%; border: 2px solid rgba(255,255,255,.92); border-radius: 8px; box-shadow: 0 0 0 999px rgba(0,0,0,.18); pointer-events: none; }
.code-scan-message { margin-top: .75rem; }
@media (max-width: 480px) {
  .code-scan-overlay { padding: .5rem; align-items: flex-start; padding-top: max(.5rem, env(safe-area-inset-top)); }
  .code-scan-dialog { width: min(360px, calc(100vw - 1rem)); padding: .75rem; }
  .code-scan-head { gap: .5rem; margin-bottom: .5rem; }
  .code-scan-video { aspect-ratio: 1 / 1; max-height: 58dvh; }
  .code-scan-frame { left: 16%; right: 16%; top: 43%; height: 22%; }
  .code-scan-message { margin-top: .5rem; }
}
.update-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.update-step { display: flex; align-items: center; gap: .55rem; min-height: 3rem; padding: .65rem .75rem; border: 1px solid #dfe4ea; border-radius: 8px; background: #fff; color: #617084; }
.update-step strong { width: 1.55rem; height: 1.55rem; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #eef2f7; color: #526071; }
.update-step.is-current { border-color: #b8c6d4; background: #f3f7fc; color: #245e83; }
.update-step.is-current strong { background: #245e83; color: #fff; }
.update-step.is-done { border-color: #b7dcc7; background: #effaf3; color: #176b45; }
.update-step.is-done strong { background: #176b45; color: #fff; }
.update-state { display: inline-flex; align-items: center; min-height: 2rem; padding: .25rem .6rem; border-radius: 999px; font-weight: 700; font-size: .82rem; white-space: nowrap; }
.update-state.is-active { color: #176b45; background: #effaf3; border: 1px solid #b7dcc7; }
.update-state.is-paused { color: #a74314; background: #fff7ed; border: 1px solid #edc2ab; }
.update-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.update-facts div { border: 1px solid #edf0f4; border-radius: 6px; padding: .6rem .7rem; background: #fbfcfe; }
.update-facts span { display: block; color: #697586; font-size: .78rem; text-transform: uppercase; }
.update-facts strong { display: block; color: #16202a; overflow-wrap: anywhere; }
.update-action-list { display: grid; gap: .65rem; }
.update-action-list form { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: .75rem; align-items: center; margin: 0; padding: .65rem .75rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.update-action-list span { color: #617084; }
.update-action-list span strong { display: block; color: var(--brand-ink); font-size: .92rem; }
.update-action-list .btn:disabled { color: #7b8795; border-color: #cfd7e1; background: #f3f5f8; opacity: 1; }
.update-explain { padding-left: 1.2rem; margin-bottom: .75rem; color: #526071; }
.document-workflow .workflow-step { border-left: 4px solid #4776b4; }
.document-workflow .step-muted { border-left-color: #c8d2df; opacity: .9; }
.step-title { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .9rem; }
.compact-summary { cursor: pointer; list-style: none; }
.compact-summary::-webkit-details-marker { display: none; }
.article-picker[open] .compact-summary { margin-bottom: .9rem; }
.article-picker.is-highlighted { outline: 3px solid rgba(71, 118, 180, .28); outline-offset: 3px; }
.step-title > span { width: 1.8rem; height: 1.8rem; border-radius: 999px; background: #4776b4; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; flex: 0 0 auto; }
.step-muted .step-title > span { background: #8794a5; }
.compact-result-list { max-height: 260px; overflow: auto; border: 1px solid #edf0f4; border-radius: 6px; }
.compact-result-list .table { margin-bottom: 0; }
.position-live { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; background: #f7f9fc; border: 1px solid #e5ebf2; border-radius: 6px; padding: .65rem .75rem; }
.position-live span { display: flex; justify-content: space-between; gap: .5rem; color: #526071; }
.position-live strong { color: #16202a; white-space: nowrap; }
.document-total-preview { position: sticky; bottom: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; padding: .85rem; border: 1px solid #cfd9e5; border-radius: 8px; background: #ffffff; box-shadow: 0 -6px 18px rgba(15, 23, 42, .08); }
.document-total-preview div { display: flex; justify-content: space-between; gap: .5rem; align-items: center; }
.document-total-preview span { color: #526071; }
.document-total-preview strong { font-size: 1.05rem; white-space: nowrap; }
@media (max-width: 760px) { .position-live, .document-total-preview { grid-template-columns: 1fr; } }

.document-status-nav { display: flex; flex-wrap: wrap; gap: .45rem; }
.document-batch-bar { display: none; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .6rem .75rem; border: 1px solid #dbe5ec; border-left: 4px solid var(--brand-green); border-radius: 8px; background: #f8fbf8; }
.document-batch-bar.has-selection { display: flex; }
.document-batch-bar:not(.has-selection) [data-batch-action],
.document-batch-bar:not(.has-selection) [data-batch-target],
.document-batch-bar:not(.has-selection) [data-batch-reminder] { display: none; }
.document-batch-bar .form-select { width: auto; min-width: 170px; }
.document-workflow-nav { display: flex; flex-wrap: wrap; gap: .5rem; padding: .75rem; border: 1px solid #dbe5ec; border-left: 4px solid var(--brand-blue); border-radius: 8px; background: #f7fafc; }
.document-workflow-nav .btn { min-height: 2.25rem; }
.document-search-panel,
.master-search-panel { border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.document-search-panel summary,
.master-search-panel summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .45rem .6rem; cursor: pointer; list-style: none; }
.document-search-panel summary::-webkit-details-marker,
.master-search-panel summary::-webkit-details-marker { display: none; }
.document-search-panel summary strong,
.document-search-panel summary small,
.master-search-panel summary strong,
.master-search-panel summary small { display: block; }
.document-search-panel summary small,
.master-search-panel summary small { color: var(--brand-muted); margin-top: .1rem; }
.document-search-content { padding: 0 .6rem .6rem; }
.master-search-content { padding: 0 .6rem .6rem; }
.master-search-content.row,
.document-search-content .row { --bs-gutter-x: .5rem; --bs-gutter-y: .35rem; }
.details-toggle-open { display: none; }
details[open] > summary .details-toggle-open { display: inline; }
details[open] > summary .details-toggle-closed { display: none; }
.import-section summary { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; cursor: pointer; list-style: none; }
.import-section summary::-webkit-details-marker { display: none; }
.import-section summary::before { content: ">"; color: var(--brand-blue); font-weight: 700; margin-top: .12rem; }
.import-section[open] summary::before { content: "v"; }
.import-section summary > span:first-of-type { flex: 1; min-width: 0; }
.import-section-primary { border-left: 4px solid var(--brand-blue); }
.import-section-muted { background: #fbfcfe; }
.import-section-muted summary strong { font-weight: 600; }
.session-timer { display: inline-flex; align-items: center; min-height: 1.9rem; padding: .2rem .55rem; border: 1px solid #dbe5ec; border-radius: 999px; color: #526071; background: #f8fafc; font-size: .78rem; white-space: nowrap; }
.session-timer.is-warning { border-color: #f59e0b; color: #92400e; background: #fffbeb; }
.document-filter-block { padding: .65rem .75rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.master-detail-browser .master-table-wrap { max-height: 72vh; }
.document-browser .document-detail-panel,
.document-edit-layout .document-detail-panel,
.project-browser .document-detail-panel { position: sticky; top: 1rem; }
.document-detail-facts { display: flex; flex-wrap: wrap; gap: .35rem; align-items: stretch; }
.document-detail-facts div { display: inline-flex; align-items: baseline; gap: .4rem; min-height: 2.15rem; border: 1px solid #edf0f4; border-radius: 6px; padding: .32rem .5rem; background: #f8fafc; flex: 0 1 auto; }
.document-detail-facts span { color: #697586; font-size: .72rem; text-transform: uppercase; white-space: nowrap; }
.document-detail-facts strong { color: #16202a; white-space: nowrap; }
.document-detail-head-actions { display: inline-flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .45rem; }
.document-mini-preview { width: 100%; min-height: 280px; max-height: 42vh; border: 1px solid #dfe4ea; border-radius: 6px; background: #fff; }
.document-action-grid { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.document-action-grid form { margin: 0; display: inline-flex; flex: 0 0 auto; }
.document-action-grid .btn { width: auto !important; min-width: 6.5rem; padding: .28rem .55rem; }
.document-action-wide { display: inline-flex; gap: .35rem; align-items: center; }
.document-action-wide .form-select { width: auto; min-width: 11rem; }
.document-action-wide .btn { white-space: nowrap; }
.document-detail-panel .status-note { padding: .55rem .75rem; margin-bottom: .7rem !important; }
.document-detail-info-strip { display: flex; flex-wrap: wrap; gap: .4rem; align-items: stretch; }
.document-info-card { display: inline-flex; flex-direction: column; justify-content: center; gap: .15rem; min-height: 2.55rem; max-width: 24rem; padding: .36rem .62rem; border: 1px solid #dbe7f1; border-left: 4px solid var(--brand-blue); border-radius: 6px; background: #f5f9fd; color: #16202a; font-size: .86rem; }
.document-info-card summary { display: flex; align-items: center; gap: .45rem; cursor: pointer; list-style: none; }
.document-info-card summary::-webkit-details-marker { display: none; }
.document-info-card summary > span { display: inline-flex; align-items: center; justify-content: center; min-width: 1.35rem; min-height: 1.35rem; padding: 0 .35rem; border: 1px solid #c9d9e6; border-radius: 999px; background: #fff; color: #526071; font-size: .74rem; }
.document-info-card > span { color: #526071; font-size: .78rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-info-card-warning { border-color: #e5b6b6; border-left-color: #b45353; background: #fff7f7; }
.document-info-card-compact { max-width: 32rem; min-height: 2.2rem; flex-direction: row; align-items: center; justify-content: flex-start; }
.document-info-card-compact span { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.document-detail-section { border: 1px solid #edf0f4; border-radius: 6px; background: #fff; overflow: hidden; }
.document-detail-section-head { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .55rem .7rem; border-bottom: 1px solid #edf0f4; background: #fbfcfe; }
.document-detail-section-head span { display: block; color: #697586; font-size: .8rem; }
.document-action-panel { border: 1px solid #edf0f4; border-radius: 6px; background: #fff; overflow: hidden; }
.document-action-panel .document-action-grid { padding: .58rem .7rem .48rem; }
.document-action-hints { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: .4rem; padding: 0 .7rem .65rem; }
.document-action-hints div { display: flex; gap: .45rem; align-items: flex-start; padding: .38rem .55rem; border: 1px solid #edf0f4; border-left: 3px solid #b9ccd9; border-radius: 6px; background: #fbfcfe; }
.document-action-hints strong { flex: 0 0 auto; color: #24313f; }
.document-action-hints span { color: #697586; font-size: .8rem; line-height: 1.28; }
.document-items-preview { max-height: 31vh; overflow: auto; }
.document-items-preview th { position: sticky; top: 0; z-index: 1; background: #f8fafc; color: #526071; font-size: .74rem; text-transform: uppercase; }
.document-items-preview td { vertical-align: top; }
.compact-master-table [data-document-row]:focus { outline: 2px solid #9fc0df; outline-offset: -2px; }
.status-note-active { border-color: #9fc0df; background: #eef6ff; }
.document-link-list { display: grid; gap: .35rem; }
.document-link-list a { text-decoration: none; }
.relation-badges { display: inline-flex; flex-wrap: wrap; gap: .25rem; max-width: 9rem; }
.relation-badge { display: inline-flex; align-items: center; gap: .15rem; min-height: 1.45rem; padding: .05rem .35rem; border: 1px solid #dbe5ec; border-radius: 999px; background: #f8fafc; color: #526071; font-size: .78rem; text-decoration: none; white-space: nowrap; }
.relation-badge-linked { border-color: #b9ccd9; background: #eef6fb; color: #245e83; }
.relation-badge-follow { border-color: #d6c5a1; background: #fff8e5; color: #815b12; }
.document-row-menu .dropdown-menu { min-width: 13.5rem; border-color: var(--brand-line); box-shadow: 0 10px 24px rgba(23, 33, 43, .14); }
.a4w-dropdown-portal-menu { position: fixed !important; z-index: 3030; min-width: 13.5rem; max-width: min(24rem, calc(100vw - 1rem)); border-color: var(--brand-line); border-radius: 6px; background: #fff; box-shadow: 0 14px 32px rgba(23, 33, 43, .18); transform: none !important; }
.document-row-menu .dropdown-item,
.a4w-dropdown-portal-menu .dropdown-item { font-size: .85rem; white-space: normal; }
.document-row-menu .dropdown-item-warning,
.a4w-dropdown-portal-menu .dropdown-item-warning { color: #9f2d2d; background: #fff5f5; font-weight: 700; }
.document-row-menu .dropdown-item-warning:hover,
.document-row-menu .dropdown-item-warning:focus,
.a4w-dropdown-portal-menu .dropdown-item-warning:hover,
.a4w-dropdown-portal-menu .dropdown-item-warning:focus { color: #7f1d1d; background: #ffe8e8; }
.document-row-menu-toggle { min-width: 2rem !important; font-weight: 700; letter-spacing: .04em; }
.document-position-list { display: grid; gap: .55rem; }
.document-position-row { border: 1px solid #dfe4ea; border-radius: 6px; background: #fff; padding: .65rem .75rem; }
.document-position-row summary { cursor: pointer; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; gap: .75rem; align-items: center; list-style: none; }
.document-position-row summary::-webkit-details-marker { display: none; }
.document-position-row summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-position-row summary small { display: block; color: #697586; }
.document-position-row.is-dragging { opacity: .55; }
.document-position-row.is-drop-target { border-color: var(--brand-blue); box-shadow: inset 0 0 0 1px var(--brand-blue); }
.position-drag-handle { width: 1.65rem; min-height: 1.65rem; display: inline-grid; place-items: center; border: 1px solid var(--brand-line); border-radius: 5px; color: var(--brand-muted); background: #f8fafc; cursor: grab; user-select: none; }
.position-drag-handle:active { cursor: grabbing; }
.position-row-actions { display: inline-flex; gap: .25rem; justify-content: flex-end; flex-wrap: wrap; }
.new-position-panel { background: #fbfcfe; }
.project-head-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: .4rem; flex-wrap: wrap; }
.project-head-actions .btn { white-space: nowrap; }
.project-browser .project-sidebar-panel { position: sticky; top: 1rem; }
.work-entry-title-editor { padding: .7rem .85rem; border: 1px solid #b9d2e5; border-left: 4px solid var(--brand-blue); border-radius: 8px; background: #eef6fb; }
.work-entry-title-editor .form-control { font-weight: 700; color: #183f5a; background: #fff; border-color: #bdd0df; }
.work-entry-schedule-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.work-entry-list tr { position: relative; }
.work-entry-list .work-entry-actions { position: relative; z-index: 3; }
.work-entry-list .work-entry-main { user-select: none; }
.work-entry-batch-bar { display: none; padding: .55rem .7rem; border: 1px solid #dbe5ec; border-left: 4px solid var(--brand-blue); border-radius: 8px; background: #f7fafc; }
.work-entry-batch-bar.has-selection { display: block; }
[data-work-entry-invoice-action] { display: none; }
[data-work-entry-batch] .work-entry-batch-bar.has-selection ~ [data-work-entry-invoice-action] { display: flex; }
[data-work-entry-proof] { display: none; }
[data-work-entry-batch] .work-entry-batch-bar.has-multi-selection ~ [data-work-entry-proof] { display: block; }
.workflow-guide { display: grid; grid-template-columns: minmax(18rem, 1fr) auto; align-items: center; gap: .85rem 1rem; padding: .8rem 1rem; border: 1px solid #d8e4ec; border-left: 4px solid var(--brand-blue); border-radius: 8px; background: #f8fbfd; }
.workflow-guide strong, .workflow-guide span { display: block; }
.workflow-guide span { color: var(--brand-muted); font-size: .9rem; margin-top: .1rem; }
.workflow-guide ol { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.workflow-guide li { display: inline-flex; align-items: center; gap: .35rem; min-height: 2rem; padding: .25rem .5rem; border: 1px solid #dbe5ec; border-radius: 6px; background: #fff; font-size: .86rem; font-weight: 700; white-space: nowrap; }
.workflow-guide li span { display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem; margin: 0; border-radius: 50%; background: #e6f0f7; color: var(--brand-blue-dark); font-size: .75rem; }
.position-wizard-panel { border-left: 4px solid #4776b4; }
.position-wizard-inline { margin-top: .75rem; padding: .75rem .9rem; border-top: 1px solid #d8e2ea; border-right: 1px solid #d8e2ea; border-bottom: 1px solid #d8e2ea; border-radius: 0 6px 6px 0; background: #fbfdff; }
.position-add-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem .75rem; border: 1px dashed #b9ccd9; border-radius: 6px; background: #f7fafc; }
.position-add-row strong,
.position-add-row span { display: block; }
.position-add-row span { color: var(--brand-muted); font-size: .85rem; }
.position-add-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: .4rem; flex-wrap: wrap; }
.position-subtotal-preview { position: static; border-color: #c4d0dc; background: #f3f6f9; box-shadow: inset 0 1px 0 rgba(255,255,255,.65); }
.trip-step-chain { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; }
.trip-step-chain span { display: inline-flex; align-items: center; min-height: 1.8rem; padding: .22rem .5rem; border: 1px solid #dbe5ec; border-radius: 999px; color: #526071; background: #f8fafc; font-size: .78rem; font-weight: 700; }
.trip-step-chain span.is-active { border-color: #b9ccd9; color: #245e83; background: #eef6fb; }
.trip-step-chain-compact { justify-content: flex-end; }
.trip-start-panel,
.trip-list-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.trip-list-head { margin-bottom: .75rem; }
.trip-list-head .btn-group { justify-content: flex-end; }
.trip-action-row,
.trip-live-actions { display: flex; align-items: flex-end; gap: .5rem; flex-wrap: wrap; }
.trip-live-actions { align-items: stretch; }
.trip-live-actions form { margin: 0; flex: 0 1 auto; }
.trip-live-actions .trip-live-step { flex: 1 1 22rem; min-width: min(100%, 22rem); padding: .75rem; border: 1px solid #dbe5ec; border-left: 4px solid #6f8fb1; border-radius: 6px; background: #fbfdff; }
.trip-live-actions .trip-live-step-finish { border-left-color: #4f7d57; background: #f7fbf8; }
.trip-live-actions .trip-live-step .input-group { align-items: stretch; }
.trip-geo-address-changed { border-color: #d97706 !important; box-shadow: 0 0 0 .12rem rgba(217,119,6,.16); }
.trip-geo-address-note { display: block; margin-top: .25rem; color: #9a5a00; font-weight: 700; }
.trip-geo-distance-note { color: #245e83; font-weight: 700; }
.trip-row-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: .35rem; flex-wrap: wrap; }
.trip-row-actions form { margin: 0; }
.invoice-severity-overdue { border-left: 4px solid #c2410c; background: #fff7ed; }
.invoice-severity-soon { border-left: 4px solid #d97706; background: #fffbeb; }
.invoice-severity-open { border-left: 4px solid #4776b4; }
.work-entry-overdue { border-left: 4px solid #b45309; background: #fff7ed; }
.work-entry-today { border-left: 4px solid #245e83; background: #eef4fb; }
.work-entry-soon { border-left: 4px solid #d97706; background: #fffbeb; }
.work-entry-billed { border-left: 4px solid #9ca3af; background: #f8fafc; color: #64748b; }
.work-entry-done { border-left: 4px solid #4f7d57; background: #f0fdf4; }
.work-entry-canceled { border-left: 4px solid #9ca3af; background: #f3f4f6; text-decoration: line-through; }
.work-calendar-shell { display: grid; gap: 1rem; }
.work-calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.work-calendar-nav { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.work-calendar-period { margin-left: .35rem; color: #16202a; }
.work-calendar-filters .form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.work-calendar-legend { display: flex; flex-wrap: wrap; gap: .85rem; color: #526071; font-size: .85rem; }
.work-calendar-legend i { display: inline-block; width: .85rem; height: .85rem; border-radius: 3px; margin-right: .35rem; vertical-align: -1px; }
.work-calendar-month-head, .work-calendar-month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.work-calendar-month-head { margin-bottom: .35rem; font-size: .8rem; font-weight: 600; color: #526071; text-transform: uppercase; }
.work-calendar-month-head > div, .work-calendar-day { border: 1px solid #e5e9ef; min-height: 7.5rem; }
.work-calendar-day { background: #fff; padding: .35rem; display: flex; flex-direction: column; gap: .25rem; }
.work-calendar-day.is-outside { background: #f8fafc; color: #94a3b8; }
.work-calendar-day.is-today { box-shadow: inset 0 0 0 2px #245e83; }
.work-calendar-day-label { font-size: .82rem; font-weight: 600; }
.work-calendar-chip { display: block; border-left: 3px solid var(--event-color, #4776b4); background: color-mix(in srgb, var(--event-color, #4776b4) 12%, white); color: #16202a; border-radius: 4px; padding: .15rem .35rem; font-size: .74rem; text-decoration: none; overflow: hidden; }
.work-calendar-chip:hover { background: color-mix(in srgb, var(--event-color, #4776b4) 20%, white); }
.work-calendar-chip-time { display: block; color: #526071; }
.work-calendar-chip-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.work-calendar-more { font-size: .72rem; color: #245e83; text-decoration: none; }
.work-calendar-week, .work-calendar-day-view { overflow-x: auto; }
.work-calendar-week-head, .work-calendar-week-all-day, .work-calendar-week-row { display: grid; grid-template-columns: 4.5rem repeat(7, minmax(8rem, 1fr)); }
.work-calendar-day-view .work-calendar-day-all-day, .work-calendar-day-view .work-calendar-day-row { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); }
.work-calendar-week-head > div, .work-calendar-week-cell, .work-calendar-day-slot { border: 1px solid #e5e9ef; min-height: 2.4rem; padding: .25rem; background: #fff; }
.work-calendar-week-head > div.is-today, .work-calendar-day.is-today { background: #eef4fb; }
.work-calendar-time-gutter { border: 1px solid #e5e9ef; background: #f8fafc; color: #697586; font-size: .75rem; padding: .25rem .35rem; }
.work-calendar-week-row .work-calendar-time-gutter, .work-calendar-day-row .work-calendar-time-gutter { min-height: 3rem; }
.work-calendar-block { display: block; border-left: 3px solid var(--event-color, #4776b4); background: color-mix(in srgb, var(--event-color, #4776b4) 12%, white); border-radius: 4px; padding: .2rem .35rem; margin-bottom: .2rem; font-size: .78rem; color: #16202a; text-decoration: none; }
.work-calendar-block:hover { background: color-mix(in srgb, var(--event-color, #4776b4) 20%, white); }
.invoice-due-badge { display: inline-block; margin-left: .35rem; padding: .1rem .4rem; border-radius: 999px; background: #eef2f7; color: #526071; font-size: .75rem; white-space: nowrap; }
.invoice-detail-row td { padding-top: 0; border-top: 0; background: #fbfcfe; }
.invoice-detail-row details { padding: .35rem .5rem .55rem; color: #526071; }
.invoice-detail-row summary { cursor: pointer; font-size: .88rem; }
.invoice-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin-top: .6rem; }
.invoice-detail-grid div { border: 1px solid #edf0f4; border-radius: 6px; padding: .45rem .55rem; background: #fff; }
.invoice-detail-grid span { display: block; font-size: .72rem; text-transform: uppercase; color: #697586; }
.invoice-detail-grid strong { color: #16202a; }
@media (max-width: 760px) { .settings-toolbar, .update-steps, .update-facts, .update-action-list form, .invoice-detail-grid, .attachment-item, .startup-choice-grid { grid-template-columns: 1fr; } .settings-tabs { justify-content: flex-start; } .document-detail-panel { position: static; } .document-action-grid, .document-detail-facts, .attachment-actions { justify-content: flex-start; } .employee-login-status { flex-direction: column; } .employee-login-facts { justify-content: flex-start; min-width: 0; } }

.report-filter { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; align-items: end; }
.report-filter-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.report-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.report-chart-bars { height: 260px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(44px, 1fr); gap: .6rem; align-items: end; overflow-x: auto; padding: .5rem .2rem .1rem; border-bottom: 1px solid #dfe4ea; }
.report-month { height: 100%; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: .35rem; text-align: center; color: #617084; }
.report-bars { height: 100%; min-height: 190px; display: flex; align-items: end; justify-content: center; gap: .18rem; }
.report-bar { width: 14px; min-height: 4px; border-radius: 4px 4px 0 0; display: block; }
.report-bar.revenue, .report-legend i.revenue { background: #245e83; }
.report-bar.paid, .report-legend i.paid { background: #4f7d57; }
.report-legend { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: .75rem; color: #617084; }
.report-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.report-legend i { width: .75rem; height: .75rem; border-radius: 3px; display: inline-block; }
.report-rank-list { display: grid; gap: .85rem; }
.report-rank-row { display: grid; gap: .35rem; }
.report-rank-row div:first-child { display: flex; justify-content: space-between; gap: .5rem; }
.report-rank-row span { color: #617084; font-size: .85rem; }
.report-rank-bar { height: .55rem; background: #edf1f5; border-radius: 999px; overflow: hidden; }
.report-rank-bar span { display: block; height: 100%; background: #b86b38; border-radius: inherit; }
.report-category-grid { display: grid; gap: .8rem; }
.report-category-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(120px, 2fr) auto; gap: .75rem; align-items: center; }
.report-category-row div:first-child { min-width: 0; }
.report-category-row strong { overflow-wrap: anywhere; }
.report-category-row span { display: block; color: #617084; font-size: .85rem; }
.report-category-bar { height: .7rem; background: #edf1f5; border-radius: 999px; overflow: hidden; }
.report-category-bar span { display: block; height: 100%; background: #4f7d57; border-radius: inherit; }
.report-table-wrap { max-height: 58vh; overflow: auto; }
.report-status { display: inline-flex; align-items: center; min-height: 1.55rem; padding: .15rem .45rem; border-radius: 999px; background: #eef2f7; color: #526071; font-size: .78rem; font-weight: 700; }
.report-status.bezahlt { color: #176b45; background: #effaf3; }
.report-status.teilbezahlt { color: #8a5800; background: #fff8df; }
.report-status.ueberfällig, .report-status.ueberfaellig { color: #a74314; background: #fff1e8; }
.report-action-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.report-action-list li { display: flex; justify-content: space-between; gap: .75rem; padding: .65rem .75rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.report-action-list strong { font-size: 1.1rem; color: #245e83; }
.report-action-list span { color: #617084; text-align: right; }
.saved-report-list { display: grid; gap: .5rem; }
.saved-report { display: flex; align-items: center; justify-content: space-between; gap: .65rem; padding: .6rem .7rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.saved-report a { color: #17212b; text-decoration: none; min-width: 0; }
.saved-report a:hover strong { color: #245e83; }
.saved-report span { display: block; color: #617084; font-size: .82rem; }
.closing-tabs { display: flex; flex-wrap: wrap; gap: .5rem; }
.closing-tabs a,
.closing-tabs .a4w-tab-disabled { display: inline-flex; align-items: center; min-height: 2.35rem; padding: .45rem .75rem; border: 1px solid var(--brand-line); border-radius: 6px; background: var(--brand-panel); color: var(--brand-ink); text-decoration: none; font-weight: 700; }
.closing-tabs a:hover { border-color: #b8c6d4; color: var(--brand-blue); }
.closing-tabs a.is-active { color: #fff; border-color: var(--brand-blue); background: var(--brand-blue); }
.closing-tabs .a4w-tab-disabled { opacity: .48; color: var(--brand-muted); cursor: not-allowed; }
.closing-year-form { display: grid; grid-template-columns: auto minmax(130px, 220px) auto; gap: .55rem; align-items: end; justify-content: start; }
.closing-year-form .field-label { align-self: center; margin: 0; }
.closing-month-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.closing-month-tile { min-height: 76px; display: grid; gap: .2rem; align-content: center; padding: .8rem .85rem; border: 1px solid var(--brand-line); border-radius: 8px; background: #fbfcfe; color: var(--brand-ink); text-decoration: none; }
.closing-month-tile:hover { border-color: #b8c6d4; color: var(--brand-blue); background: #f3f7fc; }
.closing-month-tile.is-selected { border-color: var(--brand-blue); box-shadow: inset 0 0 0 1px var(--brand-blue); background: #eef4fb; }
.closing-month-tile strong { font-size: 1rem; }
.closing-month-tile span { color: var(--brand-muted); font-size: .82rem; }
.closing-action-bar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.closing-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.closing-summary-grid div { min-height: 84px; padding: .7rem .8rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.closing-summary-grid span { display: block; color: #697586; font-size: .76rem; text-transform: uppercase; }
.closing-summary-grid strong { display: block; margin-top: .25rem; font-size: 1.08rem; overflow-wrap: anywhere; }
.closing-table-wrap { max-height: 360px; overflow: auto; border: 1px solid #edf0f4; border-radius: 6px; }
.closing-table-wrap .table { margin-bottom: 0; }
.closing-table-actions { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; }
.closing-table-actions form { margin: 0; }
.closing-saved-list .table { margin-bottom: 0; }
.closing-saved-list th,
.closing-saved-list td { text-align: left; }
.closing-saved-list .closing-table-actions { justify-content: flex-start; min-width: 13rem; }
.closing-file-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 3.2rem; margin: .12rem .18rem .12rem 0; padding: .12rem .38rem; border: 1px solid #d9e1ea; border-radius: 999px; font-size: .76rem; font-weight: 700; color: #526071; background: #f7f9fc; }
.closing-file-badge.is-ready { color: #176b45; border-color: #b7dcc7; background: #effaf3; }
.closing-file-badge.is-missing { color: #8a4b18; border-color: #efd0ae; background: #fff8e7; }
.license-upgrade-panel { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem 1rem; border: 1px solid #edc2ab; border-left: 4px solid #b86b38; border-radius: 8px; background: #fff7ed; }
.license-upgrade-panel span { display: block; color: #617084; margin-top: .15rem; }
.feature-locked { display: grid; gap: .45rem; padding: .85rem; border: 1px dashed #d9a17a; border-radius: 6px; background: #fff8f1; color: #17212b; }
.feature-locked span { color: #617084; }
.feature-locked-wide { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-style: dashed; background: #fff8f1; }
@media (max-width: 1100px) { .report-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .closing-summary-grid, .closing-month-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .report-filter { grid-template-columns: 1fr; } .report-panel-head, .saved-report { align-items: flex-start; flex-direction: column; } .report-chart-bars { grid-auto-columns: minmax(38px, 1fr); } .report-category-row { grid-template-columns: 1fr; gap: .35rem; } .closing-year-form, .closing-summary-grid, .closing-month-grid { grid-template-columns: 1fr; } .closing-table-actions { justify-content: flex-start; } }

.inventory-filter { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; align-items: end; }
.inventory-check { min-height: 38px; display: flex; align-items: center; gap: .35rem; margin: 0; padding: .45rem .65rem .45rem 2rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.inventory-filter-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.inventory-table-wrap { max-height: 66vh; overflow: auto; }
.inventory-low-row td { background: #fff8f1; }
.inventory-order-list { display: grid; gap: .65rem; max-height: 72vh; overflow: auto; padding-right: .1rem; }
.inventory-supplier { border: 1px solid #dfe4ea; border-radius: 6px; background: #fff; overflow: hidden; }
.inventory-supplier summary { cursor: pointer; display: flex; justify-content: space-between; gap: .75rem; padding: .75rem .85rem; background: #fbfcfe; list-style: none; }
.inventory-supplier summary::-webkit-details-marker { display: none; }
.inventory-supplier summary span { color: #617084; font-size: .86rem; text-align: right; }
.inventory-supplier .table { margin-bottom: 0; }
@media (max-width: 1100px) { .inventory-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .inventory-filter { grid-template-columns: 1fr; } .inventory-supplier summary { flex-direction: column; } .inventory-supplier summary span { text-align: left; } }
@media (max-width: 760px) { .feature-row { grid-template-columns: 1fr; } .feature-row em { justify-self: start; } .license-upgrade-panel, .feature-locked-wide { flex-direction: column; align-items: flex-start; } }
@media (max-width: 760px) { .workflow-guide { grid-template-columns: 1fr; } .workflow-guide ol { gap: .35rem; } }

.bulk-filter { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; align-items: end; }
.bulk-check { min-height: 38px; display: flex; align-items: center; gap: .35rem; margin: 0; padding: .45rem .65rem .45rem 2rem; border: 1px solid #edf0f4; border-radius: 6px; background: #fbfcfe; }
.bulk-filter-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.bulk-table-wrap { max-height: 62vh; overflow: auto; }
.bulk-action-panel { position: static; }
.bulk-action-panel .btn { width: auto; }
.bulk-workspace .panel { height: 100%; }
@media (max-width: 1100px) { .bulk-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .template-editor-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .article-form-head { flex-direction: column; } .article-actions, .article-actions-bottom { justify-content: flex-start; } .bulk-filter { grid-template-columns: 1fr; } .bulk-action-panel { position: static; } }

@media (min-width: 1200px) {
  body { margin-bottom: 38px; }
  .container-fluid { padding-left: .9rem !important; padding-right: .9rem !important; }
  .navbar { margin-bottom: .6rem !important; }
  .navbar .container-fluid { padding-left: .8rem !important; padding-right: .8rem !important; }
  .navbar .nav-link { padding: .24rem .42rem; font-size: .86rem; }
  .brand-lockup { gap: .45rem; padding-right: .6rem; }
  .brand-mark { width: 1.9rem; height: 1.9rem; border-radius: 6px; }
  .brand-name { font-size: .95rem; }
  .brand-edition { font-size: .68rem; }
  .license-pill,
  .session-timer { min-height: 1.55rem; padding: .14rem .45rem; font-size: .74rem; }

  .page-title { align-items: center; gap: .75rem; margin: .7rem 0 .75rem; }
  .page-title h1 { margin: 0; font-size: 1.45rem; line-height: 1.12; }
  .page-title .muted { font-size: .86rem; }
  .page-title .btn,
  .page-title .btn-group .btn { padding: .28rem .58rem; min-height: 1.9rem; }

  .panel { border-radius: 6px; padding: .65rem; box-shadow: none; }
  .panel + .panel,
  .panel.mt-3 { margin-top: .55rem !important; }
  .row.g-3 { --bs-gutter-x: .65rem; --bs-gutter-y: .65rem; }
  .row.g-2 { --bs-gutter-x: .45rem; --bs-gutter-y: .4rem; }

  .form-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .42rem .55rem;
    align-items: end;
  }
  .employee-edit-grid {
    grid-template-columns: repeat(4, minmax(11rem, 1fr));
    align-items: start;
  }
  .article-edit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .form-grid .wide { grid-column: 1 / -1; }
  .form-grid .span-2 { grid-column: span 2; }
  .form-grid .span-3 { grid-column: span 3; }
  .form-grid .span-4 { grid-column: 1 / -1; }
  .field-label,
  .form-label.small { font-size: .68rem; margin-bottom: .12rem; }
  .form-control,
  .form-select {
    min-height: 1.95rem;
    padding: .25rem .45rem;
    font-size: .86rem;
    border-radius: 5px;
  }
  textarea.form-control { min-height: 4.5rem; }
  .form-check { min-height: 1.75rem; display: inline-flex; align-items: center; gap: .28rem; }
  .form-check-input { margin-top: 0; }

  .btn {
    min-height: 1.95rem;
    padding: .26rem .58rem;
    border-radius: 5px;
    font-size: .86rem;
    line-height: 1.2;
  }
  .btn-sm,
  .btn-group-sm > .btn {
    min-height: 1.6rem;
    padding: .16rem .42rem;
    font-size: .78rem;
  }

  .table { margin-bottom: .45rem; font-size: .86rem; }
  .table th { font-size: .7rem; letter-spacing: 0; }
  .table th,
  .table td { padding: .32rem .42rem; }
  .table.align-middle td,
  .table.align-middle th { vertical-align: top; }
  .thumb { width: 34px; height: 34px; border-radius: 5px; }
  .thumb-lg { width: 72px; height: 72px; border-radius: 6px; }

  .master-detail-browser { align-items: flex-start; }
  .master-detail-browser > .col-xl-4 { flex: 0 0 26%; max-width: 26%; }
  .master-detail-browser > .col-xl-5 { flex: 0 0 31%; max-width: 31%; }
  .master-detail-browser > .col-xl-7 { flex: 0 0 69%; max-width: 69%; }
  .master-detail-browser > .col-xl-8 { flex: 0 0 74%; max-width: 74%; }
  .payment-workspace > .payment-list-column { flex: 0 0 58%; max-width: 58%; }
  .payment-workspace > .payment-booking-column { flex: 0 0 42%; max-width: 42%; }
  .document-edit-layout > .col-xl-8 { flex: 0 0 72%; max-width: 72%; }
  .document-edit-layout > .col-xl-4 { flex: 0 0 28%; max-width: 28%; }
  .master-table-wrap { max-height: calc(100vh - 12.5rem); }
  .master-detail-browser .master-table-wrap { max-height: calc(100vh - 13rem); }

  .document-workflow-nav,
  .document-filter-block,
  .document-batch-bar { padding: .42rem .55rem; gap: .35rem; border-radius: 6px; }
  .document-workflow-nav .btn { min-height: 1.75rem; }
  .document-search-panel summary,
  .master-search-panel summary { padding: .34rem .48rem; }
  .document-search-content,
  .master-search-content { padding: 0 .48rem .48rem; }

  .document-detail-panel { max-height: calc(100vh - 5.2rem); overflow: auto; }
  .document-browser .document-detail-panel--selected { display: block; }
  .document-detail-panel h2 { font-size: 1.05rem; }
  .document-detail-facts { gap: .28rem; margin-bottom: .55rem !important; }
  .document-detail-facts div { min-height: 1.75rem; padding: .2rem .42rem; gap: .32rem; }
  .document-detail-facts span { font-size: .66rem; }
  .document-detail-facts strong { font-size: .86rem; }
  .document-detail-head-actions { gap: .28rem; }
  .document-action-grid { gap: .28rem; margin-bottom: .55rem !important; }
  .document-action-grid .btn { min-width: 0; padding: .22rem .5rem; }
  .document-action-wide .form-select { min-width: 9.5rem; }
  .document-detail-panel .status-note { padding: .42rem .55rem; margin-bottom: .5rem !important; }
  .document-detail-info-strip { gap: .28rem; margin-bottom: .55rem !important; }
  .document-info-card { min-height: 2.1rem; max-width: 100%; padding: .28rem .48rem; font-size: .8rem; }
  .document-detail-section-head { padding: .42rem .55rem; }
  .document-detail-section-head span { font-size: .74rem; }
  .document-action-panel .document-action-grid { padding: .45rem .55rem .35rem; }
  .document-action-hints { grid-template-columns: 1fr; padding: 0 .55rem .5rem; }
  .document-action-hints div { padding: .3rem .45rem; }
  .document-items-preview { max-height: 28vh; }
  .document-link-list { gap: .2rem; }

  .article-form-head { gap: .6rem; margin-bottom: .55rem; }
  .article-actions { gap: .3rem; }
  .article-actions .input-group { width: min(100%, 360px); }
  .document-position-list { gap: .4rem; }
  .document-position-row { padding: .45rem .55rem; border-radius: 5px; }
  .document-position-row summary { gap: .45rem; }
  .work-entry-schedule-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .position-add-row { padding: .5rem .6rem; gap: .45rem; }
  .trip-step-chain span { min-height: 1.55rem; padding: .14rem .42rem; font-size: .72rem; }
  .position-live,
  .document-total-preview { gap: .4rem; padding: .5rem .6rem; border-radius: 6px; }
  .document-total-preview { margin-top: .55rem; }

  .settings-toolbar,
  .report-filter,
  .inventory-filter,
  .bulk-filter { gap: .45rem; }
  .settings-tabs,
  .closing-tabs,
  .report-legend,
  .closing-action-bar,
  .inventory-filter-actions,
  .bulk-filter-actions { gap: .3rem; }
  .settings-tabs a,
  .closing-tabs a { min-height: 1.85rem; padding: .26rem .5rem; font-size: .82rem; border-radius: 5px; }
  .feature-row,
  .update-action-list form,
  .saved-report,
  .report-action-list li,
  .inventory-supplier summary { padding: .45rem .55rem; gap: .45rem; border-radius: 5px; }
  .metric { min-height: 86px; }
  .metric strong { font-size: 1.25rem; }
}
