/* Gut lesbare Grundgrößen und verlässliche Trefferflächen im Arbeitsbereich. */
body { font-size: 16px; line-height: 1.5; }
.breadcrumb span, .eyebrow { font-size: 12px; letter-spacing: .08em; }
.page-heading p, .welcome-card p { font-size: 16px; line-height: 1.5; }
.page-heading > div { min-width: 0; }
.page-heading h2 { overflow-wrap: anywhere; hyphens: auto; }
.stat-card span:not(.stat-icon), .meeting-hero p, .meeting-list-item p,
.task-copy span, .minute-card p, .member-card p, .document-card p,
.account-row p, .settings-card p, .mail-info p, .role-guide span,
.resolution-card p, .concept-meta, .tip-card p { font-size: 14px; line-height: 1.5; }
.task-copy strong, .task-card h4, .meeting-hero h4 { font-size: 16px; }
.agenda-preview ol, .task-card footer, .resolution-card footer,
.minute-card .date, .member-card .role, .sidebar-footer p { font-size: 14px; line-height: 1.5; }
.task-column h3, .section-title h4, .field label,
.login-form label, .mail-compose label { font-size: 14px; letter-spacing: .04em; }
.date-box span, .tag, .nav-item b { font-size: 12px; }
.view .button, .view .filter, .view .text-button, .view .table-action,
.view .app-back, .modal .button, .modal .table-action,
.sidebar .nav-item, .topbar button { min-height: 44px; }
.view .button, .view .filter, .view .text-button, .view .table-action,
.view .app-back, .modal .button, .modal .table-action { font-size: 15px; line-height: 1.25; }
.view .filter { padding: 10px 14px; }
.view .text-button { padding: 8px 2px; }
.filter-row, .task-filters, .resolution-filters { flex-wrap: wrap; }
.field input, .field select, .field textarea,
.login-form input, .mail-compose input, .mail-compose select, .mail-compose textarea {
  min-height: 44px; font-size: 16px;
}
.empty-state, .toast, .filter-help, .view small,
.price-list-controls label, .finance-summary span, #mailRecipientHelp { font-size: 15px; line-height: 1.45; }
.login-help { font-size: 15px; }
.login-button { min-height: 48px; }
.account-row { min-width: 0; flex-wrap: wrap; }
.account-row > div:not(.account-initials) { min-width: 0; flex: 1 1 170px; }
.account-row p { overflow-wrap: anywhere; }
.account-row .text-button { margin-left: auto; }
#minutesView input, #mailView input { min-height: 44px; }
.check { width: 24px; height: 24px; }
.task-row { min-height: 52px; }
.calendar-day-number { font-size: 15px; }
.calendar-filters .filter { white-space: normal; }
.app-back { padding-inline: 10px; }
.nav-group { border-top:1px solid #ffffff24; margin-top:8px; padding-top:8px; }
.nav-group > summary { color:#e3efe9; cursor:pointer; min-height:48px; padding:11px 12px; border-radius:9px; font-size:15px; font-weight:750; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nav-group > summary::-webkit-details-marker { display:none; }
.nav-group > summary::after { content:'⌄'; font-size:20px; line-height:1; transition:transform .15s; }
.nav-group[open] > summary::after { transform:rotate(180deg); }
.nav-group > summary:hover, .nav-group > summary:focus-visible, .nav-group.contains-active > summary { background:#28584f; color:#fff; }
.nav-group > .nav-item { padding-left:20px; }
.nav-group > summary:focus-visible { outline:3px solid #e87945; outline-offset:2px; }
.dashboard-quick-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.dashboard-quick-actions[hidden] { display:none; }
.dashboard-quick-actions strong { margin-right:.3rem; color:var(--forest, #245b3d); }
.dashboard-quick-actions .button { min-height:48px; }
@media (max-width:760px) { .dashboard-quick-actions strong { flex:1 1 100%; } .dashboard-quick-actions .button { flex:1 1 130px; } }

@media (max-width: 760px) {
  .view { padding: 22px 16px; }
  .welcome-card { min-height: 0; padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: 12px; }
  .welcome-card > div:first-child { grid-column: 1 / -1; }
  .welcome-card > .welcome-logo { position: static; grid-column: 2; grid-row: 2; width: 72px; height: 84px; padding: 3px; }
  .welcome-card h2 { font-size: 22px; line-height: 1.2; }
  .welcome-card .button { grid-column: 1; grid-row: 2; justify-self: start; align-self: center; max-width: 100%; margin: 0; white-space: normal; }
  .stats-grid { margin: 18px 0; }
  #dashboardView .stat-card span:not(.stat-icon) { font-size: 14px; }
  #dashboardView .stat-card { min-width: 0; }
  #dashboardView .stat-card strong { overflow-wrap: anywhere; }
  .simple-ui .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .panel-header { gap: 10px; flex-wrap: wrap; }
  .panel-header .text-button { margin-left: auto; }
  .topbar { min-height: 76px; height: auto; padding: 9px 12px; gap: 8px; }
  .topbar .breadcrumb { min-width: 0; flex: 1; }
  .topbar .breadcrumb h1 { font-size: 18px; line-height: 1.15; overflow-wrap: anywhere; }
  .topbar-actions { flex: none; gap: 4px; }
  .calendar-marker { font-size: 0; width: 9px; height: 9px; padding: 0; border-radius: 50%; }
  .calendar-day-items { flex-direction: row; flex-wrap: wrap; }
  .calendar-day-items .calendar-marker:nth-child(n+2) { display: block; }
  .calendar-day { min-height: 64px; }
}

@media (max-width: 420px) {
  .stat-card { padding: 12px; }
  .topbar .breadcrumb span { display: none; }
  .topbar .breadcrumb h1 { font-size: 17px; }
  .topbar .readability-button, .topbar .avatar, .topbar .mobile-menu { min-width: 44px; }
  .topbar #simpleModeButton { padding-inline: 6px; }
}
.demo-banner{margin:16px clamp(16px,3vw,48px) 0;padding:13px 16px;border:1px solid #d7d6b7;border-radius:12px;background:#fff9de;color:#4e481f;font-size:1rem;line-height:1.4}.demo-banner strong{font-weight:800}

/* Search, draft recovery and linked event material */
.global-search-results{display:grid;gap:.55rem;max-height:52vh;overflow:auto;margin-top:1rem}.global-search-result{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;padding:.8rem 1rem;border:1px solid #d4ded7;border-radius:.75rem;background:#fff;color:#1d2823;cursor:pointer;width:100%}.global-search-result:hover,.global-search-result:focus-visible{border-color:#245d3b;background:#f2f7f2}.global-search-result small{color:#4c6b56}.draft-restore{padding:1rem;margin:0 0 1rem;border:1px solid #c6d7c8;background:#f1f8f0;border-radius:.75rem}.draft-restore p{margin:.3rem 0 .7rem}.dashboard-focus{margin:1rem 0 0;padding:.8rem;border-radius:.65rem;background:#eaf3eb}.dashboard-focus[hidden]{display:none}.dashboard-focus p{margin:.35rem 0 0}.event-materials{grid-column:1/-1;border-top:1px solid #dbe2dc;padding:.7rem 0}.event-materials summary{cursor:pointer;font-weight:700}.event-material-body{display:grid;gap:.6rem;padding:.8rem 0}.event-material-body>div{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.event-material-body a{color:#155e34;font-weight:700}

.invite-page{max-width:540px;margin:8vh auto;padding:16px}.invite-page .panel{padding:32px}.invite-page label{display:block;margin:18px 0}.invite-page input{display:block;width:100%;min-height:48px;margin-top:8px}.invite-page button{min-height:48px}.permission-table{display:grid;gap:8px;max-height:45vh;overflow:auto;margin:16px 0}.permission-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #d7dfd9;border-radius:10px}.permission-row select{min-width:145px;min-height:40px}.permissions-detail{margin:18px 0}

.board-access-panel{margin-top:1.25rem}.board-access-panel h3{margin:0 0 .35rem}.board-access-row{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(11rem,1.4fr) minmax(10rem,1fr) auto;gap:.7rem;align-items:end;padding:.9rem 0;border-top:1px solid #d8dfd9}.board-access-row strong{align-self:center}.board-access-row label{display:grid;gap:.25rem;font-weight:650;font-size:.9rem}.board-access-row select{width:100%;min-width:0}.board-access-row small{grid-column:1/-1;color:#516056}.board-access-row .button{white-space:normal}@media(max-width:850px){.board-access-row{grid-template-columns:1fr 1fr}.board-access-row strong,.board-access-row small{grid-column:1/-1}}@media(max-width:560px){.board-access-row{grid-template-columns:1fr}.board-access-row strong,.board-access-row small{grid-column:1}}

.board-role-choices,.account-extra-roles{border:1px solid #d8dfd9;border-radius:.65rem;padding:.55rem;display:flex;flex-wrap:wrap;gap:.45rem}.board-role-choices legend{font-weight:650;padding:0 .25rem}.board-role-choices label,.account-extra-roles label{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .45rem;background:#eef2ed;border-radius:.4rem;font-size:.9rem;cursor:pointer}.board-role-choices input,.account-extra-roles input{width:1.1rem;height:1.1rem}.board-access-row .board-role-choices{min-width:0}@media(max-width:850px){.board-access-row .board-role-choices{grid-column:1/-1}}

/* Dashboard-Karten duerfen auf schmalen Bildschirmen keine Mindestbreite erzwingen. */
@media (max-width: 760px) {
  .main-content, .view, #dashboardView, .dashboard-grid, .dashboard-grid > *,
  .panel, .panel-header, .meeting-hero, .agenda-preview, .task-list,
  .task-row, .task-copy { min-width: 0; }
  .dashboard-grid { grid-template-columns: minmax(0, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-copy strong { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
  .meeting-hero h4, .panel-header h3, .agenda-preview li { overflow-wrap: anywhere; }
  .task-row { flex-wrap: wrap; }
  .topbar { min-width: 0; }
  .topbar .breadcrumb h1 { overflow-wrap: anywhere; }
}

