/* Enterprise suite additions */
.detail-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0 22px; border-bottom:1px solid var(--outline-variant); padding-bottom:10px; }
.tab { border:1px solid var(--outline-variant); background:var(--surface); color:var(--on-surface); border-radius:12px; padding:10px 14px; font-weight:700; cursor:pointer; }
.tab.active { background:var(--primary); color:var(--on-primary); border-color:var(--primary); }
.project-overview-grid,.task-detail-grid,.two-column-page { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; align-items:start; }
.detail-main,.detail-side { min-width:0; }
.detail-side { position:sticky; top:86px; }
.viewer-summary { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:16px; }
.smart-list,.inbox-list,.activity-feed,.file-list-mini { display:grid; gap:10px; }
.smart-row { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; text-align:left; border:1px solid var(--outline-variant); border-radius:14px; padding:12px; background:var(--surface-container-lowest); color:var(--on-surface); cursor:pointer; }
.smart-row:hover { border-color:var(--primary); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.smart-row strong { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.smart-row small { display:block; color:var(--on-surface-variant); margin-top:3px; }
.status-dot { width:10px; height:10px; border-radius:999px; background:var(--outline); }
.status-dot.todo{background:#777587}.status-dot.progress{background:#39b8fd}.status-dot.blocked{background:#ba1a1a}.status-dot.waiting{background:#3130c0}.status-dot.review{background:#4d44e3}.status-dot.done{background:#777587}
.my-day-grid { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:16px; margin-bottom:24px; }
.lane-card { min-height:180px; }
.lane-card h2 { display:flex; justify-content:space-between; align-items:center; margin-top:0; }
.lane-card.error { border-color:rgba(186,26,26,.35); }.lane-card.warn{border-color:rgba(239,108,0,.35)}.lane-card.track{border-color:rgba(0,101,145,.35)}.lane-card.delay{border-color:rgba(186,26,26,.55)}
.notification { display:grid; grid-template-columns:1fr auto; gap:8px; border:1px solid var(--outline-variant); border-radius:14px; background:var(--surface-container-lowest); overflow:hidden; }
.notification.read { opacity:.65; }
.notification > button:first-child { padding:14px; background:transparent; border:0; color:inherit; text-align:left; cursor:pointer; }
.notification strong,.notification span,.notification small { display:block; }
.notification span { color:var(--on-surface-variant); margin-top:4px; }
.notification small { color:var(--outline); margin-top:8px; }
.activity-row { display:grid; grid-template-columns:36px 1fr; gap:10px; padding:12px; border:1px solid var(--outline-variant); border-radius:14px; background:var(--surface-container-lowest); }
.activity-row .material-symbols-outlined { color:var(--primary); }
.activity-row strong { display:block; }.activity-row p { margin:3px 0; color:var(--on-surface-variant); }.activity-row small { color:var(--outline); }
.activity-feed.full { max-width:960px; }
.project-task-col { min-width:260px; background:var(--surface-container-low); border:1px solid var(--outline-variant); border-radius:18px; padding:12px; display:grid; gap:10px; align-content:start; }
.project-task-col h3 { display:flex; gap:8px; align-items:center; margin:0 0 4px; }
.project-task-col h3 b { margin-left:auto; background:var(--surface-container-high); border-radius:999px; padding:2px 8px; }
.task-board-wide { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.embedded.timeline-shell { margin-top:8px; height:min(68vh,720px); }
.calendar-board { display:grid; gap:12px; align-items:start; }
.calendar-board.day { grid-template-columns:1fr; }
.calendar-board.week { grid-template-columns:repeat(7,minmax(160px,1fr)); }
.calendar-board.month,.calendar-board.quarter { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.calendar-bucket { min-height:220px; border:1px solid var(--outline-variant); background:var(--surface-container-lowest); border-radius:18px; padding:14px; display:grid; gap:10px; align-content:start; }
.calendar-bucket.today { outline:2px solid var(--primary); }
.calendar-bucket h3 { margin:0 0 4px; }
.calendar-item { position:relative; display:block; width:100%; text-align:left; border:1px solid var(--outline-variant); border-left:5px solid var(--primary); border-radius:12px; background:var(--surface); padding:10px 36px 10px 10px; color:var(--on-surface); cursor:pointer; }
.calendar-item.progress { border-left-color:#39b8fd; }.calendar-item.blocked { border-left-color:#ba1a1a; background:rgba(186,26,26,.08); }.calendar-item.waiting { border-left-color:#3130c0; }.calendar-item.review { border-left-color:#4d44e3; }.calendar-item.done { opacity:.62; }
.calendar-item span,.calendar-item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-item small { color:var(--on-surface-variant); margin-top:4px; }
.calendar-item i { position:absolute; right:8px; top:9px; font-size:18px; color:var(--error); }
.file-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.file-card,.file-mini { display:flex; align-items:center; gap:10px; border:1px solid var(--outline-variant); border-radius:14px; background:var(--surface-container-lowest); padding:12px; }
.file-card > .material-symbols-outlined { color:var(--primary); }
.file-card div { min-width:0; flex:1; }.file-card strong,.file-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.file-card small { color:var(--on-surface-variant); }
.upload-box { display:grid; gap:8px; margin-top:10px; }
.upload-box input[type=file] { max-width:100%; }
.page-alert { margin-bottom:18px; }
@media (max-width: 1100px) { .project-overview-grid,.task-detail-grid,.two-column-page { grid-template-columns:1fr; } .detail-side { position:static; } .my-day-grid { grid-template-columns:repeat(2,minmax(220px,1fr)); } .calendar-board.week { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); } }
@media (max-width: 720px) { .my-day-grid { grid-template-columns:1fr; } .task-board-wide { grid-template-columns:1fr; } .detail-tabs { overflow:auto; flex-wrap:nowrap; } .tab { white-space:nowrap; } }

/* Enterprise Ops Suite additions */
.suggestion-grid,.approval-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.suggestion .material-symbols-outlined{font-size:30px;color:var(--primary)}.suggestion.error{border-color:rgba(186,26,26,.35)}.suggestion.warn{border-color:rgba(180,83,9,.35)}.suggestion.info{border-color:rgba(0,101,145,.35)}.badge.error,.badge.warn{background:var(--error-container);color:var(--error)}.badge.info{background:var(--surface-container-high);color:var(--secondary)}.risk-row.error{background:rgba(255,218,214,.45)}.risk-row.warn{background:rgba(255,243,224,.65)}.approval-card{border:1px solid var(--outline-variant);border-radius:var(--radius);padding:14px;margin:12px 0;background:var(--surface-container-lowest)}.comment-thread{display:flex;flex-direction:column;gap:12px}.comment.internal .comment-bubble{background:color-mix(in srgb,var(--tertiary) 8%,var(--surface))}.comment.decision .comment-bubble{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}.comment-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.comment-reply{display:flex;gap:8px;margin-top:10px;padding:8px;border-left:3px solid var(--outline-variant);background:var(--surface-container-low);border-radius:8px}.comment-reply p{margin:2px 0}.comment-reply-form{display:flex;gap:8px;margin-top:8px}.comment-reply-form .input{min-height:34px}.comment-compose{display:grid;gap:10px;border:1px dashed var(--outline-variant);border-radius:var(--radius);padding:12px;background:var(--surface-container-lowest)}.tiny{font-size:12px;min-height:28px;padding:3px 8px}.diagnostic-list{display:grid;gap:10px}.diagnostic-row{display:grid;grid-template-columns:28px minmax(140px,1fr) 1.3fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface-container-lowest)}.diagnostic-row.ok .material-symbols-outlined{color:#15803d}.diagnostic-row.warn .material-symbols-outlined{color:var(--error)}.toolbar.vertical{display:grid;align-items:stretch}.statline{font-size:18px;padding:10px 0}.report-preview{max-width:1100px;margin-inline:auto}.report-preview h1{font-size:32px}.report-preview h2{margin-top:24px}.file-mini small,.file-card small{display:block}.avatar.xs{width:22px;height:22px;font-size:10px}.settings-tabs{flex-wrap:wrap}.form-stack details{border:1px solid var(--outline-variant);border-radius:var(--radius);padding:10px;background:var(--surface-container-lowest)}@media (max-width:760px){.diagnostic-row{grid-template-columns:28px 1fr}.diagnostic-row small{grid-column:2}.comment-reply-form{display:grid}.suggestion-grid,.approval-board{grid-template-columns:1fr}}
.dependency-map{display:grid;gap:10px}.dependency-rule-row{display:grid;grid-template-columns:minmax(160px,1fr) 32px minmax(160px,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface-container-lowest)}.dependency-rule-row.system{background:var(--surface-container-low)}@media(max-width:760px){.dependency-rule-row{grid-template-columns:1fr 32px 1fr}.dependency-rule-row small,.dependency-rule-row button{grid-column:1/-1}}

/* Sidebar-Kategorien, Scroll und Admin-Feature-Schalter */
.sidebar { overflow: hidden; min-height: 0; }
.sidebar > .btn.primary { flex: 0 0 auto; }
.sidebar-nav-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
  margin-right: -4px;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--outline) 65%, transparent) transparent;
}
.sidebar-nav-scroll::-webkit-scrollbar { width: 8px; }
.sidebar-nav-scroll::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav-scroll::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--outline) 58%, transparent);
  border-radius: 999px;
}
.nav-group { flex: 0 0 auto; gap: 16px; padding-bottom: 12px; }
.nav-section { display: grid; gap: 4px; }
.nav-section-title {
  padding: 10px 12px 2px 16px;
  color: var(--on-surface-variant);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  opacity: .76;
}
.sidebar-footer { flex: 0 0 auto; margin-top: 0; }
.layout.sidebar-collapsed .nav-section-title,
.layout.sidebar-collapsed .nav-item span:last-child,
.layout.sidebar-collapsed .brand > div:last-child,
.layout.sidebar-collapsed .sidebar > .btn.primary span:last-child,
.layout.sidebar-collapsed .user-mini > div:last-child { display: none; }

