/* Professionelle Werkstattoberfläche – bestehende Funktionen bleiben unverändert. */
.app-shell {
    --app-bg: #0d0f13;
    --app-sidebar: #111318;
    --app-surface: #171a20;
    --app-surface-2: #1c2027;
    --app-surface-3: #222730;
    --app-border: #2b3039;
    --app-border-soft: #232831;
    --app-text: #f3f5f7;
    --app-muted: #929ba6;
    --app-red: #d71920;
    --app-red-hover: #ed252c;
    --app-green: #3dbb7f;
    --app-yellow: #e2a847;
    --app-blue: #5e93d8;
    background: var(--app-bg);
    color: var(--app-text);
    font-size: 16px;
}

.app-shell .site-header {
    position: sticky;
    height: 64px;
    background: #0b0d10;
    border-bottom: 1px solid var(--app-border);
    box-shadow: none;
    backdrop-filter: none;
}
.app-shell .nav-wrap { width: 100%; max-width: none; height: 64px; padding: 0 22px; }
.app-shell .brand { gap: 11px; letter-spacing: .03em; }
.app-shell .brand-mark {
    width: 36px;
    height: 36px;
    border-radius: 7px;
    background: var(--app-red);
    box-shadow: none;
    font-size: .78rem;
}
.app-shell .brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.app-shell .brand-copy strong { font-size: .82rem; letter-spacing: .06em; }
.app-shell .brand-copy small { margin-top: 4px; color: #737c87; font-size: .68rem; font-weight: 600; letter-spacing: .02em; text-transform: none; }
.app-shell .main-nav { gap: 12px; }
.app-shell .header-user { display: flex; align-items: center; gap: 9px; padding: 6px 10px; border-radius: 7px; }
.app-shell .header-user:hover { background: var(--app-surface); }
.app-shell .header-avatar,
.app-shell .sidebar-avatar { display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #3a414c; background: #232830; color: #fff; font-weight: 800; }
.app-shell .header-avatar { width: 32px; height: 32px; border-radius: 7px; font-size: .69rem; }
.app-shell .header-user > span:last-child { display: flex; flex-direction: column; line-height: 1.2; }
.app-shell .header-user strong { font-size: .78rem; }
.app-shell .header-user small { margin-top: 2px; color: var(--app-muted); font-size: .68rem; }
.app-shell .header-logout { padding: 7px 10px; color: var(--app-muted); font-size: .78rem; }
.app-shell .header-logout:hover { color: #fff !important; }

.app-shell .portal { grid-template-columns: 232px minmax(0, 1fr); min-height: calc(100vh - 64px); }
.app-shell .sidebar {
    top: 64px;
    height: calc(100vh - 64px);
    padding: 16px 13px 24px;
    background: var(--app-sidebar);
    border-right: 1px solid var(--app-border);
}
.app-shell .user-box { display: flex; align-items: center; gap: 10px; padding: 10px; margin-bottom: 14px; border: 1px solid var(--app-border-soft); background: #15181e; border-radius: 8px; }
.app-shell .sidebar-avatar { width: 35px; height: 35px; border-radius: 7px; font-size: .72rem; }
.app-shell .sidebar-user { display: flex; min-width: 0; flex-direction: column; line-height: 1.2; }
.app-shell .sidebar-user strong { overflow: hidden; font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .sidebar-user small { margin-top: 3px; color: var(--app-muted); font-size: .68rem; }

.app-shell .quick-search { margin-bottom: 16px; }
.app-shell .quick-search label { margin: 0 0 7px 2px; color: #68717d; font-size: .67rem; letter-spacing: .11em; }
.app-shell .quick-search input { height: 38px; padding: 0 10px; background: #0d0f13; border-color: var(--app-border); border-radius: 7px 0 0 7px; font-size: .76rem; }
.app-shell .quick-search input::placeholder { color: #5f6873; }
.app-shell .quick-search button { display: grid; width: 38px; place-items: center; border-radius: 0 7px 7px 0; background: var(--app-surface-3); }
.app-shell .quick-search button:hover { background: #303640; }
.app-shell .quick-search button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.app-shell .side-nav { gap: 2px; }
.app-shell .nav-section { display: block; margin: 15px 9px 6px; color: #616a75; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.app-shell .nav-section:first-child { margin-top: 0; }
.app-shell .side-nav a { display: flex; align-items: center; gap: 10px; min-height: 39px; padding: 8px 10px; border-radius: 6px; color: #a8b0ba; font-size: .79rem; font-weight: 600; }
.app-shell .side-nav a:hover { background: #191d23; color: #fff; }
.app-shell .side-nav a.active { position: relative; background: #20242b; color: #fff; box-shadow: none; }
.app-shell .side-nav a.active::before { position: absolute; left: 0; width: 3px; height: 20px; border-radius: 0 2px 2px 0; background: var(--app-red); content: ""; }
.app-shell .nav-icon { display: grid; width: 20px; height: 20px; flex: 0 0 20px; place-items: center; color: #747e89; }
.app-shell .side-nav a.active .nav-icon { color: #fff; }
.app-shell .nav-icon svg,
.app-shell .btn svg,
.app-shell .metric-icon svg,
.app-shell .dashboard-empty svg,
.app-shell .quick-action-list svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; }

.app-shell .portal-main { min-width: 0; padding: 28px 30px 42px; background: var(--app-bg); }
.app-shell .portal-main > * { max-width: 1480px; margin-left: auto; margin-right: auto; }
.app-shell .portal-head { margin-bottom: 20px; }
.app-shell .portal-head h1 { font-size: 1.55rem; font-weight: 750; }
.app-shell .eyebrow,
.app-shell .page-kicker,
.app-shell .section-label { color: #727c88; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.app-shell .btn { min-height: 38px; padding: 8px 13px; border: 1px solid var(--app-red); border-radius: 6px; background: var(--app-red); box-shadow: none; font-size: .78rem; }
.app-shell .btn:hover { background: var(--app-red-hover); border-color: var(--app-red-hover); transform: none; }
.app-shell .btn-secondary,
.app-shell .btn-dark { background: var(--app-surface-2); border-color: var(--app-border); color: #d7dce2; }
.app-shell .btn-secondary:hover,
.app-shell .btn-dark:hover { background: #262b33; border-color: #3a414c; }
.app-shell .btn-small { min-height: 32px; padding: 6px 10px; }
.app-shell .btn-complete { background: #23875c; border-color: #2c9e6e; color: #fff; }
.app-shell .btn-complete:hover { background: #2d9d6d; border-color: #36b07c; }

.app-shell .panel,
.app-shell .card,
.app-shell .work-panel { background: var(--app-surface); border: 1px solid var(--app-border); border-radius: 8px; box-shadow: none; }
.app-shell .panel { padding: 19px; margin-bottom: 16px; }
.app-shell .panel h2 { font-size: 1rem; }
.app-shell .card { padding: 18px; }
.app-shell .field label { color: #c6ccd3; font-size: .78rem; }
.app-shell .field input,
.app-shell .field select,
.app-shell .field textarea,
.app-shell .inline-form input,
.app-shell .inline-form select { min-height: 39px; padding: 8px 10px; background: #101217; border-color: var(--app-border); border-radius: 6px; font-size: .8rem; }
.app-shell .field input:focus,
.app-shell .field select:focus,
.app-shell .field textarea:focus { border-color: #636e7b; box-shadow: 0 0 0 3px rgba(99, 110, 123, .12); }
.app-shell table { font-size: .78rem; }
.app-shell th,
.app-shell td { padding: 10px 12px; border-color: var(--app-border-soft); }
.app-shell th { background: #1c2026; color: #858f9b; font-size: .67rem; }
.app-shell .table-wrap { background: var(--app-surface); border-color: var(--app-border); border-radius: 7px; }
.app-shell tbody tr:hover { background: #1a1e24; }
.app-shell .badge,
.app-shell .status-pill { border: 1px solid #3b424d; background: #252a32; color: #bdc5ce; font-size: .67rem; }

/* Dashboard */
.app-shell .dashboard-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.app-shell .dashboard-toolbar h1 { margin: 3px 0 0; font-size: 1.65rem; line-height: 1.2; letter-spacing: -.025em; }
.app-shell .dashboard-toolbar p { margin: 7px 0 0; color: var(--app-muted); font-size: .78rem; }
.app-shell .dashboard-actions { display: flex; gap: 8px; }
.app-shell .dashboard-actions .btn svg,
.app-shell .dashboard-toolbar > .btn svg { width: 16px; height: 16px; }

.app-shell .metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.app-shell .metric-card { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; min-width: 0; min-height: 88px; gap: 12px; padding: 15px; background: var(--app-surface); border: 1px solid var(--app-border); border-radius: 8px; transition: border-color .16s, background .16s; }
.app-shell .metric-card:hover { background: #1a1e24; border-color: #414853; }
.app-shell .metric-icon { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid #343a44; border-radius: 7px; background: #20242b; color: #a6afb9; }
.app-shell .metric-card.warning .metric-icon { background: rgba(226,168,71,.08); border-color: rgba(226,168,71,.3); color: var(--app-yellow); }
.app-shell .metric-card.active .metric-icon { background: rgba(94,147,216,.09); border-color: rgba(94,147,216,.3); color: var(--app-blue); }
.app-shell .metric-card.success .metric-icon { background: rgba(61,187,127,.08); border-color: rgba(61,187,127,.3); color: var(--app-green); }
.app-shell .metric-card > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.app-shell .metric-card small { color: var(--app-muted); font-size: .75rem; }
.app-shell .metric-card strong { margin-top: 2px; font-size: 1.45rem; line-height: 1.1; }
.app-shell .metric-arrow { color: #59626d; font-size: 1.4rem; }

.app-shell .dashboard-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 16px; align-items: start; }
.app-shell .dashboard-primary:not(:has(section)) { display:none; }.app-shell .quick-actions-panel:not(:has(.quick-action-list>a)),.app-shell .focus-panel:not(:has(dl>div)) { display:none; }.app-shell .dashboard-side:not(:has(.quick-action-list>a)):not(:has(.focus-panel dl>div)) { display:none; }.app-shell .dashboard-layout:not(:has(.dashboard-primary section)),.app-shell .dashboard-layout:not(:has(.dashboard-side .quick-action-list>a)):not(:has(.dashboard-side .focus-panel dl>div)) { grid-template-columns:1fr; }
.app-shell .dashboard-primary,
.app-shell .dashboard-side { display: grid; gap: 16px; }
.app-shell .work-panel { min-width: 0; overflow: hidden; }
.app-shell .work-panel > header { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 17px; border-bottom: 1px solid var(--app-border-soft); }
.app-shell .work-panel > header h2 { margin: 2px 0 0; font-size: .95rem; }
.app-shell .work-panel > header a { color: #aab2bc; font-size: .73rem; font-weight: 700; }
.app-shell .work-panel > header a:hover { color: #fff; }

.app-shell .schedule-list,
.app-shell .order-list { display: grid; }
.app-shell .schedule-row { display: grid; grid-template-columns: 48px 12px minmax(0, 1fr) auto; min-height: 62px; align-items: center; gap: 10px; padding: 9px 17px; border-bottom: 1px solid var(--app-border-soft); }
.app-shell .schedule-row:last-child,
.app-shell .order-row:last-child { border-bottom: 0; }
.app-shell .schedule-row:hover,
.app-shell .order-row:hover { background: #1b1f25; }
.app-shell .schedule-row time { color: #fff; font-size: .8rem; font-weight: 800; }
.app-shell .schedule-marker { width: 7px; height: 7px; border-radius: 50%; background: var(--app-red); box-shadow: 0 0 0 3px rgba(215,25,32,.1); }
.app-shell .schedule-main,
.app-shell .order-main { display: flex; min-width: 0; flex-direction: column; }
.app-shell .schedule-main strong,
.app-shell .order-main strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .schedule-main small,
.app-shell .order-main small { overflow: hidden; margin-top: 3px; color: var(--app-muted); font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .status-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 75px; padding: 4px 7px; border-radius: 99px; font-weight: 700; white-space: nowrap; }
.app-shell .status-pill.confirmed,
.app-shell .status-pill.in_progress,
.app-shell .status-pill.sent { border-color: rgba(94,147,216,.3); background: rgba(94,147,216,.08); color: #8db6ec; }
.app-shell .status-pill.requested,
.app-shell .status-pill.waiting_parts { border-color: rgba(226,168,71,.3); background: rgba(226,168,71,.08); color: #e7bd73; }
.app-shell .status-pill.ready,
.app-shell .status-pill.completed,
.app-shell .status-pill.paid { border-color: rgba(61,187,127,.3); background: rgba(61,187,127,.08); color: #77d5a7; }
.app-shell .order-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; min-height: 62px; align-items: center; gap: 12px; padding: 9px 17px; border-bottom: 1px solid var(--app-border-soft); }
.app-shell .order-number { color: #929ca8; font-family: Consolas, monospace; font-size: .69rem; }

.app-shell .dashboard-empty { display: flex; min-height: 170px; align-items: center; justify-content: center; flex-direction: column; gap: 10px; padding: 26px; color: var(--app-muted); text-align: center; }
.app-shell .dashboard-empty.compact { min-height: 110px; }
.app-shell .dashboard-empty > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--app-border); border-radius: 8px; background: var(--app-surface-2); }
.app-shell .dashboard-empty strong { color: #d4d9df; font-size: .8rem; }
.app-shell .dashboard-empty a { color: #fff; font-size: .75rem; font-weight: 700; }

.app-shell .quick-action-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--app-border-soft); }
.app-shell .quick-action-list a { display: grid; grid-template-columns: 34px 1fr; min-height: 87px; align-content: center; column-gap: 9px; padding: 13px; background: var(--app-surface); }
.app-shell .quick-action-list a:hover { background: #1c2027; }
.app-shell .quick-action-list a > span { display: grid; grid-row: 1 / span 2; width: 34px; height: 34px; place-items: center; border: 1px solid var(--app-border); border-radius: 7px; color: #aeb6c0; }
.app-shell .quick-action-list strong { align-self: end; font-size: .75rem; }
.app-shell .quick-action-list small { align-self: start; margin-top: 3px; color: var(--app-muted); font-size: .65rem; line-height: 1.25; }
.app-shell .focus-panel dl { margin: 0; }
.app-shell .focus-panel dl > div { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 9px 17px; border-bottom: 1px solid var(--app-border-soft); }
.app-shell .focus-panel dl > div:last-child { border-bottom: 0; }
.app-shell .focus-panel dt { color: var(--app-muted); font-size: .74rem; }
.app-shell .focus-panel dd { margin: 0; font-size: .9rem; font-weight: 800; }
.app-shell .success-text { color: var(--app-green); }
.app-shell .danger-text { color: #f06e73; }

.app-shell .calendar-event { font-size: .75rem; }
.app-shell .calendar-event.multi-day { border-left: 3px solid var(--status-color); background-image: linear-gradient(90deg,color-mix(in srgb,var(--status-color) 22%,transparent),transparent); }
.app-shell .calendar-weekdays > div { font-size: .72rem; }

/* Dichte Arbeitslisten und Detailakten */
.app-shell .list-filter { align-items: center; padding: 12px; border-radius: 8px; }
.app-shell .search-panel.list-filter select { min-width: 165px; height: 40px; padding: 0 34px 0 12px; appearance: auto; background-color: #101217; border: 1px solid var(--app-border); border-radius: 6px; color: var(--app-text); font: inherit; font-size: .78rem; outline: none; }
.app-shell .search-panel.list-filter select:focus { border-color: #636e7b; box-shadow: 0 0 0 3px rgba(99,110,123,.12); }
.app-shell .line-clamp { display: inline-block; max-width: 540px; overflow: hidden; color: var(--app-muted); text-overflow: ellipsis; white-space: nowrap; }
.app-shell .mini-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.app-shell .mini-metrics > div,
.app-shell .mini-metrics > a { display: flex; min-height: 74px; justify-content: center; flex-direction: column; padding: 13px 16px; background: var(--app-surface); border: 1px solid var(--app-border); border-radius: 8px; }
.app-shell .mini-metrics small { color: var(--app-muted); font-size: .7rem; }
.app-shell .mini-metrics strong { margin-top: 2px; font-size: 1.2rem; }
.app-shell .mini-metrics span { display: block; width: 100%; margin-top: 6px; color: #aeb6c0; font-size: .68rem; }
.app-shell .customer-metric { align-items: flex-start; }
.app-shell .role-text.role-admin { color: var(--role-admin); }
.app-shell .role-text.role-employee { color: var(--role-employee); }
.app-shell .role-text.role-customer { color: var(--role-customer); }
.app-shell .role-badge { display: inline-flex; align-items: center; padding: 4px 8px; border: 1px solid currentColor; border-radius: 99px; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.app-shell .role-badge.role-admin { color: var(--role-admin); background: rgba(229,182,66,.1); }
.app-shell .role-badge.role-employee { color: var(--role-employee); background: rgba(94,147,216,.1); }
.app-shell .role-badge.role-customer { color: var(--role-customer); background: rgba(61,187,127,.1); }
.app-shell .role-color-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.app-shell .role-color-grid label { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; background: #101217; border: 1px solid var(--app-border-soft); border-radius: 7px; }
.app-shell .role-color-grid input[type="color"] { width: 44px; height: 34px; padding: 2px; border-radius: 5px; cursor: pointer; }
.app-shell .detail-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; margin-bottom: 16px; background: var(--app-border); border: 1px solid var(--app-border); border-radius: 8px; }
.app-shell .order-reference { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.app-shell .detail-strip > div { display: flex; min-width: 0; min-height: 70px; justify-content: center; flex-direction: column; padding: 12px 15px; background: var(--app-surface); }
.app-shell .detail-strip small { color: var(--app-muted); font-size: .68rem; }
.app-shell .detail-strip strong { overflow: hidden; margin-top: 5px; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .sticky-actions { position: sticky; bottom: 12px; z-index: 5; display: flex; gap: 8px; width: fit-content; margin-left: auto; padding: 8px; background: rgba(17,19,24,.96); border: 1px solid var(--app-border); border-radius: 8px; box-shadow: 0 12px 35px rgba(0,0,0,.38); }
.app-shell .message-layout { grid-template-columns: minmax(0,1.55fr) minmax(320px,.75fr); align-items: start; }
.app-shell .inquiry-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--app-border-soft); }
.app-shell .inquiry-text { padding: 22px 0; color: #d7dce2; font-size: .85rem; line-height: 1.75; }
.app-shell .contact-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0; }
.app-shell .contact-meta > div { padding: 11px; background: #101217; border: 1px solid var(--app-border-soft); border-radius: 6px; }
.app-shell .contact-meta dt { color: var(--app-muted); font-size: .67rem; }
.app-shell .contact-meta dd { overflow: hidden; margin: 4px 0 0; font-size: .75rem; text-overflow: ellipsis; }
.app-shell .reply-composer { position: sticky; top: 80px; }
.app-shell .check-row { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; color: #c6ccd3; font-size: .75rem; }
.app-shell .check-row input { width: auto; }
.app-shell .reply-history { display: grid; gap: 10px; }
.app-shell .reply-history article { padding: 14px; background: #101217; border: 1px solid var(--app-border-soft); border-radius: 7px; }
.app-shell .reply-history header { display: flex; justify-content: space-between; gap: 12px; }
.app-shell .reply-history header strong { font-size: .78rem; }
.app-shell .reply-history header small { color: var(--app-muted); font-size: .67rem; }
.app-shell .reply-history p { margin: 12px 0 0; color: #cbd1d8; font-size: .76rem; line-height: 1.65; }
.app-shell .calendar-day[data-create-url] { cursor: pointer; transition: background .15s,border-color .15s; }
.app-shell .calendar-day[data-create-url]:hover { background: #20252c; border-color: #49515c; }
.app-shell .customer-file-tabs { display: flex; width: min(100%,1480px); box-sizing: border-box; justify-content: center; gap: 5px; overflow-x: auto; margin: -4px auto 16px; padding: 5px; background: var(--app-surface); border: 1px solid var(--app-border); border-radius: 8px; }
.app-shell .customer-file-tabs a { flex: 0 0 auto; padding: 9px 12px; border-radius: 6px; color: #9da6b1; font-size: .73rem; font-weight: 750; text-decoration: none; }
.app-shell .customer-file-tabs a:hover,.app-shell .customer-file-tabs a.active { background: #292e36; color: #fff; }
.app-shell .customer-file-tabs a.active { box-shadow: inset 0 -2px var(--app-red); }
.app-shell .customer-overview-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.app-shell .customer-stat { display: flex; min-height: 112px; justify-content: center; flex-direction: column; margin: 0; color: inherit; text-decoration: none; transition: background .15s,border-color .15s; }
.app-shell .customer-stat:hover { background: #1d2228; border-color: #424a55; }
.app-shell .customer-stat span,.app-shell .customer-stat small { color: var(--app-muted); font-size: .7rem; }.app-shell .customer-stat strong { margin: 5px 0; font-size: 1.35rem; }
.app-shell .compact-list { display: grid; }.app-shell .compact-list>a { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 4px; border-bottom: 1px solid var(--app-border-soft); color: inherit; text-decoration: none; }.app-shell .compact-list>a:last-child { border-bottom: 0; }.app-shell .compact-list>a:hover { color: #fff; }.app-shell .compact-list>a>span:first-child { display: flex; min-width: 0; flex-direction: column; }.app-shell .compact-list small { overflow: hidden; margin-top: 3px; color: var(--app-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .vehicle-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }.app-shell .vehicle-card { display: flex; min-height: 90px; justify-content: center; flex-direction: column; padding: 13px; background: #101217; border: 1px solid var(--app-border-soft); border-radius: 7px; color: inherit; text-decoration: none; }.app-shell .vehicle-card:hover { border-color: #48515c; }.app-shell .vehicle-card span,.app-shell .vehicle-card small { margin-top: 5px; color: var(--app-muted); font-size: .7rem; }
.app-shell .access-status { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 15px; }.app-shell .access-status>div { padding: 13px; background: #101217; border: 1px solid var(--app-border-soft); border-radius: 7px; }.app-shell .access-status span,.app-shell .access-status strong { display: block; }.app-shell .access-status span { color: var(--app-muted); font-size: .68rem; }.app-shell .access-status strong { margin-top: 4px; font-size: .82rem; }
.maintenance-page .form-card { max-width: 760px; }.maintenance-contact { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 24px 0; }.maintenance-contact>div { padding: 14px; background: #101217; border: 1px solid #2c323b; border-radius: 8px; }.maintenance-contact small,.maintenance-contact strong { display: block; }.maintenance-contact small { margin-bottom: 5px; color: #858f9b; }

/* Auswertungen */
.app-shell .report-head { align-items: flex-end; }
.app-shell .report-period { display: flex; align-items: center; gap: 7px; }
.app-shell .report-period input { width: 158px; height: 38px; padding: 0 10px; border: 1px solid var(--app-border); border-radius: 6px; background: #101217; color: var(--app-text); color-scheme: dark; }
.app-shell .report-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.app-shell .report-metric { position: relative; overflow: hidden; min-height: 118px; padding: 17px; border: 1px solid var(--app-border); border-radius: 8px; background: var(--app-surface); }
.app-shell .report-metric:before { position: absolute; inset: 0 auto 0 0; width: 3px; background: #6e7783; content: ""; }
.app-shell .report-metric.primary:before { background: var(--app-red); }.app-shell .report-metric.success:before { background: var(--app-green); }.app-shell .report-metric.warning:before { background: #e2a847; }.app-shell .report-metric.danger:before { background:#f0646b; }
.app-shell .report-metric span,.app-shell .report-metric small { display: block; color: var(--app-muted); font-size: .69rem; }.app-shell .report-metric strong { display: block; margin: 10px 0 7px; font-size: 1.35rem; line-height: 1; }
.app-shell .report-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(270px,.6fr); gap: 14px; margin-bottom: 14px; }.app-shell .report-chart { min-width: 0; }
.app-shell .bar-chart { display: grid; grid-template-columns: repeat(12,minmax(25px,1fr)); height: 248px; align-items: end; gap: 7px; padding: 22px 18px 14px; }
.app-shell .bar-column { display: grid; height: 100%; grid-template-rows: 22px 1fr 18px; align-items: end; text-align: center; }.app-shell .bar-value { overflow: hidden; color: #8e98a5; font-size: .59rem; text-overflow: ellipsis; }.app-shell .bar-track { position: relative; height: 100%; overflow: hidden; border-radius: 4px 4px 2px 2px; background: #101217; }.app-shell .bar-track i { position: absolute; right: 0; bottom: 0; left: 0; display: block; min-height: 2px; border-radius: 4px 4px 2px 2px; background: linear-gradient(180deg,#e9484e,var(--app-red)); }.app-shell .bar-column small { padding-top: 6px; color: var(--app-muted); font-size: .6rem; }
.app-shell .report-summary-card { height: 100%; padding: 18px; border: 1px solid var(--app-border); border-radius: 8px; background: linear-gradient(145deg,#1d2128,#15181d); }.app-shell .report-summary-card h2 { margin: 6px 0 18px; font-size: 1.25rem; }.app-shell .report-summary-card dl { margin: 0; }.app-shell .report-summary-card dl div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--app-border-soft); }.app-shell .report-summary-card dt { color: var(--app-muted); font-size: .7rem; }.app-shell .report-summary-card dd { margin: 0; font-size: .76rem; font-weight: 800; }
.app-shell .report-tables { align-items: start; }.app-shell .number-cell { text-align: right; }.app-shell .distribution-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 16px 18px; }.app-shell .distribution-grid h3 { margin: 0 0 8px; font-size: .76rem; }.app-shell .distribution-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 43px; border-top: 1px solid var(--app-border-soft); font-size: .72rem; }.app-shell .distribution-row span,.app-shell .distribution-row small { display: block; }.app-shell .distribution-row small { margin-top: 2px; color: var(--app-muted); font-size: .61rem; }

/* Professionelles Werkstatt-Controlling */
.app-shell .report-command-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:15px 17px;border:1px solid #323945;border-radius:9px;background:linear-gradient(120deg,#1a1f26,#12151a)}
.app-shell .report-command-bar>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.app-shell .report-command-bar small,.app-shell .report-command-bar strong{display:block}.app-shell .report-command-bar small{color:#7f8996;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.app-shell .report-command-bar strong{margin-top:3px;overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.app-shell .report-live-dot{position:relative;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#3dbb7f;box-shadow:0 0 0 5px rgba(61,187,127,.1)}
.app-shell .report-command-facts{display:flex;gap:25px}.app-shell .report-command-facts span{padding-left:18px;border-left:1px solid var(--app-border)}
.app-shell .report-metric.active:before{background:var(--app-blue)}.app-shell .metric-progress{position:absolute;right:17px;bottom:11px;left:17px;height:3px;overflow:hidden;border-radius:99px;background:#292f38}.app-shell .metric-progress b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5e93d8,#86b6ee)}
.app-shell .report-performance-grid{align-items:start;margin-bottom:14px}.app-shell .panel-hint{color:var(--app-muted);font-size:.62rem}.app-shell .report-performance-table td{vertical-align:middle}.app-shell .report-share{display:inline-block;width:48px;height:4px;margin-right:8px;overflow:hidden;border-radius:99px;background:#2a3039;vertical-align:middle}.app-shell .report-share i{display:block;height:100%;border-radius:inherit;background:var(--app-blue)}
.app-shell .report-profit-panel{min-height:100%}.app-shell .profit-stack{display:grid;gap:17px;padding:19px}.app-shell .profit-stack>div{display:grid;gap:8px}.app-shell .profit-stack span{display:flex;align-items:end;justify-content:space-between;gap:15px}.app-shell .profit-stack small,.app-shell .profit-stack strong{display:block}.app-shell .profit-stack small{color:var(--app-muted);font-size:.65rem}.app-shell .profit-stack strong{font-size:.76rem}.app-shell .profit-stack>div>b{display:block;height:6px;min-width:2px;border-radius:99px;background:linear-gradient(90deg,#d71920,#ef5157)}.app-shell .profit-stack>div:nth-child(2)>b{background:linear-gradient(90deg,#e2a847,#f2cc7a)}.app-shell .profit-stack>div:nth-child(3)>b{background:linear-gradient(90deg,#5e93d8,#8ab9ee)}
.app-shell .profit-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 19px 19px;overflow:hidden;border:1px solid var(--app-border-soft);border-radius:7px;background:var(--app-border-soft)}.app-shell .profit-facts>div{padding:12px;background:#12151a}.app-shell .profit-facts small,.app-shell .profit-facts strong{display:block}.app-shell .profit-facts small{color:var(--app-muted);font-size:.58rem}.app-shell .profit-facts strong{margin-top:5px;font-size:.72rem}
.app-shell .location-performance{margin-bottom:14px}.app-shell .location-performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.app-shell .location-performance-grid>article{position:relative;overflow:hidden;padding:16px;border:1px solid var(--app-border);border-radius:8px;background:#14181e}.app-shell .location-performance-grid>article:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--location-color);content:""}.app-shell .location-performance-grid article>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 15px}.app-shell .location-performance-grid article>div:first-child>strong{font-size:1.05rem}.app-shell .location-performance-grid article>div:first-child>small{grid-column:2;color:var(--app-muted);font-size:.58rem}.app-shell .location-performance-grid dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:14px 0 0;padding-top:1px;background:var(--app-border-soft)}.app-shell .location-performance-grid dl>div{padding:11px;background:#14181e}.app-shell .location-performance-grid dt{color:var(--app-muted);font-size:.58rem}.app-shell .location-performance-grid dd{margin:5px 0 0;font-size:.7rem;font-weight:800}.app-shell .positive{color:#70dba5}.app-shell .negative{color:#ff747b}

@media(max-width:900px){.app-shell .report-command-bar{align-items:flex-start;flex-direction:column}.app-shell .report-command-facts{width:100%;justify-content:space-between}.app-shell .report-command-facts span:first-child{padding-left:0;border-left:0}.app-shell .location-performance-grid{grid-template-columns:1fr}}
@media(max-width:620px){.app-shell .report-command-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.app-shell .report-command-facts span{padding:8px 0 0;border-top:1px solid var(--app-border);border-left:0}.app-shell .report-command-facts span:first-child{padding-top:8px;border-top:1px solid var(--app-border)}.app-shell .profit-facts{grid-template-columns:1fr}.app-shell .location-performance-grid{padding:10px}.app-shell .location-performance-grid dl{grid-template-columns:1fr}.app-shell .location-performance-grid article>div:first-child{grid-template-columns:1fr}.app-shell .location-performance-grid article>div:first-child>small{grid-column:auto}.app-shell .report-share{width:36px}.app-shell .report-performance-table td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--app-muted);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}}

/* Rollen, Rechte und Mitarbeiterzuweisung */
.app-shell .admin-protection { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 14px 16px; border: 1px solid rgba(229,182,66,.28); border-radius: 8px; background: rgba(229,182,66,.055); }.app-shell .admin-shield { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border: 1px solid var(--role-admin); border-radius: 50%; color: var(--role-admin); font-weight: 900; }.app-shell .admin-protection p { margin: 3px 0 0; color: var(--app-muted); font-size: .7rem; }
.app-shell .roles-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(340px,.8fr); align-items: start; gap: 14px; }.app-shell .roles-list { display: grid; gap: 10px; }.app-shell .section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 3px; }.app-shell .section-heading h2 { margin: 4px 0 0; font-size: 1rem; }
.app-shell .role-card { padding: 15px; border: 1px solid var(--app-border); border-radius: 8px; background: var(--app-surface); }.app-shell .role-card.selected { border-color: #59636f; box-shadow: inset 3px 0 var(--app-red); }.app-shell .role-card-main { display: flex; align-items: center; gap: 11px; }.app-shell .role-swatch { width: 9px; height: 42px; border-radius: 4px; background: var(--role-color); box-shadow: 0 0 18px color-mix(in srgb,var(--role-color) 35%,transparent); }.app-shell .role-card h3 { margin: 0; font-size: .86rem; }.app-shell .role-card h3 small { margin-left: 8px; padding: 2px 6px; border: 1px solid var(--app-border); border-radius: 99px; color: var(--app-muted); font-size: .58rem; }.app-shell .role-card p { margin: 4px 0 0; color: var(--app-muted); font-size: .68rem; }.app-shell .role-permission-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0; }.app-shell .role-permission-chips span { padding: 4px 7px; border-radius: 4px; background: #242932; color: #b9c1cb; font-size: .61rem; }.app-shell .role-permission-chips .muted-chip { color: var(--app-muted); }.app-shell .role-card-actions { display: flex; gap: 7px; }.app-shell .role-editor { position: sticky; top: 76px; margin: 0; }.app-shell .role-basics { grid-template-columns: minmax(150px,1fr) 100px 90px; }.app-shell .color-field input { width: 100%; min-height: 40px; padding: 3px; cursor: pointer; }.app-shell .permission-fieldset { display: grid; gap: 7px; margin: 14px 0; padding: 0; border: 0; }.app-shell .permission-fieldset legend { margin-bottom: 8px; font-size: .72rem; font-weight: 800; }.app-shell .permission-option { display: flex; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid var(--app-border-soft); border-radius: 7px; background: #101217; cursor: pointer; }.app-shell .permission-option:has(input:checked) { border-color: #4e5967; background: #1c2128; }.app-shell .permission-option input { width: auto; margin-top: 3px; accent-color: var(--app-red); }.app-shell .permission-option span,.app-shell .permission-option small { display: block; }.app-shell .permission-option strong { font-size: .73rem; }.app-shell .permission-option small { margin-top: 3px; color: var(--app-muted); font-size: .63rem; line-height: 1.35; }
.app-shell .table-subline { display: block; margin-top: 3px; color: var(--app-muted); font-size: .64rem; }.app-shell .custom-role-badge { display: inline-flex; padding: 4px 8px; border: 1px solid color-mix(in srgb,var(--role-color) 65%,transparent); border-radius: 99px; background: color-mix(in srgb,var(--role-color) 10%,transparent); color: var(--role-color); font-size: .67rem; font-weight: 800; }.app-shell .inline-role-form { display: flex; align-items: center; gap: 5px; margin-top: 7px; }.app-shell .inline-role-form select { max-width: 145px; height: 30px; padding: 0 6px; border: 1px solid var(--app-border); border-radius: 5px; background: #101217; color: var(--app-text); font-size: .65rem; }
.app-shell .assigned-role-badges{display:flex;flex-wrap:wrap;gap:5px}.app-shell .account-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:6px}.app-shell .account-role-options.compact{grid-template-columns:1fr;margin:8px 0}.app-shell .account-role-option{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid var(--app-border-soft);border-radius:6px;background:#101217;cursor:pointer}.app-shell .account-role-option:has(input:checked){border-color:#59636f;background:#1c2128}.app-shell .account-role-option input{width:auto;margin-top:2px;accent-color:var(--app-red)}.app-shell .account-role-option span,.app-shell .account-role-option small{display:block}.app-shell .account-role-option strong{font-size:.7rem}.app-shell .account-role-option small{margin-top:2px;color:var(--app-muted);font-size:.6rem}.app-shell .role-assignment-details{margin-top:7px}.app-shell .role-assignment-details>summary{color:#aeb7c2;font-size:.65rem;font-weight:700;cursor:pointer}.app-shell .role-assignment-details form{min-width:210px;padding-top:3px}.app-shell .customer-role-assignment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.app-shell .hierarchy-notice { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 11px 14px; border-left: 3px solid #5e93d8; border-radius: 5px; background: rgba(94,147,216,.07); }.app-shell .hierarchy-notice strong { flex: 0 0 auto; color: #a8c8ef; font-size: .72rem; }.app-shell .hierarchy-notice span { color: var(--app-muted); font-size: .68rem; line-height: 1.45; }.app-shell .protected-account { display: inline-flex; align-items: center; gap: 6px; color: #8c96a2; font-size: .68rem; font-weight: 750; }.app-shell .protected-account:before { content: "●"; color: #59636f; font-size: .55rem; }.app-shell .staff-table { overflow: visible; }.app-shell .account-actions { position: relative; }.app-shell .account-actions>summary { list-style: none; cursor: pointer; }.app-shell .account-actions>summary::-webkit-details-marker { display: none; }.app-shell .account-action-menu { position: absolute; z-index: 25; top: calc(100% + 7px); right: 0; width: min(440px,80vw); padding: 14px; border: 1px solid var(--app-border); border-radius: 8px; background: #171b21; box-shadow: 0 22px 60px rgba(0,0,0,.58); }.app-shell .account-action-menu .form-grid { gap: 8px; }.app-shell .account-action-menu .field { margin-bottom: 7px; }.app-shell .account-danger-actions { display: flex; gap: 7px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--app-border-soft); }
.app-shell .maintenance-copy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }.app-shell .maintenance-copy-grid .field-wide { grid-column: 1 / -1; }

/* Frei konfigurierbare Statuswerte und Protokoll */
.app-shell .status-custom { --status-color:#5e93d8; border: 1px solid color-mix(in srgb,var(--status-color) 55%,transparent); background: color-mix(in srgb,var(--status-color) 13%,transparent); color: color-mix(in srgb,var(--status-color) 78%,white); }
.app-shell .status-pill.status-custom { border-color: color-mix(in srgb,var(--status-color) 45%,transparent); background: color-mix(in srgb,var(--status-color) 12%,#15181d); color: color-mix(in srgb,var(--status-color) 75%,white); }
.app-shell .system-role-color { display:flex;align-items:center;gap:9px;margin-left:auto; }.app-shell .system-role-color label { display:flex;align-items:center;gap:8px;color:var(--app-muted);font-size:.68rem;font-weight:750; }.app-shell .system-role-color input { width:42px;height:32px;padding:2px;border:1px solid var(--app-border);border-radius:5px;background:#101217; }
.app-shell .status-group-tabs { display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;padding:5px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface); }.app-shell .status-group-tabs a { flex:0 0 auto;padding:8px 11px;border-radius:5px;color:var(--app-muted);font-size:.68rem;font-weight:800; }.app-shell .status-group-tabs a.active,.app-shell .status-group-tabs a:hover { background:#292e36;color:#fff; }
.app-shell .status-admin-layout { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:14px; }.app-shell .status-editor { position:sticky;top:76px; }.app-shell .status-definition-list { display:grid;gap:7px; }.app-shell .status-definition { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border:1px solid var(--app-border-soft);border-radius:7px;background:#101217; }.app-shell .status-definition>div:first-child { display:flex;align-items:center;gap:10px; }.app-shell .status-definition small { color:var(--app-muted);font-size:.62rem; }.app-shell .status-definition.is-inactive { opacity:.55; }.app-shell .status-system-note { color:var(--app-muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.app-shell .customer-role-assignment { align-items:end;margin:14px 0;padding:13px;border:1px solid var(--app-border-soft);border-radius:7px;background:#101217; }.app-shell .customer-role-assignment .field { flex:1;margin:0; }
.app-shell .overlap-permission{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:11px 13px;border:1px solid rgba(226,168,71,.36);border-radius:7px;background:rgba(226,168,71,.07);cursor:pointer}.app-shell .overlap-permission input{width:auto;margin-top:3px;accent-color:#e2a847}.app-shell .overlap-permission span,.app-shell .overlap-permission small{display:block}.app-shell .overlap-permission strong{color:#edc16f;font-size:.75rem}.app-shell .overlap-permission small{margin-top:3px;color:var(--app-muted);font-size:.65rem;line-height:1.4}.app-shell .overlap-permission.compact{grid-column:1/-1;margin:2px 0;padding:8px 10px}.app-shell .overlap-permission.compact strong{font-size:.68rem}.app-shell .overlap-permission.compact small{font-size:.6rem}

/* Kompakte Terminliste */
.app-shell .appointment-filter{align-items:center;margin-top:14px}.app-shell .appointment-filter select{min-width:165px}.app-shell .appointment-list-panel{padding:0;overflow:hidden}.app-shell .appointment-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--app-border)}.app-shell .appointment-list-head h2{margin:3px 0 0;font-size:1rem}.app-shell .appointment-list-head>strong{color:var(--app-muted);font-size:.68rem}.app-shell .appointment-list{display:grid}.app-shell .appointment-card{margin:0;border:0;border-bottom:1px solid var(--app-border-soft);border-radius:0;background:#15181d}.app-shell .appointment-card:last-child{border-bottom:0}.app-shell details.appointment-card>summary{list-style:none;cursor:pointer}.app-shell details.appointment-card>summary::-webkit-details-marker{display:none}.app-shell .appointment-card-summary{display:grid;grid-template-columns:145px minmax(210px,1fr) minmax(240px,1.35fr) 110px 140px;align-items:center;gap:18px;min-height:84px;padding:13px 18px;transition:background .18s ease}.app-shell details.appointment-card>summary:hover,.app-shell details.appointment-card[open]>summary{background:#1b1f25}.app-shell .customer-appointment-card .appointment-card-summary{grid-template-columns:155px minmax(220px,1fr) minmax(240px,1.4fr) 120px}.app-shell .appointment-date,.app-shell .appointment-person,.app-shell .appointment-service,.app-shell .appointment-state{min-width:0}.app-shell .appointment-date strong,.app-shell .appointment-date span,.app-shell .appointment-person strong,.app-shell .appointment-person span,.app-shell .appointment-person em,.app-shell .appointment-service strong,.app-shell .appointment-service span,.app-shell .appointment-state small{display:block}.app-shell .appointment-date strong{font-size:.78rem}.app-shell .appointment-date span{margin-top:4px;color:#aeb7c2;font-size:.66rem}.app-shell .appointment-person small,.app-shell .appointment-service small,.app-shell .appointment-state small,.app-shell .appointment-edit-head small{margin-bottom:4px;color:#778494;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.app-shell .appointment-person strong,.app-shell .appointment-service strong{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.app-shell .appointment-person span,.app-shell .appointment-service span{margin-top:3px;overflow:hidden;color:#a7b0bb;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.app-shell .appointment-person em{margin-top:4px;color:#788493;font-size:.59rem;font-style:normal}.app-shell .appointment-state .badge{white-space:nowrap}.app-shell .appointment-open-hint{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#aab3bd;font-size:.65rem;font-weight:800}.app-shell .appointment-open-hint b{font-size:.9rem;transition:transform .18s ease}.app-shell details.appointment-card[open] .appointment-open-hint b{transform:rotate(180deg)}.app-shell .appointment-edit-panel{padding:15px 18px 17px;border-top:1px solid var(--app-border-soft);background:#101318}.app-shell .appointment-edit-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.app-shell .appointment-edit-head strong{display:block;font-size:.72rem}.app-shell .appointment-manage-form{display:grid;grid-template-columns:minmax(125px,1fr) minmax(100px,.75fr) minmax(125px,1fr) minmax(100px,.75fr) minmax(145px,1fr);align-items:end;gap:9px;min-width:0}.app-shell .appointment-manage-form>div{display:grid;gap:4px}.app-shell .appointment-manage-form label{font-size:.6rem}.app-shell .appointment-manage-form input,.app-shell .appointment-manage-form select{width:100%;min-width:0;padding:9px}.app-shell .appointment-manage-form .appointment-note{grid-column:1/span 3}.app-shell .appointment-manage-form .overlap-permission.compact{grid-column:4/span 2;height:100%;margin:0}.app-shell .appointment-manage-form .appointment-save{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:2px}.app-shell .appointment-list-panel>.pagination{padding:0 18px 18px}
.app-shell .log-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.app-shell .log-filter select { min-width:170px;padding:0 11px;border:1px solid var(--app-border);border-radius:6px;background:#101217;color:var(--app-text); }.app-shell .log-action { font-weight:800; }.app-shell .log-path { display:inline-block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cbd1d8;font-family:ui-monospace,Consolas,monospace;font-size:.67rem; }

/* Öffentliche Wartungsansicht */
.public-shell:has(.maintenance-stage) { background: #080a0e; }.public-shell:has(.maintenance-stage) main { min-height: calc(100vh - 72px); }
.maintenance-stage { position: relative; display: grid; min-height: calc(100vh - 72px); overflow: hidden; place-items: center; padding: 54px 24px 28px; background: radial-gradient(circle at 15% 10%,rgba(204,26,34,.13),transparent 34%),linear-gradient(145deg,#090b0f,#11151b 52%,#090b0e); }
.maintenance-stage:before { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 46px 46px; content: ""; }.maintenance-glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }.maintenance-glow-one { top: -170px; right: -120px; width: 410px; height: 410px; border: 1px solid rgba(215,25,32,.2); box-shadow: 0 0 110px rgba(215,25,32,.08); }.maintenance-glow-two { bottom: -230px; left: -160px; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.05); }
.maintenance-shell { position: relative; z-index: 1; width: min(1100px,100%); }.maintenance-status { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 17px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 99px; background: rgba(14,17,22,.7); color: #bfc6ce; font-size: .7rem; font-weight: 700; }.maintenance-status i { width: 7px; height: 7px; border-radius: 50%; background: #e2a847; box-shadow: 0 0 0 4px rgba(226,168,71,.12); }
.maintenance-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(310px,.65fr); gap: 20px; }.maintenance-copy,.maintenance-info { border: 1px solid rgba(255,255,255,.09); border-radius: 15px; background: rgba(17,20,26,.88); box-shadow: 0 28px 90px rgba(0,0,0,.3); backdrop-filter: blur(12px); }.maintenance-copy { padding: clamp(28px,5vw,62px); }.maintenance-copy h1 { max-width: 760px; margin: 10px 0 17px; color: #fff; font-size: clamp(2.2rem,5vw,4.4rem); line-height: .98; letter-spacing: -.055em; }.maintenance-lead { max-width: 650px; margin: 0; color: #aab2bd; font-size: clamp(.92rem,1.5vw,1.08rem); line-height: 1.7; }.maintenance-eta { display: inline-flex; align-items: center; gap: 11px; margin: 24px 0 15px; padding: 11px 14px; border: 1px solid rgba(226,168,71,.18); border-radius: 8px; background: rgba(226,168,71,.06); }.maintenance-clock { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: rgba(226,168,71,.13); color: #e7bd73; font-size: 1rem; }.maintenance-eta small,.maintenance-eta strong { display: block; }.maintenance-eta small { color: #8e98a5; font-size: .6rem; text-transform: uppercase; letter-spacing: .09em; }.maintenance-eta strong { margin-top: 2px; color: #e5e9ed; font-size: .76rem; }.maintenance-note { max-width: 650px; color: #7f8995; font-size: .75rem; line-height: 1.55; }.maintenance-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 21px; }
.maintenance-info { align-self: stretch; padding: 30px; }.maintenance-monogram { display: grid; width: 54px; height: 54px; margin-bottom: 34px; place-items: center; border-radius: 10px; background: #d71920; color: #fff; font-size: 1rem; font-weight: 900; box-shadow: 0 12px 30px rgba(215,25,32,.2); }.maintenance-info h2 { margin: 6px 0 22px; font-size: 1.2rem; }.maintenance-info dl { margin: 0; }.maintenance-info dl>div { padding: 14px 0; border-top: 1px solid rgba(255,255,255,.07); }.maintenance-info dt { margin-bottom: 5px; color: #747f8c; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }.maintenance-info dd { margin: 0; color: #dce1e6; font-size: .76rem; line-height: 1.55; }.maintenance-info a { color: inherit; }.maintenance-admin { margin-top: 28px; padding: 13px; border-radius: 8px; background: #0d1015; }.maintenance-admin span,.maintenance-admin a { display: block; }.maintenance-admin span { margin-bottom: 4px; color: #747f8c; font-size: .6rem; text-transform: uppercase; letter-spacing: .08em; }.maintenance-admin a { color: #dce1e6; font-size: .72rem; font-weight: 800; }.maintenance-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 19px 4px 0; color: #68727e; font-size: .65rem; }.maintenance-footer nav { display: flex; gap: 18px; }.maintenance-footer a { color: #8a949f; }

@media (max-width: 1050px) { .app-shell .report-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.app-shell .roles-layout,.app-shell .status-admin-layout { grid-template-columns: 1fr; }.app-shell .role-editor,.app-shell .status-editor { position: static; }.maintenance-layout { grid-template-columns: 1fr; }.maintenance-info { display: grid; grid-template-columns: auto 1fr; column-gap: 20px; }.maintenance-info .maintenance-monogram { grid-row: 1 / span 2; margin: 0; }.maintenance-info dl,.maintenance-info .maintenance-admin { grid-column: 1 / -1; } }
@media (max-width: 720px) { .app-shell .report-head,.app-shell .report-period { align-items: stretch; flex-direction: column; }.app-shell .report-period input { width: 100%; }.app-shell .report-metrics,.app-shell .report-layout,.app-shell .distribution-grid,.app-shell .maintenance-copy-grid,.app-shell .account-role-options,.app-shell .customer-role-assignment { grid-template-columns: 1fr; }.app-shell .maintenance-copy-grid .field-wide { grid-column: auto; }.app-shell .bar-chart { gap: 3px; padding-inline: 9px; }.app-shell .bar-value { display: none; }.app-shell .role-basics { grid-template-columns: 1fr; }.app-shell .inline-role-form { align-items: stretch; flex-direction: column; }.app-shell .inline-role-form select { max-width: none; }.app-shell .hierarchy-notice { align-items: flex-start; flex-direction: column; gap: 5px; }.app-shell .staff-table { overflow-x: auto; }.app-shell .account-action-menu { position: fixed; inset: 78px 12px auto; width: auto; max-height: calc(100vh - 100px); overflow: auto; }.maintenance-stage { padding: 30px 14px 20px; }.maintenance-copy,.maintenance-info { padding: 24px; }.maintenance-copy h1 { font-size: clamp(2rem,12vw,3.2rem); }.maintenance-footer { align-items: flex-start; flex-direction: column; }.maintenance-footer nav { flex-wrap: wrap; } }

/* Mitarbeiterbearbeitung als Dialog über der Tabelle statt innerhalb der Tabellenzeile. */
.app-shell .account-actions[open]::before{position:fixed;z-index:90;inset:0;background:rgba(3,5,8,.76);backdrop-filter:blur(3px);content:""}
.app-shell .account-actions[open]>.account-action-menu{position:fixed;z-index:91;top:50%;left:50%;right:auto;width:min(560px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 40px));padding:22px;overflow:auto;transform:translate(-50%,-50%);border:1px solid #3a434f;border-radius:12px;background:#171b21;box-shadow:0 30px 100px rgba(0,0,0,.8)}
.app-shell .account-actions[open]>.account-action-menu::before{display:block;margin:0 0 16px;padding:0 0 13px;border-bottom:1px solid var(--app-border-soft);color:#f4f6f8;font-size:.9rem;font-weight:800;content:"Mitarbeiter bearbeiten"}
.app-shell .account-action-menu .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.app-shell .account-action-menu .field-wide{grid-column:1/-1}
.app-shell .account-action-menu .form-note{display:block;margin-top:6px;line-height:1.4;white-space:normal}
.app-shell .account-action-menu input,.app-shell .account-action-menu select{min-width:0}
body:has(.app-shell .account-actions[open]){overflow:hidden}
@media(max-width:620px){.app-shell .account-actions[open]>.account-action-menu{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:17px}.app-shell .account-action-menu .form-grid{grid-template-columns:1fr}.app-shell .account-action-menu .field-wide{grid-column:auto}.app-shell .account-danger-actions{flex-wrap:wrap}}

/* Aufbereitungspakete */
.app-shell .detailing-package-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}.app-shell .detailing-package-editor{position:sticky;top:82px}.app-shell .detailing-package-list{display:grid;gap:12px}.app-shell .detailing-package-card{padding:18px}.app-shell .detailing-package-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.app-shell .detailing-package-head h2{margin:8px 0 2px;font-size:1rem}.app-shell .detailing-package-head p{margin:0;color:var(--app-muted);font-size:.7rem}.app-shell .detailing-package-head>strong{color:#c8d0d9;font-size:.67rem}.app-shell .detailing-package-card ul{display:grid;gap:5px;margin:15px 0;padding-left:19px;color:#c8d0d9;font-size:.72rem}.app-shell .detailing-package-card .actions{margin-top:12px}.app-shell .check-line{display:flex!important;align-items:center;gap:8px;min-height:39px;padding:8px 10px;border:1px solid var(--app-border);border-radius:7px;background:#101217}.app-shell .check-line input{width:auto}.app-shell .package-insert-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,380px) auto;gap:10px;align-items:center;margin:0 0 12px;padding:12px;border:1px solid #33404d;border-left:3px solid #3788d8;border-radius:8px;background:#131820}.app-shell .package-insert-bar strong,.app-shell .package-insert-bar span{display:block}.app-shell .package-insert-bar strong{font-size:.73rem}.app-shell .package-insert-bar span{margin-top:2px;color:var(--app-muted);font-size:.63rem}.app-shell .package-insert-bar select{min-width:0}

/* Kompakte mobile Werkstattansicht */
.app-shell .mobile-workshop-shell .portal-main{background:#0c0f13}.app-shell .mobile-workshop-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:18px;border:1px solid var(--app-border);border-radius:10px;background:linear-gradient(125deg,#1c2128,#13161b)}.app-shell .mobile-workshop-head h1{margin:3px 0;font-size:1.45rem}.app-shell .mobile-workshop-head p{margin:0;color:var(--app-muted);font-size:.72rem}.app-shell .mobile-workshop-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:18px}.app-shell .mobile-workshop-search input{min-width:0;padding:11px 12px;border:1px solid var(--app-border);border-radius:8px;background:#101318;color:#fff}.app-shell .mobile-workshop-section{margin-bottom:20px}.app-shell .mobile-section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:9px}.app-shell .mobile-section-title span{color:var(--app-muted);font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.app-shell .mobile-section-title h2{margin:1px 0 0;font-size:1rem}.app-shell .mobile-section-title>strong{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:#252b34;font-size:.75rem}.app-shell .mobile-appointment-strip{display:grid;gap:7px}.app-shell .mobile-appointment-strip article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid var(--app-border-soft);border-radius:8px;background:#171b21}.app-shell .mobile-appointment-strip time{color:#ff6268;font-weight:800}.app-shell .mobile-appointment-strip strong,.app-shell .mobile-appointment-strip span{display:block}.app-shell .mobile-appointment-strip strong{font-size:.73rem}.app-shell .mobile-appointment-strip span{overflow:hidden;color:var(--app-muted);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.app-shell .mobile-appointment-strip a{color:#9bc5fa;font-size:.67rem;font-weight:800}.app-shell .mobile-order-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-shell .mobile-order-card{overflow:hidden;border:1px solid var(--app-border);border-top:3px solid var(--location-color);border-radius:10px;background:#171b21}.app-shell .mobile-order-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 14px 9px}.app-shell .mobile-order-card header span{color:var(--app-muted);font-size:.6rem}.app-shell .mobile-order-card h3{margin:2px 0 0;font-size:1.1rem}.app-shell .mobile-order-info{display:grid;gap:2px;padding:0 14px 12px}.app-shell .mobile-order-info strong{font-size:.75rem}.app-shell .mobile-order-info span{color:var(--app-muted);font-size:.66rem}.app-shell .mobile-order-primary{display:flex;gap:7px;padding:0 14px 12px}.app-shell .mobile-order-primary .btn{flex:1;padding:8px;font-size:.65rem}.app-shell .mobile-status-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding-top:1px;background:var(--app-border-soft)}.app-shell .mobile-status-button{min-height:39px;padding:7px;border:0;background:#11151a;color:#bdc5cf;font:700 .62rem inherit;cursor:pointer}.app-shell .mobile-status-button:hover{background:#242b34;color:#fff}.app-shell .mobile-status-button.status-ready{color:#76c9ff}.app-shell .mobile-status-button.status-completed{color:#70daa4}.app-shell .mobile-empty{padding:22px;border:1px dashed var(--app-border);border-radius:9px;color:var(--app-muted);text-align:center;font-size:.72rem}
@media(max-width:920px){.app-shell .detailing-package-layout{grid-template-columns:1fr}.app-shell .detailing-package-editor{position:static}.app-shell .package-insert-bar{grid-template-columns:1fr auto}.app-shell .package-insert-bar>div{grid-column:1/-1}}
@media(max-width:700px){.app-shell .mobile-workshop-shell{display:block}.app-shell .mobile-workshop-shell>.sidebar{display:none}.app-shell .mobile-workshop-shell .portal-main{min-height:100vh;padding:10px}.app-shell .mobile-workshop-head{position:sticky;z-index:8;top:4px;padding:13px}.app-shell .mobile-workshop-head h1{font-size:1.2rem}.app-shell .mobile-order-list{grid-template-columns:1fr}.app-shell .mobile-appointment-strip article{grid-template-columns:46px minmax(0,1fr) auto}.app-shell .package-insert-bar{grid-template-columns:1fr}.app-shell .package-insert-bar>div{grid-column:auto}.app-shell .package-insert-bar .btn{width:100%}}

/* Premium-Wartungsseite */
.maintenance-mode-page{background:#08090c;color:#f5f6f8}.maintenance-mode-page .site-header{position:relative;z-index:20;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(8,9,12,.88);backdrop-filter:blur(18px)}.maintenance-mode-page .site-header .nav-wrap{min-height:72px}.maintenance-mode-page .site-header .main-nav a{color:#aeb5bf}.maintenance-mode-page .site-header .main-nav a:hover{color:#fff}
.maintenance-mode-page main{min-height:calc(100vh - 72px)}.maintenance-mode-page .maintenance-stage{position:relative;display:block;min-height:calc(100vh - 72px);overflow:hidden;padding:38px 24px 22px;background:radial-gradient(circle at 76% 10%,rgba(214,20,29,.18),transparent 27%),radial-gradient(circle at 8% 72%,rgba(125,137,158,.08),transparent 31%),linear-gradient(142deg,#08090c 0%,#0c0f14 48%,#08090c 100%)}.maintenance-mode-page .maintenance-stage:before{display:none}
.maintenance-grid{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 88%);pointer-events:none}.maintenance-stage:after{position:absolute;top:0;left:50%;width:min(1180px,calc(100% - 48px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#d71920 48%,transparent);content:""}.maintenance-orbit{position:absolute;border:1px solid rgba(255,255,255,.055);border-radius:50%;pointer-events:none}.maintenance-orbit:after{position:absolute;width:8px;height:8px;border-radius:50%;background:#d71920;box-shadow:0 0 28px rgba(215,25,32,.8);content:""}.maintenance-orbit-one{top:-290px;right:-210px;width:650px;height:650px}.maintenance-orbit-one:after{bottom:93px;left:76px}.maintenance-orbit-two{bottom:-330px;left:-260px;width:680px;height:680px}.maintenance-orbit-two:after{top:112px;right:72px}
.maintenance-mode-page .maintenance-shell{position:relative;z-index:2;width:min(1180px,100%);margin:0 auto}.maintenance-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.maintenance-mode-page .maintenance-status{display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 12px;border:1px solid rgba(226,168,71,.24);border-radius:99px;background:rgba(226,168,71,.07);color:#e7c181;font-size:.65rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.maintenance-mode-page .maintenance-status i{position:relative;width:7px;height:7px;border-radius:50%;background:#e2a847;box-shadow:0 0 0 4px rgba(226,168,71,.1)}.maintenance-mode-page .maintenance-status i:after{position:absolute;inset:-5px;border:1px solid rgba(226,168,71,.5);border-radius:50%;content:"";animation:maintenance-pulse 2s ease-out infinite}.maintenance-location{display:flex;align-items:center;gap:9px;color:#77808b;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em}.maintenance-location strong{color:#cdd2d8;font-size:.68rem}
.maintenance-mode-page .maintenance-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(330px,.62fr);gap:14px}.maintenance-mode-page .maintenance-copy,.maintenance-mode-page .maintenance-info{border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(18,21,27,.9);box-shadow:0 30px 90px rgba(0,0,0,.34);backdrop-filter:blur(16px)}.maintenance-mode-page .maintenance-copy{position:relative;overflow:hidden;padding:clamp(34px,5.5vw,70px)}.maintenance-mode-page .maintenance-copy:before{position:absolute;top:0;left:0;width:92px;height:3px;background:#d71920;content:""}.maintenance-mode-page .maintenance-copy:after{position:absolute;right:-42px;bottom:-68px;color:rgba(255,255,255,.018);font-size:15rem;font-weight:900;line-height:1;letter-spacing:-.12em;content:"TP";pointer-events:none}.maintenance-kicker{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-bottom:24px;color:#818a96;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.maintenance-kicker span{padding-right:10px;border-right:1px solid #343a43}.maintenance-kicker b{color:#dfe3e8}.maintenance-mode-page .maintenance-copy h1{position:relative;z-index:1;max-width:780px;margin:0 0 20px;color:#fff;font-size:clamp(2.35rem,5.1vw,4.7rem);font-weight:800;line-height:.98;letter-spacing:-.057em;text-wrap:balance}.maintenance-mode-page .maintenance-lead{position:relative;z-index:1;max-width:680px;margin:0;color:#a7afb9;font-size:clamp(.91rem,1.35vw,1.05rem);line-height:1.72}
.maintenance-process{position:relative;z-index:1;max-width:610px;margin:31px 0 23px;padding:16px 17px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(8,10,14,.54)}.maintenance-process-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:12px;font-size:.64rem;font-weight:800}.maintenance-process-head span{color:#737d89;text-transform:uppercase;letter-spacing:.08em}.maintenance-process-head strong{color:#dce1e6}.maintenance-process-track{height:3px;overflow:hidden;border-radius:99px;background:#292e35}.maintenance-process-track i{display:block;width:56%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#971118,#e7222b,#ff646a);box-shadow:0 0 15px rgba(215,25,32,.4);animation:maintenance-progress 3s ease-in-out infinite}.maintenance-process-steps{display:flex;justify-content:space-between;margin-top:9px;color:#59616d;font-size:.55rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.maintenance-process-steps .done{color:#8a949f}.maintenance-process-steps .active{color:#ef9b9f}
.maintenance-mode-page .maintenance-eta{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:0;border:0;background:transparent}.maintenance-mode-page .maintenance-clock{position:relative;display:block;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(226,168,71,.28);border-radius:50%;background:rgba(226,168,71,.08)}.maintenance-mode-page .maintenance-clock:before,.maintenance-mode-page .maintenance-clock:after{position:absolute;top:50%;left:50%;width:1px;background:#e3b865;transform-origin:bottom;content:""}.maintenance-mode-page .maintenance-clock:before{height:8px;transform:translate(-50%,-100%)}.maintenance-mode-page .maintenance-clock:after{height:6px;transform:translate(-50%,-100%) rotate(120deg)}.maintenance-mode-page .maintenance-eta small,.maintenance-mode-page .maintenance-eta strong{display:block}.maintenance-mode-page .maintenance-eta small{margin-bottom:3px;color:#697480;font-size:.56rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.maintenance-mode-page .maintenance-eta strong{color:#dfe3e8;font-size:.76rem}.maintenance-mode-page .maintenance-note{position:relative;z-index:1;max-width:650px;margin:0;color:#7e8793;font-size:.7rem;line-height:1.6}.maintenance-mode-page .maintenance-actions{position:relative;z-index:1;display:flex;align-items:stretch;flex-wrap:wrap;gap:9px;margin-top:22px}.maintenance-primary,.maintenance-secondary{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:8px;font-size:.7rem;font-weight:850;transition:transform .18s ease,border-color .18s ease,background .18s ease}.maintenance-primary{gap:10px;padding:8px 16px;background:#d71920;color:#fff;box-shadow:0 12px 25px rgba(215,25,32,.2)}.maintenance-primary span{padding-right:10px;border-right:1px solid rgba(255,255,255,.24);font-size:.59rem;text-transform:uppercase;letter-spacing:.07em}.maintenance-secondary{gap:12px;padding:8px 17px;border:1px solid #373d46;background:#171b21;color:#e3e6ea}.maintenance-primary:hover,.maintenance-secondary:hover{transform:translateY(-2px);color:#fff}.maintenance-secondary:hover{border-color:#555e69;background:#1d2229}
.maintenance-mode-page .maintenance-info{display:flex;align-self:stretch;flex-direction:column;padding:24px}.maintenance-brand-panel{display:flex;align-items:center;gap:14px;padding:4px 3px 22px;border-bottom:1px solid rgba(255,255,255,.07)}.maintenance-mode-page .maintenance-monogram{position:relative;display:grid;width:58px;height:58px;flex:0 0 58px;margin:0;place-items:center;border-radius:12px;background:linear-gradient(145deg,#e51d25,#a90e15);color:#fff;font-size:1.05rem;font-weight:900;box-shadow:0 14px 32px rgba(215,25,32,.23)}.maintenance-mode-page .maintenance-monogram span{position:absolute;right:7px;bottom:7px;width:5px;height:5px;border-radius:50%;background:#fff}.maintenance-brand-panel small{display:block;margin-bottom:3px;color:#777f8a;font-size:.56rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.maintenance-brand-panel h2{margin:0;color:#fff;font-size:1rem;letter-spacing:-.025em}.maintenance-brand-panel p{margin:4px 0 0;color:#7f8893;font-size:.59rem}.maintenance-contact-list{display:grid}.maintenance-contact-list>a,.maintenance-contact-list>div{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 2px;border-bottom:1px solid rgba(255,255,255,.065);color:inherit}.maintenance-contact-list>a{transition:background .18s ease,padding .18s ease}.maintenance-contact-list>a:hover{padding-inline:8px;background:rgba(255,255,255,.025);color:#fff}.maintenance-contact-icon{display:grid;width:29px;height:29px;place-items:center;border:1px solid #303640;border-radius:7px;color:#89929d;font-size:.52rem;font-weight:900}.maintenance-contact-list small,.maintenance-contact-list strong{display:block}.maintenance-contact-list small{margin-bottom:3px;color:#68727e;font-size:.54rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.maintenance-contact-list strong{overflow-wrap:anywhere;color:#dfe3e7;font-size:.7rem;line-height:1.45}.maintenance-contact-list b{color:#68727e;font-size:.82rem}.maintenance-mode-page .maintenance-admin{margin-top:auto;padding:14px 15px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#0d1014}.maintenance-mode-page .maintenance-admin>span{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:#6f7984;font-size:.54rem;font-weight:800;text-transform:uppercase;letter-spacing:.075em}.maintenance-mode-page .maintenance-admin>span i{width:6px;height:6px;border-radius:50%;background:#4aae74}.maintenance-mode-page .maintenance-admin a{display:flex;align-items:center;justify-content:space-between;color:#dce1e6;font-size:.69rem;font-weight:850}.maintenance-mode-page .maintenance-admin a:hover{color:#fff}
.maintenance-service-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(15,18,23,.83);box-shadow:0 18px 60px rgba(0,0,0,.2);backdrop-filter:blur(12px)}.maintenance-service-strip>div{display:flex;align-items:center;gap:13px;padding:15px 18px}.maintenance-service-strip>div+div{border-left:1px solid rgba(255,255,255,.065)}.maintenance-service-strip>div>span{color:#c72229;font-size:.58rem;font-weight:900}.maintenance-service-strip p,.maintenance-service-strip strong,.maintenance-service-strip small{display:block;margin:0}.maintenance-service-strip strong{color:#cdd2d8;font-size:.66rem}.maintenance-service-strip small{margin-top:3px;color:#68727e;font-size:.57rem}.maintenance-mode-page .maintenance-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 3px 0;color:#626b76;font-size:.59rem}.maintenance-mode-page .maintenance-footer nav{display:flex;gap:20px}.maintenance-mode-page .maintenance-footer a{color:#7e8792}.maintenance-mode-page .maintenance-footer a:hover{color:#fff}
@keyframes maintenance-pulse{0%{opacity:.7;transform:scale(.6)}70%,100%{opacity:0;transform:scale(1.7)}}@keyframes maintenance-progress{0%,100%{width:52%;opacity:.82}50%{width:68%;opacity:1}}
@media(max-width:960px){.maintenance-mode-page .maintenance-layout{grid-template-columns:1fr}.maintenance-mode-page .maintenance-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}.maintenance-brand-panel{grid-column:1/-1}.maintenance-contact-list{grid-column:1/-1}.maintenance-mode-page .maintenance-admin{grid-column:1/-1;margin-top:18px}.maintenance-service-strip{grid-template-columns:1fr}.maintenance-service-strip>div+div{border-top:1px solid rgba(255,255,255,.065);border-left:0}}
@media(max-width:640px){.maintenance-mode-page .site-header .nav-wrap{min-height:64px}.maintenance-mode-page main{min-height:calc(100vh - 64px)}.maintenance-mode-page .maintenance-stage{min-height:calc(100vh - 64px);padding:26px 14px 17px}.maintenance-topline{align-items:flex-start;flex-direction:column;gap:10px}.maintenance-mode-page .maintenance-copy,.maintenance-mode-page .maintenance-info{padding:23px 20px;border-radius:13px}.maintenance-mode-page .maintenance-copy h1{font-size:clamp(2rem,11.5vw,3.05rem)}.maintenance-kicker{margin-bottom:18px}.maintenance-process{margin-top:24px;padding:14px}.maintenance-mode-page .maintenance-actions{align-items:stretch;flex-direction:column}.maintenance-primary,.maintenance-secondary{width:100%}.maintenance-mode-page .maintenance-info{display:flex}.maintenance-contact-list>a,.maintenance-contact-list>div{padding-block:13px}.maintenance-service-strip>div{padding:13px 15px}.maintenance-mode-page .maintenance-footer{align-items:flex-start;flex-direction:column;padding-top:16px}.maintenance-mode-page .maintenance-footer nav{gap:16px}}
@media(prefers-reduced-motion:reduce){.maintenance-mode-page .maintenance-status i:after,.maintenance-process-track i{animation:none}}

@media (max-width: 1160px) {
    .app-shell .dashboard-layout { grid-template-columns: 1fr; }
    .app-shell .dashboard-side { grid-template-columns: 1fr 1fr; }
    .app-shell .customer-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .app-shell .vehicle-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    .app-shell .portal { grid-template-columns: 1fr; }
    .app-shell .sidebar { position: static; height: auto; padding: 12px; }
    .app-shell .user-box { display: flex; }
    .app-shell .side-nav { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 3px; }
    .app-shell .side-nav a { flex: 0 0 auto; }
    .app-shell .nav-section { display: none; }
    .app-shell .quick-search { max-width: none; }
    .app-shell .portal-main { padding: 22px 16px 34px; }
    .app-shell .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .app-shell .message-layout { grid-template-columns: 1fr; }
    .app-shell .reply-composer { position: static; }
    .app-shell .customer-file-tabs { justify-content: flex-start; }
    .app-shell .appointment-card-summary,.app-shell .customer-appointment-card .appointment-card-summary { grid-template-columns:130px minmax(180px,1fr) minmax(210px,1.2fr) 105px;gap:12px; }
    .app-shell .appointment-open-hint { grid-column:1/-1;justify-content:flex-end;margin-top:-4px; }
    .app-shell .appointment-manage-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .app-shell .appointment-manage-form .appointment-note,.app-shell .appointment-manage-form .overlap-permission.compact { grid-column:1/-1; }
}

@media (max-width: 680px) {
    .app-shell .site-header,
    .app-shell .nav-wrap { height: 58px; }
    .app-shell .nav-wrap { padding: 0 14px; }
    .app-shell .main-nav { top: 58px; }
    .app-shell .header-user { display: none; }
    .app-shell .dashboard-toolbar { align-items: stretch; flex-direction: column; }
    .app-shell .dashboard-actions { width: 100%; }
    .app-shell .dashboard-actions .btn { flex: 1; }
    .app-shell .metric-grid { gap: 8px; }
    .app-shell .metric-card { grid-template-columns: 35px 1fr; min-height: 78px; padding: 11px; }
    .app-shell .metric-icon { width: 35px; height: 35px; }
    .app-shell .metric-arrow { display: none; }
    .app-shell .metric-card small { font-size: .69rem; }
    .app-shell .metric-card strong { font-size: 1.2rem; }
    .app-shell .dashboard-side { grid-template-columns: 1fr; }
    .app-shell .schedule-row { grid-template-columns: 42px 10px minmax(0, 1fr); }
    .app-shell .schedule-row .status-pill { display: none; }
    .app-shell .order-row { grid-template-columns: 1fr auto; }
    .app-shell .order-number { display: none; }
    .app-shell .list-filter { align-items: stretch; flex-direction: column; }
    .app-shell .list-filter select { width: 100%; }
    .app-shell .mini-metrics { grid-template-columns: 1fr; }
    .app-shell .role-color-grid { grid-template-columns: 1fr; }
    .app-shell .detail-strip { grid-template-columns: 1fr 1fr; }
    .app-shell .contact-meta { grid-template-columns: 1fr; }
    .app-shell .sticky-actions { position: static; width: 100%; flex-direction: column; }
    .app-shell .customer-overview-grid,.app-shell .vehicle-card-grid,.app-shell .access-status,.maintenance-contact { grid-template-columns: 1fr; }
    .app-shell .system-role-color,.app-shell .status-definition,.app-shell .status-definition>div:first-child { align-items:flex-start;flex-direction:column; }.app-shell .system-role-color { width:100%;margin-left:0; }.app-shell .status-definition .actions { margin-top:0; }.app-shell .log-metrics { grid-template-columns:1fr; }.app-shell .log-filter select { width:100%;min-height:38px; }
    .app-shell .appointment-filter { align-items:stretch; }
    .app-shell .appointment-filter select { min-width:0;width:100%; }
    .app-shell .appointment-card-summary,.app-shell .customer-appointment-card .appointment-card-summary { grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:14px; }
    .app-shell .appointment-date { grid-column:1;grid-row:1; }
    .app-shell .appointment-state { grid-column:2;grid-row:1;text-align:right; }
    .app-shell .appointment-person,.app-shell .appointment-service { grid-column:1/-1; }
    .app-shell .appointment-open-hint { grid-column:1/-1;margin:0;padding-top:4px;border-top:1px solid var(--app-border-soft); }
    .app-shell .appointment-edit-panel { padding:14px; }
    .app-shell .appointment-edit-head { align-items:flex-start;flex-direction:column; }
    .app-shell .appointment-manage-form { grid-template-columns:1fr; }
    .app-shell .appointment-manage-form .appointment-note,.app-shell .appointment-manage-form .overlap-permission.compact,.app-shell .appointment-manage-form .appointment-save { grid-column:auto; }
    .app-shell .appointment-manage-form .appointment-save .btn { width:100%; }
}
.security-score { display:flex; align-items:baseline; gap:12px; }.security-score strong { color:#3dbb7f; font-size:2.4rem; }.security-score span { color:var(--app-muted); }.security-check-list { display:grid; gap:10px; }.security-check { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:16px; margin-bottom:0; }.security-check-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; font-weight:900; }.security-check h2 { margin:0 0 3px; }.security-check p { margin:0; color:var(--app-muted); }.security-check.is-ok .security-check-icon { background:rgba(61,187,127,.15); color:#62d9a0; }.security-check.is-warning .security-check-icon { background:rgba(229,182,66,.15); color:#e5b642; }.security-steps { margin:0; padding-left:22px; }.security-steps li { margin:8px 0; color:var(--app-muted); }
.app-shell .legal-settings-grid textarea { min-height: 150px; }
.app-shell .legal-settings-grid .field:last-child { align-self: end; }
.app-shell .vehicle-manage-list { display:grid;gap:8px; }
.app-shell .vehicle-manage-row { display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--app-border-soft);border-radius:8px;background:#101217; }
.app-shell .vehicle-manage-main { display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:14px;color:var(--app-text);text-decoration:none; }
.app-shell .vehicle-manage-main span { display:grid;min-width:0;gap:3px; }.app-shell .vehicle-manage-main small { overflow:hidden;color:var(--app-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap; }
.app-shell .vehicle-manage-row form { flex:0 0 auto;margin:0; }.app-shell .vehicle-delete-note { margin:11px 0 0;color:var(--app-muted);font-size:.67rem;line-height:1.5; }
.app-shell .customer-vehicle-picker { position: relative; z-index: 4; }
.app-shell .customer-vehicle-picker.has-selection [data-vehicle-search] { border-color: rgba(61,187,127,.72); box-shadow: 0 0 0 3px rgba(61,187,127,.08); }
.app-shell .vehicle-search-results { position: absolute; z-index: 50; top: 72px; right: 0; left: 0; max-height: 310px; overflow: auto; border: 1px solid #3a434f; border-radius: 9px; background: #11151a; box-shadow: 0 20px 55px rgba(0,0,0,.62); }
.app-shell .vehicle-search-results[hidden] { display: none; }
.app-shell .vehicle-result { display: grid; width: 100%; gap: 3px; padding: 11px 13px; border: 0; border-bottom: 1px solid rgba(255,255,255,.07); background: transparent; color: #f4f6f8; text-align: left; cursor: pointer; }
.app-shell .vehicle-result:last-child { border-bottom: 0; }
.app-shell .vehicle-result:hover,.app-shell .vehicle-result.active { background: rgba(229,27,35,.13); }
.app-shell .vehicle-result strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .vehicle-result span { overflow: hidden; color: var(--app-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.app-shell .vehicle-result-empty { padding: 16px; color: var(--app-muted); font-size: .75rem; text-align: center; }

/* Einkäufe und betriebliche Ausgaben */
.app-shell .expense-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
.app-shell .expense-entry-panel { padding: 0; overflow: hidden; }
.app-shell .expense-entry-panel > summary { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;cursor:pointer;list-style:none; }
.app-shell .expense-entry-panel > summary::-webkit-details-marker { display:none; }
.app-shell .expense-entry-panel > summary:after { color:var(--app-muted);font-size:1rem;content:'+'; }
.app-shell .expense-entry-panel[open] > summary:after { content:'−'; }
.app-shell .expense-entry-panel > summary strong,.app-shell .expense-entry-panel > summary span { display:block; }
.app-shell .expense-entry-panel > summary strong { font-size:.86rem; }
.app-shell .expense-entry-panel > summary span { margin-left:auto;color:var(--app-muted);font-size:.68rem; }
.app-shell .expense-entry-panel > form { padding:18px 19px;border-top:1px solid var(--app-border-soft);background:#111419; }
.app-shell .expense-form-footer { display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:15px;padding-top:15px;border-top:1px solid var(--app-border-soft); }
.app-shell .expense-calculation { display:flex;flex-wrap:wrap;gap:8px; }
.app-shell .expense-calculation span { display:grid;min-width:132px;gap:3px;padding:8px 11px;border:1px solid var(--app-border-soft);border-radius:7px;background:#0d1014;color:var(--app-muted);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.app-shell .expense-calculation strong { color:var(--app-text);font-size:.78rem;letter-spacing:0;text-transform:none; }
.app-shell .expense-list-panel { padding:0;overflow:hidden; }
.app-shell .expense-list-heading { align-items:center;margin:0;padding:17px 19px;border-bottom:1px solid var(--app-border-soft); }
.app-shell .expense-list-heading h2 { margin:3px 0 0; }
.app-shell .expense-list-heading p { margin:3px 0 0;font-size:.66rem; }
.app-shell .expense-list-panel .expense-filter { margin:0;border:0;border-bottom:1px solid var(--app-border-soft);border-radius:0; }
.app-shell .expense-list-panel > .pagination { padding:0 18px 18px; }
.app-shell .expense-table { width:100%;table-layout:fixed; }
.app-shell .expense-table th,.app-shell .expense-table td { min-width:0;vertical-align:middle;white-space:normal;overflow-wrap:anywhere; }
.app-shell .expense-table th:nth-child(1){width:7.5%}.app-shell .expense-table th:nth-child(2){width:27%}.app-shell .expense-table th:nth-child(3){width:11%}.app-shell .expense-table th:nth-child(4){width:18%}.app-shell .expense-table th:nth-child(5){width:7%}.app-shell .expense-table th:nth-child(6){width:13%}.app-shell .expense-table th:nth-child(7){width:9%}.app-shell .expense-table th:nth-child(8){width:7.5%}
.app-shell .expense-table td:first-child,.app-shell .expense-table td:nth-child(5) { white-space:nowrap; }
.app-shell .expense-description { min-width:0; }
.app-shell .expense-description strong,.app-shell .expense-description small { display:block; }
.app-shell .expense-description strong { line-height:1.45;overflow-wrap:anywhere; }
.app-shell .expense-description small { max-width:100%;margin-top:4px;overflow:hidden;color:var(--app-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap; }
.app-shell .expense-person { overflow-wrap:anywhere; }
.app-shell .expense-supplier strong,.app-shell .expense-supplier small { display:block;max-width:100%;overflow-wrap:anywhere; }
.app-shell .expense-supplier strong { color:var(--app-text);font-size:.7rem;line-height:1.45; }
.app-shell .expense-supplier small { margin-top:5px;color:var(--app-muted);font-size:.6rem;line-height:1.4; }
.app-shell .expense-amounts { display:grid;gap:5px; }
.app-shell .expense-amounts>span { display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--app-muted);font-size:.57rem; }
.app-shell .expense-amounts strong { flex:0 0 auto;color:var(--app-text);font-size:.65rem;white-space:nowrap; }
.app-shell .expense-amounts .expense-gross { margin-top:2px;padding-top:5px;border-top:1px solid var(--app-border-soft); }
.app-shell .expense-amounts .expense-gross strong { color:#fff;font-size:.7rem; }
.app-shell .expense-row-actions .actions { display:grid;gap:5px;margin:0; }
.app-shell .expense-row-actions .actions form,.app-shell .expense-row-actions .btn { width:100%;margin:0; }
.app-shell .expense-row-actions .btn { min-height:30px;padding:6px 7px;font-size:.58rem;white-space:normal; }
.app-shell .expense-category-label { display:inline-flex;margin-bottom:5px;padding:3px 6px;border:1px solid rgba(82,149,229,.25);border-radius:99px;background:rgba(82,149,229,.08);color:#8ebdf2;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em; }
.app-shell .accounting-note { margin-top:13px;padding:12px 14px;border:1px solid rgba(226,168,71,.25);border-radius:8px;background:rgba(226,168,71,.055);color:var(--app-muted);font-size:.68rem;line-height:1.55; }
.app-shell .accounting-note strong { color:#dfb45f; }
.app-shell .expense-breakdown { margin-top:14px; }

@media (max-width: 900px) {
    .app-shell .expense-list-heading,.app-shell .expense-form-footer { align-items:stretch;flex-direction:column; }
    .app-shell .expense-list-heading .report-period { width:100%; }
}
@media (max-width: 680px) {
    .app-shell .expense-metrics { grid-template-columns:1fr; }
    .app-shell .expense-entry-panel > summary { align-items:flex-start; }
    .app-shell .expense-entry-panel > summary span { display:none; }
    .app-shell .expense-calculation { display:grid;grid-template-columns:1fr; }
    .app-shell .expense-calculation span { min-width:0; }
}
/* Werkstatt-Board */
.board-head{align-items:flex-end}.board-filter{grid-template-columns:minmax(260px,1fr) auto auto}.workshop-board{display:grid;grid-template-columns:repeat(4,minmax(285px,1fr));gap:14px;align-items:start;overflow-x:auto;padding:2px 2px 18px;scrollbar-color:#56606d #14181e}.board-lane{min-width:285px;background:#11151b;border:1px solid #29313b;border-radius:14px;overflow:hidden}.board-lane>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:52px;padding:0 14px;border-bottom:1px solid #29313b;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}.board-lane>header strong{font-size:13px}.board-lane>header b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:8px;background:#20262e;color:#aeb8c7;font-size:12px}.board-lane-dot{width:9px;height:9px;border-radius:50%;background:var(--lane-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--lane-color) 18%,transparent)}.board-card-list{display:grid;gap:10px;min-height:120px;padding:10px;transition:background .16s ease}.board-lane.is-drag-over .board-card-list{background:color-mix(in srgb,var(--lane-color) 9%,transparent)}.board-card{padding:13px;background:#181d24;border:1px solid #303844;border-radius:11px;box-shadow:0 7px 18px rgba(0,0,0,.14);cursor:grab;transition:transform .16s ease,border-color .16s ease,opacity .16s ease}.board-card:hover{transform:translateY(-2px);border-color:#475362}.board-card.is-dragging{opacity:.45}.board-card.is-saving{pointer-events:none;opacity:.62}.board-card-top,.board-card-footer,.board-card-meta{display:flex;align-items:center;justify-content:space-between;gap:9px}.board-card-top a{color:#ff5962;font-size:12px;font-weight:800;letter-spacing:.04em}.board-card-top>span{color:#778292;font-size:11px}.board-card h3{margin:9px 0 10px;font-size:15px;line-height:1.35}.board-card p{display:grid;gap:3px;margin:0 0 11px;color:#dbe1e9;font-size:12px}.board-card p span{color:#8f9aaa}.board-card-meta{padding:9px 0;border-top:1px solid #29313b;border-bottom:1px solid #29313b;font-size:11px}.board-card-meta span{color:#7f8a99}.board-card-meta strong{text-align:right;color:#cbd3dd}.board-card-footer{padding-top:10px;font-size:11px;color:#8f9aaa}.board-card-footer strong{color:#eef2f7}.board-status-select{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:11px}.board-status-select span{font-size:10px;color:#7f8a99;text-transform:uppercase;letter-spacing:.06em}.board-status-select select{min-height:34px;padding:6px 28px 6px 9px;font-size:11px}.board-lane-empty{padding:34px 10px;text-align:center;color:#667180;font-size:12px}.board-toast{position:fixed;right:22px;bottom:22px;z-index:9999;max-width:min(390px,calc(100vw - 30px));padding:13px 16px;border:1px solid #2c7b58;border-radius:10px;background:#153326;color:#d9ffea;box-shadow:0 15px 40px rgba(0,0,0,.35);font-size:13px;font-weight:700}.board-toast.error{border-color:#91414a;background:#3b1c21;color:#ffd9dc}

/* Sichere Kundenfreigabe */
.approval-public-page main{min-height:calc(100vh - 180px)}.approval-shell{display:grid;place-items:center;padding:54px 20px 80px}.approval-card{width:min(720px,100%);padding:36px;border:1px solid #2d3540;border-radius:20px;background:#151a21;box-shadow:0 24px 65px rgba(0,0,0,.28)}.approval-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:24px;border-radius:15px;background:#e21b25;color:#fff;font-size:18px;font-weight:900}.approval-icon.is-success{background:#267c55}.approval-icon.is-error{background:#8e343d}.approval-card h1{margin:7px 0 8px;font-size:clamp(26px,5vw,40px);line-height:1.1}.approval-order{margin:0 0 25px;color:#98a3b2}.approval-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:22px 0;background:#2b323c;border:1px solid #2b323c;border-radius:12px;overflow:hidden}.approval-summary>div{display:grid;gap:6px;padding:15px;background:#10141a}.approval-summary span,.approval-message>span{color:#7f8a99;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.approval-summary strong{font-size:13px}.approval-message{padding:17px 19px;margin:20px 0;border-left:3px solid #e21b25;border-radius:8px;background:#10141a}.approval-message p{margin:7px 0 0;color:#c6ced8;line-height:1.6}.approval-items{margin:20px 0;border:1px solid #2b333e;border-radius:10px;overflow:hidden}.approval-items-head,.approval-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px}.approval-items-head{background:#20262e;color:#aeb8c7;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.approval-item{border-top:1px solid #252c35}.approval-item>span{display:grid;gap:3px}.approval-item small{color:#7f8a99}.approval-item b{white-space:nowrap}.approval-form{margin-top:24px}.approval-actions{display:flex;gap:10px;flex-wrap:wrap}.approval-admin-grid{align-items:start}.approval-admin-history{min-width:0}.approval-admin-history h3{margin-top:0}.approval-history-list{display:grid;gap:8px}.approval-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:12px;border:1px solid #2b333e;border-radius:10px;background:#11151b}.approval-history-list article>div{display:grid;gap:3px}.approval-history-list article small{color:#8792a2;font-size:10px}.approval-history-list article>b{font-size:12px}.approval-history-list article>small{grid-column:1/-1}.approval-history-list form{margin:0}

@media(max-width:900px){.workshop-board{grid-template-columns:repeat(4,280px)}.board-filter{grid-template-columns:1fr auto}.board-filter .btn-secondary{grid-column:1/-1}.approval-card{padding:27px}}
@media(max-width:560px){.board-head{align-items:stretch}.board-head .actions{display:grid;grid-template-columns:1fr 1fr}.board-filter{grid-template-columns:1fr}.board-filter .btn{width:100%}.workshop-board{grid-template-columns:repeat(4,min(86vw,310px));margin-inline:-4px}.approval-shell{padding:30px 14px 55px}.approval-card{padding:22px;border-radius:15px}.approval-summary{grid-template-columns:1fr}.approval-actions{display:grid}.approval-actions .btn{width:100%}.approval-history-list article{grid-template-columns:minmax(0,1fr) auto}.approval-history-list article>b{grid-column:1/2}.approval-history-list article form{grid-column:2/3;grid-row:2/3}}

/* Kontakt-Spamschutz und Quarantaene */
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.message-mailboxes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 13px}.message-mailboxes a{display:flex;align-items:center;gap:11px;min-height:39px;padding:7px 12px;border:1px solid #2d3540;border-radius:8px;background:#12161b;color:#a8b1bd;font-size:12px;font-weight:800}.message-mailboxes a:hover,.message-mailboxes a.active{border-color:#566272;background:#1a2027;color:#fff}.message-mailboxes a.spam.active{border-color:#8d444a;background:rgba(188,57,67,.11)}.message-mailboxes b{display:grid;min-width:23px;height:23px;padding:0 6px;place-items:center;border-radius:7px;background:#252c35;color:#dce2e9;font-size:10px}.message-mailboxes a.spam b{background:rgba(218,73,84,.16);color:#ff8e96}.message-spam-row{background:rgba(164,50,59,.035)}.spam-badge{display:inline-flex;padding:4px 7px;border:1px solid rgba(225,81,91,.42);border-radius:99px;background:rgba(195,55,65,.12);color:#ff8f97;font-size:10px;font-weight:850;white-space:nowrap}.spam-reason{display:block;margin-top:6px;color:#d6747c;font-size:10px}.spam-review-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 16px;border:1px solid rgba(219,75,86,.38);border-radius:10px;background:rgba(167,42,52,.09)}.spam-review-banner>div{display:grid;gap:4px}.spam-review-banner strong{color:#ff929a;font-size:13px}.spam-review-banner span{color:#aeb7c3;font-size:11px}.spam-review-banner form{margin:0}
@media(max-width:640px){.message-mailboxes{display:grid;grid-template-columns:1fr}.message-mailboxes a{justify-content:space-between}.spam-review-banner{align-items:stretch;flex-direction:column}.spam-review-banner .btn{width:100%}}
