.icon { width: 1.25em; height: 1.25em; display: block; }
button { border: 0; }
.primary-button, .secondary-button, .danger-button { min-height: var(--touch); padding: 10px 14px; border-radius: 12px; font-weight: 800; }
.primary-button { background: #293f95; color: white; }
.secondary-button { background: var(--surface-strong); color: var(--text); border: 1px solid var(--line); }
.danger-button { background: #fbe9ec; color: #982f43; border: 1px solid #efc1ca; }
.full-width { width: 100%; }
.space-switcher { min-width: 0; max-width: calc(100% - 54px); display: flex; align-items: center; gap: 10px; padding: 2px; background: transparent; color: var(--text); text-align: left; }
.space-mark { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 14px; color: #fff; }
.space-mark--coral { background: var(--coral); }.space-mark--mint { background: var(--mint); }.space-mark--cobalt { background: var(--cobalt); }.space-mark--violet { background: var(--violet); }.space-mark--amber { background: var(--amber); }
.space-heading { min-width: 0; display: grid; gap: 1px; }
.space-heading small, .space-heading em { color: var(--muted); font-size: 12px; font-style: normal; }
.space-heading strong { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.switch-chevron { color: var(--muted); }
.avatar-button { width: 44px; min-width: 44px; border-radius: 50%; background: #e9edf6; color: #293f95; font-weight: 900; }
.scope-bar { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
.scope-bar button, .filter-row button { flex: 0 0 auto; min-height: 44px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-strong); color: var(--muted); }
.scope-bar button[aria-pressed="true"], .filter-row button[aria-pressed="true"] { background: #263b87; color: #fff; border-color: #263b87; }
.eyebrow { display: inline-block; font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; opacity: .72; }
.card-stack { display: grid; gap: 10px; }
.object-card { position: relative; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-strong); box-shadow: var(--shadow-card); overflow: hidden; }
.object-card__button { width: 100%; min-height: 0; display: block; padding: 14px; background: transparent; color: var(--text); text-align: left; }
.object-card__top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.object-card h3 { margin: 8px 0 5px; font-size: 15px; line-height: 1.3; }
.object-type { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.status-pill { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 850; line-height: 1.1; }
.status-pill--success { background: #def2e9; color: #17644f; }.status-pill--warning { background: #fff0d5; color: #7b4c08; }.status-pill--danger { background: #fbe6ea; color: #8d2d40; }.status-pill--neutral { background: #edf0f5; color: #596272; }
.date-line { display: grid; gap: 2px; margin: 6px 0 0; }
.date-line strong { font-size: 13px; color: #293f95; }.date-line span { font-size: 12px; color: var(--muted); }
.pin-button { position: absolute; right: 8px; bottom: 8px; width: 44px; min-width: 44px; min-height: 44px; display: grid; place-items: center; border-radius: 50%; background: #f0f2f7; color: #4b5568; }
.progress-block { display: grid; gap: 5px; margin-top: 10px; }
.progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: #e6e9f0; }.progress-track span { display: block; height: 100%; border-radius: inherit; background: #536ad7; }
.progress-block small { color: var(--muted); font-size: 12px; }
.recent-card { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 15px; border-radius: 16px; background: #fff5e7; border: 1px solid #ecd7b2; }
.recent-card h2 { margin: 4px 0; font-size: 16px; }.recent-card p { margin: 0; color: var(--muted); font-size: 13px; }.recent-card button { padding: 9px 12px; border-radius: 11px; background: #8d5a16; color: #fff; font-weight: 800; }
.menu-list { display: grid; gap: 8px; }
.menu-card { width: 100%; display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-strong); color: var(--text); text-align: left; }
.menu-card > span:first-child { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #edf0f7; color: #4256b0; }.menu-card > span:nth-child(2) { display: grid; gap: 2px; }.menu-card strong { font-size: 14px; }.menu-card small { color: var(--muted); font-size: 12px; }.menu-card i { color: var(--muted); font-style: normal; font-size: 20px; }
.mode-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-strong); }.mode-card p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.segmented { display: grid; grid-template-columns: 1fr 1fr; padding: 3px; border-radius: 12px; background: #e9edf5; }.segmented button { border-radius: 9px; background: transparent; color: var(--muted); font-weight: 800; }.segmented button[aria-pressed="true"] { background: #fff; color: #293f95; box-shadow: 0 2px 8px rgba(31,43,74,.1); }
.sheet-backdrop { position: absolute; inset: 0; z-index: 90; background: rgba(10,16,32,.45); backdrop-filter: blur(3px); }
.bottom-sheet { position: absolute; z-index: 91; left: 8px; right: 8px; bottom: 8px; max-height: 88%; display: grid; grid-template-rows: auto minmax(0,1fr); border-radius: 24px; background: var(--surface-strong); box-shadow: 0 26px 70px rgba(12,18,35,.32); overflow: hidden; }
.bottom-sheet > header { display: flex; justify-content: space-between; align-items: center; padding: 15px 16px; border-bottom: 1px solid var(--line); }.bottom-sheet > header h2 { margin: 0; font-size: 18px; }.bottom-sheet > header button { width: 44px; min-width: 44px; display: grid; place-items: center; border-radius: 50%; background: #f0f2f7; }
.sheet-body { min-height: 0; overflow-y: auto; padding: 16px; }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.action-grid button { min-height: 72px; display: grid; justify-items: start; align-content: center; gap: 5px; padding: 12px; border-radius: 14px; background: #f0f3f8; color: var(--text); text-align: left; }.action-grid button span { font-size: 21px; color: #4256b0; }.action-grid button strong { font-size: 13px; }
.sheet-separator { height: 1px; margin: 14px 0; background: var(--line); }.wide-option { width: 100%; padding: 12px; border-radius: 12px; background: transparent; color: #293f95; border: 1px solid var(--line); font-weight: 800; }
.field { display: grid; gap: 6px; margin-bottom: 12px; }.field > span { font-size: 13px; font-weight: 800; }.field small { color: var(--muted); font-size: 12px; }.field input,.field select,.field textarea,.chat-card input { width: 100%; min-height: 44px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--text); }
.scope-summary,.support-note { padding: 10px 12px; border-radius: 11px; background: #eef2fa; color: #445069; font-size: 13px; }
.subtask-editor { margin: 0 0 14px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; }.subtask-editor legend { font-weight: 850; }
.subtask-input { display: grid; grid-template-columns: minmax(0,1fr) auto 44px; gap: 6px; align-items: center; margin-bottom: 7px; }.subtask-input label { font-size: 12px; }.subtask-input button { min-height: 44px; }
.picker-list { display: grid; gap: 8px; }.picker-item { width: 100%; display: flex; gap: 10px; align-items: center; padding: 10px; border-radius: 14px; background: #f2f4f8; color: var(--text); text-align: left; }.picker-item > span:last-child { display: grid; gap: 2px; }.picker-item small { color: var(--muted); }
.avatar-mini { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #e7ebf5; color: #2e438f; font-weight: 900; }
.detail-title h2 { margin: 8px 0 16px; font-size: 21px; }.detail-list { margin: 0 0 14px; }.detail-list div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }.detail-list dt { color: var(--muted); }.detail-list dd { margin: 0; font-weight: 800; text-align: right; }
.subtask-list { display: grid; gap: 8px; margin: 14px 0; }.subtask-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 9px; border: 1px solid var(--line); border-radius: 12px; }.subtask-row > button { width: 44px; min-width: 44px; border: 2px solid #aeb6c6; border-radius: 10px; background: #fff; color: var(--success); font-weight: 900; }.subtask-row > span:nth-child(2) { display: grid; }.subtask-row small { color: var(--muted); }.subtask-row.is-done strong { text-decoration: line-through; color: var(--muted); }.move-buttons { display: flex; }.move-buttons button { width: 44px; min-width: 44px; min-height: 44px; background: transparent; }
.inline-error,.global-error { padding: 10px 12px; border-radius: 11px; background: #fbe6ea; color: #8d2d40; font-weight: 750; }.global-error { margin: 10px 16px 0; }
.action-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }.statement-list { display: grid; gap: 8px; margin-top: 14px; }.statement-list > div { padding: 10px; border-left: 4px solid #d1a348; border-radius: 8px; background: #f7f3e7; }.statement-list span { display: block; color: var(--muted); font-size: 12px; }.statement-list p { margin: 4px 0 0; }
.payload-preview { white-space: pre-wrap; padding: 10px; border-radius: 10px; background: #f4f5f8; font-size: 12px; }
.access-denied,.empty-state { display: grid; justify-items: center; gap: 8px; padding: 26px 16px; text-align: center; }.access-denied .icon,.empty-state .icon { width: 34px; height: 34px; color: var(--muted); }.access-denied h2,.empty-state h2 { margin: 3px 0; }.access-denied p,.empty-state p { margin: 0; color: var(--muted); }
.toast { position: absolute; z-index: 120; left: 14px; right: 14px; bottom: 82px; padding: 11px 14px; border-radius: 12px; background: #17213b; color: white; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
[data-complexity="advanced"] { display: none !important; }
.mobile-app[data-complexity="erweitert"] [data-complexity="advanced"] { display: block !important; }
.toast { pointer-events: none; }

.wizard-form { display: grid; gap: 14px; }
.wizard-form fieldset { margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 14px; }
.wizard-form legend { padding: 0 6px; font-weight: 850; }
.checkbox-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.checkbox-list label, .check-field { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.checkbox-list input, .check-field input { width: 20px; height: 20px; }