.feature-settings { display: grid; gap: 20px; }
.feature-group { display: grid; gap: 10px; }
.feature-group h3 { color: var(--on-surface); font-size: 16px; }
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
}
.feature-toggle {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 13px;
  border: 1px solid var(--outline-variant);
  border-radius: var(--radius);
  background: var(--surface-container-lowest);
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.feature-toggle:hover { border-color: var(--primary); background: var(--surface-bright); }
.feature-toggle input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--primary); }
.feature-toggle-body { display: grid; gap: 3px; min-width: 0; }
.feature-toggle-body strong { color: var(--on-surface); }
.feature-toggle-body small { color: var(--on-surface-variant); line-height: 1.35; }
@media (max-width: 760px) {
  .feature-grid { grid-template-columns: 1fr; }
  .sidebar-nav-scroll { max-height: calc(100vh - 210px); }
}

/* Persistente Arbeitsfläche und Scrollpositionen */
.main {
  height: 100vh;
  overflow: hidden;
}
.content {
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  scroll-behavior: auto;
}
.sidebar-nav-scroll {
  overscroll-behavior: contain;
}
.settings-tabs {
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--background);
  padding-block: 4px 12px;
}


/* MSP / PSA Suite additions */
.psa-exec-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:18px}.mini-kpi{display:flex;align-items:center;gap:14px;padding:16px}.mini-kpi .material-symbols-outlined{font-size:30px;color:var(--primary)}.mini-kpi strong{display:block;font-size:24px}.mini-kpi small{color:var(--muted)}
.psa-board-layout,.technician-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.psa-table{display:flex;flex-direction:column;gap:10px}.psa-row{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto;gap:12px;align-items:center;width:100%;text-align:left;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}button.psa-row:hover{border-color:var(--primary);box-shadow:var(--shadow)}.psa-row small{display:block;color:var(--muted);margin-top:3px}.ticket-row{grid-template-columns:auto minmax(220px,1fr) auto minmax(120px,auto)}
.customer-grid,.resource-grid,.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.customer-card,.resource-card{display:flex;flex-direction:column;gap:14px}.kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi-strip span{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px}.kpi-strip strong{display:block;font-size:18px}.kpi-strip small{color:var(--muted)}.contract-box{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.resource-card .avatar.lg{width:54px;height:54px}.tech-task{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;margin-bottom:10px}.tech-task:hover{border-color:var(--primary)}.switch{position:relative;display:inline-block;width:46px;height:26px}.switch input{display:none}.switch span{position:absolute;cursor:pointer;inset:0;background:var(--surface-3);border:1px solid var(--border);border-radius:999px}.switch span:before{content:"";position:absolute;height:20px;width:20px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.25)}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:before{transform:translateX(20px)}
@media(max-width:1100px){.psa-exec-grid{grid-template-columns:repeat(2,1fr)}.psa-board-layout,.technician-layout{grid-template-columns:1fr}.psa-row{grid-template-columns:1fr}.ticket-row{grid-template-columns:1fr}.kpi-strip{grid-template-columns:1fr}}

