/* Fernbus-Manager-Pro · Premium/Coin/Admin UI · v1.8 */
:root { --primary: #ec0016; --primary-hover: #c90013; }
    .btn-primary { background: var(--primary); border-color: var(--primary); color: #fff; }
    .btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
    html[data-theme="dark"] .btn-primary { background: #ff4050; border-color: #ff4050; color: #fff; }
    html:not([data-theme="dark"]) .theme-toggle { background: var(--primary); border-color: var(--primary); color: #fff; }
    .save-state { display:inline-flex; align-items:center; gap:7px; font-size:11px; color:var(--muted); }
    .save-state::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 14%, transparent); }
    .save-state.error::before { background:var(--warning); }
    .tutorial-card { border:1px solid color-mix(in srgb, var(--sea) 28%, var(--line)); background:linear-gradient(145deg, color-mix(in srgb, var(--sea) 8%, var(--surface)), var(--surface)); }
    .tutorial-list { display:grid; gap:8px; margin:14px 0; }
    .tutorial-task { display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--line); border-radius:11px; background:var(--surface); font-size:12px; }
    .tutorial-task i { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--surface-3); color:var(--muted); font-style:normal; font-weight:800; }
    .tutorial-task.done i { background:var(--success); color:#fff; }
    .tutorial-progress { height:7px; border-radius:999px; overflow:hidden; background:var(--surface-3); }
    .tutorial-progress span { display:block; height:100%; background:var(--sea); transition:width .25s ease; }
    .offline-highlight { border-left:4px solid var(--sea); }
    .inline-fare { width:86px; min-height:34px; padding:6px 8px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); }
    .table-actions { display:flex; gap:6px; justify-content:flex-end; flex-wrap:wrap; }
    .compact-button { min-height:34px; padding:6px 10px; font-size:11px; }
    .empty-state { padding:34px 20px; text-align:center; color:var(--muted); }
    .empty-state strong { display:block; margin-bottom:6px; color:var(--ink); }
    .core-note { display:flex; align-items:flex-start; gap:9px; padding:11px 13px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); color:var(--muted); font-size:11px; line-height:1.5; }
    .core-note b { color:var(--ink); }
    .ledger-positive { color:var(--success); }
    .ledger-negative { color:var(--danger); }
    .condition-meter { height:6px; background:var(--surface-3); border-radius:999px; overflow:hidden; }
    .condition-meter span { display:block; height:100%; background:var(--success); }
    .condition-meter span.warn { background:var(--warning); }
    .condition-meter span.danger { background:var(--danger); }
    .onboarding-dialog { width:min(760px, calc(100vw - 28px)); max-height:min(90vh, 820px); padding:0; border:1px solid var(--line); border-radius:22px; background:var(--surface); color:var(--ink); box-shadow:0 30px 80px rgba(4,24,36,.28); }
    .onboarding-dialog::backdrop { background:rgba(5,24,35,.72); backdrop-filter:blur(5px); }
    .onboarding-shell { display:grid; grid-template-rows:auto 1fr auto; max-height:inherit; }
    .onboarding-head { padding:22px 24px 16px; border-bottom:1px solid var(--line); }
    .onboarding-head-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }
    .onboarding-head h2 { margin:5px 0 0; font-size:24px; }
    .step-track { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:16px; }
    .step-track span { height:5px; border-radius:999px; background:var(--surface-3); }
    .step-track span.active { background:var(--primary); }
    .onboarding-body { padding:22px 24px; overflow:auto; }
    .onboarding-foot { display:flex; justify-content:space-between; gap:10px; padding:16px 24px; border-top:1px solid var(--line); }
    .starter-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    .starter-choice { display:block; position:relative; padding:15px; border:1px solid var(--line); border-radius:16px; background:var(--surface-2); cursor:pointer; transition:.18s ease; }
    .starter-choice:hover { transform:translateY(-2px); border-color:var(--sea); }
    .starter-choice.selected { border:2px solid var(--primary); background:color-mix(in srgb, var(--primary) 5%, var(--surface)); }
    .starter-choice input { position:absolute; opacity:0; pointer-events:none; }
    .starter-choice strong { display:block; margin:8px 0 4px; }
    .starter-choice small { display:block; color:var(--muted); line-height:1.5; }
    .starter-bus { height:74px; border-radius:13px; background:linear-gradient(155deg, color-mix(in srgb, var(--bus-color) 65%, white), var(--bus-color)); position:relative; overflow:hidden; }
    .starter-bus::after { content:""; position:absolute; left:14px; right:13px; top:13px; height:24px; border-radius:7px 13px 4px 4px; background:rgba(7,30,42,.8); box-shadow:inset 0 -5px 0 rgba(255,255,255,.12); }
    .starter-bus::before { content:""; position:absolute; left:17px; right:17px; bottom:9px; height:9px; border-radius:999px; background:linear-gradient(90deg,#101820 0 13%,transparent 13% 80%,#101820 80% 93%,transparent 93%); }
    .starter-product-image { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:13px; background:#e9eff1; }
    .setup-summary { display:grid; gap:10px; }
    .setup-row { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
    .setup-row span { color:var(--muted); }
    .setup-row strong { text-align:right; }
    .restructure-live { border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line)); background:color-mix(in srgb, var(--danger) 8%, var(--surface)); }
    .restructure-safe { border:1px solid color-mix(in srgb, var(--success) 28%, var(--line)); background:color-mix(in srgb, var(--success) 6%, var(--surface)); }
    .version-chip { position:fixed; right:14px; bottom:14px; z-index:20; padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb, var(--surface) 88%, transparent); color:var(--muted); font-size:10px; backdrop-filter:blur(12px); }
    .mobile-nav ~ .version-chip { bottom:72px; }
    .schedule-dialog { width:min(1120px, calc(100vw - 24px)); max-height:92vh; padding:0; border:1px solid var(--line); border-radius:22px; background:var(--surface); color:var(--ink); box-shadow:0 30px 80px rgba(4,24,36,.32); }
    .schedule-dialog::backdrop { background:rgba(5,24,35,.72); backdrop-filter:blur(5px); }
    .schedule-shell { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; max-height:92vh; }
    .schedule-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px 16px; border-bottom:1px solid var(--line); }
    .schedule-head h2 { margin:4px 0 0; font-size:23px; }
    .schedule-tabs { display:flex; gap:7px; padding:11px 22px; overflow:auto; border-bottom:1px solid var(--line); background:var(--surface-2); }
    .schedule-tab { flex:0 0 auto; min-height:36px; padding:7px 13px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-weight:700; cursor:pointer; }
    .schedule-tab.active { background:var(--navy); border-color:var(--navy); color:#fff; }
    .schedule-content { padding:20px 22px; overflow:auto; }
    .schedule-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 22px; border-top:1px solid var(--line); }
    .editor-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:18px; }
    .editor-stack { display:grid; gap:12px; }
    .editor-row { display:grid; grid-template-columns:minmax(160px,1fr) minmax(170px,1.2fr) 100px auto; gap:9px; align-items:end; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
    .editor-row.trip { grid-template-columns:130px 115px 110px 110px auto; }
    .editor-row.rotation { grid-template-columns:minmax(160px,.8fr) minmax(180px,1fr) minmax(180px,1fr); }
    .editor-row .field { min-width:0; }
    .day-picker { display:flex; flex-wrap:wrap; gap:7px; }
    .day-choice { position:relative; }
    .day-choice input { position:absolute; opacity:0; }
    .day-choice span { display:grid; place-items:center; min-width:38px; min-height:38px; padding:6px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; }
    .day-choice input:checked + span { background:var(--primary); border-color:var(--primary); color:#fff; }
    .validation-list { display:grid; gap:8px; }
    .validation-item { display:flex; gap:10px; align-items:flex-start; padding:10px 11px; border:1px solid var(--line); border-radius:11px; background:var(--surface); font-size:11px; line-height:1.45; }
    .validation-item i { flex:0 0 auto; display:grid; place-items:center; width:21px; height:21px; border-radius:50%; font-style:normal; font-weight:800; }
    .validation-item.error i { background:var(--danger); color:#fff; }
    .validation-item.warning i { background:var(--warning); color:#fff; }
    .validation-item.ok i { background:var(--success); color:#fff; }
    .timeline { position:relative; min-height:180px; padding:28px 8px 12px 62px; border:1px solid var(--line); border-radius:15px; background:repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), var(--line) calc(8.333% - 1px) 8.333%), var(--surface-2); overflow:hidden; }
    .timeline-scale { position:absolute; top:7px; left:62px; right:8px; display:flex; justify-content:space-between; color:var(--muted); font-size:9px; }
    .timeline-row { position:relative; height:52px; border-top:1px dashed var(--line); }
    .timeline-label { position:absolute; left:-56px; top:16px; width:50px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; color:var(--muted); }
    .timeline-bar { position:absolute; top:9px; height:30px; min-width:18px; padding:7px 9px; border-radius:9px; overflow:hidden; white-space:nowrap; color:#fff; background:var(--sea); font-size:10px; font-weight:800; box-shadow:0 5px 14px rgba(18,59,86,.16); }
    .timeline-bar.return { background:var(--navy); }
    .concession-gauge { height:10px; border-radius:999px; overflow:hidden; background:var(--surface-3); }
    .concession-gauge span { display:block; height:100%; background:var(--success); }
    .concession-gauge span.warn { background:var(--warning); }
    .concession-gauge span.danger { background:var(--danger); }
    .line-health { display:flex; gap:6px; flex-wrap:wrap; }
    .migration-note { border-left:4px solid var(--sea); }
    .roster-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .week-switcher { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
    .week-label { min-width:190px; text-align:center; color:var(--navy-strong); font-size:13px; font-weight:850; }
    .day-filters { display:flex; gap:6px; overflow:auto; padding-bottom:2px; }
    .day-filter { flex:0 0 auto; min-height:34px; padding:6px 11px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; }
    .day-filter.active { border-color:var(--navy); background:var(--navy); color:#fff; }
    .roster-select { width:100%; min-width:155px; min-height:36px; padding:7px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); font-size:11px; }
    .roster-select.invalid { border-color:var(--danger); background:color-mix(in srgb, var(--danger) 5%, var(--surface)); }
    .duty-time { white-space:nowrap; }
    .duty-time strong { display:block; color:var(--navy-strong); }
    .duty-time small, .route-cell small { display:block; color:var(--muted); margin-top:2px; }
    .rule-stack { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
    .rule-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border-radius:999px; background:color-mix(in srgb, var(--success) 10%, var(--surface)); color:var(--success); font-size:9px; font-weight:850; white-space:nowrap; }
    .rule-badge.error { background:color-mix(in srgb, var(--danger) 10%, var(--surface)); color:var(--danger); }
    .rule-badge.warning { background:color-mix(in srgb, var(--warning) 12%, var(--surface)); color:var(--warning); }
    .workload-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
    .workload-card { padding:13px; border:1px solid var(--line); border-radius:13px; background:var(--surface-2); }
    .workload-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:9px; }
    .workload-head strong { display:block; }
    .workload-head small { color:var(--muted); }
    .workload-meter { height:7px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
    .workload-meter span { display:block; height:100%; background:var(--sea); }
    .workload-meter span.warn { background:var(--warning); }
    .workload-meter span.danger { background:var(--danger); }
    .staff-dialog { width:min(820px, calc(100vw - 24px)); max-height:92vh; }
    .staff-tabs { display:flex; gap:7px; padding:11px 20px; overflow:auto; border-bottom:1px solid var(--line); background:var(--surface-2); }
    .staff-tab { flex:0 0 auto; min-height:35px; padding:7px 13px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-weight:750; cursor:pointer; }
    .staff-tab.active { border-color:var(--navy); background:var(--navy); color:#fff; }
    .qualification-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
    .qualification-choice { display:flex; gap:9px; align-items:flex-start; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); cursor:pointer; }
    .qualification-choice input { margin-top:2px; accent-color:var(--primary); }
    .qualification-choice span { display:block; font-size:12px; font-weight:800; }
    .qualification-choice small { display:block; margin-top:3px; color:var(--muted); font-size:10px; line-height:1.4; }
    .absence-list { display:grid; gap:8px; margin-bottom:15px; }
    .absence-item { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
    .absence-item strong { display:block; font-size:12px; }
    .absence-item small { color:var(--muted); }
    .staff-summary { display:flex; gap:6px; flex-wrap:wrap; }
    .staff-summary span { padding:4px 7px; border-radius:999px; background:var(--surface-3); color:var(--muted); font-size:9px; font-weight:800; }
    .staff-summary span.active { background:color-mix(in srgb, var(--sea) 11%, var(--surface)); color:var(--sea); }
    .special-tabs { display:flex; gap:7px; margin-bottom:16px; overflow:auto; padding-bottom:2px; }
    .special-tab { flex:0 0 auto; min-height:38px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; }
    .special-tab.active { border-color:var(--navy); background:var(--navy); color:#fff; }
    .special-tab .nav-badge { margin-left:5px; }
    .offer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; }
    .offer-card { overflow:hidden; }
    .offer-accent { height:5px; background:linear-gradient(90deg,var(--primary),var(--orange)); }
    .offer-route { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; margin:16px 0; }
    .offer-route span { min-width:0; }
    .offer-route span:last-child { text-align:right; }
    .offer-route strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--navy-strong); }
    .offer-route small { display:block; margin-top:3px; color:var(--muted); }
    .route-arrow { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--surface-3); color:var(--sea); font-weight:900; }
    .offer-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:12px 0; }
    .offer-fact { padding:9px; border-radius:11px; background:var(--surface-2); }
    .offer-fact small { display:block; color:var(--muted); font-size:9px; }
    .offer-fact strong { display:block; margin-top:3px; font-size:12px; }
    .offer-price { display:flex; justify-content:space-between; gap:12px; align-items:flex-end; padding:12px 0; border-top:1px solid var(--line); }
    .offer-price small { display:block; color:var(--muted); }
    .offer-price strong { display:block; margin-top:2px; color:var(--navy-strong); font-size:20px; }
    .theme-chip { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:999px; background:color-mix(in srgb,var(--orange) 11%,var(--surface)); color:var(--orange); font-size:9px; font-weight:850; }
    .special-status { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
    .event-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:14px; }
    .event-card { position:relative; overflow:hidden; }
    .event-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--sea); }
    .event-card.inactive::before { background:var(--muted); }
    .event-date { display:inline-grid; min-width:60px; padding:9px; border-radius:12px; background:var(--navy); color:#fff; text-align:center; }
    .event-date strong { display:block; font-size:17px; }
    .event-date small { color:rgba(255,255,255,.7); font-size:9px; text-transform:uppercase; }
    .event-head { display:flex; align-items:flex-start; gap:12px; }
    .event-head h3 { margin:2px 0 4px; }
    .event-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:13px; }
    .event-stats span { padding:8px; border-radius:10px; background:var(--surface-2); text-align:center; }
    .event-stats small { display:block; color:var(--muted); font-size:8px; text-transform:uppercase; }
    .event-stats strong { display:block; margin-top:3px; font-size:11px; }
    .admin-banner { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line)); border-radius:15px; background:color-mix(in srgb,var(--warning) 7%,var(--surface)); }
    .admin-banner i { display:grid; flex:0 0 auto; width:30px; height:30px; place-items:center; border-radius:9px; background:var(--warning); color:#fff; font-style:normal; font-weight:900; }
    .admin-banner strong { display:block; }
    .admin-banner p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
    .booking-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:15px; }
    .booking-summary span { padding:10px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
    .booking-summary small { display:block; color:var(--muted); font-size:9px; }
    .booking-summary strong { display:block; margin-top:4px; font-size:12px; }
    .margin-positive { color:var(--success); }
    .margin-negative { color:var(--danger); }
    .special-dialog { width:min(820px,calc(100vw - 24px)); max-height:92vh; }
    .special-dialog .dialog-body { overflow:auto; }
    .operations-dialog { width:min(760px,calc(100vw - 24px)); max-height:92vh; }
    .operations-dialog .dialog-body { overflow:auto; }
    .operations-tabs { display:flex; gap:7px; margin-bottom:16px; overflow:auto; padding-bottom:2px; }
    .operations-tab { flex:0 0 auto; min-height:38px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; }
    .operations-tab.active { border-color:var(--navy); background:var(--navy); color:#fff; }
    .operations-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
    .operations-kpi { padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
    .operations-kpi small { display:block; color:var(--muted); font-size:9px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
    .operations-kpi strong { display:block; margin-top:6px; color:var(--navy-strong); font-size:21px; }
    .operations-kpi span { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
    .fleet-health-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:13px; }
    .health-card { position:relative; overflow:hidden; }
    .health-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--success); }
    .health-card.warn::before { background:var(--warning); }
    .health-card.danger::before { background:var(--danger); }
    .health-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
    .health-head h3 { margin:0 0 4px; }
    .health-head p { margin:0; color:var(--muted); font-size:10px; }
    .health-score { display:grid; flex:0 0 auto; width:52px; height:52px; place-items:center; border-radius:50%; background:conic-gradient(var(--sea) calc(var(--score) * 1%),var(--surface-3) 0); }
    .health-score::after { content:attr(data-score); display:grid; width:40px; height:40px; place-items:center; border-radius:50%; background:var(--surface); color:var(--navy-strong); font-size:10px; font-weight:900; }
    .health-bars { display:grid; gap:8px; margin:14px 0; }
    .health-bar-head { display:flex; justify-content:space-between; gap:8px; margin-bottom:4px; color:var(--muted); font-size:9px; }
    .health-bar { height:6px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
    .health-bar span { display:block; height:100%; border-radius:inherit; background:var(--sea); }
    .technical-facts { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
    .technical-facts span { padding:9px; border-radius:10px; background:var(--surface-2); }
    .technical-facts small { display:block; color:var(--muted); font-size:8px; text-transform:uppercase; }
    .technical-facts strong { display:block; margin-top:3px; font-size:10px; }
    .order-list, .incident-list { display:grid; gap:11px; }
    .order-card, .incident-card { position:relative; overflow:hidden; }
    .order-card::before, .incident-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--sea); }
    .order-card.completed::before, .incident-card.resolved::before { background:var(--success); }
    .order-card.canceled::before { background:var(--muted); }
    .incident-card.high::before { background:var(--danger); }
    .incident-card.medium::before { background:var(--warning); }
    .order-head, .incident-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
    .order-head h3, .incident-head h3 { margin:0 0 4px; }
    .order-head p, .incident-head p { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
    .order-flow { display:grid; grid-template-columns:1fr auto 1fr; gap:9px; align-items:center; margin:14px 0; }
    .order-flow span { padding:9px; border-radius:10px; background:var(--surface-2); }
    .order-flow small { display:block; color:var(--muted); font-size:8px; text-transform:uppercase; }
    .order-flow strong { display:block; margin-top:3px; font-size:10px; }
    .incident-meta { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
    .incident-meta span { padding:5px 8px; border-radius:999px; background:var(--surface-3); color:var(--muted); font-size:9px; font-weight:750; }
    .incident-response { padding:11px; border-radius:11px; background:color-mix(in srgb,var(--sea) 7%,var(--surface)); color:var(--muted); font-size:10px; line-height:1.5; }
    .operations-settings { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--surface-2); }
    .operations-settings strong { display:block; }
    .operations-settings small { display:block; margin-top:3px; color:var(--muted); line-height:1.45; }
    .switch-control { position:relative; display:inline-flex; flex:0 0 auto; width:46px; height:26px; }
    .switch-control input { position:absolute; opacity:0; pointer-events:none; }
    .switch-control span { width:100%; border-radius:999px; background:var(--surface-3); cursor:pointer; transition:.2s; }
    .switch-control span::after { content:""; position:absolute; top:4px; left:4px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.2); transition:.2s; }
    .switch-control input:checked + span { background:var(--sea); }
    .switch-control input:checked + span::after { transform:translateX(20px); }
    .operations-empty { padding:34px 18px; border:1px dashed var(--line); border-radius:14px; background:var(--surface-2); text-align:center; }
    .operations-empty strong { display:block; color:var(--navy-strong); }
    .operations-empty p { max-width:480px; margin:6px auto 14px; color:var(--muted); font-size:11px; line-height:1.55; }
    .market-dialog { width:min(780px,calc(100vw - 24px)); max-height:92vh; }
    .market-dialog .dialog-body { overflow:auto; }
    .market-tabs { display:flex; gap:7px; margin-bottom:14px; overflow:auto; padding-bottom:2px; }
    .market-tab { flex:0 0 auto; min-height:38px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; }
    .market-tab.active { border-color:var(--navy); background:var(--navy); color:#fff; }
    .market-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; padding:11px 13px; border:1px solid var(--line); border-radius:13px; background:var(--surface-2); }
    .market-toolbar .chips { overflow:auto; flex-wrap:nowrap; }
    .market-toolbar small { color:var(--muted); white-space:nowrap; }
    .market-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; }
    .market-card { position:relative; overflow:hidden; }
    .market-card::before { content:""; position:absolute; inset:0 auto 0 0; z-index:2; width:4px; background:var(--sea); }
    .market-card.auction::before { background:var(--orange); }
    .market-card.mine::before { background:var(--success); }
    .market-card.payment::before { background:var(--danger); }
    .market-visual { position:relative; min-height:132px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,color-mix(in srgb,var(--navy) 9%,var(--surface-2)),var(--surface-2)); }
    .market-visual .bus-shape { width:78%; max-width:270px; transform:scale(.92); }
    .premium-hero { position:relative; overflow:hidden; margin-top:18px; padding:26px; border-radius:var(--radius-xl); background:linear-gradient(128deg,#0b2d43,#155c75 65%,#177e89); color:#fff; box-shadow:var(--shadow); }
    .premium-hero::after { content:""; position:absolute; right:-80px; top:-90px; width:280px; height:280px; border:52px solid rgba(255,255,255,.06); border-radius:50%; }
    .premium-hero h2 { position:relative; z-index:1; margin:7px 0 8px; font-size:clamp(28px,4vw,42px); }
    .premium-hero p { position:relative; z-index:1; max-width:760px; margin:0; color:rgba(255,255,255,.75); }
    .premium-hero .view-actions { position:relative; z-index:1; margin-top:18px; }
    .benefit-grid, .support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
    .benefit-card { padding:18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-soft); }
    .benefit-card i { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:color-mix(in srgb,var(--sea) 13%,var(--surface)); color:var(--sea); font-style:normal; font-weight:900; }
    .benefit-card h3 { margin:13px 0 5px; color:var(--navy-strong); }
    .benefit-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
    .support-option { display:flex; flex-direction:column; gap:10px; padding:18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); }
    .support-option h3, .support-option p { margin:0; }
    .support-option p { color:var(--muted); font-size:12px; line-height:1.55; }
    .support-option .btn { margin-top:auto; }
    .admin-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:18px; }
    .admin-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .audit-list { display:grid; gap:8px; max-height:390px; overflow:auto; }
    .audit-entry { padding:10px 12px; border-left:3px solid var(--sea); border-radius:0 10px 10px 0; background:var(--surface-2); }
    .audit-entry strong, .audit-entry small { display:block; }
    .audit-entry small { margin-top:2px; color:var(--muted); }
    .premium-chip { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border-radius:999px; background:linear-gradient(120deg,#f3ddad,#fff0d2); color:#604816; font-size:10px; font-weight:900; }
    .coin-wallet { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px; border:1px solid color-mix(in srgb,#b58c33 30%,var(--line)); border-radius:var(--radius-lg); background:linear-gradient(135deg,color-mix(in srgb,#f3ddad 34%,var(--surface)),var(--surface)); box-shadow:var(--shadow-soft); }
    .coin-wallet-copy small, .coin-wallet-copy strong { display:block; }
    .coin-wallet-copy small { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
    .coin-wallet-copy strong { margin-top:3px; color:var(--navy-strong); font-size:clamp(24px,4vw,34px); }
    .coin-wallet-meta { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
    .coin-wallet-meta span { padding:7px 9px; border-radius:9px; background:color-mix(in srgb,var(--surface) 82%,transparent); color:var(--muted); font-size:9px; font-weight:800; }
    .coin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:13px; }
    .coin-package { position:relative; display:flex; flex-direction:column; gap:10px; min-height:230px; padding:18px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-soft); }
    .coin-package.featured { border-color:color-mix(in srgb,#b58c33 55%,var(--line)); box-shadow:0 12px 30px rgba(118,84,19,.13); }
    .coin-package.featured::before { content:"Empfohlen"; position:absolute; top:13px; right:-31px; width:112px; padding:4px 0; transform:rotate(38deg); background:#b58c33; color:#fff; text-align:center; font-size:8px; font-weight:900; text-transform:uppercase; }
    .coin-package h3, .coin-package p { margin:0; }
    .coin-package p { color:var(--muted); font-size:11px; line-height:1.5; }
    .coin-amount { display:flex; align-items:center; gap:9px; color:#7b5b15; }
    .coin-symbol { display:grid; flex:0 0 auto; width:34px; height:34px; place-items:center; border:2px solid #b58c33; border-radius:50%; background:linear-gradient(135deg,#fff0bf,#d8a93c); color:#61450d; box-shadow:inset 0 0 0 3px rgba(255,255,255,.38); font-size:14px; font-weight:950; }
    .coin-amount strong { font-size:25px; }
    .coin-bonus { align-self:flex-start; padding:4px 7px; border-radius:999px; background:color-mix(in srgb,var(--success) 10%,var(--surface)); color:var(--success); font-size:9px; font-weight:850; }
    .coin-price { margin-top:auto; padding-top:10px; border-top:1px solid var(--line); }
    .coin-price small, .coin-price strong { display:block; }
    .coin-price small { color:var(--muted); font-size:9px; }
    .coin-price strong { margin:2px 0 9px; color:var(--navy-strong); font-size:21px; }
    .premium-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:11px; }
    .premium-plan { padding:16px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); }
    .premium-plan h3 { margin:0 0 4px; color:var(--navy-strong); }
    .premium-plan p { min-height:34px; margin:0 0 13px; color:var(--muted); font-size:10px; line-height:1.5; }
    .premium-plan-price { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-bottom:10px; padding:9px; border-radius:10px; background:var(--surface-2); }
    .premium-plan-price strong { color:#7b5b15; font-size:16px; }
    .wallet-history { display:grid; gap:7px; }
    .wallet-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 12px; border-radius:11px; background:var(--surface-2); }
    .wallet-entry strong, .wallet-entry small { display:block; }
    .wallet-entry small { margin-top:2px; color:var(--muted); }
    .wallet-entry-value { text-align:right; color:var(--navy-strong); font-weight:900; }
    .wallet-entry-value.positive { color:var(--success); }
    .wallet-entry-value.negative { color:var(--danger); }
    .monetization-config { display:grid; gap:10px; }
    .monetization-row { display:grid; grid-template-columns:minmax(120px,1.4fr) repeat(2,minmax(90px,.7fr)) auto; gap:8px; align-items:end; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
    .monetization-row.premium-config { grid-template-columns:minmax(120px,1.4fr) repeat(2,minmax(80px,.6fr)) auto; }
    .monetization-row .field { gap:4px; }
    .monetization-row .field span { font-size:8px; }
    .monetization-row .switch-control { margin-bottom:5px; }
    .market-ribbon { position:absolute; top:12px; left:12px; z-index:2; padding:6px 9px; border-radius:999px; background:var(--navy); color:#fff; font-size:9px; font-weight:850; }
    .market-ribbon.auction { background:var(--orange); }
    .market-ribbon.mine { background:var(--success); }
    .market-source { position:absolute; right:12px; bottom:10px; color:var(--muted); font-size:8px; font-weight:750; }
    .market-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
    .market-head h3 { margin:0 0 4px; color:var(--navy-strong); }
    .market-head p { margin:0; color:var(--muted); font-size:10px; }
    .condition-badge { flex:0 0 auto; min-width:47px; padding:8px 6px; border-radius:11px; background:color-mix(in srgb,var(--success) 10%,var(--surface)); color:var(--success); text-align:center; font-size:10px; font-weight:900; }
    .condition-badge.warn { background:color-mix(in srgb,var(--warning) 10%,var(--surface)); color:var(--warning); }
    .condition-report { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:13px 0; }
    .condition-report span { padding:9px; border-radius:10px; background:var(--surface-2); }
    .condition-report small { display:block; color:var(--muted); font-size:8px; text-transform:uppercase; }
    .condition-report strong { display:block; margin-top:3px; font-size:10px; }
    .market-price-row { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding-top:12px; border-top:1px solid var(--line); }
    .market-price-row small { display:block; color:var(--muted); font-size:9px; }
    .market-price-row strong { display:block; margin-top:2px; color:var(--navy-strong); font-size:20px; }
    .market-price-row .view-actions { justify-content:flex-end; }
    .auction-meter { height:6px; margin:12px 0 5px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
    .auction-meter span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--orange),var(--warning)); }
    .auction-note { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:8px; }
    .market-process-list, .finance-contracts { display:grid; gap:11px; }
    .market-process, .finance-contract { padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
    .market-process-head, .finance-contract-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
    .market-process h3, .finance-contract h3 { margin:0 0 4px; }
    .market-process p, .finance-contract p { margin:0; color:var(--muted); font-size:10px; }
    .contract-progress { height:7px; margin:13px 0 6px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
    .contract-progress span { display:block; height:100%; border-radius:inherit; background:var(--sea); }
    .market-warning { padding:12px; border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--warning) 7%,var(--surface)); color:var(--muted); font-size:10px; line-height:1.5; }
    .market-value-box { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:15px; }
    .market-value-box span { padding:11px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
    .market-value-box small { display:block; color:var(--muted); font-size:8px; text-transform:uppercase; }
    .market-value-box strong { display:block; margin-top:4px; font-size:12px; }
    .location-dialog { width:min(820px,calc(100vw - 24px)); max-height:92vh; }
    .location-dialog .dialog-body { overflow:auto; }
    .location-overview { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:14px; margin-bottom:16px; }
    .location-map { position:relative; min-height:355px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:radial-gradient(circle at 24% 28%,color-mix(in srgb,var(--sea) 12%,transparent),transparent 26%),linear-gradient(145deg,color-mix(in srgb,var(--navy) 8%,var(--surface-2)),var(--surface-2)); }
    .location-map::before { content:""; position:absolute; inset:22px; opacity:.55; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent); }
    .location-map-copy { position:absolute; top:18px; left:18px; z-index:2; max-width:240px; }
    .location-map-copy strong { display:block; color:var(--navy-strong); }
    .location-map-copy small { display:block; margin-top:3px; color:var(--muted); line-height:1.45; }
    .location-node { position:absolute; z-index:3; display:grid; width:24px; height:24px; place-items:center; transform:translate(-50%,-50%); border:3px solid var(--surface); border-radius:50%; background:var(--surface-3); color:var(--muted); box-shadow:0 5px 13px rgba(18,59,86,.18); font-size:8px; font-weight:900; }
    .location-node.owned { width:30px; height:30px; background:var(--sea); color:#fff; }
    .location-node.hq { width:36px; height:36px; background:var(--primary); color:#fff; }
    .location-node::after { content:attr(data-city); position:absolute; top:calc(100% + 4px); left:50%; min-width:max-content; transform:translateX(-50%); padding:3px 6px; border:1px solid var(--line); border-radius:7px; background:color-mix(in srgb,var(--surface) 92%,transparent); color:var(--ink); font-size:8px; box-shadow:0 3px 8px rgba(18,59,86,.08); }
    .location-summary { display:grid; gap:10px; }
    .location-summary-item { padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
    .location-summary-item small { display:block; color:var(--muted); font-size:9px; text-transform:uppercase; }
    .location-summary-item strong { display:block; margin-top:5px; color:var(--navy-strong); font-size:20px; }
    .location-summary-item span { display:block; margin-top:3px; color:var(--muted); font-size:10px; }
    .location-grid, .expansion-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:13px; }
    .location-card { position:relative; overflow:hidden; }
    .location-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--sea); }
    .location-card.hq::before { background:var(--primary); }
    .location-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
    .location-head h3 { margin:0 0 4px; }
    .location-head p { margin:0; color:var(--muted); font-size:10px; }
    .location-capacity { margin:14px 0 11px; }
    .location-capacity-head { display:flex; justify-content:space-between; gap:10px; margin-bottom:5px; color:var(--muted); font-size:9px; }
    .location-capacity-head strong { color:var(--ink); }
    .location-capacity-meter { height:8px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
    .location-capacity-meter span { display:block; height:100%; border-radius:inherit; background:var(--sea); }
    .location-capacity-meter span.warn { background:var(--warning); }
    .facility-list { display:flex; flex-wrap:wrap; gap:6px; margin:11px 0; }
    .facility-chip { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:999px; background:var(--surface-3); color:var(--muted); font-size:8px; font-weight:800; }
    .facility-chip.active { background:color-mix(in srgb,var(--success) 10%,var(--surface)); color:var(--success); }
    .facility-chip::before { content:"○"; }
    .facility-chip.active::before { content:"✓"; }
    .location-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; padding-top:12px; border-top:1px solid var(--line); }
    .expansion-card { position:relative; overflow:hidden; }
    .expansion-card.locked { opacity:.72; }
    .expansion-route { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:12px 0; padding:10px; border-radius:11px; background:var(--surface-2); }
    .expansion-route span small { display:block; color:var(--muted); font-size:8px; }
    .expansion-route span strong { display:block; margin-top:2px; font-size:11px; }
    .expansion-price { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid var(--line); }
    .expansion-price small { display:block; color:var(--muted); }
    .expansion-price strong { display:block; margin-top:3px; color:var(--navy-strong); font-size:18px; }
    .module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
    .module-option { padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
    .module-option.active { border-color:color-mix(in srgb,var(--success) 45%,var(--line)); background:color-mix(in srgb,var(--success) 6%,var(--surface)); }
    .module-option strong { display:block; }
    .module-option small { display:block; min-height:42px; margin:4px 0 10px; color:var(--muted); font-size:9px; line-height:1.45; }
    .location-fleet-list { display:grid; gap:8px; }
    .location-fleet-row { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; padding:10px 11px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
    .location-fleet-row strong { display:block; font-size:11px; }
    .location-fleet-row small { display:block; margin-top:2px; color:var(--muted); font-size:9px; }
    @media (max-width: 900px) {
      .editor-grid { grid-template-columns:1fr; }
      .editor-row, .editor-row.trip, .editor-row.rotation { grid-template-columns:1fr 1fr; align-items:end; }
      .qualification-grid { grid-template-columns:1fr 1fr; }
      .mobile-nav { grid-template-columns:repeat(6,1fr); }
      .booking-summary { grid-template-columns:1fr 1fr; }
      .operations-kpis { grid-template-columns:1fr 1fr; }
      .market-grid { grid-template-columns:1fr 1fr; }
      .location-overview { grid-template-columns:1fr; }
      .location-summary { grid-template-columns:repeat(4,1fr); }
      .module-grid { grid-template-columns:1fr 1fr; }
      .ranking-layout, .marketing-layout { grid-template-columns:1fr; }
      .hero-media { max-width:650px; width:100%; margin:0 auto; transform:none; }
    }
    @media (max-width: 760px) {
      .starter-grid { grid-template-columns:1fr; }
      .benefit-grid, .support-grid, .admin-grid { grid-template-columns:1fr; }
      .admin-actions { grid-template-columns:1fr; }
      .onboarding-head, .onboarding-body, .onboarding-foot { padding-left:16px; padding-right:16px; }
      .onboarding-foot { flex-wrap:wrap; }
      .onboarding-foot .btn { flex:1; }
      .table-actions { justify-content:flex-start; }
      .version-chip { display:none; }
      .schedule-head, .schedule-content, .schedule-footer, .schedule-tabs { padding-left:14px; padding-right:14px; }
      .editor-grid { grid-template-columns:1fr; }
      .editor-row, .editor-row.trip, .editor-row.rotation { grid-template-columns:1fr; align-items:stretch; }
      .schedule-footer { flex-wrap:wrap; }
      .schedule-footer .view-actions { width:100%; }
      .qualification-grid { grid-template-columns:1fr; }
      .roster-toolbar { align-items:stretch; }
      .week-switcher, .day-filters { width:100%; }
      .week-label { flex:1; min-width:130px; }
      .offer-grid, .event-grid { grid-template-columns:1fr; }
      .offer-facts { grid-template-columns:1fr 1fr; }
      .fleet-health-grid { grid-template-columns:1fr; }
      .market-grid { grid-template-columns:1fr; }
      .market-toolbar { align-items:stretch; flex-direction:column; }
      .market-value-box { grid-template-columns:1fr; }
      .location-summary { grid-template-columns:1fr 1fr; }
      .location-map { min-height:320px; }
      .module-grid { grid-template-columns:1fr; }
      .location-grid, .expansion-grid { grid-template-columns:1fr; }
      .campaign-grid { grid-template-columns:1fr; }
      .ranking-row { grid-template-columns:38px minmax(130px,1fr) auto 46px; }
      .ranking-row .ranking-secondary { display:none; }
      .brand-logo { width:42px; height:42px; border-radius:12px; }
      .coin-wallet { align-items:flex-start; flex-direction:column; }
      .coin-wallet-meta { justify-content:flex-start; }
      .monetization-row, .monetization-row.premium-config { grid-template-columns:1fr 1fr; }
      .monetization-row > strong, .monetization-row > .switch-control { grid-column:1 / -1; }
    }


    /* Paket C · Karriere, Ziele & Wettbewerb */
    .career-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:16px; margin-bottom:18px; padding:22px; border:1px solid var(--line); border-radius:var(--radius-xl); background:linear-gradient(135deg,color-mix(in srgb,var(--sea) 11%,var(--surface)),var(--surface)); box-shadow:var(--shadow-soft); }
    .career-hero h3 { margin:4px 0; color:var(--navy-strong); font-size:clamp(26px,4vw,40px); }
    .career-hero p { margin:0 0 14px; color:var(--muted); }
    .career-hero aside { display:flex; flex-direction:column; justify-content:center; gap:9px; padding:16px; border-radius:var(--radius-lg); background:var(--surface-2); }
    .career-hero aside small { color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
    .career-hero aside strong { color:var(--navy-strong); line-height:1.35; }
    .career-meter { height:9px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
    .career-meter.large { height:12px; }
    .career-meter span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--sea),var(--orange)); }
    .career-goal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:13px; }
    .career-goal-card.completed { opacity:.76; }
    .career-goal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
    .career-goal-head h3, .career-goal-head p { margin:0; }
    .career-goal-head p { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }
    .career-goal-card .career-meter { margin:14px 0 12px; }
    .career-reward { display:flex; justify-content:space-between; gap:12px; align-items:center; }
    .career-reward small, .career-reward strong { display:block; }
    .career-reward small { color:var(--muted); }
    .career-level-list { display:grid; gap:8px; }
    .career-level { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:11px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); opacity:.6; }
    .career-level.reached { opacity:1; }
    .career-level.active { border-color:color-mix(in srgb,var(--sea) 50%,var(--line)); box-shadow:inset 3px 0 0 var(--sea); }
    .career-level > span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--surface); color:var(--navy-strong); font-weight:900; }
    .career-level.reached > span { background:color-mix(in srgb,var(--sea) 13%,var(--surface)); color:var(--sea); }
    .career-level strong, .career-level small { display:block; }
    .career-level small { margin-top:2px; color:var(--muted); }
    .career-level b { color:var(--navy-strong); white-space:nowrap; }
    .achievement-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:11px; }
    .achievement-card { display:flex; gap:12px; padding:14px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); }
    .achievement-card.locked { opacity:.58; }
    .achievement-card.unlocked { border-color:color-mix(in srgb,var(--success) 38%,var(--line)); background:color-mix(in srgb,var(--success) 5%,var(--surface)); }
    .achievement-icon { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; border-radius:50%; background:var(--surface-2); color:var(--navy-strong); font-weight:900; }
    .achievement-card.unlocked .achievement-icon { color:var(--success); }
    .achievement-card strong, .achievement-card small, .achievement-card div > span { display:block; }
    .achievement-card small { margin-top:3px; color:var(--muted); line-height:1.45; }
    .achievement-card div > span { margin-top:6px; color:var(--sea); font-size:10px; font-weight:850; }
    .weekly-challenge { margin-bottom:18px; }
    .competition-intel { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
    .competition-intel span { padding:9px; border-radius:9px; background:var(--surface-2); }
    .competition-intel small, .competition-intel strong { display:block; }
    .competition-intel small { color:var(--muted); }
    .competition-intel-copy { margin:9px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
    .competitor-move-list { display:grid; gap:8px; }
    .competitor-move { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; padding:10px 12px; border-radius:11px; background:var(--surface-2); }
    .competitor-move strong, .competitor-move small { display:block; }
    .competitor-move small { margin-top:2px; color:var(--muted); }
    @media (max-width: 850px) { .career-hero { grid-template-columns:1fr; } .career-reward { align-items:flex-start; flex-direction:column; } .competition-intel { grid-template-columns:1fr; } }

/* v2.2 Alpha · Auth / Session ------------------------------------------------ */
.auth-dialog { width:min(520px,calc(100vw - 28px)); max-width:520px; padding:0; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); color:var(--text); box-shadow:0 28px 80px rgba(5,26,38,.28); }
.auth-dialog::backdrop { background:rgba(4,20,30,.58); backdrop-filter:blur(5px); }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:0 18px 12px; border-bottom:1px solid var(--line); }
.auth-tab { border:0; border-radius:9px; padding:10px 12px; background:var(--surface-2); color:var(--muted); font:inherit; font-weight:800; cursor:pointer; }
.auth-tab.active { background:color-mix(in srgb,var(--sea) 14%,var(--surface)); color:var(--navy-strong); }
.auth-form { display:grid; gap:14px; }
.auth-form .field { display:grid; gap:6px; }
.auth-form .field span { color:var(--navy-strong); font-size:11px; font-weight:850; }
.auth-form input { width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); color:var(--text); padding:11px 12px; font:inherit; outline:none; }
.auth-form input:focus { border-color:var(--sea); box-shadow:0 0 0 3px color-mix(in srgb,var(--sea) 12%,transparent); }
.auth-hint { color:var(--muted); font-size:10px; line-height:1.55; }
.auth-error { padding:10px 12px; border-radius:10px; background:color-mix(in srgb,var(--danger) 10%,var(--surface)); color:var(--danger); font-size:11px; font-weight:750; }
.auth-notice { display:grid; gap:3px; padding:11px 12px; border-radius:10px; background:var(--surface-2); color:var(--muted); font-size:11px; }
.auth-notice strong { color:var(--navy-strong); }
.auth-notice.warning { background:color-mix(in srgb,var(--orange) 11%,var(--surface)); }
.auth-notice a { color:var(--sea); font-weight:800; }
.auth-submit { width:100%; margin-top:2px; }
.user-session-chip { max-width:220px; padding:7px 10px; overflow:hidden; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-size:9px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.user-session-chip.admin { border-color:color-mix(in srgb,#b58c33 40%,var(--line)); background:linear-gradient(120deg,color-mix(in srgb,#f3ddad 30%,var(--surface)),var(--surface)); color:#745616; }
.sidebar-session { display:grid; gap:2px; width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); text-align:left; }
.sidebar-session strong { overflow:hidden; color:var(--navy-strong); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-session small { color:var(--muted); font-size:9px; }
.cloud-save-state { display:inline-flex; align-items:center; gap:5px; }
.cloud-save-state::before { content:"●"; color:var(--success); font-size:7px; }
.cloud-save-state.error::before { color:var(--danger); }
@media (max-width:720px) { .landing-nav [data-login] { display:none; } .user-session-chip { display:none !important; } }

/* v2.4 Alpha · Benutzer-Detailseiten --------------------------------------- */
.btn-danger { background:var(--danger); border-color:var(--danger); color:#fff; box-shadow:0 8px 18px color-mix(in srgb,var(--danger) 22%,transparent); }
.btn-danger:hover { filter:brightness(.96); }
.admin-user-detail-dialog { width:min(1180px,calc(100vw - 34px)); max-width:1180px; }
.admin-user-detail-dialog .dialog-header { align-items:flex-start; }
.admin-detail-subtitle { margin:4px 0 0; color:var(--muted); font-size:11px; }
.admin-user-detail-body { display:grid; gap:16px; }
.admin-user-detail-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(135deg,color-mix(in srgb,var(--sea) 8%,var(--surface)),var(--surface)); }
.admin-user-detail-hero h3 { margin:10px 0 2px; color:var(--navy-strong); font-size:24px; }
.admin-user-detail-hero p { margin:0; color:var(--muted); }
.admin-user-detail-hero .status + .pill { margin-left:6px; }
.admin-detail-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; max-width:560px; }
.admin-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.admin-detail-wide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.admin-detail-audit-list { display:grid; gap:7px; max-height:420px; overflow:auto; }
.admin-detail-audit { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px 11px; border-radius:10px; background:var(--surface-2); }
.admin-detail-audit strong, .admin-detail-audit small { display:block; }
.admin-detail-audit small { margin-top:2px; color:var(--muted); font-size:9px; }
.admin-detail-audit code { max-width:45%; overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.admin-user-actions { min-width:310px; }
@media (max-width:900px) {
  .admin-user-detail-dialog { width:min(760px,calc(100vw - 20px)); }
  .admin-user-detail-hero { flex-direction:column; }
  .admin-detail-actions { justify-content:flex-start; max-width:none; }
  .admin-detail-grid, .admin-detail-wide-grid { grid-template-columns:1fr; }
  .admin-user-actions { min-width:0; }
}

/* v2.5 Alpha · Premium-Benefits & Supportsteuerung ------------------------- */
.support-area { position:relative; transition:opacity .2s ease, filter .2s ease; }
.support-area.is-disabled .support-grid { opacity:.48; filter:grayscale(.45); }
.support-area.is-disabled .support-option { background:color-mix(in srgb,var(--surface-2) 72%,var(--surface)); }
.support-disabled-note { margin:-2px 0 12px; border:1px dashed color-mix(in srgb,var(--warning) 45%,var(--line)); }
.premium-finance-note { margin-top:12px; border:1px solid var(--line); }
.premium-finance-note.ok { background:color-mix(in srgb,var(--success) 7%,var(--surface)); border-color:color-mix(in srgb,var(--success) 28%,var(--line)); }
.premium-finance-note.warning { background:color-mix(in srgb,var(--warning) 8%,var(--surface)); border-color:color-mix(in srgb,var(--warning) 34%,var(--line)); }
.premium-finance-note.danger { background:color-mix(in srgb,var(--danger) 8%,var(--surface)); border-color:color-mix(in srgb,var(--danger) 35%,var(--line)); }
