/* Čitateľnejšie písmo a voľba farebného režimu. */
html {
  font-size: 16px;
  color-scheme: dark;
  /* Stála rezerva pre zvislý posuvník zabráni vodorovnému poskakovaniu
     celej aplikácie pri otvorení detailu, modálneho okna alebo dlhšej karty. */
  scrollbar-gutter: stable;
}
@supports not (scrollbar-gutter: stable) {
  html { overflow-y: scroll; }
}
.nav-link { font-size: 14px; padding-top: 10px; padding-bottom: 10px; }
.nav-label { font-size: 10px; }
.page-subtitle { font-size: 14px; line-height: 1.55; }
.btn { font-size: 13px; }
.btn-sm { font-size: 12px; }
.btn-success {
  color: #062218;
  border-color: color-mix(in srgb, var(--green) 78%, white);
  background: linear-gradient(135deg, #24b87e, var(--green));
  box-shadow: 0 8px 24px color-mix(in srgb, var(--green) 28%, transparent);
}

/* Stav vyjadrenia je viditeľný na celej karte aj v zbalenom stave. */
html[data-theme="light"] .card.statement-project-card-positive,
html[data-theme="light"] .statement-project-card-positive > .statement-project-summary,
html[data-theme="light"] .card.statement-project-card-conditional,
html[data-theme="light"] .statement-project-card-conditional > .statement-project-summary {
  background: #e7f8ef;
  border-color: #7fcfa6;
}
html[data-theme="light"] .card.statement-project-card-negative,
html[data-theme="light"] .statement-project-card-negative > .statement-project-summary {
  background: #ffeaed;
  border-color: #ee929d;
}
html:not([data-theme="light"]) .card.statement-project-card-positive,
html:not([data-theme="light"]) .statement-project-card-positive > .statement-project-summary,
html:not([data-theme="light"]) .card.statement-project-card-conditional,
html:not([data-theme="light"]) .statement-project-card-conditional > .statement-project-summary {
  background: #102a20;
  border-color: #2d7656;
}
html:not([data-theme="light"]) .card.statement-project-card-negative,
html:not([data-theme="light"]) .statement-project-card-negative > .statement-project-summary {
  background: #30191e;
  border-color: #88404b;
}
.card-header h2, .card-header h3 { font-size: 15px; }
.data-table th { font-size: 10px; }
.data-table td { font-size: 13px; }
.mono { font-size: 12px; }
.badge { font-size: 10px; }
.stat-card small, .eyebrow { font-size: 10px; }
.stat-meta, .quick-row small, .timeline-date { font-size: 12px; }
.quick-row p, .alert { font-size: 13px; }
.form-group label { font-size: 11px; }
.info-item small { font-size: 10px; }
.info-item strong { font-size: 14px; }
.tab, .section-link { font-size: 12px; }
.user-card strong { font-size: 12px; }
.user-card small { font-size: 10px; }
.field-help { color: var(--muted); font-size: 12px; line-height: 1.5; }

.product-brand {
  height: 140px;
  padding: 10px 16px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  background: #030913;
  border-color: #142b47;
}
.product-brand img {
  display: block;
  width: 100%;
  max-width: 451px;
  max-height: 146px;
  object-fit: contain;
}
.product-logo-light,
.product-logo-dark {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.product-brand .product-logo-light { display: none; }
.product-brand .product-logo-dark { display: block; width: 88%; max-height: 122px; }
html[data-theme="light"] .product-brand .product-logo-light { display: block; }
html[data-theme="light"] .product-brand .product-logo-dark { display: none; }
.product-brand-context {
  color: #385d87;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.auth-product-brand {
  display: block;
  margin: 0 0 26px;
  padding: 13px 18px;
  border: 1px solid #d7e2ef;
  border-radius: 13px;
  background: #f8fbff;
}
.auth-product-brand img {
  display: block;
  width: 100%;
  max-height: 105px;
  object-fit: contain;
}
.mobile-product-logo { display: none; }

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #2a3c54;
  border-radius: 9px;
  padding: 7px 10px;
  background: #152236;
  color: #dce9f9;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
}
.theme-toggle:hover { filter: brightness(1.12); }
.theme-icon { font-size: 16px; line-height: 1; }

html[data-theme="light"] {
  color-scheme: light;
  --bg: #edf2f7;
  --surface: #ffffff;
  --surface2: #f7f9fc;
  --line: #d6e0eb;
  --text: #172235;
  --muted: #5e7086;
}
html[data-theme="light"] body {
  background: radial-gradient(circle at 70% 0, #dceaff 0, transparent 30%), var(--bg);
  color: var(--text);
}
html[data-theme="light"] .sidebar {
  background: linear-gradient(180deg, #ffffff, #f5f8fc);
  border-color: #d8e2ed;
}
html[data-theme="light"] .brand { border-color: #dbe4ee; }
html[data-theme="light"] .product-brand,
html[data-theme="light"] .auth-product-brand { background: #f8fbff; border-color: #d7e2ef; }
html[data-theme="light"] .brand small,
html[data-theme="light"] .nav-label { color: #687d95; }
html[data-theme="light"] .nav-link { color: #42566d; }
html[data-theme="light"] .nav-link:hover { background: #e6eef8; color: #172235; }
html[data-theme="light"] .nav-link > span:first-child { color: #4778ad; }
html[data-theme="light"] .nav-link.muted { color: #60748a; }
html[data-theme="light"] .sidebar-footer,
html[data-theme="light"] .topbar { border-color: #d8e2ed; }
html[data-theme="light"] .user-card { background: #ffffff; border-color: #d8e2ed; }
html[data-theme="light"] .topbar { background: #ffffffdc; }
html[data-theme="light"] .breadcrumb { color: #536981; }
html[data-theme="light"] .breadcrumb b { color: #9aabbd; }
html[data-theme="light"] .stat-card,
html[data-theme="light"] .card {
  background: linear-gradient(145deg, #ffffff, #f9fbfd);
  border-color: #d6e0eb;
  box-shadow: 0 14px 34px #253b5514;
}
html[data-theme="light"] .card-header,
html[data-theme="light"] .tabs { border-color: #d8e2ed; }
html[data-theme="light"] .tab { color: #52657b; }
html[data-theme="light"] .tab.active,
html[data-theme="light"] .tab:hover {
  color: #0759b8;
  border-color: #126bd1;
}
html[data-theme="light"] .data-table th,
html[data-theme="light"] .data-table td { border-color: #dde5ee; }
html[data-theme="light"] .data-table tbody tr:hover { background: #edf4fc; }
html[data-theme="light"] .field,
html[data-theme="light"] .searchbar input,
html[data-theme="light"] .searchbar select {
  background: #ffffff;
  color: #172235;
  border-color: #c7d4e2;
}
html[data-theme="light"] .btn,
html[data-theme="light"] .theme-toggle { background: #ffffff; color: #21344b; border-color: #c4d2e1; }
html[data-theme="light"] .btn-primary {
  background: linear-gradient(135deg, #2375e5, #3d96ff);
  color: #ffffff;
  border-color: #3183ee;
}
html[data-theme="light"] .btn-danger { color: #a92e3b; border-color: #e3abb1; background: #fff4f5; }
html[data-theme="light"] .badge { color: #315b88; background: #edf5ff; border-color: #bfd5ed; }
html[data-theme="light"] .badge.warning { color: #855500; background: #fff7e6; border-color: #e8cd95; }
html[data-theme="light"] .badge.danger { color: #a22f3b; background: #fff0f2; border-color: #e6b1b7; }
html[data-theme="light"] .badge.success { color: #176b49; background: #eaf8f1; border-color: #a9d8c4; }
html[data-theme="light"] .timeline-item,
html[data-theme="light"] .quick-row { border-color: #dce5ee; }
html[data-theme="light"] .auth-content section { background: #ffffff; border-color: #d5e0eb; }
html[data-theme="light"] .auth-content .form-control {
  background: #ffffff !important;
  color: #172235 !important;
  border-color: #c7d4e2;
}
html[data-theme="light"] .mobile-menu { color: #172235; }

.municipality-input-wrap { position: relative; }
.municipality-input-wrap > .field { width: 100%; }
.municipality-suggestions {
  position: absolute;
  z-index: 30;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  max-height: 280px;
  overflow-y: auto;
  padding: 5px;
  border: 1px solid #2a405d;
  border-radius: 10px;
  background: #0d1725;
  box-shadow: 0 18px 38px #00000055;
}
.municipality-option {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 9px 10px;
  border: 0;
  border-radius: 7px;
  color: var(--text);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.municipality-option:hover,
.municipality-option.active { background: #172a43; }
.municipality-option strong { font-size: 13px; }
.municipality-option small { color: var(--muted); font-size: 11px; }
.municipality-help { color: var(--muted); font-size: 11px; line-height: 1.45; }
.municipality-help.loading { color: #72adf5; }
.municipality-help.selected { color: var(--green); }
.municipality-help.warning { color: var(--amber); }
html[data-theme="light"] .municipality-suggestions {
  border-color: #c7d4e2;
  background: #ffffff;
  box-shadow: 0 18px 38px #263b571f;
}
html[data-theme="light"] .municipality-option:hover,
html[data-theme="light"] .municipality-option.active { background: #eaf2fb; }

.building-authority-selection {
  display: grid;
  gap: 4px;
  padding: 13px 15px;
  border: 1px solid #2d8b67;
  border-radius: 10px;
  background: #102920;
}
.building-authority-selection[hidden] { display: none; }
.building-authority-selection > span {
  color: #79dcb6;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .8px;
  text-transform: uppercase;
}
.building-authority-selection > strong { color: var(--text); font-size: 15px; }
.building-authority-selection > small { color: var(--muted); font-size: 12px; line-height: 1.45; }
html[data-theme="light"] .building-authority-selection {
  border-color: #84c9ad;
  background: #edf9f4;
}
html[data-theme="light"] .building-authority-selection > span { color: #166a4b; }
.project-overview-detail { color: var(--muted); font-size: 12px; line-height: 1.45; }

/* Detail projektu */
.project-detail-header { align-items: flex-start; }
.project-detail-header > .action-row { align-items: flex-start; }
.project-header-id {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin: 2px 0 7px;
  color: var(--muted);
}
.project-header-id span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; }
.project-header-id strong { color: var(--text); font-size: 16px; }
.project-detail-actions { display: grid; justify-items: end; gap: 10px; }
.project-detail-actions > .action-row { justify-content: flex-end; }
.project-header-task-chart { display: flex; align-items: center; gap: 9px; width: fit-content; padding: 5px 9px 5px 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.project-header-task-chart:hover { border-color: color-mix(in srgb, var(--blue) 55%, var(--line)); background: var(--surface2); }
.project-header-task-chart > span:last-child { display: grid; gap: 1px; text-align: left; }
.project-header-task-chart strong { font-size: .76rem; }
.project-header-task-chart small { color: var(--muted); font-size: .66rem; }
.project-header-task-donut { position: relative; display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border-radius: 50%; background: conic-gradient(#43a174 0 var(--done-angle), #d65c5c var(--done-angle) var(--overdue-angle), #d8dee7 var(--overdue-angle) 360deg); }
.project-header-task-donut::after { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: var(--surface); }
.project-header-task-donut b { position: relative; z-index: 1; font-size: .58rem; }
html:not([data-theme="light"]) .project-header-task-donut::after { background: var(--surface); }
@media (max-width: 800px) { .project-detail-actions { justify-items: stretch; width: 100%; }.project-detail-actions > .action-row { justify-content: flex-start; }.project-header-task-chart { justify-self: start; } }
.project-folder-button { border-color: #2d8b67; color: #79dcb6; background: #102920; }
html[data-theme="light"] .project-folder-button { border-color: #84c9ad; color: #166a4b; background: #edf9f4; }
.project-folder-control { position: relative; display: block; max-width: 330px; }
.project-folder-control small { position: absolute; top: calc(100% + 5px); right: 0; width: max-content; max-width: 330px; color: var(--muted); font-size: 10px; line-height: 1.35; text-align: right; }
.project-folder-control small.success { color: #57c99a; }
.project-folder-control small.error { color: #ff7e8c; }
.project-folder-status { max-width: 520px; color: var(--muted); font-size: 10px; line-height: 1.35; text-align: right; }
.project-folder-status.success { color: #57c99a; }
.project-folder-status.error { color: #ff7e8c; }
.project-tabs { gap: 2px; flex-wrap: wrap; overflow: visible; }
.project-tabs .tab-file-names { color: #57c99a; }
.project-tabs .tab-file-names:hover,
.project-tabs .tab-file-names.active { color: #7de4b9; border-color: var(--green); }
html[data-theme="light"] .project-tabs .tab-file-names { color: #16865f; }
html[data-theme="light"] .project-tabs .tab-file-names:hover,
html[data-theme="light"] .project-tabs .tab-file-names.active { color: #0b6847; border-color: #16865f; }
.file-name-creator-card { border-color: color-mix(in srgb, var(--green) 35%, var(--line)); }
.file-name-creator-body { padding: 0; overflow: hidden; }
.file-name-preview-row { display: flex; justify-content: center; align-items: center; gap: 16px; padding: 34px 24px; }
.file-name-project-note { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px; margin: -9px 24px 22px; color: var(--muted); font-size: 13px; text-align: center; }
.file-name-project-note a { color: var(--green); font-weight: 700; text-decoration: none; }
.file-name-project-note a:hover { text-decoration: underline; }
.file-name-preview { display: flex; justify-content: center; align-items: flex-end; flex-wrap: wrap; font: 700 clamp(22px, 3vw, 42px)/1.25 Space Mono, monospace; color: var(--text); text-align: center; }
.file-name-preview b { color: var(--green); font: inherit; }
.file-name-preview strong { color: var(--muted); font: inherit; }
.file-name-preview .file-name-part-missing { color: var(--red); }
.file-name-part { display: inline-flex; flex-direction: column; align-items: center; font: inherit; }
.file-name-part small { margin-bottom: 2px; color: var(--muted); font: 700 10px/1 Manrope, system-ui, sans-serif; }
.file-name-part > span { font: inherit; }
.file-name-copy-button { flex: 0 0 auto; width: 46px; height: 46px; border: 1px solid color-mix(in srgb, var(--green) 55%, var(--line)); border-radius: 11px; background: color-mix(in srgb, var(--green) 13%, var(--surface2)); color: var(--green); font-size: 20px; box-shadow: 0 7px 20px color-mix(in srgb, var(--green) 12%, transparent); }
.file-name-copy-button:hover { background: color-mix(in srgb, var(--green) 21%, var(--surface2)); border-color: var(--green); transform: translateY(-1px); }
.file-name-copy-button span { display: grid; place-items: center; }
.file-name-copy-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.file-name-copy-button.copied { background: color-mix(in srgb, var(--green) 25%, var(--surface2)); color: var(--green); }
.file-name-preview-actions { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.file-name-add-button { white-space: nowrap; border-color: color-mix(in srgb, var(--green) 45%, var(--line)); color: var(--green); }
.file-name-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 24px 32px; width: 100%; padding: 24px; border-top: 1px solid var(--line); }
.file-name-field { width: 100%; max-width: none; }
.file-name-field > select.field { width: 100%; }
.file-name-number-field { width: 96px; }
.file-name-code-field { width: 110px; }
.file-name-code-field[readonly] { color: var(--red); font-weight: 800; }
.file-name-code-field.is-valid[readonly] { color: var(--text); }
.file-name-field small { color: var(--muted); font-size: 10px; }
.file-name-position7-toggle { align-self: center; display: inline-flex; align-items: center; gap: 9px; color: var(--text); font-size: 12px; font-weight: 700; }
.file-name-position7-toggle input { accent-color: var(--green); }
.file-name-list-section { padding: 24px; border-top: 1px solid var(--line); }
.file-name-list-header { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.file-name-list-header h3 { margin: 0; font-size: 14px; }
.file-name-list-header small { color: var(--muted); }
.file-name-list { display: grid; gap: 10px; }
.file-name-list-division { display: flex; align-items: baseline; gap: 9px; color: var(--text); }
.file-name-list-division strong { font: 800 13px/1.3 Space Mono, monospace; }
.file-name-list-division span { color: var(--muted); font-size: 12px; font-weight: 700; }
.file-name-list-division.is-position-5 { margin-top: 12px; padding: 9px 12px; border-left: 3px solid var(--green); background: color-mix(in srgb, var(--green) 8%, transparent); }
.file-name-list-division.is-position-5:first-of-type { margin-top: 0; }
.file-name-list-division.is-position-6 { margin-left: 20px; padding: 2px 10px; }
.file-name-list-division.is-position-6 strong { color: var(--green); }
.file-name-list-row { display: grid; grid-template-columns: minmax(280px, 1.35fr) minmax(220px, 1fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface2); }
.file-name-list-value { min-width: 0; display: flex; align-items: center; gap: 9px; color: var(--text); font: 700 12px/1.5 Space Mono, monospace; }
.file-name-list-parts { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 3px; }
.file-name-list-part { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 7px; border: 1px solid color-mix(in srgb, var(--green) 24%, var(--line)); border-radius: 6px; background: color-mix(in srgb, var(--green) 6%, var(--surface)); white-space: nowrap; }
.file-name-list-part[data-position="6"] { border-color: color-mix(in srgb, var(--green) 58%, var(--line)); background: color-mix(in srgb, var(--green) 14%, var(--surface)); color: var(--green); }
.file-name-list-separator { color: var(--green); font-weight: 800; }
.file-name-list-extension { margin-left: 1px; color: var(--muted); white-space: nowrap; }
.file-name-list-copy-button { flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid color-mix(in srgb, var(--green) 45%, var(--line)); border-radius: 8px; background: color-mix(in srgb, var(--green) 9%, var(--surface)); color: var(--green); }
.file-name-list-copy-button:hover, .file-name-list-copy-button.copied { border-color: var(--green); background: color-mix(in srgb, var(--green) 18%, var(--surface)); }
.file-name-list-copy-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.file-name-list-row .field { width: 100%; }
.file-name-list-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; }
.file-name-list-export { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 16px; }
.file-name-list-export form { margin: 0; }
.file-name-list-export small { color: var(--muted); }
.feature-announcement { position: fixed; inset: 0; z-index: 1800; display: grid; place-items: center; padding: 24px; background: rgba(6, 21, 50, .72); backdrop-filter: blur(7px); }
.feature-announcement[hidden] { display: none; }
.feature-announcement-dialog { position: relative; width: min(1180px, 94vw); overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 20px; background: #fff; box-shadow: 0 28px 90px rgba(0, 25, 73, .38); }
.feature-announcement-dialog img { display: block; width: 100%; height: auto; }
.feature-announcement-close { position: absolute; top: 14px; right: 14px; z-index: 1; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(13, 55, 120, .2); border-radius: 50%; background: rgba(255,255,255,.94); color: #0a3476; font: 400 29px/1 Arial, sans-serif; cursor: pointer; box-shadow: 0 7px 22px rgba(0, 34, 90, .18); }
.feature-announcement-close:hover { background: #fff; transform: scale(1.04); }
@media(max-width:700px){.feature-announcement{padding:12px}.feature-announcement-dialog{width:98vw;border-radius:12px}.feature-announcement-close{top:8px;right:8px;width:36px;height:36px;font-size:25px}}
html[data-theme="light"] .file-name-creator-card { border-color: #a9d8c4; }
html[data-theme="light"] .file-name-copy-button { background: #edf9f4; border-color: #84c9ad; color: #16865f; }
@media(max-width:800px){.file-name-preview-row{padding:26px 16px;align-items:flex-start;flex-direction:column}.file-name-preview-actions{align-self:center}.file-name-copy-button{width:38px;height:38px}.file-name-fields{grid-template-columns:1fr}.file-name-list-row{grid-template-columns:1fr}.file-name-list-row .icon-action{justify-self:end}.file-name-list-header{align-items:flex-start;flex-direction:column}}
.full-info { grid-column: 1 / -1; }
.quick-count { color: var(--text); font-size: 18px; }

.project-structure-sections,
.parcel-sections { display: grid; gap: 18px; }
.project-structure-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; }
.project-structure-grid .project-overview-item { min-height: 94px; }

.location-card { margin-bottom: 18px; }
.location-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.responsible-person-section { margin-top: 3px; }
.form-section-label { font: 700 9px Manrope, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .7px; color: var(--muted); }
.responsible-person-grid,
.collaborator-name-grid { display: grid; grid-template-columns: .55fr 1fr 1fr .55fr; gap: 17px; }
.responsible-person-grid .form-group,
.collaborator-name-grid .form-group { min-width: 0; }
.location-form-grid .location-third,
.location-form-grid .location-half { grid-column: span 1; }
.optional-label { color: var(--muted); font-weight: 500; text-transform: none; letter-spacing: 0; }

.parcel-section { overflow: visible; }
.parcel-table { min-width: 980px; }
.parcel-table th:last-child,
.parcel-table td:last-child { white-space: nowrap; }
.parcel-table .parcel-long-value { min-width: 340px; max-width: 520px; white-space: normal; line-height: 1.45; }
.parcel-actions { flex-wrap: nowrap; }
.icon-action {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #354a65;
  border-radius: 8px;
  background: transparent;
  color: var(--text);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.icon-action.danger { color: #ff7e8c; border-color: #673943; }
.parcel-form-panel { border-top: 1px solid #22344b; }
.parcel-form-panel > summary {
  padding: 15px 20px;
  color: #72adf5;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  list-style-position: inside;
}
.parcel-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; padding: 0 20px 20px; }
.parcel-form-grid.building-plot-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.parcel-form-grid.adjacent-plot-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.parcel-form-grid.adjacent-plot-grid > .form-group { grid-column: span 1; min-width: 0; }
.parcel-form-grid.adjacent-building-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.parcel-form-grid.adjacent-building-grid>.form-group{grid-column:span 1;min-width:0}.parcel-form-grid.adjacent-building-grid>.adjacent-building-land-type{grid-column:span 2}.parcel-form-grid.adjacent-building-grid>.adjacent-building-transport{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:14px}.adjacent-building-transport .field-label{margin:0}.adjacent-building-transport .project-binary-choice{display:flex;width:auto;gap:6px}.adjacent-building-transport .project-binary-choice label span{min-width:64px;padding:8px 14px}
.building-plot-grid .parcel-catalog-field { grid-column: span 3; }
.building-plot-grid .parcel-lookup-button { width: 100%; height: 44px; min-height: 44px; margin: 0; }
.building-plot-grid .parcel-lookup-label { visibility: hidden; }
.adjacent-plot-grid .parcel-lookup-button { width: 100%; height: 44px; min-height: 44px; margin: 0; }
.adjacent-plot-grid .parcel-lookup-label { visibility: hidden; }
.parcel-form-grid .parcel-field-wide,
.parcel-form-grid .parcel-transport-choice { grid-column: span 2; }
.parcel-form-grid.building-plot-grid .parcel-classification-field{grid-column:span 2}
.parcel-form-grid .field-help { color: var(--muted); font-size: 10px; line-height: 1.35; }
.parcel-number-lookup-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: stretch; }
.parcel-number-lookup-row .parcel-lookup-button { min-width: 0; white-space: normal; line-height: 1.2; padding-inline: 10px; }
.parcel-lookup-status { display: block; min-height: 14px; margin-top: 4px; }
.parcel-lookup-status.is-success { color: var(--success); }
.parcel-lookup-status.is-error { color: var(--danger); }
.location-save-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
.location-autosave-status { font-size: 12px; font-weight: 700; }
.location-autosave-status.is-saved { color: var(--success); }
.location-autosave-status.is-saving { color: var(--muted); }
.location-autosave-status.is-error { color: var(--danger); }
.catalog-combobox { position: relative; }
.catalog-combobox > .field { width: 100%; padding-right: 48px; }
.catalog-toggle {
  position: absolute;
  z-index: 2;
  top: 1px;
  right: 1px;
  width: 44px;
  height: calc(100% - 2px);
  display: grid;
  place-items: center;
  border: 0;
  border-left: 1px solid #263952;
  border-radius: 0 8px 8px 0;
  color: var(--text);
  background: #111d2c;
  cursor: pointer;
}
.catalog-toggle:hover,
.catalog-toggle[aria-expanded="true"] { color: #72adf5; background: #172a43; }
.catalog-toggle span { font-size: 16px; transition: transform .15s ease; }
.catalog-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.catalog-options {
  position: absolute;
  z-index: 45;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  max-height: 300px;
  overflow-y: auto;
  padding: 5px;
  border: 1px solid #2a405d;
  border-radius: 10px;
  background: #0d1725;
  box-shadow: 0 18px 38px #00000055;
}
.catalog-options-long { max-height: 360px; }
.catalog-option {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(34px, auto) 1fr;
  gap: 10px;
  align-items: start;
  padding: 9px 10px;
  border: 0;
  border-radius: 7px;
  color: var(--text);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.catalog-option[hidden] { display: none; }
.catalog-option:hover,
.catalog-option.active { background: #172a43; }
.catalog-option strong { color: #72adf5; font-size: 12px; }
.catalog-option span { font-size: 12px; line-height: 1.45; }
html[data-theme="light"] .catalog-toggle {
  color: #172235;
  border-color: #c7d4e2;
  background: #f6f9fc;
}
html[data-theme="light"] .catalog-toggle:hover,
html[data-theme="light"] .catalog-toggle[aria-expanded="true"] { color: #176dc8; background: #eaf2fb; }
html[data-theme="light"] .catalog-options {
  border-color: #c7d4e2;
  background: #ffffff;
  box-shadow: 0 18px 38px #263b571f;
}
html[data-theme="light"] .catalog-option:hover,
html[data-theme="light"] .catalog-option.active { background: #eaf2fb; }
.parcel-transport-choice { align-content: end; }
.parcel-transport-choice .field-label { min-height: 30px; line-height: 1.35; }
.parcel-form-actions { grid-column: 1 / -1; }

.project-document-header > div,
.project-files-card .card-header > div { display: grid; gap: 5px; }
.project-document-header small,
.project-files-card .card-header small,
.project-wide-form .card-header small { color: var(--muted); font-size: 11px; }
.document-template-strip {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 20px;
  padding: 14px 20px;
  border-bottom: 1px solid #1f3045;
  background: #102033;
}
.document-template-strip span { font-size: 12px; font-weight: 700; }
.document-template-strip strong { color: #72adf5; font-size: 12px; }
.document-template-strip small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.project-wide-form,
.project-upload-form,
.project-work-form { max-width: none; margin-top: 18px; }
.documentation-form-grid { display: grid; grid-template-columns: .65fr 1.5fr .9fr .8fr; gap: 17px; }
.documentation-note { grid-column: 1 / -1; }
.documentation-form-grid .form-actions { grid-column: 1 / -1; }
.document-edit-row > td { padding: 0 !important; background: #0d1b2b; }
.document-inline-edit { padding: 20px; border-top: 1px solid #2b4a6f; border-bottom: 1px solid #1f3045; }
html[data-theme="light"] .document-edit-row > td { background: #f2f7fc; }
html[data-theme="light"] .document-inline-edit { border-color: #c8d8e8; }
.report-create-grid { display: grid; grid-template-columns: .65fr 1.5fr 1fr auto; gap: 17px; align-items: end; }
.report-create-grid .form-actions { margin: 0; padding: 0; border: 0; }
.upload-form-grid { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(190px, .4fr) minmax(190px, .4fr) auto; gap: 17px; align-items: end; }
.upload-form-grid > .btn { min-height: 43px; }
.project-file-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; align-items: start; }
.project-file-actions .project-folder-form,
.project-file-actions .project-upload-form { margin-top: 0; }
.project-file-actions .card-header { padding: 13px 18px; }
.project-file-actions .card-body { padding: 14px 18px 16px; }
.project-file-actions .form-group { gap: 5px; }
.project-file-actions .field { min-height: 38px; padding: 8px 10px; }
.project-file-actions .btn { min-height: 38px; padding: 8px 13px; white-space: nowrap; }
.project-file-actions .folder-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 10px; }
.project-file-actions .upload-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 10px; }
.project-file-actions .upload-file-field { grid-column: 1 / -1; }
.project-upload-form.is-uploading { cursor: wait; }
.project-upload-progress { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-weight: 700; }
.project-upload-progress::before { content: ""; flex: 0 0 auto; width: 14px; height: 14px; border: 2px solid color-mix(in srgb, var(--blue) 24%, transparent); border-top-color: var(--blue); border-radius: 50%; animation: project-upload-spin .75s linear infinite; }
@keyframes project-upload-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .project-upload-progress::before { animation-duration: 1.8s; } }
.file-explorer-modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 24px; background: rgba(10,18,29,.58); backdrop-filter: blur(3px); }
.file-explorer-modal[hidden] { display: none; }
.file-explorer-dialog { width: min(760px, 96vw); max-height: 90vh; overflow-x: hidden; overflow-y: auto; margin: 0; box-shadow: 0 24px 70px rgba(8,31,67,.28); }
.file-explorer-dialog .upload-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)) auto; }
.file-explorer-dialog .upload-file-field { grid-column: 1 / -1; }
.file-explorer-dialog .upload-form-grid > .btn { width: auto; justify-self: end; padding-inline: 16px; }
.file-explorer-move-body { display: grid; gap: 16px; }
.file-explorer-move-body .form-actions { justify-content: flex-end; margin: 0; padding: 0; border: 0; }
.project-files-heading { min-height: 76px; }
.file-explorer-toolbar { display: flex; align-items: center; gap: 8px; min-height: 62px; padding: 11px 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface-subtle); overflow-x: auto; }
.file-explorer-toolbar .btn { flex: 0 0 auto; white-space: nowrap; }
.file-explorer-toolbar .btn.is-active { color: var(--blue); border-color: var(--blue); background: color-mix(in srgb,var(--blue) 8%,white); }
.file-explorer-toolbar-spacer { flex: 1 1 auto; min-width: 12px; }
.file-explorer-toolbar .project-files-selection { flex: 0 0 auto; }
.project-file-actions .upload-form-grid > .btn { grid-column: auto; }
.project-folder-explorer { display: grid; grid-template-columns: minmax(210px, 280px) minmax(0, 1fr); align-items: stretch; gap: 0; min-height: 520px; }
.project-folder-explorer > .project-folder-navigation { border-width: 0 1px 0 0; border-radius: 0; }
.project-folder-explorer > .project-folder-list { min-width: 0; padding: 14px; background: var(--surface); }
.project-folder-explorer.is-icons-view .data-table thead { display: none; }
.project-folder-explorer.is-icons-view .data-table,
.project-folder-explorer.is-icons-view .data-table tbody { display: block; }
.project-folder-explorer.is-icons-view .data-table tbody { display: grid; grid-template-columns: repeat(auto-fill,190px); justify-content: start; align-content: start; gap: 8px; padding: 10px; }
.project-folder-explorer.is-icons-view .data-table tr { display: grid; grid-template-columns: 1fr; align-content: start; min-height: 86px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.project-folder-explorer.is-icons-view .data-table td { display: none; width: auto; border: 0; }
.project-folder-explorer.is-icons-view .data-table td:first-child { display: block; width: 100%; }
.project-folder-explorer.is-icons-view .project-file-name { align-items: flex-start; }
.project-folder-explorer.is-icons-view .project-file-name span { display: flex; align-items: flex-start; gap: 8px; min-width: 0; overflow-wrap: anywhere; }
.project-folder-explorer.is-icons-view .project-file-name span::before { content: "▤"; flex: 0 0 auto; color: var(--blue); font-size: 20px; line-height: 1; }
.project-folder-navigation { display: grid; gap: 4px; align-content: start; padding: 8px; border: 1px solid var(--line); border-radius: 0; background: var(--surface-subtle); }
.project-folder-select-all { display: flex; align-items: center; gap: 8px; padding: 8px 10px 10px; border-bottom: 1px solid var(--line); font-weight: 700; }
.project-folder-navigation-items { display: grid; gap: 1px; align-content: start; }
.project-folder-nav-item { min-width: 0; display: grid; grid-template-columns: 18px auto minmax(0, 1fr) auto; align-items: center; gap: 3px; min-height: 34px; margin-inline-start: calc(var(--folder-tree-depth, 0) * 16px); border: 1px solid transparent; border-radius: 4px; }
.project-folder-nav-item:has(.project-folder-nav-button.is-active) { border-color: #8db9ee; background: #dcecff; color: #163a66; }
.project-folder-tree-toggle { display: grid; place-items: center; width: 18px; height: 28px; padding: 0; border: 0; background: transparent; color: inherit; font-size: 19px; cursor: pointer; }
.project-folder-tree-toggle:disabled { cursor: default; }
.project-folder-nav-select { margin: 0 3px; }
.project-folder-nav-button { width: 100%; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px; align-items: center; padding: 5px 6px 5px 2px; border: 0; border-radius: 3px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.project-folder-nav-button:hover { background: color-mix(in srgb, var(--blue) 8%, transparent); }
.project-folder-nav-button.is-active { background: transparent; }
.project-folder-nav-icon { color: #e7ad31; font-size: 18px; line-height: 1; }
.project-folder-nav-item.has-children .project-folder-nav-icon { color: #438fdc; }
.project-folder-nav-label { min-width: 0; }
.project-folder-nav-label strong,.project-folder-nav-label small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-folder-nav-label small { display: none; }
.project-folder-nav-delete { margin-right: 3px; }
.project-folder-list { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; align-content: start; gap: 0; }
.project-folder-list > .project-folder:not([open]):not(.is-browser-subfolder-visible) { display: none; }
.project-folder-list > .project-folder.is-browser-root-active > .project-folder-header { display: none; }
.project-folder-list > .project-folder.is-browser-subfolder-visible { margin-left: 0 !important; }
.project-folder-list > .project-folder.is-browser-subfolder-visible { margin-bottom: 1px; border: 1px solid #80afe8; border-radius: 4px; box-shadow: none; }
.project-folder-list > .project-folder.is-browser-subfolder-visible > .project-folder-header { min-height: 40px; padding: 7px 12px; border-bottom: 0; background: color-mix(in srgb,var(--blue) 10%,var(--surface)); }
.project-folder { overflow: hidden; border: 0; border-radius: 0; box-shadow: none; }
.project-folder.project-subfolder { margin-left: 0; border-color: #80afe8; box-shadow: none; }
.project-folder.project-subfolder .project-folder-header { background: color-mix(in srgb,var(--blue) 10%,var(--surface)); }
.project-folder.project-subfolder .project-folder-icon { color: #72adf5; }
.project-folder-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: #12352d; }
.project-folder-header > div { display: flex; align-items: center; gap: 9px; }
.project-folder-header > div { min-width: 0; flex: 1; }
.project-folder-header strong,.project-file-name span { min-width: 0; overflow-wrap: anywhere; white-space: normal; line-height: 1.35; }
.project-folder-header,.project-folder .data-table td { height: auto; }
.project-folder-header small { color: var(--muted); }
.project-folder-icon { color: #65d6a7; font-size: 18px; transform: rotate(180deg); }
.project-folder .table-wrap { border: 1px solid var(--line); border-radius: 0; }
.project-folder .data-table { width: 100%; table-layout: fixed; }
.project-folder .data-table th:nth-child(1),
.project-folder .data-table td:nth-child(1) { width: 38%; }
.project-folder .data-table th:nth-child(2),
.project-folder .data-table td:nth-child(2) { width: 12%; }
.project-folder .data-table th:nth-child(3),
.project-folder .data-table td:nth-child(3) { width: 10%; }
.project-folder .data-table th:nth-child(4),
.project-folder .data-table td:nth-child(4) { width: 16%; }
.project-folder .data-table th:nth-child(5),
.project-folder .data-table td:nth-child(5) { width: 24%; }
.project-folder .data-table td:first-child { overflow-wrap: anywhere; }
.project-folder .action-row { flex-wrap: wrap; }
.project-files-toolbar,.project-files-selection{display:flex;align-items:center;gap:12px}.project-files-toolbar{justify-content:space-between}.project-files-selection label,.project-file-name{display:flex;align-items:center;gap:8px}.project-files-selection{flex-wrap:nowrap;justify-content:flex-end}.project-files-selection .btn{white-space:nowrap}.project-folder>summary{cursor:pointer;list-style:none}.project-folder>summary::-webkit-details-marker{display:none}.project-folder:not([open]) .project-folder-icon{transform:rotate(90deg)}.project-folder[open] .project-folder-icon{transform:rotate(180deg)}.project-file-dropzone{padding:10px;border:1px dashed var(--line);border-radius:10px}.project-file-dropzone.is-dragging{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,transparent)}.project-file-dropzone small{display:block;margin-top:6px}.project-folder .data-table th,.project-folder .data-table td{padding-top:8px;padding-bottom:8px}
.project-folder-form { max-width: none; margin-top: 18px; }
@media (max-width: 900px) { .project-folder-explorer { grid-template-columns: 1fr; } .project-folder-explorer > .project-folder-navigation { border-width: 0 0 1px; } .project-folder-navigation-items { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .project-folder-navigation-items { grid-template-columns: 1fr; } }
.folder-form-grid { display: grid; grid-template-columns: minmax(260px, 520px) auto; gap: 17px; align-items: end; }
.folder-form-grid > .btn { min-height: 43px; }
.file-explorer-dialog .folder-form-grid { grid-template-columns: minmax(210px,1fr) minmax(190px,.8fr) auto; }
.file-explorer-dialog .folder-form-grid > .btn { width: auto; justify-self: end; padding-inline: 16px; }
html[data-theme="light"] .project-folder { border-color: var(--line); box-shadow: none; }
html[data-theme="light"] .project-folder-header { background: var(--surface-subtle); }
html[data-theme="light"] .project-folder.project-subfolder { border-color: #80afe8; box-shadow: none; }
html[data-theme="light"] .project-folder.project-subfolder .project-folder-header { background: #eaf3fd; }
.statement-local-file { padding: 0; border: 0; background: transparent; color: var(--link, #4b9cff); font: inherit; cursor: pointer; text-align: left; }
.statement-local-file:hover { text-decoration: underline; }

.project-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.project-collaborators-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.project-collaborators-grid.read-only { grid-template-columns: 1fr; }
.project-collaborators-grid .project-wide-form { order: 1; margin-top: 0; }
.project-collaborators-grid .project-collaborators-list { order: 2; }
.project-collaborators-grid .form-grid { grid-template-columns: 1fr; }
.project-collaborators-grid .choice-chip[hidden] { display: none !important; }
.project-collaborators-grid .form-actions { border-top: 0; }
.project-collaborators-grid .collaborator-project-row .strong { font-size: 14px; }
.project-profession-summary { color: var(--muted); font-size: 11px; font-weight: 600; line-height: 1.5; }
.project-type-filter-label { margin-left: 8px; color: var(--muted); font: 700 9px Space Mono; letter-spacing: .7px; text-transform: uppercase; white-space: nowrap; }
.project-type-filter-button { border-color: #239b68; background: #2bb673; color: #fff; }
.project-type-filter-button:hover { background: #239b68; }
.project-page-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.project-number-cell { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; }
.project-type-abbreviation { margin-left: auto; font-weight: 800; color: var(--text); text-align: right; }
.completed-task-check { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; margin-right: 7px; border-radius: 50%; background: #dcfce7; color: #15803d; font-size: 13px; font-weight: 900; vertical-align: -2px; }
.project-work-column { display: grid; gap: 18px; }
.project-work-form { margin-top: 0; }
.project-work-form[hidden] { display: none; }
.project-work-add { padding: 14px 20px 18px; border-top: 1px solid var(--line); }
.project-work-add .btn { min-width: 132px; }
.timeline-meta { margin-top: 4px; font-size: 11px; }
.project-work-column .timeline-item:last-child { border-bottom: 0; }

.task-summary { padding: 16px 20px; margin-bottom: 14px; }
.task-summary-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.task-summary-groups > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.task-summary-groups strong { width: 100%; }
.task-summary-groups span { color: var(--muted); font-size: .85rem; }
.task-summary-groups .is-overdue { color: #a33b3b; }
.task-summary-groups .is-done { color: #347256; }
.task-overall-progress { display: grid; grid-template-columns: minmax(150px, .35fr) 1fr; align-items: center; gap: 18px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.task-overall-progress div { display: flex; justify-content: space-between; gap: 12px; }
.task-overall-progress small { color: var(--muted); }
.task-overall-progress progress, .task-summary-progress progress {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  overflow: hidden;
  border: 1px solid #111;
  border-radius: 999px;
  background: #fff;
}
.task-overall-progress progress::-webkit-progress-bar,
.task-summary-progress progress::-webkit-progress-bar { background: #fff; }
.task-overall-progress progress::-webkit-progress-value,
.task-summary-progress progress::-webkit-progress-value { background: #43a174; }
.task-overall-progress progress::-moz-progress-bar,
.task-summary-progress progress::-moz-progress-bar { background: #43a174; }
.task-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.task-filter-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
.task-filter-buttons .active { border-color: var(--blue); color: var(--blue); }
.task-hide-done { display: inline-flex; align-items: center; gap: 7px; margin-right: auto; color: var(--muted); }
.task-editor-modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 24px; background: rgba(10, 18, 29, .58); backdrop-filter: blur(3px); }
.task-editor-modal[hidden] { display: none; }
.task-editor { width: min(860px, 100%); max-height: calc(100vh - 48px); margin: 0; overflow-y: auto; box-shadow: 0 24px 70px rgba(0, 0, 0, .28); }
.task-editor .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.task-assignees { display: block; border: 0; padding: 0; }
.task-assignees legend { width: 100%; margin-bottom: 6px; font-weight: 600; }
.task-assignee-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; }
.task-assignee-option { min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.task-assignee-option { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: center; }
.task-assignee-option:hover { border-color: color-mix(in srgb, var(--blue) 55%, var(--line)); background: color-mix(in srgb, var(--blue) 5%, transparent); }
.task-assignee-option input { margin: 0; }
.task-assignee-info { display: grid; gap: 3px; min-width: 0; }
.task-assignee-name { font-weight: 800; overflow-wrap: anywhere; }
.task-assignee-profession { color: var(--muted); font-size: .72rem; line-height: 1.35; overflow-wrap: anywhere; }
.task-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.project-task-card { overflow: hidden; border: 1px solid var(--line); border-left: 4px solid transparent; border-radius: var(--radius); background: var(--surface); }
.project-task-card.is-overdue { border-left-color: #c85d5d; background: color-mix(in srgb, #c85d5d 5%, var(--surface)); }
.project-task-card.is-done { border-left-color: #4c936f; background: color-mix(in srgb, #4c936f 5%, var(--surface)); }
.project-task-card.is-cancelled { border-color: #cfd6df; border-left-color: #cfd6df; background: #fff; }
.project-task-card.is-cancelled > summary .task-summary-main,
.project-task-card.is-cancelled > summary .task-summary-progress,
.project-task-card.is-cancelled .task-description,
.project-task-card.is-cancelled .task-audit,
.project-task-card.is-cancelled .subtask-list { color: #4c5563; text-decoration: line-through; }
.project-task-card > summary { position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 12px; padding: 13px 16px; cursor: pointer; }
.project-task-card > summary::marker { content: ""; }
.project-task-card > summary > .task-drag-handle { position: absolute; left: 5px; top: 50%; transform: translateY(-50%); }
.project-task-card > summary:has(> .task-drag-handle) .task-summary-main { padding-left: 11px; }
.task-drag-handle, .subtask-drag-handle { color: var(--muted); cursor: grab; font-weight: 900; letter-spacing: -3px; user-select: none; touch-action: none; }
.task-drag-handle:active, .subtask-drag-handle:active { cursor: grabbing; }
.project-task-card.is-dragging, .subtask-row.is-dragging { opacity: .5; }
.project-task-card.is-drag-target, .subtask-row.is-drag-target { outline: 2px dashed var(--blue); outline-offset: 2px; }
.task-summary-main, .task-summary-progress { display: grid; gap: 4px; min-width: 0; }
.task-summary-main { grid-column: 1; }
.task-summary-main > strong { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.task-summary-progress { grid-column: 2; }
.task-order { color: var(--blue); font-weight: 800; }
.task-summary-main small, .task-summary-progress { color: var(--muted); font-size: .84rem; }
.task-summary-main .task-priority { width: fit-content; padding: 2px 7px; border: 1px solid var(--line); border-radius: 999px; font-size: .72rem; font-weight: 700; }
.task-priority.is-high { color: #a86124; border-color: #d8a56e; }
.task-priority.is-critical { color: #a33b3b; border-color: #d98b8b; }
.task-priority.is-low { color: var(--muted); }
.task-summary-progress progress { width: 100%; height: 6px; }
.task-state-badge { grid-column: 3; justify-self: end; font-weight: 700; text-align: right; }
.is-overdue .task-state-badge { color: #a33b3b; }
.is-done .task-state-badge { color: #347256; }
.is-cancelled .task-state-badge { color: #4c5563; }
.task-detail-body { padding: 14px 18px 18px; border-top: 1px solid var(--line); }
.task-description { margin: 0 0 10px; white-space: pre-wrap; }
.task-audit { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--muted); font-size: .8rem; }
.task-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.subtask-list { display: grid; gap: 6px; }
.subtask-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 8px; background: var(--surface2); }
.subtask-row-actions, .subtask-order-actions { display: flex; align-items: center; gap: 5px; }
.subtask-row-actions .icon-action { width: 30px; height: 30px; }
.subtask-order-actions .icon-action:disabled { opacity: .3; cursor: default; }
.subtask-row.is-overdue { background: color-mix(in srgb, #c85d5d 9%, var(--surface)); }
.subtask-row.is-done { background: color-mix(in srgb, #4c936f 9%, var(--surface)); }
.subtask-row.is-done input[name="Name"], .subtask-row.is-done .subtask-title { text-decoration: line-through; opacity: .72; }
.subtask-check { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: #347256; font-weight: 800; }
.subtask-edit { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(140px, 180px); gap: 7px; }
.subtask-edit .field, .subtask-add .field { min-height: 34px; padding: 6px 9px; }
.subtask-name-field { width: 100%; resize: none; overflow: hidden; line-height: 1.35; overflow-wrap: anywhere; }
.subtask-add { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(140px, 180px) auto; gap: 8px; margin-top: 10px; }
.project-deadlines-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .65fr); gap: 18px; align-items: start; }

html[data-theme="light"] .document-template-strip { border-color: #d8e3ef; background: #eef5fc; }
html[data-theme="light"] .parcel-form-panel { border-color: #d7e1ec; }
html[data-theme="light"] .icon-action { border-color: #c7d4e2; }

@media (max-width: 1200px) {
  .project-structure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .location-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .location-form-grid .location-third,
  .location-form-grid .location-half { grid-column: span 1; }
  .documentation-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-create-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-create-grid .form-actions { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .task-list { grid-template-columns: 1fr; }
  .project-file-actions { grid-template-columns: 1fr; }
  .project-file-actions .folder-form-grid,
  .project-file-actions .upload-form-grid { grid-template-columns: 1fr; }
  .project-file-actions .upload-file-field,
  .project-file-actions .upload-form-grid > .btn { grid-column: 1; }
  .project-collaborators-grid { grid-template-columns: 1fr; }
  .project-work-grid { grid-template-columns: 1fr; }
  .parcel-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parcel-form-grid.building-plot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parcel-form-grid.adjacent-plot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parcel-form-grid.adjacent-building-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parcel-form-grid.adjacent-building-grid>.adjacent-building-land-type{grid-column:span 2}
  .building-plot-grid .parcel-catalog-field { grid-column: span 1; }
  .upload-form-grid, .folder-form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .file-explorer-dialog .folder-form-grid { grid-template-columns: 1fr; }
  .file-explorer-dialog .folder-form-grid > .btn { justify-self: start; }
  .file-explorer-dialog .upload-form-grid { grid-template-columns: 1fr; }
  .file-explorer-dialog .upload-file-field { grid-column: 1; }
  .file-explorer-dialog .upload-form-grid > .btn { justify-self: start; }
  .task-summary-groups, .task-overall-progress, .project-deadlines-layout { grid-template-columns: 1fr; }
  .project-task-card > summary { grid-template-columns: minmax(0, 1fr); }
  .project-task-card > summary .task-summary-progress,
  .project-task-card > summary .task-state-badge { grid-column: 1; width: 100%; }
  .collaborator-project-group > summary { grid-template-columns: auto minmax(0, 1fr) auto; }
  .collaborator-project-progress { grid-column: 2; grid-row: 2; justify-self: start; max-width: 160px; }
  .collaborator-project-group > summary > a { grid-column: 2; }
  .subtask-edit, .subtask-add { grid-template-columns: minmax(0, 1fr); }
  .responsible-person-grid,
  .collaborator-name-grid,
  .project-structure-grid,
  .location-form-grid,
  .documentation-form-grid,
  .report-create-grid,
  .parcel-form-grid { grid-template-columns: 1fr; }
  .parcel-form-grid.building-plot-grid { grid-template-columns: 1fr; }
  .parcel-form-grid.adjacent-plot-grid { grid-template-columns: 1fr; }
  .parcel-form-grid.adjacent-building-grid{grid-template-columns:1fr}.parcel-form-grid.adjacent-building-grid>.adjacent-building-land-type{grid-column:auto}.parcel-form-grid.adjacent-building-grid>.adjacent-building-transport{align-items:flex-start;flex-direction:column}
  .parcel-number-lookup-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .location-form-grid .location-third,
  .location-form-grid .location-half,
  .documentation-note,
  .documentation-form-grid .form-actions,
  .parcel-form-actions,
  .parcel-form-grid .parcel-field-wide,
  .parcel-form-grid .parcel-transport-choice { grid-column: auto; }
  .parcel-form-grid.building-plot-grid .parcel-classification-field{grid-column:auto}
  .project-document-header { align-items: flex-start; gap: 12px; }
  .project-folder-control { justify-items: stretch; max-width: none; }
  .project-folder-control small { text-align: left; }
}
@media (max-width: 800px) {
  .task-editor .form-grid { grid-template-columns: 1fr; }
  .task-assignee-grid { grid-template-columns: 1fr; }
}

/* Globálny Správca úloh používa ten istý editor ako projektová karta Úlohy. */
.task-manager-layout { display: grid; grid-template-columns: minmax(230px, 25%) minmax(0, 75%); gap: 18px; align-items: start; }
.task-project-panel { position: sticky; top: 18px; max-height: calc(100vh - 130px); overflow: hidden; padding: 0; }
.task-project-search { padding: 14px; border-bottom: 1px solid var(--line); }
.task-project-list { display: grid; gap: 5px; padding: 8px; max-height: calc(100vh - 205px); overflow-y: auto; }
.task-project-link { --project-accent: #3f82d7; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px 10px; color: inherit; text-decoration: none; border: 1px solid transparent; border-radius: 10px; }
.task-project-link:hover { background: color-mix(in srgb, var(--project-accent) 8%, transparent); }
.task-project-link.active { border-color: color-mix(in srgb, var(--project-accent) 45%, var(--line)); background: color-mix(in srgb, var(--project-accent) 12%, transparent); box-shadow: inset 3px 0 var(--project-accent); }
.task-project-link strong, .task-project-link small { display: block; overflow-wrap: anywhere; }
.task-project-link small { margin-top: 4px; color: var(--muted); font-size: .76rem; }
.task-project-dot { width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: var(--project-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--project-accent) 16%, transparent); }
.task-project-mini-chart { width: 42px; height: 42px; display: grid; place-items: center; position: relative; border-radius: 50%; background: conic-gradient(#43a174 0 var(--done-angle), #d65c5c var(--done-angle) var(--overdue-angle), #d8dee7 var(--overdue-angle) 360deg); }
.task-project-mini-chart::after { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: var(--surface, #fff); }
.task-project-mini-chart b { position: relative; z-index: 1; font-size: .58rem; }
html:not([data-theme="light"]) .task-project-mini-chart::after { background: #18202a; }
.project-color-0 { --project-accent: #397dcc; }.project-color-1 { --project-accent: #4a9a73; }.project-color-2 { --project-accent: #a875c7; }.project-color-3 { --project-accent: #d4824a; }
.project-color-4 { --project-accent: #3b9aa0; }.project-color-5 { --project-accent: #c45f76; }.project-color-6 { --project-accent: #7a88cc; }.project-color-7 { --project-accent: #8a9450; }
.task-manager-main { min-width: 0; }
.task-empty-selection { min-height: 180px; display: grid; place-items: center; color: var(--muted); font-size: 1rem; }
.task-manager-project-header { --project-accent: #397dcc; display: grid; grid-template-columns: minmax(230px, 1fr) minmax(340px, 1.5fr); gap: 26px; align-items: center; min-height: 150px; padding: 24px; margin-bottom: 14px; border-top: 3px solid var(--project-accent); }
.task-manager-project-header.has-chart { grid-template-columns: minmax(230px, 1fr) minmax(340px, 1.5fr) minmax(230px, auto); }
.task-manager-project-title { display: flex; gap: 11px; align-items: flex-start; min-width: 0; }
.task-manager-project-title h2 { margin: 2px 0 3px; color: var(--project-accent); font-size: 1.2rem; overflow-wrap: anywhere; }
.task-manager-project-title a { font-size: .78rem; }
.task-manager-stats { display: grid; grid-template-columns: repeat(3, minmax(80px, 1fr)); gap: 7px; }
.task-manager-stats span { padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: .73rem; }
.task-manager-stats b { display: block; color: var(--text); font-size: .96rem; }
.task-manager-stats .is-overdue b { color: #b64444; }.task-manager-stats .is-done b { color: #347b58; }
.task-progress-chart-wrap { display: flex; align-items: center; gap: 11px; min-width: 220px; }
.task-progress-chart { width: 78px; height: 78px; flex: 0 0 78px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#43a174 0 var(--done-angle), #d65c5c var(--done-angle) var(--overdue-angle), #d8dee7 var(--overdue-angle) 360deg); position: relative; }
.task-progress-chart::after { content: ""; position: absolute; inset: 12px; border-radius: 50%; background: var(--surface, #fff); }
.task-progress-chart span { position: relative; z-index: 1; font-weight: 800; font-size: .85rem; }
.task-progress-chart-wrap strong, .task-progress-chart-wrap small { display: block; }.task-progress-chart-wrap small { color: var(--muted); font-size: .72rem; }
.task-chart-legend { display: flex; flex-wrap: wrap; gap: 3px 8px; margin-top: 5px; font-size: .65rem; color: var(--muted); }
.task-chart-legend span::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; vertical-align: 1px; }
.task-chart-legend .done::before { background: #43a174; }.task-chart-legend .open::before { background: #d8dee7; }.task-chart-legend .overdue::before { background: #d65c5c; }
.task-manager-editor > .task-summary { display: none; }
html:not([data-theme="light"]) .task-progress-chart::after { background: #18202a; }
@media (max-width: 1150px) { .task-manager-project-header, .task-manager-project-header.has-chart { grid-template-columns: 1fr 1.4fr; }.task-progress-chart-wrap { grid-column: 1 / -1; } }
@media (max-width: 850px) { .task-manager-layout { grid-template-columns: 1fr; }.task-project-panel { position: static; max-height: none; }.task-project-list { display: flex; overflow-x: auto; max-height: none; }.task-project-link { min-width: 210px; }.task-manager-project-header, .task-manager-project-header.has-chart { grid-template-columns: 1fr; }.task-progress-chart-wrap { grid-column: auto; }.task-manager-stats { grid-template-columns: repeat(2, 1fr); } }

/* Pohľad úloh podľa spolupracovníka. */
.collaborator-task-layout { display: grid; grid-template-columns: minmax(240px, 25%) minmax(0, 75%); gap: 18px; align-items: start; }
.collaborator-person-panel { position: sticky; top: 18px; max-height: calc(100vh - 130px); overflow: hidden; padding: 0; }
.collaborator-person-list { display: grid; gap: 5px; padding: 8px; max-height: calc(100vh - 205px); overflow-y: auto; }
.collaborator-list-section { margin: 8px 4px 2px; padding: 7px 9px; border-top: 1px solid var(--line); color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.collaborator-list-section.is-internal { margin-top: 0; border-top: 0; color: #177c72; background: #eefaf7; border-radius: 8px; }
.collaborator-person-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1px solid transparent; border-radius: 10px; }
.collaborator-person-row.is-internal { border-color: #cfe9e3; background: #f5fbfa; }
.collaborator-person-row.is-internal + .collaborator-person-row.is-internal { margin-top: -2px; }
.collaborator-person-row .collaborator-kind { color: #228b7d; font-weight: 700; }
.collaborator-person-row.active { border-color: color-mix(in srgb, var(--blue) 45%, var(--line)); background: color-mix(in srgb, var(--blue) 10%, transparent); box-shadow: inset 3px 0 var(--blue); }
.collaborator-person-row > a:first-child { min-width: 0; padding: 10px 8px 10px 12px; color: inherit; text-decoration: none; }
.collaborator-person-row strong, .collaborator-person-row small, .collaborator-person-row span { display: block; overflow-wrap: anywhere; }
.collaborator-person-row small { margin-top: 2px; color: var(--muted); font-size: .72rem; }
.collaborator-person-row span { margin-top: 5px; color: var(--muted); font-size: .76rem; }.collaborator-person-row span b { color: #b64444; }
.collaborator-identifier-field { max-width: 220px; }
.collaborator-identifier-field .field[readonly] { color: var(--blue); font: 800 1rem "Space Mono", monospace; background: var(--surface2); cursor: default; }
.collaborator-form-actions { border-top: 0; }
.collaborator-project-title { display: flex; align-items: center; gap: 7px; }
.collaborator-overdue-alert { display: inline-grid; place-items: center; flex: 0 0 17px; width: 17px; height: 17px; margin: 0; border-radius: 50%; background: #cf3f4e; color: #fff; font-size: 11px; font-weight: 900; line-height: 1; box-shadow: 0 2px 7px rgba(207, 63, 78, .28); }
.collaborator-person-actions { display: flex; align-items: center; gap: 5px; margin-right: 7px; }
.collaborator-person-actions form { margin: 0; }
.collaborator-person-row .icon-action { margin: 0; }
.collaborator-task-main { min-width: 0; }
.collaborator-task-summary { display: grid; grid-template-columns: minmax(240px, .9fr) minmax(0, 1.7fr); gap: 28px; align-items: center; min-height: 140px; padding: 24px; margin-bottom: 12px; }
.collaborator-task-summary h2 { margin: 3px 0; }.collaborator-task-summary a { font-size: .78rem; }
.collaborator-summary-stats { display: grid; grid-template-columns: repeat(5, minmax(90px, 1fr)); gap: 10px; }
.collaborator-summary-stats span { min-height: 62px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: .71rem; }
.collaborator-summary-stats b { display: block; color: var(--text); font-size: .92rem; }.collaborator-summary-stats .is-overdue b { color: #b64444; }.collaborator-summary-stats .is-done b { color: #347b58; }
.collaborator-progress-chart { position: relative; display: grid; place-items: center; align-self: center; justify-self: center; width: 62px; height: 62px; border-radius: 50%; background: conic-gradient(#43a174 0 var(--completion-angle), #d8dee7 var(--completion-angle) 360deg); }
.collaborator-progress-chart::after { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--surface, #fff); }
.collaborator-progress-chart b { position: relative; z-index: 1; font-size: .72rem; }
.collaborator-task-toolbar { margin-bottom: 12px; }
.collaborator-email-actions { display: grid; justify-items: start; gap: 7px; margin-top: 5px; }
.collaborator-email-address { color: var(--muted); font-size: .8rem; }
.collaborator-email-buttons { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
.collaborator-email-buttons .btn { white-space: nowrap; }
@media (max-width: 640px) { .collaborator-email-buttons { flex-wrap: wrap; } }
.api-status-row{display:grid;grid-template-columns:max-content minmax(190px,.9fr) minmax(190px,.85fr) minmax(150px,.6fr);gap:12px}.api-status-row>div{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.api-status-row .api-status-card{min-width:170px}.api-status-row .api-address-card strong{font-size:12px;line-height:1.35}.api-status-row .api-request-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.api-status-row h3,.api-status-row p{margin:0}.api-status-row small,.api-webhook-row small{display:block;color:var(--muted)}.api-secret{margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);font:700 12px Space Mono;overflow-wrap:anywhere;user-select:text}.api-webhook-form{display:grid;grid-template-columns:.8fr 1.5fr 1fr auto;align-items:end;gap:12px;margin:18px 0}.api-webhook-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.api-copy-row,.api-inline-copy{display:flex;align-items:center;gap:9px}.api-copy-row .api-secret{flex:1}.api-inline-copy{min-width:0}.api-inline-copy strong{min-width:0;overflow-wrap:anywhere}.api-inline-copy .copy-button{flex:0 0 auto}
.api-openapi-notice{margin-top:18px}.api-openapi-notice p{margin:6px 0 0}.api-openapi-card{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.api-openapi-card>div{min-width:0;flex:1}.api-openapi-card small{display:block;color:var(--muted);margin-bottom:2px}.api-openapi-card .api-copy-row{max-width:760px}
.api-workspace{overflow:hidden}.api-tabs{display:flex;gap:4px;padding:10px 14px 0;border-bottom:1px solid var(--line);background:var(--surface2)}.api-tabs button{display:flex;align-items:center;gap:8px;padding:11px 15px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.api-tabs button.active,.api-tabs button:hover{border-bottom-color:var(--blue);color:var(--text)}.api-tabs .badge{padding:3px 7px}.api-tab-panel{padding:20px}.api-tab-panel[hidden]{display:none}.api-history h3{margin:0 0 12px}.api-webhook-list{margin-top:18px}
.api-history-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.api-history-heading h3{margin:0}.api-history-heading small{color:var(--muted)}.api-log-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line)}.api-log-pagination>span{padding:0 8px;color:var(--muted);font-size:11px;font-weight:750}.api-log-pagination .disabled{pointer-events:none;opacity:.4}
@media(max-width:900px){.api-status-row{grid-template-columns:repeat(2,1fr)}.api-webhook-form{grid-template-columns:1fr}.api-webhook-row{grid-template-columns:1fr auto}.api-openapi-card{align-items:stretch;flex-direction:column}}@media(max-width:560px){.api-status-row{grid-template-columns:1fr}.api-openapi-card .api-copy-row{align-items:stretch;flex-direction:column}}
.collaborator-task-toolbar [data-collaborator-task-filter="active"],
.collaborator-task-toolbar [data-collaborator-task-filter="open"] { color: #2f78cf; border-color: color-mix(in srgb, #2f78cf 45%, var(--line)); }
.collaborator-task-toolbar [data-collaborator-task-filter="overdue"] { color: #b64141; border-color: color-mix(in srgb, #b64141 45%, var(--line)); }
.collaborator-task-toolbar [data-collaborator-task-filter="done"],
.collaborator-task-toolbar [data-collaborator-task-filter="completed-projects"] { color: #287a55; border-color: color-mix(in srgb, #287a55 45%, var(--line)); }
.collaborator-task-toolbar [data-collaborator-task-filter="cancelled"] { color: #687482; border-color: color-mix(in srgb, #687482 45%, var(--line)); }
.collaborator-task-toolbar [data-collaborator-task-filter].active { color: #fff; box-shadow: 0 5px 14px color-mix(in srgb, currentColor 18%, transparent); }
.collaborator-task-toolbar [data-collaborator-task-filter="active"].active,
.collaborator-task-toolbar [data-collaborator-task-filter="open"].active { border-color: #2f78cf; background: #2f78cf; }
.collaborator-task-toolbar [data-collaborator-task-filter="overdue"].active { border-color: #b64141; background: #b64141; }
.collaborator-task-toolbar [data-collaborator-task-filter="done"].active,
.collaborator-task-toolbar [data-collaborator-task-filter="completed-projects"].active { border-color: #287a55; background: #287a55; }
.collaborator-task-toolbar [data-collaborator-task-filter="cancelled"].active { border-color: #687482; background: #687482; }
.collaborator-task-toolbar [data-collaborator-task-filter="all"].active { border-color: #4f6175; background: #4f6175; color: #fff; }
.collaborator-project-groups { display: grid; gap: 16px; }
.collaborator-project-group { --project-accent: #397dcc; padding: 13px; border: 1px solid var(--line); border-left: 4px solid var(--project-accent); border-radius: 12px; background: color-mix(in srgb, var(--project-accent) 3%, var(--surface, #fff)); }
.collaborator-project-group > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(110px, 160px) auto auto; gap: 10px; align-items: center; cursor: pointer; list-style: none; }
.collaborator-project-group > summary::-webkit-details-marker { display: none; }
.collaborator-project-group > summary > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; min-width: 0; }
.collaborator-project-group[open] > summary { margin-bottom: 11px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.collaborator-project-group > summary h2 { margin: 0; color: var(--project-accent); font-size: 1.05rem; overflow-wrap: anywhere; }.collaborator-project-group > summary small { color: var(--muted); }.collaborator-project-group > summary a { font-size: .76rem; }
.collaborator-project-group .project-toggle-chevron { color: var(--project-accent); font-size: 1.2rem; line-height: 1; transition: transform .18s ease; }
.collaborator-project-group[open] .project-toggle-chevron { transform: rotate(180deg); }
.collaborator-project-progress { display: grid; grid-template-columns: minmax(70px, 1fr) 34px; align-items: center; gap: 7px; justify-self: end; width: 100%; }
.collaborator-project-progress progress { width: 100%; height: 7px; appearance: none; -webkit-appearance: none; overflow: hidden; border: 1px solid #aeb9c7; border-radius: 999px; background: #fff; }
.collaborator-project-progress progress::-webkit-progress-bar { background: #fff; }
.collaborator-project-progress progress::-webkit-progress-value { background: #43a174; }
.collaborator-project-progress progress::-moz-progress-bar { background: #43a174; }
.collaborator-project-progress b { color: var(--muted); font-size: .68rem; text-align: right; }
.collaborator-project-group .task-list { margin-bottom: 0; }
.collaborator-project-group[data-has-tasks="true"] .task-list { grid-template-columns: minmax(0, 1fr); }
.collaborator-project-group[data-has-tasks="true"] .project-task-card { width: 100%; }
.collaborator-project-group[data-has-tasks="false"] { padding-top: 10px; padding-bottom: 10px; }
.collaborator-project-group[data-has-tasks="false"] > summary { align-items: center; margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.collaborator-project-group[data-has-tasks="false"] .task-list { display: none; }
@media (max-width: 1050px) { .collaborator-task-summary { grid-template-columns: 1fr; }.collaborator-summary-stats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 850px) { .collaborator-task-layout { grid-template-columns: 1fr; }.collaborator-person-panel { position: static; max-height: none; }.collaborator-person-list { display: flex; overflow-x: auto; max-height: none; }.collaborator-person-row { min-width: 230px; }.collaborator-summary-stats { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 800px) {
  .mobile-product-logo.product-logo-light,
  .mobile-product-logo.product-logo-dark {
    display: none;
  }
  html[data-theme="light"] .mobile-product-logo.product-logo-light,
  html:not([data-theme="light"]) .mobile-product-logo.product-logo-dark {
    display: block;
    width: 122px;
    height: 38px;
    padding: 3px 6px;
    border: 1px solid #d7e2ef;
    border-radius: 7px;
    background: #f8fbff;
    object-fit: contain;
  }
  html:not([data-theme="light"]) .mobile-product-logo.product-logo-dark {
    width: 108px;
    border-color: #142b47;
    background: #030913;
  }
}

@media (max-width: 560px) {
  .topbar .breadcrumb { display: none; }
}