/* Ticket Workbench 5.1 */
.ticket-workbench{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.ticket-left{display:flex;flex-direction:column;gap:18px;min-width:0}
.ticket-right{position:sticky;top:16px;max-height:calc(100vh - 130px);overflow:auto}
.ticket-queue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:12px}
.ticket-queue{border:1px solid var(--outline-variant);border-radius:14px;background:var(--surface-container-low);padding:12px;min-height:150px}
.ticket-queue header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:800}
.ticket-queue header b{margin-left:auto;background:var(--primary-fixed);color:var(--on-primary-fixed);border-radius:999px;padding:3px 9px;font-size:12px}
.ticket-mini{width:100%;border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface);padding:10px 12px;display:flex;justify-content:space-between;gap:10px;text-align:left;margin-bottom:8px;color:var(--on-surface);cursor:pointer}
.ticket-mini:hover{border-color:var(--primary);box-shadow:var(--shadow-2)}
.ticket-mini.delay{border-color:var(--error)}.ticket-mini.risk{border-color:#f59e0b}.ticket-mini.done{opacity:.72}
.ticket-mini strong,.ticket-mini small{display:block}.ticket-mini small{color:var(--on-surface-variant);margin-top:3px}.ticket-mini em{font-style:normal;white-space:nowrap;color:var(--primary);font-weight:800}
.ticket-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.ticket-detail-main{display:flex;flex-direction:column;gap:18px}.ticket-detail-side{position:sticky;top:18px}
.ticket-meta-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:16px}.ticket-meta-strip span{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:12px;padding:10px;color:var(--on-surface-variant)}.ticket-meta-strip b{display:block;color:var(--on-surface);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.ticket-subtask-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ticket-subtask{display:flex;align-items:center;gap:10px;border:1px solid var(--outline-variant);border-radius:12px;background:var(--surface);padding:9px 10px}.ticket-subtask .inline-title{flex:1;background:transparent;border:0;color:var(--on-surface);font:inherit;font-weight:650;outline:0}.ticket-subtask input[type=checkbox]{width:18px;height:18px}
.time-entry-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:12px;align-items:start;border-bottom:1px solid var(--outline-variant);padding:10px 0}.time-entry-row:last-child{border-bottom:0}.time-entry-row strong,.time-entry-row small{display:block}.time-entry-row small{color:var(--on-surface-variant);margin-top:2px}
.active-timers{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.active-timers.empty{align-items:center;border:1px dashed var(--outline-variant);border-radius:14px;padding:12px;color:var(--on-surface-variant);background:var(--surface-container-low)}.active-timer{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--primary);box-shadow:var(--shadow-2);border-radius:14px;padding:10px 12px;min-width:280px}.active-timer.paused{border-color:var(--outline-variant);opacity:.82}.active-timer>span.material-symbols-outlined{color:var(--primary)}.active-timer strong,.active-timer small{display:block}.active-timer small{color:var(--on-surface-variant)}.active-timer .toolbar{margin-left:auto}.select.compact{width:auto;min-width:180px;padding:7px 10px}.toolbar.compact{display:flex;gap:6px}
.tech-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.tech-kpis{display:flex;gap:10px}.tech-kpis span{min-width:90px;background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:14px;padding:12px;text-align:center}.tech-kpis b{display:block;font-size:28px;color:var(--primary)}.tech-kpis small{color:var(--on-surface-variant)}.technician-layout.wide{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr)}.ticket-tech{border-left:4px solid var(--primary)}
.btn.full{width:100%;justify-content:center}.dot.open{background:#64748b}.dot.in_progress{background:#0ea5e9}.dot.scheduled{background:#7c3aed}.dot.waiting{background:#f59e0b}.dot.resolved{background:#22c55e}
@media(max-width:1100px){.ticket-workbench,.ticket-detail-layout{grid-template-columns:1fr}.ticket-right,.ticket-detail-side{position:static;max-height:none}.tech-hero{flex-direction:column;align-items:flex-start}}


/* Hotfix 5.1.1: Timer controls, stat-icon clipping and Myfactory sync cards */
.stat-icon { overflow: hidden; flex: 0 0 48px; }
.stat-icon .material-symbols-outlined { font-size: 26px; line-height: 1; width: 1em; height: 1em; display: inline-flex; align-items: center; justify-content: center; }
.active-timer .toolbar.compact { flex-wrap: wrap; justify-content: flex-end; }
.active-timer .btn.danger { color: var(--error); border-color: color-mix(in srgb, var(--error) 45%, var(--outline-variant)); background: color-mix(in srgb, var(--error-container) 35%, var(--surface)); }
.integration-grid .card .muted.small { overflow-wrap: anywhere; }


/* Ticketgruppen, Termine und Kalender-Tickets */
.ticket-filterbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.ticket-filterbar label{display:flex;align-items:center;gap:.75rem;font-weight:700}.ticket-group-admin{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.ticket-group-editor{border:1px solid var(--outline-variant);border-radius:var(--radius);padding:1rem;background:var(--surface-container-low)}.group-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.4rem .8rem;margin-top:.75rem}.group-member-grid label{font-size:.85rem}.appointment-list{display:grid;gap:.75rem}.appointment-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,220px) minmax(160px,220px) auto;gap:.5rem;align-items:center}.calendar-item.ticket-cal{border-left:4px solid var(--secondary);background:linear-gradient(135deg,rgba(57,184,253,.14),rgba(53,37,205,.1))}.calendar-item.ticket-cal.scheduled{border-left-color:#4d44e3}.calendar-item.ticket-cal.waiting{border-left-color:#f59e0b}.calendar-item.ticket-cal.open{border-left-color:#39b8fd}@media(max-width:900px){.appointment-row{grid-template-columns:1fr}.ticket-filterbar{align-items:stretch}.ticket-filterbar label{flex-direction:column;align-items:flex-start}}


/* Hotfix 5.2.1: Cockpit stat icons im Dark Mode besser lesbar machen */
.stat-card { gap: 16px; overflow: hidden; }
.stat-card .stat-icon {
  position: relative;
  isolation: isolate;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent);
}
.stat-card .stat-icon::before {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: inherit;
  background: currentColor;
  opacity: .07;
  z-index: -1;
}
.stat-icon.tone-primary { background: color-mix(in srgb, var(--primary) 14%, var(--surface-container-lowest)); color: var(--primary); }
.stat-icon.tone-secondary { background: color-mix(in srgb, var(--secondary) 14%, var(--surface-container-lowest)); color: var(--secondary); }
.stat-icon.tone-error,
.stat-icon.error-bg { background: color-mix(in srgb, var(--error) 14%, var(--surface-container-lowest)) !important; color: var(--error) !important; }
.text-secondary { color: var(--secondary) !important; }
.stat-icon .material-symbols-outlined {
  font-size: 27px;
  line-height: 1;
  width: 1em;
  height: 1em;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-variation-settings: 'FILL' 0, 'wght' 560, 'GRAD' 0, 'opsz' 24;
}
[data-theme="dark"] .stat-card {
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-container-lowest) 84%, var(--surface-container-high)), var(--surface-container-lowest));
}
[data-theme="dark"] .stat-icon.tone-primary {
  background: linear-gradient(135deg, #4f46e5, #312e81);
  color: #eef2ff;
  box-shadow: 0 10px 24px rgba(79,70,229,.28), inset 0 0 0 1px rgba(255,255,255,.14);
}
[data-theme="dark"] .stat-icon.tone-secondary {
  background: linear-gradient(135deg, #0ea5e9, #075985);
  color: #ecfeff;
  box-shadow: 0 10px 24px rgba(14,165,233,.20), inset 0 0 0 1px rgba(255,255,255,.14);
}
[data-theme="dark"] .stat-icon.tone-error,
[data-theme="dark"] .stat-icon.error-bg {
  background: linear-gradient(135deg, #ef4444, #7f1d1d) !important;
  color: #fff1f2 !important;
  box-shadow: 0 10px 24px rgba(239,68,68,.22), inset 0 0 0 1px rgba(255,255,255,.14);
}
[data-theme="dark"] .stat-icon .material-symbols-outlined {
  color: inherit;
  text-shadow: 0 1px 8px rgba(0,0,0,.22);
}
[data-theme="dark"] .stat-icon::before { display: none; }
[data-theme="dark"] .stat-value { color: #7c73ff; }
[data-theme="dark"] .stat-value.text-error { color: #ff5a5a !important; }
[data-theme="dark"] .stat-value.text-secondary { color: #38bdf8 !important; }

/* Ticket workbench refinements: billing, internal notes, appointment sync */
.inline-icon{font-size:1rem;vertical-align:-0.18em;margin-right:.25rem}.comment-bubble.internal-note{border-color:color-mix(in srgb,var(--warning,#f59e0b) 45%,var(--line));background:color-mix(in srgb,var(--warning,#f59e0b) 12%,var(--card))}.active-timer .select.compact{min-width:130px;max-width:220px}.appointment-list .muted .material-symbols-outlined{font-size:16px}.ticket-meta-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.calendar-item.ticket-cal{border-left:4px solid var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card))}.calendar-item.ticket-cal.scheduled{border-left-color:var(--secondary)}.calendar-item.ticket-cal.waiting{border-left-color:var(--warning,#f59e0b)}.calendar-item.ticket-cal.closed,.calendar-item.ticket-cal.resolved{opacity:.72}.dark .calendar-item.ticket-cal{background:color-mix(in srgb,var(--primary) 16%,var(--card))}.comment-form .select.compact{width:max-content;max-width:100%}

/* 5.3.1 Kalender- und Zeitbuchungs-Fix */
.time-entry-details { border: 1px solid var(--outline-variant); border-radius: var(--radius); background: var(--surface-container-low); padding: .85rem; margin-bottom: 1rem; }
.time-entry-details summary { cursor: pointer; font-weight: 800; display: flex; align-items: center; gap: .35rem; }
.time-entry-details[open] summary { margin-bottom: .75rem; }
.time-entry-form textarea, .editable-time-log textarea { min-height: 76px; width: 100%; }
.editable-time-log { display: grid; gap: .9rem; }
.time-entry-row.editable { display: block; border: 1px solid var(--outline-variant); border-radius: var(--radius); padding: 1rem; background: var(--surface-container-lowest); }
.time-entry-title { display: flex; align-items: flex-start; gap: .75rem; margin-bottom: .8rem; }
.time-entry-title > .material-symbols-outlined { color: var(--primary); margin-top: .15rem; }
.time-entry-title strong, .time-entry-title small { display: block; }
.time-entry-edit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; margin-bottom: .75rem; }
.time-segments { border: 1px dashed var(--outline-variant); border-radius: calc(var(--radius) - 2px); padding: .75rem; display: grid; gap: .5rem; background: color-mix(in srgb, var(--surface-container-low) 55%, transparent); margin-top: .75rem; }
.time-segment-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) auto; gap: .5rem; align-items: center; }
.time-entry-summary p { margin: .25rem 0 0; color: var(--on-surface-variant); }
.calendar-board.day .calendar-bucket { min-height: 260px; }
.calendar-item .inline-icon { font-size: 16px; margin-right: .25rem; color: currentColor; }
[data-theme="dark"] .time-entry-row.editable, [data-theme="dark"] .time-entry-details { background: color-mix(in srgb, var(--surface-container-lowest) 88%, var(--primary) 4%); }
@media(max-width: 760px) { .time-segment-row { grid-template-columns: 1fr; } .time-entry-edit-grid { grid-template-columns: 1fr; } }

/* Calendar readability fix: keine überlappenden Karten, alle Texte umbrechen lesbar. */
.calendar-board {
  width: 100%;
  min-width: 0;
  align-items: stretch;
}
.calendar-board.week {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.calendar-board.month {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.calendar-board.quarter {
  grid-template-columns: repeat(3, minmax(280px, 1fr));
}
.calendar-bucket {
  min-width: 0;
  overflow: hidden;
}
.calendar-board.week .calendar-bucket {
  min-height: 260px;
}
.calendar-board.month .calendar-bucket {
  min-height: 118px;
  padding: 10px;
  gap: 6px;
  border-radius: 14px;
}
.calendar-board.quarter .calendar-bucket {
  min-height: 260px;
}
.calendar-item {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding-right: 30px;
  line-height: 1.3;
}
.calendar-item span,
.calendar-item small {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.calendar-item > span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 750;
}
.calendar-item > small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.35;
}
.calendar-board.month .calendar-item {
  padding: 8px 9px;
  border-radius: 10px;
  font-size: 12px;
}
.calendar-board.month .calendar-item > span,
.calendar-board.month .calendar-item > small {
  -webkit-line-clamp: 2;
}
.calendar-board.month .calendar-item i {
  display: none;
}
.calendar-board.day .calendar-item > span,
.calendar-board.day .calendar-item > small,
.calendar-board.quarter .calendar-item > span,
.calendar-board.quarter .calendar-item > small {
  -webkit-line-clamp: 3;
}
.calendar-bucket h3 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-empty-dot {
  color: var(--on-surface-variant);
  opacity: .55;
  font-weight: 700;
}
.calendar-item .inline-icon {
  flex: 0 0 auto;
  vertical-align: -0.16em;
}
@media (max-width: 1250px) {
  .calendar-board.week,
  .calendar-board.month {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  }
}
@media (max-width: 760px) {
  .calendar-board.week,
  .calendar-board.month,
  .calendar-board.quarter {
    grid-template-columns: 1fr;
  }
  .calendar-board.month .calendar-bucket {
    min-height: 130px;
  }
}


