.da-panel, .da-shell, .da-filters, .da-link-builder {
  --da-ink: #173b30; --da-line: #d2dcd2; --da-muted: #52665d; --da-accent: #216746; --da-teal: #007d70;
  color: var(--da-ink); font: 15px/1.6 system-ui, sans-serif; min-width: 0;
}
.da-panel, .da-shell { max-width: 1120px; margin: 0 auto; box-sizing: border-box; }
.wrap.da-panel { margin: 10px 20px 0 0; }
.da-shell { padding: 28px 24px 60px; }
.da-shell *, .da-panel *, .da-filters *, .da-link-builder * { box-sizing: border-box; }
.da-shell a, .da-panel a, .da-filters a, .da-link-builder a { color: var(--da-accent); text-underline-offset: 3px; }
.da-panel h1, .da-shell h1 { font-size: clamp(28px, 4vw, 42px); font-weight: 650; line-height: 1.15; letter-spacing: -.04em; margin: 8px 0 16px; }
.da-panel h2, .da-shell h2, .da-link-builder h2 { font-size: 20px; margin: 0 0 16px; line-height: 1.3; }
.da-panel p, .da-shell p, .da-filters p, .da-link-builder p { overflow-wrap: anywhere; }
.da-title { display: flex; justify-content: space-between; gap: 24px; align-items: start; border-bottom: 1px solid var(--da-line); padding: 24px 0; }
.da-title > * { min-width: 0; }
.da-product { font-weight: 700; margin: 0; }
.da-product span { font-weight: 400; margin-left: 8px; color: var(--da-muted); white-space: nowrap; }
.da-range { max-width: 340px; margin: 0; font-variant-numeric: tabular-nums; }
.da-range span { color: var(--da-muted); font-size: 13px; }
.da-notice { padding: 12px 16px; background: #e9f1e5; border-left: 3px solid #216746; }
.da-notice-muted { background: #edf3f2; border-left-color: var(--da-teal); }
.da-hint, .da-empty { color: var(--da-muted); }
.da-totals { display: flex; flex-wrap: wrap; gap: 24px clamp(30px, 8vw, 120px); margin: 24px 0; }
.da-totals > div { min-width: 0; flex: 0 1 340px; }
.da-totals p { margin: 0; }
.da-totals strong { display: block; font-size: clamp(30px, 4vw, 42px); line-height: 1.3; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.da-totals span { color: var(--da-muted); }
.da-totals .da-comparison { font-size: 13px; margin-top: 8px; }
.da-help { margin: 20px 0; border-block: 1px solid var(--da-line); }
.da-help p { max-width: 80ch; }
.da-tables { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin: 32px 0; }
.da-tables section, .da-days, .da-hours { border-top: 1px solid var(--da-line); padding-top: 24px; min-width: 0; }
.da-tables h2 { margin-bottom: 12px; }
.da-tables .da-hint { font-size: 14px; margin: 0 0 16px; }
.da-hours { margin-top: 32px; }
.da-table-scroll { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.da-table-scroll table { width: 100%; border-collapse: collapse; table-layout: auto; }
.da-table-scroll td, .da-table-scroll th { text-align: left; padding: 12px 8px; border-bottom: 1px solid var(--da-line); vertical-align: top; overflow-wrap: anywhere; }
.da-table-scroll th:first-child { padding-left: 0; min-width: 100px; }
.da-table-scroll th[scope="row"] { font-weight: 400; }
.da-table-scroll th:not(:first-child), .da-table-scroll td:not(:first-child) { text-align: right; width: 1%; white-space: nowrap; font-variant-numeric: tabular-nums; }
.da-table-scroll .da-table-compare { min-width: 320px; }
.da-table-scroll th:last-child, .da-table-scroll td:last-child { padding-right: 0; }
.da-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.da-previous-date { display: block; color: var(--da-muted); font-size: 12px; }
.da-chart-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.da-chart { display: flex; align-items: end; height: 160px; gap: 2px; margin: 20px 0 0; border-bottom: 1px solid var(--da-line); min-width: max(100%, calc(var(--da-columns, 1) * 5px)); }
.da-bar-group { flex: 1; display: flex; align-items: end; gap: 1px; height: 100%; min-width: 0; }
.da-bar { flex: 1; background: #216746; height: var(--height, 0); min-width: 0; }
.da-bar-previous { background: var(--da-teal); background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, #ffffff60 3px, #ffffff60 5px); }
.da-bar[data-empty="true"] { background: transparent; }
.da-chart-axis { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--da-muted); margin: 8px 0 16px; }
.da-legend { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 13px; }
.da-legend span::before { content: ''; display: inline-block; width: 12px; height: 12px; background: #216746; margin-right: 6px; }
.da-legend span + span::before { background: var(--da-teal); background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, #ffffff60 3px, #ffffff60 5px); }
.da-shell button, .da-shell input, .da-shell select, .da-shell textarea, .da-panel button, .da-settings input, .da-settings textarea { font: inherit; }
.da-shell button, .da-shell .da-button, .da-panel .button, .da-filters button, .da-link-builder button {
  min-height: 44px; max-width: 100%; border: 1px solid #216746; padding: 9px 16px; background: #fff; color: var(--da-accent); cursor: pointer; display: inline-block; border-radius: 0; font: inherit; line-height: 1.5; white-space: normal;
}
.da-shell :focus-visible, .da-panel :focus-visible, .da-filters :focus-visible, .da-link-builder :focus-visible { outline: 3px solid var(--da-teal); outline-offset: 3px; }
.da-shell label { display: block; margin: 16px 0 6px; font-weight: 600; }
.da-shell input { width: 100%; padding: 12px; border: 1px solid #697a6b; border-radius: 0; }
.da-shell select { padding: 10px; border: 1px solid #697a6b; background: #fff; }
.da-toolbar, .da-topbar { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-bottom: 20px; }
.da-topbar { justify-content: space-between; border-bottom: 1px solid var(--da-line); padding-bottom: 20px; }
.da-toolbar label { display: inline; margin: 0 8px 0 0; }
.da-login { max-width: 440px; margin: 10vh auto; }
.da-login button { margin-top: 24px; width: 100%; background: #216746; color: #fff; }
.da-error { color: #9c2626; padding: 12px; background: #fff0f0; }
.da-code { white-space: pre-wrap; overflow-wrap: anywhere; background: #edf0e8; padding: 20px; font: 13px/1.6 monospace; }
.da-danger { margin-top: 40px; padding-top: 24px; border-top: 1px solid #b65b5b; }
.da-danger input { width: auto; }
.da-shell summary, .da-panel summary, .da-filters summary { cursor: pointer; min-height: 44px; padding: 12px 0; }
.da-filters { background: #f8f7f2; border: 1px solid var(--da-line); padding: 16px; margin: 24px 0; font-size: 14px; line-height: 1.5; }
.da-filter-dates { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(260px, 1.5fr); gap: 16px; align-items: end; }
.da-filters label.da-filter-field, .da-link-builder label.da-filter-field { display: flex; flex-direction: column; min-width: 0; margin: 0; font-weight: 600; gap: 6px; }
.da-filter-field small { font-size: 13px; font-weight: 400; color: var(--da-muted); line-height: 1.5; }
.da-filters input:not([type="checkbox"]), .da-filters select, .da-link-builder input, .da-link-builder select, .da-link-builder textarea {
  display: block; width: 100%; min-width: 0; min-height: 44px; margin: 0; border: 1px solid #697a6b; padding: 9px 10px; background: #fff; color: var(--da-ink); font: inherit; border-radius: 0; box-shadow: none;
}
.da-filters .da-apply, .da-link-builder .da-apply { background: #216746; color: #fff; }
.da-presets { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; border: 0; padding: 0; margin: 0; }
.da-presets legend { font-weight: 600; margin-bottom: 6px; }
.da-filter-details { margin-top: 16px; border-top: 1px solid var(--da-line); }
.da-filter-details summary { font-weight: 600; }
.da-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.da-filter-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 24px; align-items: center; margin-top: 16px; }
.da-filters label.da-compare { display: flex; align-items: start; gap: 10px; margin: 0; max-width: 460px; min-height: 44px; padding: 10px 0; font-weight: 400; cursor: pointer; }
.da-filters .da-compare input { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; padding: 0; margin: 1px 0 0; accent-color: #216746; }
.da-filter-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.da-reset { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; }
.da-active-filters { margin-top: 16px; }
.da-active-filters p { margin: 0 0 8px; color: var(--da-muted); }
.da-active-filters ul { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; list-style: none; }
.da-active-filters li { min-width: 0; max-width: 100%; margin: 0; }
.da-active-filters a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 8px 12px; border: 1px solid #749d82; background: #fff; overflow-wrap: anywhere; text-decoration: none; }
.da-active-filters a:hover { background: #e9f1e5; }
.da-active-filters .da-chip-text { min-width: 0; overflow-wrap: anywhere; }
.da-active-filters .da-chip-remove { flex: 0 0 auto; font-size: 22px; line-height: 1; }
.da-link-builder { border-block: 1px solid var(--da-line); margin: 32px 0; padding: 24px 0; }
.da-link-builder > p { max-width: 80ch; }
.da-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.da-link-term { grid-column: 1 / -1; }
.da-link-builder label.da-link-output { margin-top: 24px; }
.da-link-builder textarea { resize: vertical; min-height: 96px; overflow-wrap: anywhere; word-break: break-word; font: 14px/1.6 ui-monospace, monospace; }
.da-link-actions { display: flex; align-items: start; gap: 16px; margin-top: 12px; }
.da-link-actions button { flex: 0 0 auto; }
.da-link-status { margin: 8px 0; font-size: 14px; }
.da-link-status[data-kind="error"] { color: #9c2626; }
.da-link-status[data-kind="success"] { color: #00695e; }
.da-link-builder button:disabled { cursor: not-allowed; opacity: .65; }
.da-settings { max-width: 800px; }
.da-settings p { margin: 20px 0; }
.da-settings label { font-weight: 600; }
.da-settings input:not([type="checkbox"]), .da-settings textarea { max-width: 100%; width: 100%; min-height: 44px; margin: 0; padding: 10px 12px; font-size: 16px; border-radius: 0; }
.da-settings textarea { resize: vertical; line-height: 1.6; }
.da-settings input[type="number"] { width: 120px; margin-left: 12px; }
.da-settings label:has(input[type="checkbox"]) { display: flex; align-items: start; gap: 10px; min-height: 44px; padding: 10px 0; }
.da-settings input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0 0; }
.da-settings .submit { padding: 0; }
@media(max-width: 959px) {
  .da-filter-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .da-presets { grid-column: 1 / -1; }
  .da-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 700px) {
  .wrap.da-panel { margin-right: 10px; }
  .da-tables, .da-link-grid { grid-template-columns: 1fr; }
  .da-title { display: block; }
  .da-range { max-width: none; margin-top: 16px; }
  .da-shell { padding: 20px 16px 40px; }
  .da-link-term { grid-column: auto; }
  .da-link-actions { flex-direction: column; gap: 4px; }
  .da-link-actions button, .da-link-form > button { width: 100%; }
  .da-filters input:not([type="checkbox"]), .da-filters select, .da-link-builder input, .da-link-builder select { font-size: 16px; }
  .da-table-scroll th, .da-table-scroll td { font-size: 14px; padding-block: 12px; }
}
@media(max-width: 440px) {
  .da-filter-dates, .da-filter-grid { grid-template-columns: 1fr; }
  .da-filters { padding: 12px; }
  .da-product span { display: block; margin-left: 0; }
  .da-totals { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .da-filter-submit { width: 100%; }
  .da-filter-submit .da-apply { flex: 1; }
  .da-settings input[type="number"] { display: block; margin: 8px 0 0; }
}
@media(prefers-reduced-motion: reduce) { .da-panel *, .da-shell *, .da-filters *, .da-link-builder * { scroll-behavior: auto; } }

/* Shared brand and workspace controls for both distributions. */
.da-app {margin:0;background:#f8f7f2;color:#173b30}
.da-workspace-header {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0 24px;border-bottom:1px solid var(--da-line)}
.da-workspace-header>div {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.da-workspace-header strong {font-size:21px;letter-spacing:-.04em}
.da-brand-mark {width:40px;height:40px;flex:none;color:var(--da-accent)}
.da-version {font-size:12px;color:var(--da-muted)}
.da-workspace-nav {display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--da-line);padding:10px 0;margin-bottom:24px}
.da-workspace-nav a {display:block;padding:10px 14px;text-decoration:none;white-space:nowrap;border-radius:8px}
.da-workspace-nav a:hover {background:#e9f1e5}
.da-saved {padding:18px 0;border-bottom:1px solid var(--da-line);display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.da-saved[hidden] {display:none}
.da-saved label {display:grid;gap:6px;font-size:13px;max-width:100%;flex:1 1 180px}
.da-saved .da-hint {flex-basis:100%;margin:0;font-size:13px}
.da-shell button,.da-panel button {border-radius:8px;min-height:42px;cursor:pointer}
.da-shell input:not([type=checkbox]),.da-shell select,.da-shell textarea,.da-panel input:not([type=checkbox]),.da-panel select,.da-panel textarea {max-width:100%;border:1px solid var(--da-line);border-radius:7px;padding:9px 11px;background:#fff;color:var(--da-ink);font:inherit}
.da-settings {max-width:760px;display:grid;gap:16px}
.da-settings label {display:block}
.da-settings textarea,.da-settings input[type=url] {display:block;width:100%;margin-top:6px}
.da-settings p {margin:0}
.da-setup {margin:32px 0;border:1px solid var(--da-line);border-radius:12px;padding:18px 22px}
.da-setup summary {font-weight:650;cursor:pointer}
.da-setup-steps {padding-left:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.da-checks {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.da-checks div {padding:12px;background:#e9f1e5;border-radius:8px;overflow-wrap:anywhere}
.da-checks dt {font-size:13px;color:var(--da-muted)}
.da-checks dd {margin:0;font-weight:600}
.da-shell code,.da-panel code {overflow-wrap:anywhere}
.da-shell section,.da-panel section {scroll-margin-top:24px}
.da-shell :focus-visible,.da-panel :focus-visible {outline:3px solid #a66f00;outline-offset:3px}
.da-title .da-product {display:none}
.da-totals {background:#efe9c9;border-radius:14px;padding:24px 28px;gap:24px 80px}
.da-totals strong {font-size:clamp(38px,5vw,54px);letter-spacing:-.05em}
.da-days {border-top:0}
.da-shell[data-theme=dark],.wrap.da-panel[data-theme=dark] {--da-ink:#e2eadd;--da-line:#415248;--da-muted:#b1c1b6;--da-accent:#a6d8ad;background:#18271f;color:var(--da-ink);border-radius:14px;padding:24px}
[data-theme=dark] .da-panel,[data-theme=dark] .da-filters,[data-theme=dark] .da-link-builder {--da-ink:#e2eadd;--da-line:#415248;--da-muted:#b1c1b6;--da-accent:#a6d8ad;background:transparent;color:var(--da-ink)}
.da-shell[data-theme=dark] input:not([type=checkbox]),.da-shell[data-theme=dark] select,.da-shell[data-theme=dark] textarea,.wrap.da-panel[data-theme=dark] input:not([type=checkbox]),.wrap.da-panel[data-theme=dark] select,.wrap.da-panel[data-theme=dark] textarea {background:#21372b;color:var(--da-ink)}
[data-theme=dark] .da-totals,[data-theme=dark] .da-checks div,[data-theme=dark] .da-notice,[data-theme=dark] .da-workspace-nav a:hover {background:#304633;color:var(--da-ink)}
[data-theme=dark] .da-code {background:#21372b;color:var(--da-ink)}
@media(max-width:720px) {.da-workspace-header {align-items:start}.da-workspace-header strong {font-size:18px}.da-version {flex-basis:100%;margin-left:52px}.da-setup-steps {grid-template-columns:1fr;gap:12px}.da-checks {grid-template-columns:1fr}.da-saved button {flex:1 1 auto}.da-totals {padding:20px}.da-shell[data-theme=dark],.wrap.da-panel[data-theme=dark] {padding:18px}}
@media(prefers-reduced-motion:no-preference) {.da-workspace-nav a, .da-shell button {transition:background-color .16s ease}}

.da-saved-details {margin-bottom:18px}.da-saved-details>summary {cursor:pointer;font-weight:600;padding:10px 0}.da-saved-details .da-saved {margin:0;border-bottom:0}
.da-panel button {border:1px solid var(--da-accent);background:#fff;color:var(--da-accent);padding:9px 16px;font:inherit;line-height:1.5;max-width:100%}
.da-shell input[type=checkbox],.da-panel input[type=checkbox] {width:20px;height:20px;accent-color:#216746;vertical-align:middle}
.da-topbar {padding-bottom:10px;margin-bottom:8px;font-size:13px}
.da-workspace-header {padding:12px 0 16px}
.da-workspace-nav {margin-bottom:10px}
.da-title {padding:16px 0}
.da-filters {margin:16px 0;border-radius:10px}
.da-shell[data-theme=dark],.wrap.da-panel[data-theme=dark] {color-scheme:dark}
.da-shell[data-theme=dark] button,.wrap.da-panel[data-theme=dark] button,.wrap.da-panel[data-theme=dark] .button,[data-theme=dark] .da-active-filters a {background:#21372b;color:#c6e3c6;border-color:#72977c}
.da-shell[data-theme=dark] .da-apply,.wrap.da-panel[data-theme=dark] .da-apply {background:#bad8a2;color:#21372b;border-color:#bad8a2}
[data-theme=dark] .da-bar,[data-theme=dark] .da-legend span::before {background:#a6d8ad}
[data-theme=dark] .da-bar-previous,[data-theme=dark] .da-legend span+span::before {background:#bd9829}
[data-theme=dark] .da-link-status[data-kind=error] {color:#ffc4b7}
[data-theme=dark] .da-link-status[data-kind=success] {color:#bad8a2}
