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 #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  min-height: 100vh;
  background: #f3f4f5;
  color: #172033;
}

/* Sprint 9.3 — Daily project analysis */
.daily-analysis .erp-report-header p{margin:.35rem 0 0;color:var(--muted-color,#667085)}
.daily-analysis-date{display:flex;align-items:end;gap:.65rem;margin:1rem 0;padding:.75rem 1rem;background:#f7f9fc;border:1px solid #dfe5ee;border-radius:.65rem}
.daily-analysis-date label{font-size:.78rem;font-weight:700}.daily-analysis-date label input{margin-top:.25rem}
.daily-analysis-date>span{margin-left:auto;align-self:center;color:#667085;font-size:.78rem}
.daily-analysis-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.daily-analysis-kpis>a,.daily-analysis-kpis>.daily-mail-report{min-height:8rem;padding:.85rem;border:1px solid #dfe5ee;border-top:4px solid #60718a;border-radius:.65rem;background:#fff;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.daily-analysis-kpis>a:hover,.daily-analysis-kpis>a.is-selected{border-color:#5c636c;border-top-color:#5c636c;background:#f9f9f9;box-shadow:0 .3rem 1rem #383c4118}.daily-analysis-kpis>a.is-critical{border-top-color:#c9362b;background:#fff8f7}
.daily-mail-report.is-disabled{opacity:.58;cursor:not-allowed}
.daily-analysis-kpis span{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#526173}
.daily-analysis-kpis strong{font-size:2rem;line-height:1.15;margin:.35rem 0;color:#172033}
.daily-analysis-kpis small{margin-top:auto;color:#667085;overflow-wrap:anywhere}
.daily-analysis-rules{margin:0 0 1rem;padding:.65rem .85rem;border-left:4px solid #4477aa;background:#f4f8fc;color:#3b4a5e;font-size:.82rem}
.daily-analysis-table td{vertical-align:top}.daily-analysis-table td:nth-child(2){min-width:18rem}.daily-analysis-table td:nth-child(2)>span,.daily-analysis-table td:nth-child(2)>small,.daily-analysis-table td:nth-child(6)>small{display:block;margin-top:.2rem}
.daily-analysis-table tr.daily-critical td{background:#fff4f2}.daily-analysis-table tr.daily-completed td{background:#f1fbf6}
.daily-action-list{display:flex;flex-direction:column;gap:.25rem}.daily-action-list span{font-weight:700;color:#27364a}
.daily-badge{display:block;width:max-content;max-width:100%;margin-top:.35rem;padding:.2rem .45rem;border-radius:999px;background:#e9eef5;color:#3a4a60;font-size:.7rem;font-weight:800;white-space:normal}
.daily-badge.is-danger{background:#f9d9d6;color:#91251d}.daily-badge.is-done{background:#d6f2e5;color:#116343}.daily-badge.is-waiting{background:#fff0c7;color:#7a5700}
.daily-project-number{color:#5c636c;text-decoration:underline;cursor:pointer}
@media(max-width:1200px){.daily-analysis-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.daily-analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-analysis-date{align-items:stretch;flex-wrap:wrap}.daily-analysis-date>span{width:100%;margin-left:0}}
.mail-history-table td:last-child{min-width:24rem;white-space:normal}.mail-report-markdown{margin-top:1rem;padding:1.5rem;border:1px solid #dfe5ee;border-radius:.65rem;background:#fff;color:#27364a;line-height:1.55}.mail-report-markdown h2,.mail-report-markdown h3,.mail-report-markdown h4{margin:1.4rem 0 .65rem;color:#373b40}.mail-report-markdown h2:first-child{margin-top:0}.mail-report-markdown p{margin:.45rem 0}.mail-report-markdown ul{margin:.5rem 0 1rem;padding-left:1.4rem}.mail-report-table-wrap{margin:.75rem 0 1.25rem;overflow-x:auto}.mail-report-markdown table{width:100%;border-collapse:collapse;font-size:.94rem}.mail-report-markdown th,.mail-report-markdown td{padding:.65rem .75rem;border:1px solid #dfe5ee;text-align:left;vertical-align:top}.mail-report-markdown th{background:#f4f6f9;color:#373b40}.mail-report-markdown tbody tr:nth-child(even){background:#fafbfc}
.activity-kpis{grid-template-columns:repeat(3,minmax(0,1fr));max-width:42rem}.activity-kpis.has-employee-total{grid-template-columns:repeat(4,minmax(0,1fr));max-width:58rem}.activity-kpis>span{min-height:6.5rem;padding:.85rem;border:1px solid #dfe5ee;border-top:4px solid #60718a;border-radius:.65rem;background:#fff;display:flex;flex-direction:column}.activity-kpi-value{display:flex;align-items:baseline;gap:.45rem}.activity-kpis .activity-kpi-value strong{margin:0}.activity-kpis>span>small{display:block;margin-top:auto;color:#667085;font-weight:400;text-transform:none;letter-spacing:normal}.activity-action-list{margin:0;padding-left:1.2rem;min-width:30rem}.activity-action-list li{display:grid;grid-template-columns:3.5rem 8rem 1fr;gap:.4rem;padding:.3rem 0;border-bottom:1px solid #edf0f4;font-size:.76rem}.activity-action-list li span{overflow-wrap:anywhere}.activity-worker-list{list-style:none;margin:0;padding:0;min-width:10rem}.activity-worker-list li+li{margin-top:.55rem}.activity-worker-list small{display:block;color:#667085;white-space:nowrap}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

:root {
  --cse-terracotta-dark: #4c5159;
  --cse-terracotta: #727a86;
  --cse-terracotta-light: #e6e8ea;
  --cse-border: #dbdde0;
  --cse-muted: #616872;
}

.app-container { max-width: 1440px; padding-left: 1.5rem; padding-right: 1.5rem; }
.app-header { background: var(--cse-terracotta-dark); box-shadow: 0 2px 12px rgb(58 63 69 / 14%); }
.app-header .navbar { min-height: 68px; padding: .6rem 0; }
.navbar-brand { display: flex; align-items: center; gap: .55rem; font-size: 1.2rem; font-weight: 700; }
.brand-mark { display: grid; place-items: center; width: 2.45rem; height: 2.45rem; border-radius: 1mm; background: var(--cse-terracotta); color: white; font-size: .82rem; letter-spacing: .04em; }
.app-header .nav-link { position: relative; color: #dee0e3; font-weight: 500; border-radius: 1mm; padding: .65rem .8rem !important; }
.app-header .nav-link:hover, .app-header .nav-link:focus, .app-header .nav-link.active { color: white; background: rgb(255 255 255 / 9%); }
.app-back-link { width:100%; text-align:left; text-decoration:none; }
.app-header .nav-link.active::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .3rem; height: 2px; border-radius: 1mm; background: #c5c8cd; }
.user-navigation { gap: .25rem; }
.user-name { color: white !important; }
.logout-link { border: 0; }
.app-main { min-height: calc(100vh - 126px); padding: 2rem 0 3rem; }
.app-footer { min-height: 58px; display: flex; align-items: center; border-top: 1px solid var(--cse-border); color: var(--cse-muted); background: white; }

.page-header { margin-bottom: 2rem; padding: 2rem; overflow: hidden; border-radius: 1mm; color: white; background: linear-gradient(125deg, #50565e 0%, #6b727d 68%, #89919b 100%); box-shadow: 0 14px 34px rgb(76 81 89 / 18%); }
.page-header h1 { margin: .3rem 0 .55rem; font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; }
.page-header p { margin: 0; color: #eeeff0; font-size: 1.05rem; }
.page-eyebrow { color: #d3d6da; font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.25rem; }
.section-heading h2 { margin: 0 0 .2rem; font-size: 1.4rem; font-weight: 700; }
.section-heading p { margin: 0; color: var(--cse-muted); }
.module-count { min-width: 2rem; padding: .25rem .6rem; border-radius: 1mm; color: #585f68; background: var(--cse-terracotta-light); font-weight: 700; text-align: center; }
.module-card { display: flex; min-height: 260px; height: 100%; flex-direction: column; padding: 1.5rem; border: 1px solid var(--cse-border); border-radius: 1mm; color: inherit; background: white; box-shadow: 0 5px 18px rgb(58 63 69 / 5%); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.module-card:hover, .module-card:focus { color: inherit; border-color: #a0a6ae; box-shadow: 0 14px 30px rgb(114 122 134 / 13%); transform: translateY(-3px); }
.module-icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1.25rem; border-radius: 1mm; color: #585f68; background: #eff0f1; font-size: 1.2rem; font-weight: 800; }
.module-title { margin-bottom: .5rem; font-size: 1.15rem; font-weight: 700; }
.module-description { flex: 1; color: var(--cse-muted); line-height: 1.55; }
.module-link { margin-top: 1.2rem; color: #626973; font-weight: 700; }
.empty-state { padding: 3rem 1.5rem; border: 1px dashed #bcc0c5; border-radius: 1mm; background: white; text-align: center; }
.empty-state h3 { font-size: 1.15rem; }
.empty-state p { margin-bottom: 0; color: var(--cse-muted); }
.development-page { max-width: 760px; margin: 2rem auto; padding: 3rem 2rem; border: 1px solid var(--cse-border); border-radius: 1mm; background: white; box-shadow: 0 8px 25px rgb(58 63 69 / 6%); text-align: center; }
.development-page .module-icon { margin: 0 auto 1.25rem; }
.development-page p { color: var(--cse-muted); }
.btn-primary { --bs-btn-bg: #686f7a; --bs-btn-border-color: #686f7a; --bs-btn-hover-bg: #565c64; --bs-btn-hover-border-color: #565c64; --bs-btn-active-bg: #4c5159; --bs-btn-active-border-color: #4c5159; --bs-btn-focus-shadow-rgb: 114, 122, 134; border-radius: 1mm; }

@media (max-width: 991.98px) {
  .app-header .navbar-collapse { padding: .75rem 0 .35rem; }
  .app-header .nav-link.active::after { display: none; }
  .user-navigation { align-items: stretch !important; border-top: 1px solid rgb(255 255 255 / 12%); margin-top: .5rem; padding-top: .5rem; }
}

@media (max-width: 575.98px) {
  .app-container { padding-left: 1rem; padding-right: 1rem; }
  .app-main { padding-top: 1rem; }
  .page-header { padding: 1.5rem; }
}

.schedule-workspace { position:relative; left:50%; width:calc(100vw - 2rem); transform:translateX(-50%); }
.schedule-header { margin-bottom:.65rem; }
.schedule-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding:.7rem; border:1px solid #babec4; background:#e8e9eb; }
.schedule-week-navigation,.schedule-date-picker,.schedule-actions,.schedule-action-group,.schedule-save-bar { display:flex; align-items:center; gap:.55rem; }
.schedule-week-navigation strong { color:#3f444a; font-size:.86rem; text-transform:uppercase; }
.schedule-status { color:var(--cse-muted); font-size:.76rem; }
.schedule-date-picker label { color:#3f444a; font-size:.72rem; font-weight:700; }
.schedule-date-picker input { min-width:145px; border-radius:1mm; }
.schedule-toolbar .btn,.schedule-actions .btn { border-radius:1mm; }
.schedule-actions { justify-content:space-between; flex-wrap:wrap; padding:.55rem .7rem; border:1px solid #cccfd3; border-top:0; background:#fff; }
.schedule-action-group { flex-wrap:wrap; }
.schedule-table-card { overflow:hidden; border:1px solid #a6abb3; border-top:0; background:#fff; }
.schedule-table { width:100%; min-width:1150px; border-collapse:separate; border-spacing:0; }
.schedule-table th,.schedule-table td { padding:.45rem; border-right:1px solid #d7d9dc; border-bottom:1px solid #d7d9dc; vertical-align:top; }
.schedule-table thead th { position:sticky; top:0; z-index:3; color:#fff; background:#545a63; text-align:center; }.schedule-table thead small { display:block; font-weight:400; opacity:.85; }
.schedule-table th:first-child { position:sticky; left:0; z-index:2; min-width:145px; background:#fafafa; }.schedule-table thead th:first-child { z-index:4; background:#545a63; }
.schedule-table td { min-width:190px; }.vehicle-row td { background:#e3f2e3; vertical-align:middle; }.people-row td { background:#fff4cf; }.schedule-task-list { display:grid; gap:.4rem; }.schedule-task-list.published .free-task { display:none; }.schedule-task-row { padding:.45rem; border:1px solid #d6d9dc; border-radius:1mm; background:#fff; }.erp-task { border-left:3px solid #686f7a; }.erp-project-label { display:grid; margin-bottom:.35rem; line-height:1.25; }.erp-project-label span { overflow-wrap:anywhere; }.erp-project-label span:last-child { color:var(--cse-muted); }.task-text { resize:vertical; }.task-actions { display:flex; justify-content:flex-end; }.task-actions .btn { padding:.15rem .3rem; }.cell-actions { display:grid; grid-template-columns:1fr 1fr; gap:.35rem; margin-top:.45rem; }.btn-schedule-action { min-height:2rem; padding:.25rem .35rem; border-radius:1mm; font-size:.72rem; line-height:1.15; }.add-project { border-color:#626a74; color:#4c525a; background:#ecedef; }.add-free-task { border-color:#8b939d; color:#5d646d; background:#f8f8f9; }.btn-schedule-action:hover,.btn-schedule-action:focus { border-color:#4c525a; color:#fff; background:#686f7a; }.schedule-save-bar { justify-content:flex-end; padding:.7rem; border:1px solid #cccfd3; border-top:0; background:#fff; }.schedule-save-bar span { color:var(--cse-muted); font-size:.78rem; }.erp-project-dialog { max-width:min(1200px,calc(100vw - 2rem)); }.erp-project-results { max-height:26rem; overflow-y:auto; }.erp-status-badge { display:block; margin-top:.3rem; font-size:.78rem; font-weight:400; }.erp-status-print { color:#b42318; }.erp-status-finishing { color:#c65d08; }.erp-status-velingrad { color:#1769aa; }.print-meta { display:none; }
.project-preview-panel { width:min(760px,96vw)!important; }.project-preview-panel .offcanvas-body { padding:0 1.25rem 1.25rem; }.project-preview-header { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0 1rem; border-bottom:1px solid #d6d8dc; }.project-preview-header h2 { margin:.15rem 0; font-size:1.25rem; }.project-preview-header p { margin:0; color:var(--cse-muted); }.project-preview-tabs { display:flex; gap:.25rem; overflow-x:auto; margin:1rem 0; border-bottom:1px solid #c7cbd0; }.project-preview-tabs button { padding:.55rem .75rem; border:0; border-bottom:3px solid transparent; color:#4f545c; background:transparent; white-space:nowrap; }.project-preview-tabs button.active { border-bottom-color:#606771; font-weight:700; }.project-preview-pane { display:none; }.project-preview-pane.active { display:block; }.project-preview-grid { display:grid; grid-template-columns:minmax(130px,.7fr) minmax(0,1.7fr); margin:0; border-top:1px solid #e0e2e5; }.project-preview-grid dt,.project-preview-grid dd { margin:0; padding:.55rem .4rem; border-bottom:1px solid #e0e2e5; }.project-preview-grid dt { color:var(--cse-muted); font-weight:600; }.project-preview-grid dd { overflow-wrap:anywhere; }.project-preview-comments { display:grid; gap:.65rem; }.project-preview-comments article { padding:.7rem; border-left:3px solid #828a95; background:#fafafb; }.project-preview-comments time,.project-preview-comments strong { display:block; }.project-preview-comments time { color:var(--cse-muted); font-size:.78rem; }.project-preview-comments p { margin:.35rem 0 0; white-space:pre-wrap; }.project-preview-footer { position:sticky; bottom:-1.25rem; display:flex; justify-content:flex-end; margin-top:1rem; padding:1rem 0 1.25rem; border-top:1px solid #d6d8dc; background:#fff; }
@media (max-width:575.98px) { .schedule-workspace { width:calc(100vw - 1rem); }.schedule-toolbar,.schedule-actions { align-items:stretch; flex-direction:column; }.schedule-week-navigation { justify-content:space-between; }.schedule-date-picker input { flex:1; }.schedule-action-group { width:100%; }.schedule-action-group:last-child { justify-content:flex-end; }.project-preview-grid { grid-template-columns:1fr; }.project-preview-grid dt { padding-bottom:.1rem; border-bottom:0; }.project-preview-grid dd { padding-top:.1rem; } }
@media print { @page { size: landscape; margin: 8mm; } .app-header,.app-footer { display:none!important; }.app-main { padding:0 }.schedule-table { min-width:0; font-size:9px }.schedule-table th,.schedule-table td { padding:3px }.schedule-table th:first-child { position:static }.schedule-task-row { border:0; border-bottom:1px solid #ddd; padding:2px 0 }.task-text { min-height:0; border:0; padding:0; resize:none; font-size:9px; background:transparent }.task-actions { display:none }.print-meta { display:block; margin-top:5px; font-size:8px }.text-muted.d-print-none { display:none!important; } }

.statistics-hero { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-bottom:1.5rem; padding:1.6rem 2rem; border-radius:1rem; color:#fff; background:linear-gradient(135deg,#4c5159,#777f8b); box-shadow:0 12px 30px rgb(76 81 89 / 16%); }
.statistics-hero h1 { margin:.15rem 0; font-weight:800; }.statistics-hero p { margin:0; color:#eeeff0; }.statistics-hero-compact { margin-bottom:1rem; }
.statistics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.statistics-section-card { display:flex; min-height:190px; flex-direction:column; gap:.65rem; padding:1.25rem; border:1px solid var(--cse-border); border-radius:.5rem; color:inherit; background:#eff0f1; text-decoration:none; }
.statistics-section-card.is-active { background:#fff; box-shadow:0 7px 20px rgb(58 63 69 / 7%); transition:transform .18s ease,box-shadow .18s ease; }.statistics-section-card.is-active:hover { color:inherit; box-shadow:0 12px 28px rgb(58 63 69 / 13%); transform:translateY(-2px); }
.statistics-section-card strong { font-size:1.08rem; }.statistics-section-card > span:not(.statistics-section-state):not(.module-link) { color:var(--cse-muted); }.statistics-section-card .module-link { margin-top:auto; }
.statistics-section-state { align-self:flex-start; padding:.18rem .5rem; border-radius:999px; color:#4c5159; background:#dee0e3; font-size:.72rem; font-weight:700; text-transform:uppercase; }
.statistics-section-card:not(.is-active) .statistics-section-state { color:#585e67; background:#d8dbde; }
.statistics-breadcrumb { display:flex; gap:.5rem; margin-bottom:.75rem; color:var(--cse-muted); }.statistics-breadcrumb a { color:#5a6069; }
.statistics-filter-card,.statistics-table-card { margin-bottom:1rem; padding:1.25rem; border:1px solid var(--cse-border); border-radius:.5rem; background:#fff; }
.statistics-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }.statistics-filter-grid label { display:grid; gap:.35rem; font-weight:600; }
.statistics-table-heading { align-items:center; }.statistics-safe-badge { padding:.35rem .7rem; border-radius:999px; color:#3d6250; background:#e3f1e9; font-size:.78rem; font-weight:700; }
@media (max-width:991.98px) { .statistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.statistics-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575.98px) { .statistics-hero { align-items:flex-start; flex-direction:column; padding:1.35rem; }.statistics-grid,.statistics-filter-grid { grid-template-columns:1fr; } }

.erp-report-wide { position:relative; left:50%; width:calc(100vw - 2rem); transform:translateX(-50%); }
.erp-report-header { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:.65rem; padding:.85rem 1rem; border-left:5px solid #545a63; color:#fff; background:#4c5159; }
.erp-report-header h1 { margin:.1rem 0 0; font-size:1.35rem; font-weight:800; }.erp-report-period { font-size:.86rem; font-weight:700; }.erp-report-header-actions { display:flex; align-items:center; gap:.8rem; }
.erp-filter-bar { display:flex; align-items:end; gap:.55rem; flex-wrap:wrap; padding:.7rem; border:1px solid #babec4; background:#e8e9eb; }
.erp-filter-bar label { display:grid; gap:.2rem; color:#3f444a; font-size:.72rem; font-weight:700; }.erp-filter-bar input { min-width:145px; border-radius:1mm; }.erp-filter-bar .erp-customer-filter,.erp-filter-bar .erp-contact-filter { flex:1; min-width:210px; }.erp-filter-bar .btn { min-height:31px; border-radius:1mm; }
.erp-filter-bar select { min-width:125px; border-radius:1mm; }.erp-filter-bar .erp-checkbox-filter { display:flex; align-items:center; align-self:end; gap:.4rem; min-height:31px; padding:0 .45rem; border:1px solid #b8bcc2; background:#fff; white-space:nowrap; }.erp-filter-bar .erp-checkbox-filter input { min-width:0; }
.erp-filter-shortcuts,.erp-filter-actions { display:flex; align-items:end; gap:.4rem; }.erp-filter-actions { margin-left:auto; }
.erp-report-meta { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.45rem .65rem; border:1px solid #cccfd3; border-top:0; color:#4e545c; background:#fff; font-size:.78rem; }
.invoice-status-legend { display:flex; gap:1rem; flex-wrap:wrap; }.invoice-status-legend > span { display:flex; align-items:center; gap:.3rem; }
.erp-invoice-table-wrap { max-height:calc(100vh - 290px); min-height:320px; overflow:auto; border:1px solid #a6abb3; border-top:0; background:#fff; }
.erp-invoice-table { width:100%; min-width:1740px; border-collapse:separate; border-spacing:0; font-size:.78rem; line-height:1.25; }
.erp-invoice-table th,.erp-invoice-table td { padding:.38rem .45rem; border-right:1px solid #cccfd4; border-bottom:1px solid #d8dbde; vertical-align:middle; }
.erp-invoice-table thead th { position:sticky; top:0; z-index:3; color:#fff; background:#545a63; font-weight:700; white-space:nowrap; }
.erp-invoice-table thead th a { display:flex; justify-content:space-between; align-items:center; gap:.35rem; color:#fff; text-decoration:none; }.erp-invoice-table thead th a:hover,.erp-invoice-table thead th a:focus { color:#fff3ce; }.erp-invoice-table thead th a span { color:#d4d7db; font-size:.72rem; }
.erp-invoice-table tbody tr:nth-child(even) td { background:#f6f7f8; }.erp-invoice-table tbody tr:hover td { background:#fff1cc; }
.erp-invoice-table tbody tr.credit-note-row td { background:#f8c7d8; }.erp-invoice-table tbody tr.debit-note-row td { background:#f4e3c7; }.erp-invoice-table tbody tr.credit-note-row:hover td,.erp-invoice-table tbody tr.debit-note-row:hover td { filter:brightness(.97); }
.erp-invoice-table td.overdue-date { color:#fff; background:#e22626!important; font-weight:800; }
.erp-invoice-table tfoot th { position:sticky; bottom:0; z-index:3; color:#292c30; background:#dcdfe2; border-top:2px solid #545a63; }
.erp-invoice-table .amount { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }.erp-invoice-table .nowrap { white-space:nowrap; }.erp-invoice-table .has-balance { color:#a1271d; font-weight:700; }
.invoice-number { color:#454a52; font-weight:700; white-space:nowrap; }.invoice-number > a { color:#174ea6; text-decoration:underline; text-underline-offset:2px; }.invoice-number > a:hover,.invoice-number > a:focus { color:#0b3274; }.invoice-number small { margin-left:.25rem; padding:.08rem .25rem; color:#fff; background:#6c737e; font-size:.58rem; }
.invoice-state-column { width:112px; text-align:center; }.invoice-states { display:flex; justify-content:center; gap:.3rem; white-space:nowrap; }
.invoice-state { display:inline-grid; place-items:center; width:1.45rem; height:1.45rem; border:1px solid #babfc5; color:#9da3ab; background:#eeeff0; font-size:.85rem; font-weight:800; line-height:1; }
.invoice-state.active.is-paid,.invoice-status-legend .is-paid { border-color:#4d8062; color:#fff; background:#4d8062; }.invoice-state.active.is-email,.invoice-status-legend .is-email { border-color:#3972a5; color:#fff; background:#3972a5; }.invoice-state.active.is-print,.invoice-status-legend .is-print { border-color:#5a6069; color:#fff; background:#5a6069; }
.erp-empty-row { height:180px; color:var(--cse-muted); text-align:center; }
.report-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:1rem; border:1px solid #babec4; background:#babec4; }
.report-summary.report-summary-compact { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.report-summary > div { display:grid; gap:.35rem; padding:1rem 1.2rem; background:#fff; }.report-summary span { color:#5a6069; font-size:.78rem; font-weight:700; }.report-summary strong { color:#454a52; font-size:1.35rem; font-variant-numeric:tabular-nums; }
.erp-projects-link { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; margin-left:.35rem; border:1px solid #717985; border-radius:50%; color:#515760; background:#f9f9fa; font-size:1.1rem; line-height:1; text-decoration:none; vertical-align:middle; }
.erp-projects-link:hover,.erp-projects-link:focus { color:#fff; background:#5d646d; outline:2px solid rgba(93,100,109,.22); outline-offset:2px; }
.module-tabs{display:flex;align-items:flex-end;gap:.25rem;margin:-.2rem 0 .65rem;overflow-x:auto;border-bottom:2px solid #5d646d}.module-tabs a,.module-tabs span{display:inline-flex;flex:0 0 auto;padding:.55rem 1rem;border:1px solid #babec4;border-bottom:0;color:#4c5159;background:#eff0f1;font-size:.78rem;font-weight:800;line-height:1.2;white-space:nowrap;text-decoration:none;text-transform:uppercase}.module-tabs a:hover,.module-tabs a:focus{color:#4c5159;background:#dee0e2}.module-tabs a.active,.module-tabs span.active{color:#fff;background:#515760;border-color:#515760}
.comparison-customer-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.55rem; width:100%; flex:0 0 100%; }.comparison-customer-card { display:grid; gap:.45rem; padding:.55rem; border:1px solid #babec4; background:#f4f5f6; }.comparison-customer-card > strong { color:#515760; font-size:.72rem; text-transform:uppercase; }.report-empty-state { margin-top:1rem; padding:2rem; border:1px dashed #a9aeb5; color:#5a6069; background:#fff; text-align:center; }.customer-comparison-table th:first-child,.customer-comparison-table td:first-child { min-width:220px; }.customer-comparison-chart .monthly-chart-group { min-width:150px; max-width:260px; }
.ranking-filter > label:nth-of-type(2),.ranking-filter > label:nth-of-type(3) { display:none; }
.customer-ranking { margin-top:1rem; padding:1rem; border:1px solid #babec4; background:#fff; }.customer-ranking header { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1rem; }.customer-ranking h2 { margin:0; color:#454a52; font-size:1.15rem; }.customer-ranking p { margin:.2rem 0 0; color:#5a6069; font-size:.8rem; }.customer-ranking header > span { color:#5a6069; font-size:.75rem; font-weight:700; }.customer-ranking ol { display:grid; gap:.55rem; margin:0; padding:0; list-style:none; }.customer-ranking li { display:grid; grid-template-columns:minmax(160px,25%) minmax(180px,1fr) minmax(155px,auto); align-items:center; gap:.8rem; min-height:2rem; }.customer-ranking-name { overflow:hidden; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.customer-ranking-track { height:1.35rem; overflow:hidden; background:#e9ebed; }.customer-ranking-track i { display:block; min-width:3px; height:100%; background:#545a63; }.customer-ranking li:nth-child(2) .customer-ranking-track i { background:#79818c; }.customer-ranking li:nth-child(3) .customer-ranking-track i { background:#df8d28; }.customer-ranking li strong { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.report-month-table-wrap { margin-top:1rem; overflow:auto; border:1px solid #babec4; }.report-month-table { width:100%; border-collapse:collapse; background:#fff; font-size:.82rem; }.report-month-table th,.report-month-table td { padding:.55rem .7rem; border-bottom:1px solid #e0e2e5; text-align:right; font-variant-numeric:tabular-nums; }.report-month-table th:first-child,.report-month-table td:first-child { text-align:left; }.report-month-table thead { color:#fff; background:#4c5159; }.report-month-table tbody tr:nth-child(even) { background:#f6f7f8; }
.report-project-table-wrap { max-height:70vh; overflow:auto; border:1px solid #a9aeb5; background:#fff; }.report-project-table { min-width:2100px; width:100%; border-collapse:collapse; font-size:.72rem; }.report-project-table th { position:sticky; top:0; z-index:1; padding:.4rem .45rem; color:#fff; background:#4c5159; white-space:nowrap; }.report-project-table td { padding:.35rem .45rem; border-right:1px solid #cdd0d5; border-bottom:1px solid #cdd0d5; vertical-align:top; }.report-project-table tbody tr:nth-child(even) { background:#f6f4fb; }.report-project-table td:nth-child(6) { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }.report-project-table td:nth-child(n+10) { white-space:nowrap; }
.report-project-table th a { display:block; width:100%; color:#fff; line-height:1.25; text-align:center; text-decoration:none; white-space:nowrap; }.report-project-table th a:hover,.report-project-table th a:focus { color:#eeeff0; text-decoration:underline; }.report-project-table tfoot td { position:sticky; bottom:0; padding:.65rem; color:#183f48; background:#d8f7f8; border-top:2px solid #75b9c0; }.report-project-table tfoot td:first-child { text-align:center; font-size:.9rem; }.report-project-table tfoot .project-totals div { display:grid; gap:.25rem; text-align:right; font-size:.78rem; }
.project-filter-bar { display:grid; align-items:stretch; gap:.55rem; }.project-filter-row { display:grid; grid-template-columns:max-content max-content; align-items:end; justify-content:start; column-gap:24px; width:100%; }.project-filter-group { display:flex; align-items:end; justify-content:flex-start; gap:.55rem; }.project-filter-group-separated { margin-left:0; }.project-filter-group label { flex:0 0 150px; min-width:0; }.project-filter-group:first-child label:nth-child(2) { flex-basis:190px; }.project-filter-group .project-description-filter { flex-basis:260px; }.project-filter-group input,.project-filter-group select { width:100%; min-width:0; }.project-filter-actions { display:flex; justify-content:flex-start; gap:.55rem; width:100%; }.project-catalogue-table { min-width:2050px; }.project-catalogue-table td:nth-child(6) { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }.project-catalogue-table td:nth-child(n+7) { white-space:nowrap; }.project-status-text,.erp-status-text { display:block; min-width:7rem; padding:.18rem .35rem; border-radius:.15rem; text-align:center; font-weight:700; }
.erp-status-project-client-ok { color:#000; background:#c5d9a8; }
.project-status-text { background:#eee7df; }
.project-date-progress { position:relative; z-index:0; display:block; min-width:6.4rem; padding:.18rem .35rem; overflow:hidden; text-align:center; font-weight:700; font-variant-numeric:tabular-nums; }
.project-date-progress::before { position:absolute; z-index:-1; inset:0 auto 0 0; width:var(--project-date-progress,0%); background:#c0c1c6; content:""; }
.project-date-progress.is-approved::before { background:#e3eed0; }
.erp-status-project-client-quote { color:#fff; background:#0a0a0a; }
.erp-status-project-print-start { color:#fff; background:#e41f30; }
.erp-status-project-delivery-courier { color:#000; background:#61b65f; }
.erp-status-project-delivery-personal { color:#000; background:#caf0fe; }
.erp-status-project-prepress-corrections { color:#000; background:#ff0; }
.erp-status-project-design-corrections { color:#000; background:#ffd7a5; }
.erp-status-finance-design-quote { color:#000; background:#ffc92d; }
.erp-status-finance-production-quote { color:#000; background:#ff7f27; }
.erp-status-finance-offer { color:#000; background:#efa2bd; }
.erp-status-finance-price-generated { color:#000; background:#a96800; }
.project-payment-status { display:block; min-width:5.5rem; padding:.18rem .35rem; color:#fff; text-align:center; font-weight:800; }.project-payment-status.is-unpaid { background:#cf3347; }.project-payment-status.is-paid { background:#55a851; }.project-payment-status.is-advance { background:#dc8b1f; }
.project-catalogue-table td.project-invoice-links { display:table-cell; white-space:normal; }.project-invoice-links a { display:inline-block; margin-right:.25rem; }.project-invoice-links a + a::before { margin-right:.25rem; color:#656d77; content:","; }
@media (max-width:1279.98px) { .project-filter-row { grid-template-columns:max-content; row-gap:.55rem; }.project-filter-group-separated { margin-left:0; } }
@media (max-width:767.98px) { .project-filter-row,.project-filter-group { display:grid; grid-template-columns:1fr; width:100%; }.project-filter-group label,.project-filter-group:first-child label:nth-child(2),.project-filter-group .project-description-filter { width:100%; }.project-filter-actions { flex-wrap:wrap; } }
.monthly-chart { margin-top:1rem; padding:1rem; border:1px solid #babec4; background:#fff; }.monthly-chart-legend { display:flex; justify-content:flex-end; gap:1rem; margin-bottom:.75rem; font-size:.75rem; font-weight:700; }.monthly-chart-legend span::before { display:inline-block; width:.75rem; height:.75rem; margin-right:.3rem; content:""; vertical-align:-.08rem; background:currentColor; }.monthly-chart .revenue { color:#606771; }.monthly-chart .expense { color:#596875; }.monthly-chart .profit { color:#5d7a68; }
.monthly-chart-plot { display:flex; align-items:stretch; gap:.8rem; height:250px; padding:.5rem .5rem 0; border-bottom:1px solid #a9aeb5; overflow-x:auto; }.monthly-chart-group { display:grid; grid-template-rows:1fr auto; min-width:90px; flex:1; gap:.45rem; text-align:center; color:#575e67; font-size:.72rem; }.monthly-bars { display:flex; align-items:end; justify-content:center; gap:.22rem; min-height:200px; }.monthly-bars i { display:block; width:22%; min-width:12px; max-width:28px; border-radius:3px 3px 0 0; background:currentColor; opacity:.9; }
.monthly-chart h2,.amount-band-chart h2 { margin:0 0 .75rem; color:#4c5159; font-size:1rem; }.amount-band-chart { margin-top:1rem; padding:1rem; border:1px solid #babec4; background:#fff; }.amount-band-matrix-wrap { overflow-x:auto; }.amount-band-matrix { width:100%; min-width:700px; border-collapse:separate; border-spacing:2px; font-size:.7rem; }.amount-band-matrix th,.amount-band-matrix td { min-width:58px; height:2.1rem; padding:.3rem; text-align:center; }.amount-band-matrix thead th { color:#fff; background:#4c5159; white-space:nowrap; }.amount-band-matrix thead button { width:100%; padding:.2rem; border:0; color:inherit; background:transparent; font:inherit; font-weight:700; cursor:pointer; white-space:nowrap; }.amount-band-matrix thead button:hover,.amount-band-matrix thead button:focus { color:#eeeff0; text-decoration:underline; }.amount-band-matrix thead button span { display:inline-block; min-width:.75rem; }.amount-band-matrix tbody th { position:sticky; left:0; z-index:1; min-width:110px; color:#4f555d; background:#f0f1f2; text-align:left; white-space:nowrap; }.amount-band-matrix tbody th i { display:inline-block; width:.65rem; height:.65rem; margin-right:.35rem; border-radius:2px; }.amount-band-matrix td { position:relative; overflow:hidden; color:#31353a; background:#f0f1f2; font-variant-numeric:tabular-nums; }.amount-band-matrix td span { position:absolute; inset:0; }.amount-band-matrix td strong,.amount-band-matrix td b,.amount-band-matrix td small { position:relative; z-index:1; }.amount-band-matrix td strong { color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.55); }.amount-band-matrix td:last-child { color:#454a52; background:#dee0e2; }
.amount-band-project-link { display:block; padding:.3rem .4rem; border:1px solid #babec4; border-radius:3px; color:#454a52; background:#fff; text-decoration:none; }.amount-band-project-link:hover,.amount-band-project-link:focus { color:#fff; background:#5d646d; }
@media (max-width:767.98px) { .report-summary { grid-template-columns:1fr 1fr; } }
@media (max-width:767.98px) { .erp-report-wide { width:calc(100vw - 1rem); }.erp-report-header { align-items:flex-start; flex-direction:column; }.erp-report-header-actions { align-items:flex-start; flex-direction:column; }.erp-report-meta { align-items:flex-start; flex-direction:column; }.erp-filter-actions { width:100%; justify-content:flex-end; margin-left:0; }.erp-invoice-table-wrap { max-height:none; }.invoice-status-legend { gap:.55rem; } }
@media (max-width:767.98px) { .comparison-customer-picker { grid-template-columns:1fr; } }
@media (max-width:767.98px) { .customer-ranking header { align-items:flex-start; flex-direction:column; }.customer-ranking li { grid-template-columns:minmax(100px,1fr) minmax(100px,2fr); }.customer-ranking li strong { grid-column:1/-1; text-align:right; } }
.base-directory-filter{display:flex;align-items:end;gap:.65rem}.base-directory-filter label{min-width:min(34rem,70vw);font-size:.72rem;font-weight:700;text-transform:uppercase}.base-directory-table-wrap{overflow:auto;max-height:65vh;border:1px solid #cccfd3;background:#fff}.base-directory-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.78rem}.base-directory-table th{position:sticky;top:0;z-index:1;padding:0;text-align:left;white-space:nowrap;background:#4c5159;color:#fff}.base-directory-table th a{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;padding:.5rem .6rem;color:#fff;text-decoration:none}.base-directory-table th a:hover,.base-directory-table th a:focus{background:#3c4046;color:#fff}.base-directory-table th:nth-child(1){width:25%}.base-directory-table th:nth-child(2){width:18%}.base-directory-table th:nth-child(3){width:17%}.base-directory-table th:nth-child(4),.base-directory-table th:nth-child(5){width:13%}.base-directory-table th:nth-child(6){width:14%}.sort-indicator{min-width:.8rem;text-align:right}.base-directory-table td{padding:.4rem .55rem;border-bottom:1px solid #e0e2e5;vertical-align:top;overflow-wrap:anywhere}.base-directory-table tbody tr:nth-child(even){background:#f7f7f8}.base-directory-table tbody tr:hover{background:#e7e9eb}.base-directory-name{font-weight:700}.base-directory-table td:last-child{min-width:0}.base-dossier-tabs{margin-bottom:1rem}.base-dossier-content{min-width:0}.base-dossier-fields{display:grid;grid-template-columns:13rem minmax(12rem,35rem);gap:.35rem .7rem;padding:1rem;border:1px solid #cccfd3;background:#fff}.base-dossier-fields dt{font-size:.76rem;color:#525861}.base-dossier-fields dd{margin:0;font-weight:600}
.project-clickable-row{cursor:pointer}.project-clickable-row:focus{outline:none}.project-clickable-row:focus-visible{outline:2px solid #4c5159;outline-offset:-2px}.project-clickable-row:hover{background:#e7e9eb!important}
.project-clickable-row.project-reprint-row,.project-clickable-row.project-reprint-row:hover{background:#cfe8ff!important}
.similar-projects-table tbody tr.similar-copy-row td,.similar-projects-table tbody tr.similar-copy-row:hover td{background:#c6efce!important}
.similar-projects-table tbody tr.similar-copy-row td:first-child{box-shadow:inset 5px 0 #2f7d32}
.project-timeline .project-system-comment,.project-timeline .project-system-comment time{color:#c62828}.project-timeline .project-system-comment{border-left-color:#c62828;background:#fff6f5}
.project-variant{margin-top:1rem;border:1px solid #cccfd3}.project-variant>header{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .75rem;background:#d3d5d9}.project-variant>header span{color:#4c5159;font-size:.75rem;font-weight:800}.project-variant>.project-dossier-grid{padding:.8rem}.project-structure{margin:.2rem .8rem .8rem;padding:.75rem;border-left:4px solid #626972;background:#f7f7f8}.project-structure h3{margin:0 0 .6rem;color:#4c5159}.project-structure dl{grid-template-columns:8rem minmax(0,1fr)}.project-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-section-heading h2{margin:0}.project-finance-table{margin-top:1rem}.project-document-service{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:12rem;padding:2rem;border:1px solid #cccfd3;background:#fff}.project-document-service h2{margin:.3rem 0;color:#4c5159}.project-document-service p{margin:0;color:#5d646e}@media(max-width:700px){.project-document-service{align-items:flex-start;flex-direction:column;min-height:0}}
.parameter-hub{display:grid;gap:1rem}.parameter-actions{display:flex;align-items:center;gap:.5rem}.parameter-actions .btn{height:34px;padding:0 10px;border-radius:1mm;font-size:13px;font-weight:600}.parameter-actions .btn-primary{background:#686f7a;color:#fff}.parameter-actions .btn-primary:hover{background:#565c64}.parameter-actions .btn-secondary{background:#777;color:#fff}.parameter-actions .btn:disabled{cursor:not-allowed;opacity:.48}.erp-variants-panel,.cse-variants-panel,.parameter-detail-panel{padding:1rem;border:1px solid #cccfd3;background:#fff}.parameter-variants-table tr.active td{background:#e5e7e9}.parameter-variants-table a{display:block;color:inherit;text-decoration:none}.cse-variants-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cse-variants-panel h2{width:100%}.parameter-variant-choice{display:inline-flex;gap:.45rem;padding:.5rem .7rem;border:1px solid #babec4;border-radius:1mm;color:#4c5159;text-decoration:none}.parameter-variant-choice.active{background:#4c5159;color:#fff}.parameter-detail-panel>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.parameter-detail-panel>header>div{display:flex;gap:.45rem}.parameter-detail-panel>header form{margin:0}.parameter-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr);gap:1rem}.parameter-readonly-row,.parameter-structure-list article{display:grid;gap:.2rem;padding:.65rem;border-bottom:1px solid #e0e2e5}.parameter-structure-list{margin-top:1rem}.parameter-editor{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:1rem;background:#f7f7f8}.parameter-editor h2,.parameter-editor>.btn{grid-column:1/-1}.parameter-editor label{display:grid;gap:.25rem;color:#5d646e;font-size:13px;font-weight:600}.parameter-editor input,.parameter-editor select{height:34px;padding:0 8px;border:1px solid #babec4;border-radius:1mm;font:400 13px inherit}.parameter-editor textarea{min-height:70px;padding:8px;border:1px solid #babec4;border-radius:1mm;font:400 13px inherit;resize:vertical}.parameter-editor>.btn{height:44px;width:100%;font-size:16px;font-weight:600}@media(max-width:800px){.parameter-detail-grid,.parameter-editor{grid-template-columns:1fr}.parameter-editor h2,.parameter-editor>.btn{grid-column:1}.parameter-detail-panel>header{align-items:flex-start;flex-direction:column}}
.project-dossier{max-width:1600px}.project-dossier-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 1.2rem;color:#fff;background:linear-gradient(120deg,#4c5159,#626972)}.project-dossier-header h1{margin:.15rem 0;font-size:1.55rem}.project-dossier-header p{margin:0;color:#eaebed}.project-dossier-status{padding:.3rem .65rem;border-radius:999px;background:#fff;color:#4c5159;font-size:.78rem;font-weight:800}.project-back-link{display:block;margin-bottom:.65rem;color:#fff}.project-dossier-tabs{display:flex;overflow:auto;white-space:nowrap;margin:7px 0 0}.project-dossier-content{padding:1rem;background:#f3f4f5}.project-dossier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-card{min-width:0;padding:1rem;border:1px solid #cccfd3;background:#fff}.project-card-wide{margin-top:1rem}.project-card h2{margin:0 0 .85rem;color:#4c5159;font-size:1.05rem}.project-card h3{font-size:.86rem}.project-card dl,.project-summary-list{display:grid;grid-template-columns:minmax(9rem,13rem) minmax(0,1fr);gap:.45rem .8rem;margin:0}.project-card dt{color:#5d646e;font-size:.75rem}.project-card dd{margin:0;font-weight:600;overflow-wrap:anywhere}.project-long-text{max-width:90rem;margin:0;white-space:pre-wrap}.project-timeline{display:grid;gap:.65rem}.project-timeline article{display:grid;grid-template-columns:9rem 10rem minmax(0,1fr);gap:.5rem;padding:.65rem;border-left:3px solid #626972;background:#f7f7f8}.project-timeline time{color:#5d646e;font-size:.72rem}.project-timeline p,.project-timeline pre{grid-column:3;margin:0;white-space:pre-wrap;font:inherit}.project-timeline article>span{font-size:.75rem;color:#5d646e}.project-table-wrap{overflow:auto}.project-table-wrap table{width:100%;border-collapse:collapse;font-size:.78rem}.project-table-wrap th{padding:.5rem;background:#4c5159;color:#fff;text-align:left;white-space:nowrap}.project-table-wrap td{padding:.5rem;border-bottom:1px solid #e0e2e5;vertical-align:top}.project-chip-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.project-chip-list span{padding:.3rem .6rem;border-radius:999px;background:#e0e2e5;font-weight:700}.project-split-text{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.project-split-text>div{padding:.8rem;background:#f7f7f8}.project-readonly-note,.empty-state{color:#5d646e;font-size:.8rem}@media(max-width:800px){.project-dossier-header{align-items:flex-start;flex-direction:column}.project-dossier-grid,.project-split-text{grid-template-columns:1fr}.project-timeline article{grid-template-columns:1fr}.project-timeline p,.project-timeline pre{grid-column:1}.project-card dl,.project-summary-list{grid-template-columns:1fr}.project-card dd{margin-bottom:.35rem}}
.invoice-dossier{max-width:1500px}.invoice-dossier-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;color:#fff;background:linear-gradient(120deg,#4c5159,#626972)}.invoice-dossier-header a{display:block;margin-bottom:.55rem;color:#fff}.invoice-dossier-header h1{margin:.15rem 0;font-size:1.5rem}.invoice-dossier-header p{margin:0;color:#eaebed}.invoice-dossier-header>div:last-child{display:grid;justify-items:end;gap:.35rem}.invoice-dossier-header>div:last-child strong{padding:.3rem .65rem;border-radius:999px;background:#fff;color:#4c5159}.invoice-dossier-body{display:grid;gap:.75rem;padding:1rem;background:#f3f4f5}.invoice-dossier-card{padding:1rem;border:1px solid #cccfd3;background:#fff}.invoice-dossier-card h2,.invoice-dossier-strip h2{margin:0 0 .75rem;color:#4c5159;font-size:1rem}.invoice-dossier-summary dl{display:grid;grid-template-columns:10rem minmax(0,1fr) 10rem minmax(0,1fr);gap:.4rem .7rem;margin:0}.invoice-dossier-summary dt{color:#5d646e;font-size:.75rem}.invoice-dossier-summary dd{margin:0;font-weight:600}.invoice-flags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.invoice-flags span{padding:.3rem .55rem;border:1px solid #cccfd3;color:#777f8b;background:#f3f4f5;font-size:.75rem}.invoice-flags span:before{content:'○';margin-right:.3rem}.invoice-flags span.active{border-color:#4f7e46;color:#2f6128;background:#edf7eb;font-weight:700}.invoice-flags span.active:before{content:'✓'}.invoice-dossier-strip{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;background:#d3d5d9}.invoice-dossier-strip h2{margin:0 auto 0 0}.invoice-totals{display:grid;grid-template-columns:minmax(11rem,1fr) auto;gap:.35rem .8rem;max-width:30rem;margin:1rem 0 0 auto}.invoice-totals dt{text-align:right}.invoice-totals dd{margin:0;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.invoice-dossier .amount{text-align:right;white-space:nowrap}@media(max-width:800px){.invoice-dossier-header{align-items:flex-start;flex-direction:column}.invoice-dossier-header>div:last-child{justify-items:start}.invoice-dossier-summary dl{grid-template-columns:1fr}.invoice-dossier-summary dd{margin-bottom:.35rem}}
.project-archive-category{display:flex;align-items:end;gap:.7rem;margin:1rem 0}.project-archive-category label{display:grid;gap:.3rem;min-width:min(34rem,70vw);color:#5d646e;font-size:.75rem;font-weight:700}.project-archive-category select{min-width:min(34rem,70vw);padding:.45rem}.project-archive-path{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.7rem 0;padding:.55rem .7rem;background:#f7f7f8}.project-archive .alert{margin-top:.8rem}
.parameter-actions .btn{display:inline-flex;align-items:center;justify-content:center;line-height:1;text-align:center;vertical-align:middle}
.cse-variants-panel{display:block}.cse-variants-panel h2{width:auto}.cse-variants-panel .project-table-wrap{width:100%}
.parameter-structure-panel{margin-top:1rem;border-top:1px solid #cccfd3;padding-top:1rem}.parameter-structure-panel>header{display:flex;align-items:center;justify-content:space-between}.parameter-structure-panel>header h2{margin:0}.parameter-structure-editor{margin:.75rem 0}.parameter-structure-row{margin-top:.75rem;padding:.75rem;border:1px solid #cccfd3;background:#f7f7f8}.parameter-structure-actions{display:flex;gap:.45rem;margin-top:.55rem}.parameter-structure-actions form{margin:0}
.parameter-structure-form{display:grid;gap:.7rem;margin-top:.75rem;padding:.8rem;border:1px solid #777f8b;background:#fff}.parameter-structure-form label{display:grid;gap:.25rem;color:#5d646e;font-size:.75rem;font-weight:700}.parameter-structure-form input,.parameter-structure-form select{height:2.15rem;padding:.3rem .55rem;border:1px solid #babec4;border-radius:.3rem;background:#fff;font:inherit}.structure-top{display:grid;grid-template-columns:13rem minmax(14rem,24rem);gap:.7rem}.structure-size{display:grid;grid-template-columns:17rem minmax(14rem,24rem);gap:.7rem}.structure-size label>span,.structure-spec-grid label>span{display:flex;align-items:center;gap:.4rem}.structure-size input{min-width:0;width:7rem}.structure-spec-grid{display:grid;grid-template-columns:13rem 13rem 10rem;gap:.7rem}.structure-spec-grid label:nth-last-child(-n+2){grid-column:auto/span 1}.structure-spec-grid input{width:100%;min-width:0}.structure-spec-grid label>span input{width:5.3rem}.parameter-structure-form>.btn{justify-self:start;min-width:9rem}@media(max-width:800px){.structure-top,.structure-size,.structure-spec-grid{grid-template-columns:1fr}.structure-size input,.structure-spec-grid label>span input{width:100%}}
.parameter-structure-row{display:flex;flex-direction:column}.parameter-structure-row>.parameter-structure-form{display:contents}.parameter-structure-row>.parameter-structure-form>div{order:1;margin-bottom:.7rem}.parameter-structure-row>.parameter-structure-form>.btn{order:3;margin-top:.7rem}.parameter-structure-row>.parameter-operations{order:2}.parameter-structure-row>.parameter-structure-actions{order:4}.parameter-operations{margin-top:.2rem}.parameter-operations>header{display:flex;align-items:center;justify-content:space-between;padding:.45rem .55rem;background:#d3d5d9}.parameter-operations h3{margin:0;font-size:.85rem}.parameter-operation-form{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(10rem,.8fr) minmax(18rem,2fr) auto;align-items:end;gap:.65rem;padding:.65rem;border:1px solid #babec4;border-top:0}.parameter-operation-form label{display:grid;min-width:0;gap:.25rem;color:#5d646e;font-size:.75rem;font-weight:700}.parameter-operation-form input,.parameter-operation-form select{width:100%;min-width:0;height:2.15rem;padding:.3rem .55rem;border:1px solid #babec4;border-radius:.3rem;background:#fff}.parameter-operation-form .btn{width:auto;min-width:4.6rem;height:2.15rem;padding:.3rem .65rem;white-space:nowrap}@media(max-width:800px){.parameter-operation-form{grid-template-columns:1fr}}
.parameter-structure-row>.parameter-structure-form>.btn{display:none}
.parameter-detail-panel .btn-neutral{border:1px solid #222}.parameter-detail-panel>.parameter-editor>label:first-of-type input{height:70px}.parameter-structure-panel>header .parameter-structure-actions{display:flex;gap:.45rem;margin:0 0 0 .2rem}.parameter-structure-panel>header .parameter-structure-actions form{margin:0}.structure-size{grid-template-columns:17rem minmax(14rem,24rem) 13rem 13rem 10rem;align-items:end}.structure-spec-grid{grid-template-columns:13rem 13rem}.structure-spec-grid:empty{display:none}@media(max-width:1200px){.structure-size{grid-template-columns:repeat(2,minmax(13rem,1fr))}}@media(max-width:800px){.structure-size{grid-template-columns:1fr}}
.parameter-detail-panel>header{padding-bottom:.8rem}.parameter-detail-panel>header>div{margin-left:auto}.parameter-detail-panel>.parameter-editor>label:first-of-type{align-self:start}.parameter-detail-panel>.parameter-editor>label:first-of-type input{height:34px}.parameter-detail-panel>.parameter-editor .project-check{align-self:end;min-height:34px}.parameter-structure-panel>header{justify-content:flex-start;gap:.45rem}.parameter-structure-panel>header h2{margin-right:auto}.parameter-structure-panel>header .parameter-structure-actions{gap:.45rem;margin:0}.structure-size{width:100%;grid-template-columns:minmax(15rem,1.35fr) minmax(13rem,1.15fr) minmax(10rem,.9fr) minmax(10rem,.9fr) minmax(8rem,.7fr);gap:.7rem}.structure-size>label{min-width:0}.structure-size input,.structure-size select,.structure-spec-grid select{max-width:100%}.structure-spec-grid{width:100%;grid-template-columns:minmax(13rem,1fr) minmax(13rem,1fr);gap:.7rem}.parameter-operations td:last-child{text-align:right}.parameter-operations th:last-child{text-align:right}.parameter-operations td:last-child form{display:inline-block;margin:0}@media(max-width:1200px){.structure-size{grid-template-columns:repeat(3,minmax(11rem,1fr))}}@media(max-width:800px){.structure-size,.structure-spec-grid{grid-template-columns:1fr}}
.parameter-structure-form input,.parameter-structure-form select{font-weight:400}.structure-size label:first-child span b:last-child{display:none}
.parameter-detail-list{margin-top:1rem;border-top:1px solid #cccfd3;padding-top:.8rem}.parameter-detail-list>header{display:flex;align-items:center;justify-content:space-between}.parameter-detail-list h2{margin:0 0 .55rem}.parameter-entry-list{display:grid;gap:.45rem}.parameter-entry-row,.parameter-entry-edit,.parameter-entry-new{display:flex;align-items:center;gap:.45rem}.parameter-entry-row>form:last-child{margin-left:auto}.parameter-entry-edit{flex:1}.parameter-entry-edit input,.parameter-entry-edit select,.parameter-entry-new input,.parameter-entry-new select{height:34px;padding:0 8px;border:1px solid #babec4;border-radius:1mm;background:#fff;font:400 13px inherit}.parameter-entry-edit input[type=number],.parameter-entry-new input[type=number]{max-width:15rem}.parameter-counterparty-row .parameter-entry-edit select,.parameter-counterparty-new select{flex:1;min-width:16rem}.parameter-counterparty-row .parameter-entry-edit input,.parameter-counterparty-new input{flex:2;min-width:18rem}.parameter-entry-new{padding-top:.35rem}.parameter-entry-new .btn,.parameter-entry-edit .btn{height:34px}@media(max-width:800px){.parameter-entry-row,.parameter-entry-edit,.parameter-entry-new{align-items:stretch;flex-direction:column}.parameter-entry-row>form:last-child{margin-left:0}.parameter-entry-edit input,.parameter-entry-edit select,.parameter-entry-new input,.parameter-entry-new select{width:100%;max-width:none!important;min-width:0!important}}
.parameter-hub select,.parameter-hub input,.parameter-hub textarea{font-family:inherit;font-size:13px;font-weight:400}.parameter-entry-new{width:100%}.parameter-entry-new>.btn{margin-left:auto}.parameter-counterparty-new select{font-family:inherit;font-size:13px;font-weight:400}.parameter-counterparty-new input{font-family:inherit;font-size:13px;font-weight:400}@media(max-width:800px){.parameter-entry-new>.btn{width:100%;margin-left:0}}
.parameter-detail-list{position:relative}.parameter-detail-list>.parameter-entry-list:has(>.parameter-entry-new){padding-top:calc(34px + .45rem)}.parameter-detail-list>.parameter-entry-list>.parameter-entry-new>.btn{position:absolute;top:.8rem;right:0;margin:0}.parameter-row-action{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 96px!important;width:96px!important;min-width:96px!important;max-width:96px!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 6px!important;border-radius:1mm;font-size:13px;font-weight:600;line-height:1!important;white-space:nowrap}.parameter-entry-row:not(.parameter-counterparty-row)>.parameter-entry-edit{flex:0 1 auto}.parameter-entry-row:not(.parameter-counterparty-row)>form:last-child{margin-left:0}@media(max-width:800px){.parameter-detail-list>.parameter-entry-list:has(>.parameter-entry-new){padding-top:0}.parameter-detail-list>.parameter-entry-list>.parameter-entry-new>.btn{position:static;width:100%}.parameter-row-action{flex-basis:auto!important;width:100%!important;min-width:0!important;max-width:none!important}}
.parameter-editor-readonly input,.parameter-editor-readonly textarea,.erp-readonly-list input,.erp-structure-row input{color:#3f444a;background:#f0f1f3}.erp-unavailable-field{color:#777f8b}.erp-unavailable-field small{font-weight:400}.erp-readonly-list input{height:34px;padding:0 8px;border:1px solid #babec4;border-radius:1mm;font:400 13px inherit}.erp-readonly-list small{color:#5d646e}.erp-readonly-list .parameter-counterparty-row input:first-child{flex:1}.erp-readonly-list .parameter-counterparty-row input:last-child{flex:2}.erp-structure-row>.parameter-structure-form{display:contents}.erp-structure-row .structure-spec-grid{grid-template-columns:minmax(24rem,2fr) minmax(13rem,1fr)!important;align-self:stretch}.erp-structure-row .parameter-operations{order:2}.erp-structure-row .empty-state{padding:.65rem;border:1px solid #babec4;border-top:0}.erp-parameter-detail .parameter-structure-panel{margin-top:1rem}@media(max-width:800px){.erp-structure-row .structure-spec-grid{grid-template-columns:1fr!important}}
.monthly-planning-workspace .module-tabs { margin-bottom:0; }.monthly-toolbar { display:flex; align-items:flex-end; gap:1rem; flex-wrap:wrap; padding:.7rem; border:1px solid #babec4; background:#e8e9eb; }.monthly-navigation { display:flex; align-items:center; gap:.6rem; margin-right:auto; }.monthly-navigation div { display:grid; min-width:190px; text-align:center; }.monthly-navigation strong { color:#3f444a; text-transform:capitalize; }.monthly-navigation span { color:var(--cse-muted); font-size:.75rem; }.monthly-filters,.monthly-actions { display:flex; align-items:flex-end; gap:.55rem; }.monthly-filters label { color:#3f444a; font-size:.72rem; font-weight:700; }.monthly-filters select { min-width:180px; }.monthly-toolbar .btn,.monthly-toolbar .form-control,.monthly-toolbar .form-select { border-radius:1mm; }.prototype-notice { padding:.55rem .7rem; border:1px solid #e2c77a; border-top:0; color:#634f18; background:#fff6d7; font-size:.82rem; }.monthly-calendar { overflow:hidden; border:1px solid #babec4; border-top:0; background:#fff; }.monthly-weekdays,.monthly-grid { display:grid; grid-template-columns:repeat(7,minmax(135px,1fr)); }.monthly-weekdays { color:#fff; background:#545a63; text-align:center; font-weight:700; }.monthly-weekdays div { padding:.5rem; border-right:1px solid rgba(255,255,255,.22); }.monthly-grid { min-width:945px; }.monthly-day { min-height:145px; padding:.35rem; border-right:1px solid #dadcdf; border-bottom:1px solid #dadcdf; background:#fff; }.monthly-day.outside-month { background:#f0f1f3; }.monthly-day.outside-month header,.monthly-day.outside-month .monthly-event { opacity:.45; }.monthly-day header { display:flex; justify-content:flex-end; min-height:1.65rem; }.monthly-day time { display:grid; width:1.65rem; height:1.65rem; place-items:center; color:#474c54; }.monthly-day.today time { border-radius:50%; color:#fff; background:#c84235; }.monthly-day-events { display:grid; gap:3px; }.monthly-event { width:100%; overflow:hidden; padding:.22rem .35rem; border:0; border-left:4px solid color-mix(in srgb,var(--event-color),#44494f 35%); border-radius:4px; color:#2a2d31; background:var(--event-color); text-align:left; line-height:1.15; }.monthly-event span,.monthly-event small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.monthly-event span { font-size:.75rem; font-weight:650; }.monthly-event small { margin-top:2px; font-size:.65rem; opacity:.72; }.monthly-event.continues-before { border-top-left-radius:0;border-bottom-left-radius:0 }.monthly-event.continues-after { border-top-right-radius:0;border-bottom-right-radius:0 }.monthly-more { padding:.15rem .35rem; border:0; color:#51575f; background:transparent; text-align:left; font-size:.72rem; font-weight:700; }.monthly-event:hover,.monthly-event:focus { outline:2px solid #51575f; outline-offset:1px; }.monthly-calendar { overflow-x:auto; }@media(max-width:800px){.monthly-toolbar,.monthly-filters,.monthly-actions{align-items:stretch;flex-direction:column}.monthly-navigation{width:100%;justify-content:space-between}.monthly-filters label{width:100%}.monthly-filters select{min-width:0}.monthly-day{min-height:120px}}
.monthly-day time { width:1.9rem; height:1.9rem; font-size:1.05rem; font-weight:800; }.monthly-day.today { box-shadow:inset 0 0 0 2px rgba(200,66,53,.16); }.monthly-day.today time { color:#fff!important; background:#c84235!important; }.monthly-event.continues-before { border-left-color:color-mix(in srgb,var(--event-color),#69707b 20%); color:#8b929c; background:color-mix(in srgb,var(--event-color),white 78%); font-weight:400; }.monthly-event.continues-before small { color:#9da3ab; opacity:1; }.monthly-overflow-event { display:none; }.monthly-day-events.is-expanded .monthly-overflow-event { display:block; }
.monthly-activity-form,.monthly-activity-form label { display:grid; gap:.35rem; }.monthly-activity-form { gap:1rem; }.monthly-activity-form label { color:#3f444a; font-size:.8rem; font-weight:700; }.monthly-form-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }@media(max-width:700px){.monthly-form-row{grid-template-columns:1fr}}
.monthly-event strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem; font-weight:800; }
.monthly-event strong + span { margin-top:2px; font-size:.68rem; font-weight:500; }
.monthly-alarm-fields { margin:0; padding:.75rem; border:1px solid #cccfd3; }
.monthly-alarm-fields legend { float:none; width:auto; margin:0; padding:0 .25rem; font-size:.82rem; font-weight:700; }
.project-priority{display:inline-block;min-width:5.8rem;padding:.28rem .5rem;border:1px solid rgba(0,0,0,.2);color:#1a1c1f;text-align:center;font-weight:800}.priority-слаб{background:#9bd18b}.priority-лек{background:#ffe66d}.priority-среден{background:#f4a340}.priority-висок{color:#fff;background:#b85c38}.priority-незабавен{color:#fff;background:#d62828}

/* Единен голям календар за всички полета за дата в CSE Tools. */
.cse-date-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.cse-date-field{display:inline-block;position:relative;max-width:100%;vertical-align:middle}
.cse-date-field:has(>.form-control){display:block;width:100%}
.cse-date-field>.cse-date-editable{width:100%;min-width:0;height:34px;padding:0 34px 0 8px;border-radius:1mm;font-size:13px;font-weight:400}
.cse-date-field>.cse-date-trigger{position:absolute;right:1px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;border:0;border-radius:1mm;background:transparent;color:#686f7a;font-size:13px;font-weight:600}
.cse-date-trigger:hover:not(:disabled){background:#f6f7f8}.cse-date-trigger:focus-visible{outline:3px solid rgba(91,98,107,.3)}.cse-date-trigger:disabled{opacity:.5;cursor:default}
.cse-date-picker{position:fixed;z-index:2000;padding:.28rem .7rem;border:1px solid #a8adb5;border-radius:.65rem;background:#fff;box-shadow:0 14px 38px rgba(33,36,39,.28);font-size:.9rem}
.cse-date-picker[hidden]{display:none}.cse-date-picker header{display:grid;grid-template-columns:2.3rem 1fr 2.3rem;align-items:center;gap:.4rem;margin-bottom:.1rem}.cse-date-picker header strong{text-align:center;font-size:1.05rem;text-transform:capitalize}
.cse-date-picker button{border:1px solid transparent;border-radius:.4rem;color:#282a2e;background:transparent}.cse-date-picker header button,.cse-date-picker footer button{min-height:1.2rem;border-color:#bcc0c6;background:#f6f7f8;font-weight:700;line-height:1.1}.cse-date-picker button:hover:not(:disabled),.cse-date-picker button:focus-visible{border-color:#5b626b;outline:3px solid rgba(91,98,107,.2);background:#e9ebed}
.cse-date-weekdays,.cse-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0 .2rem}.cse-date-weekdays span{padding:0;color:#5d646d;text-align:center;font-size:.72rem;font-weight:800}.cse-date-days button{height:1.28rem;min-width:0;font-size:.88rem;font-weight:650;line-height:1}.cse-date-days button.outside{color:#9ca2ab}.cse-date-days button.today{border-color:#717984}.cse-date-days button.selected{color:#fff;background:#5a616a}.cse-date-days button:disabled{color:#cbced2;text-decoration:line-through}
.cse-date-picker footer{display:flex;justify-content:space-between;gap:.5rem;margin-top:.12rem}.cse-date-picker footer button{padding:0 .7rem}
@media(max-width:520px){.cse-date-picker{padding:.75rem}.cse-date-days button{font-size:.95rem}}
/* Sprint 10.4 — project workspace */
.workspace-publish{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.workspace-publish label{display:grid;gap:.3rem;min-width:18rem}.workspace-publish select{min-height:2.4rem}.workspace-version{margin-top:1rem}.workspace-version>header{display:flex;justify-content:space-between;gap:1rem}.workspace-status{align-self:start;padding:.35rem .6rem;color:#fff;background:#4c5159}.workspace-comment{margin:.8rem 0;padding:.8rem;border-left:4px solid #b52b24;background:#f7f7f8}.workspace-comment.resolved{border-color:#287447;opacity:.75}.workspace-comment time{display:block;color:#616872;font-size:.75rem}.workspace-reply{margin:.55rem 0 0 1rem;padding:.55rem;border-left:2px solid #bdc1c7;background:#fff}.workspace-comment form{display:flex;gap:.45rem;margin-top:.5rem}.workspace-comment input{flex:1;min-width:12rem}
.workspace-page{position:relative;left:50%;width:min(1700px,calc(100vw - 3rem));max-width:none;transform:translateX(-50%)}.workspace-version-tabs{display:flex;gap:.45rem;overflow:auto;margin:1rem 0}.workspace-version-tabs a{padding:.55rem .7rem;border:1px solid #babec4;color:#4c5159;background:#fff;text-decoration:none;white-space:nowrap}.workspace-version-tabs a.active{color:#fff;background:#4c5159}.workspace-review-internal{display:grid;grid-template-columns:minmax(0,1fr) 25rem;gap:1rem;align-items:start;margin-top:1rem}.workspace-document-internal{min-width:0;min-height:35rem;padding:1rem;background:#575757}.workspace-pages-internal{display:grid;min-width:0;gap:1rem;justify-content:center}.workspace-pdf-page-internal{position:relative;max-width:100%;box-shadow:0 2px 12px #0008;background:#fff}.workspace-pdf-page-internal canvas{display:block;max-width:100%;height:auto!important}.workspace-loading-internal{padding:2rem;color:#fff;text-align:center}.workspace-comments-internal{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:1rem;border:1px solid #cccfd3;background:#fff}.workspace-marker-internal,.workspace-comment-number{display:inline-grid;place-items:center;border-radius:50%;color:#fff;background:#b52b24;font-weight:800}.workspace-marker-internal{position:absolute;z-index:2;width:2rem;height:2rem;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 1px 6px #000a;cursor:pointer}.workspace-comment-number{width:1.55rem;height:1.55rem;margin-right:.25rem;font-size:.8rem}.workspace-comments-internal .workspace-comment.selected{outline:3px solid #d89016;outline-offset:2px}@media(max-width:1500px){.workspace-review-internal{grid-template-columns:1fr}.workspace-comments-internal{position:static;max-height:none}}
.dossier-edit-form{display:grid;gap:.58rem}.dossier-edit-form label{display:grid;gap:.22rem;color:#5d646e;font-size:.75rem;font-weight:700}.dossier-edit-form input,.dossier-edit-form select,.project-inline-form input,.project-inline-form select{width:100%;height:2.15rem;padding:.3rem .55rem;border:1px solid #babec4;border-radius:.3rem;background:#fff;font-family:inherit;font-size:.82rem;font-weight:400;line-height:1.2}.dossier-edit-form textarea,.project-inline-form textarea,.project-note-edit textarea{width:100%;padding:.48rem .55rem;border:1px solid #babec4;border-radius:.3rem;background:#fff;font-family:inherit;font-size:.82rem;font-weight:400;line-height:1.35;resize:vertical}.date-with-today{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem}.date-with-today input{min-height:0;height:2.15rem;font-size:.82rem}.date-today,.contact-drawer-open,.contact-drawer-close,.project-chip-list button{border:1px solid #626972;border-radius:.3rem;color:#4c5159;background:#fff;font-weight:700}.date-today{height:2.15rem;padding:0 .65rem;font-size:.8rem}.priority-role-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.project-source-badge{padding:.2rem .45rem;color:#315c37;background:#e2f1e4;font-size:.7rem}.project-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.project-check input{width:auto;height:auto}.project-inline-form{display:flex;align-items:flex-end;gap:.55rem}.project-inline-form textarea,.project-inline-form select{flex:1}.project-compose-form{align-items:flex-start;margin-bottom:.9rem}.project-compose-form .btn,.project-inline-form>.btn{min-width:4.6rem;height:2.15rem;padding:.3rem .65rem;font-size:.8rem}.project-chip-list{gap:.45rem}.project-chip-list span{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .55rem;border-radius:.48rem;font-size:.8rem;font-weight:600}.project-chip-list form{display:inline}.project-chip-list button{border:0;background:transparent}.project-note{margin-top:.7rem;padding:.7rem .8rem;border-left:3px solid #626972;background:#f7f7f8}.project-note header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.project-note header>div:first-child{display:grid;gap:.15rem}.project-note header time{color:#5d646e;font-size:.72rem}.project-note p{margin:.55rem 0;white-space:pre-wrap}.project-note-actions{display:flex;align-items:center;gap:.45rem}.project-note-actions form{margin:0}.project-note-edit{margin-top:.45rem}.project-chat-card .project-timeline{gap:.55rem}.project-chat-card .project-timeline article{grid-template-columns:9.5rem 12rem minmax(0,1fr) auto;align-items:start;gap:.65rem 1.25rem;padding:.65rem .8rem;font-size:11pt;line-height:1.4}.project-chat-card .project-timeline p{grid-column:3;line-height:1.4}.project-chat-card .project-timeline article>form{grid-column:4;grid-row:1}.project-chat-card .project-timeline time,.project-chat-card .project-timeline strong,.project-chat-card .project-timeline p{font-size:inherit;line-height:inherit}.project-chat-card .project-timeline strong{overflow-wrap:anywhere}.contact-drawer{position:fixed;z-index:1200;inset:0 0 0 auto;width:min(34rem,94vw);overflow:auto;padding:1rem;border-left:2px solid #626972;background:#fff;box-shadow:-12px 0 35px rgba(34,37,41,.25)}.contact-drawer-head{display:flex;justify-content:space-between;align-items:center}.contact-drawer-close,.contact-drawer-open{width:2.15rem;height:2.15rem;padding:0;font-size:1rem}.contact-drawer article{display:grid;gap:.25rem;margin-top:.65rem;padding:.75rem;background:#f7f7f8}@media(max-width:700px){.project-inline-form,.project-note-actions{align-items:stretch;flex-direction:column}.priority-role-row{grid-template-columns:1fr}.project-chat-card .project-timeline article{grid-template-columns:1fr;gap:.35rem}.project-chat-card .project-timeline p,.project-chat-card .project-timeline article>form{grid-column:1;grid-row:auto}}
/* Финанси / Документи: основни бутони (DESIGN_SYSTEM.md т. 4), полета и преглед на документ. */
.finance-documents .finance-btn-main{height:44px;padding:0 24px;border:1px solid #686f7a;border-radius:1mm;background:#686f7a;color:#fff;font-size:16px;font-weight:600}
.finance-documents .finance-btn-main:hover{border-color:#565c64;background:#565c64;color:#fff}
.finance-documents .finance-btn-main:disabled{border-color:#adb2b9;background:#adb2b9;color:#fff;cursor:not-allowed;opacity:1}
.finance-documents form:not(.erp-filter-bar) .form-control:not(.cse-date-editable){height:34px;padding:0 8px;border-radius:1mm;font-size:13px;font-weight:400}
.finance-documents .finance-review-preview{width:100%;height:75vh;min-height:480px;border:1px solid #cccfd3;border-radius:1mm;background:#fff}
.finance-documents .finance-compare-label{display:flex;flex-direction:column;gap:2px;margin-bottom:6px;padding:6px 10px;border-left:4px solid;border-radius:1mm;background:#f4f5f6;font-size:12px;line-height:1.3}
.finance-documents .finance-compare-label strong{font-size:14px;letter-spacing:.04em}
.finance-documents .finance-compare-label span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.finance-documents .finance-compare-filed{border-color:#2e7d32}
.finance-documents .finance-compare-review{border-color:#c62828}
.finance-documents .finance-compare-form{border-color:#6c757d}
.finance-filter .finance-filter-search{flex:1 1 320px;max-width:460px}
.finance-filter .finance-filter-date{flex:0 0 160px}
.finance-filter input,.finance-filter .cse-date-field>.cse-date-editable{width:100%;min-width:0;height:34px;border-radius:1mm;font-size:13px}
.finance-filter .btn{height:34px;min-height:34px;display:inline-flex;align-items:center}
@media (max-width:767.98px){.finance-filter .finance-filter-search,.finance-filter .finance-filter-date{flex:1 1 100%;max-width:none}}

/* Sprint 21.1 — визуално водещ е ERP (решение 19.10.2026): заобляне 1 mm, отметки 18px, икони в таблиците, „Табло“ и „Филтър“ като падащи менюта. */
:root { --bs-border-radius:1mm; --bs-border-radius-sm:1mm; --bs-border-radius-lg:1mm; --cse-btn:#686f7a; --cse-btn-hover:#565c64; --cse-border-strong:#babec4; }
.btn:not(.rounded-pill):not(.btn-close),.form-control,.form-select,.input-group-text { border-radius:1mm; }

input[type="checkbox"] { -webkit-appearance:none; appearance:none; box-sizing:border-box; display:inline-block; flex:0 0 auto; width:18px; height:18px; margin:0 4px 0 0; padding:0; border:1.5px solid var(--cse-border-strong); border-radius:1mm; background:#fff center / 12px 12px no-repeat; vertical-align:middle; cursor:pointer; transition:background-color .12s,border-color .12s,box-shadow .12s; }
.form-check-input[type="checkbox"] { width:18px; height:18px; margin-top:.15em; border:1.5px solid var(--cse-border-strong); border-radius:1mm; }
.form-check .form-check-input[type="checkbox"] { margin-left:-1.5em; }
input[type="checkbox"]:hover { border-color:var(--cse-btn); }
input[type="checkbox"]:checked { border-color:var(--cse-btn); background-color:var(--cse-btn); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); background-size:12px 12px; }
input[type="checkbox"]:checked:hover { border-color:var(--cse-btn-hover); background-color:var(--cse-btn-hover); }
input[type="checkbox"]:focus-visible { outline:none; box-shadow:0 0 0 3px rgb(104 111 122 / 25%); }
input[type="checkbox"]:disabled { opacity:.5; cursor:not-allowed; }

.cse-icon-btn { display:inline-flex!important; align-items:center; justify-content:center; box-sizing:border-box; width:34px; min-width:34px; height:30px; padding:0!important; overflow:hidden; vertical-align:middle; font-size:0!important; line-height:0; }
.cse-icon-btn::before { content:""; flex:0 0 15px; width:15px; height:15px; background:currentColor; -webkit-mask:var(--cse-icon) center / contain no-repeat; mask:var(--cse-icon) center / contain no-repeat; }
.cse-icon-edit { --cse-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.85 2.85 0 0 1 4 4L7.5 20.5 2 22l1.5-5.5Z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E"); }
.cse-icon-delete { --cse-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E"); }
.cse-icon-ok { --cse-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.cse-icon-cancel { --cse-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
.cse-icon-search { --cse-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
.cse-icon-mail { --cse-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }

.app-header { position:relative; z-index:1030; }
.app-header .app-menu-toggle { display:inline-flex; align-items:center; gap:.35rem; }
.app-header .app-menu-toggle::after { content:""; width:.45rem; height:.45rem; margin-left:.2rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-.15rem) rotate(45deg); opacity:.75; }
.app-header .app-menu-toggle[aria-expanded="true"] { color:#fff; background:rgb(255 255 255 / 9%); }
/* Sprint 21.1.2 — активният „Табло“ показва стрелката ▾ до надписа, а не чертата на активните връзки. */
.app-header .nav-link.app-menu-toggle.active::after { position:static; left:auto; right:auto; bottom:auto; height:.45rem; border-radius:0; background:transparent; }
.app-header .nav-link.app-menu-toggle.active { color:#fff; background:rgb(255 255 255 / 9%); }
.app-filter-count { display:inline-grid; place-items:center; min-width:1.25rem; height:1.25rem; padding:0 .3rem; border-radius:1mm; background:#fff; color:var(--cse-terracotta-dark); font-size:.72rem; font-weight:800; }
.app-dropdown-panel { position:absolute; top:100%; left:0; right:0; z-index:1031; max-height:calc(100vh - 90px); overflow:auto; padding:1rem 0 1.25rem; border-top:1px solid rgb(255 255 255 / 12%); background:#fff; box-shadow:0 14px 30px rgb(58 63 69 / 18%); }
.app-dropdown-panel[hidden] { display:none; }
.app-tablo-groups { display:grid; gap:1rem; }
.app-tablo-group h2 { margin:0 0 .45rem; color:var(--cse-muted); font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.app-tablo-list { columns:2; column-gap:1.25rem; margin:0; padding:0; list-style:none; }
.app-tablo-list li { break-inside:avoid; margin-bottom:.2rem; }
.app-tablo-list a { display:flex; align-items:center; gap:.6rem; min-height:38px; padding:.3rem .5rem; border-radius:1mm; color:var(--cse-text,#172033); text-decoration:none; font-weight:600; }
.app-tablo-list a:hover,.app-tablo-list a:focus-visible,.app-tablo-list a.active { background:var(--cse-terracotta-light); color:var(--cse-terracotta-dark); outline:none; }
.app-tablo-list .module-icon { width:1.9rem; height:1.9rem; margin:0; font-size:.8rem; }
.app-filter-panel form { margin:0!important; }
.app-filter-panel-empty { margin:0; color:var(--cse-muted); }
@media (min-width:992px) { .app-tablo-groups { max-width:760px; } }
@media (max-width:575.98px) { .app-tablo-list { columns:1; } }

/* Sprint 21.1.1 — горната лента по цялата ширина (ляво/дясно равнение); филтрите в панела не излизат от карето. */
.app-header .app-container { max-width:none; }
.app-header .navbar-nav.me-auto { gap:.15rem; }
.app-filter-panel .erp-filter-bar { width:fit-content; max-width:100%; }
.app-filter-panel .project-filter-row { display:flex; flex-wrap:wrap; column-gap:24px; row-gap:.55rem; width:auto; }
.app-filter-panel .project-filter-group { flex-wrap:wrap; row-gap:.55rem; }
.app-filter-panel .project-filter-group label { flex:0 0 150px; }
