html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{color:inherit}
.app{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:224px;height:100vh;overflow-y:auto;background:var(--dark);color:#fff;padding:22px 14px 16px;display:flex;flex-direction:column}
.brand{font-size:17px;font-weight:900;letter-spacing:.13em;padding:4px 10px 22px}
/* Der goldene Teil des Schriftzugs. Kein linker Abstand: "Rent360" ist ein Wort - der frühere
   Abstand stammt aus der Zeit zweier Wörter und hätte es auseinandergezogen. Im Plattformbereich
   folgt der Zusatz als eigenes span mit führendem Leerzeichen. */
.brand b{color:var(--gold)}
/* Domain-Endung im Schriftzug: kleiner, gedeckt und ohne Sperrung. Sie soll die Adresse nennen,
   nicht mit dem Namen um Aufmerksamkeit ringen - gleich laut gesetzt wirkt der Schriftzug wie eine
   Abkuerzung aus fuenf Teilen. */
.brand .tld{color:#8d8578;font-size:.72em;font-weight:700;letter-spacing:.02em}
.sidebar nav{display:flex;flex-direction:column;gap:3px}
.sidebar nav a{display:flex;align-items:center;gap:11px;color:#d7d7d2;padding:10px 11px;border-radius:0;font-size:14px}
.sidebar nav a i{width:20px;text-align:center;color:#aaa99f;font-style:normal}
.sidebar nav a:hover,.sidebar nav a.active{background:var(--dark2);color:#fff}
.sidebar nav a.active i{color:var(--gold)}
.nav-label{font-size:9px;letter-spacing:.14em;color:#74746d;padding:21px 11px 6px;font-weight:bold}
.sidebar-bottom{margin-top:auto;border-top:1px solid #30302d;padding:15px 10px 2px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.sidebar-bottom .user{display:grid}
.sidebar-bottom strong{font-size:12px}
.sidebar-bottom small{font-size:10px;color:#92928b}
.sidebar-bottom>a{font-size:11px;color:var(--gold)}
main{min-width:0;grid-column:2}
.topbar{min-height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:16px 28px}
.topbar h1{font-size:22px;margin:0 0 4px}
.topbar p{margin:0;color:var(--muted);font-size:12px}
.content{padding:22px 28px 40px;max-width:1500px}
.alert{border-radius:0;padding:12px 14px;margin-bottom:16px;font-size:13px;border:1px solid}
.alert.ok{background:#edf7f0;border-color:#cbe5d2;color:#27653c}
.alert.err{background:#fff0f0;border-color:#efcccc;color:#8b3030}
.alert.warn{background:#fff9e8;border-color:#ddca8e;color:#6b5a1e}
.alert.info{background:#eef4fb;border-color:#c3d7ee;color:#2c527d}
/* Eigenständige Klassen (NICHT .alert) für die Blacklist-Live-Hinweise: .alert.ok/.alert.err
   werden beim Seitenaufbau automatisch als Popup angezeigt und aus dem DOM entfernt (siehe
   app.js, Zeile mit $$(".alert.ok,.alert.err")) - das ist für einmalige Server-Flash-Meldungen
   gedacht, nicht für dauerhafte, per JavaScript aktualisierte Statusanzeigen. Daher eigene
   Klassen, optisch identisch zu .alert.ok/.err/.warn. */
.bl-hint{border-radius:0;padding:12px 14px;margin-bottom:16px;font-size:13px;border:1px solid}
.bl-hint-ok{background:#edf7f0;border-color:#cbe5d2;color:#27653c}
.bl-hint-err{background:#fff0f0;border-color:#efcccc;color:#8b3030}
.bl-hint-warn{background:#fff9e8;border-color:#ddca8e;color:#6b5a1e}
.bl-hint ul{margin:8px 0 0;padding-left:18px}
.bl-hint li{margin-bottom:8px}
.bl-hint li:last-child{margin-bottom:0}
.bl-hint small{opacity:.75}
/* Dezenter Inline-Hinweis unter einem Formularfeld (z. B. Nachname) statt einer großen Box -
   Details erscheinen erst bei Klick/Hover im .bl-tooltip. */
.bl-inline-hint{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;font-weight:700;line-height:1.4}
.bl-inline-hint[data-bl-state="checking"]{color:var(--muted);font-weight:400}
.bl-inline-hint[data-bl-state="ok"]{color:#27653c;cursor:default}
.bl-inline-hint[data-bl-state="err"]{color:#8b3030;cursor:pointer}
.bl-inline-hint[data-bl-state="warn"]{color:#8a7638;cursor:pointer}
.bl-inline-hint .bl-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.bl-tooltip{position:fixed;z-index:100000;max-width:280px;padding:12px 14px;border-radius:0;background:#1e2024;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.25);font-size:12px;line-height:1.5}
.bl-tooltip strong{display:block;margin-bottom:4px}
.bl-tooltip ul{margin:6px 0 0;padding-left:16px}
.bl-tooltip li{margin-bottom:6px}
.bl-tooltip li:last-child{margin-bottom:0}
.bl-tooltip small{color:#c7cad0}
.danger-card{border-color:#d9a5a5}
.danger-card .card-head h2{color:#8f2f2f}
.danger-card .alert.warn{background:#fdf1f1;border-color:#dfb3b3;color:#7c3030;margin:14px 19px 4px}
.danger-card .form-section h3{margin:0 0 10px;font-size:13px}
.reset-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.reset-scope{align-items:flex-start}
.reset-scope input[type=checkbox]{margin-top:2px;flex-shrink:0}
.reset-scope span{display:flex;flex-direction:column;gap:2px}
.reset-scope strong{font-size:13px}
.reset-scope small{color:var(--muted);font-size:11.5px;line-height:1.4;font-weight:400}
.season-adjust-row{display:flex;gap:8px}
.season-adjust-row input{flex:1;min-width:0}
.season-adjust-row select{flex:1.4;min-width:0}
.confirm-page form .button.full{margin-top:20px}
.lang-tab-switch{display:inline-flex;gap:0;margin:14px 17px 0;border:1px solid var(--line)}
.lang-tab-switch button{border:0;background:#fff;padding:8px 18px;font-size:12px;font-weight:650;color:var(--muted);cursor:pointer}
.lang-tab-switch button.active{background:#181816;color:#fff}
[data-lang-panel][hidden]{display:none!important}
.lang-hint{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
.import-map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 22px;margin-top:10px}
.import-map-grid label{display:grid;gap:5px;font-size:11px;font-weight:bold;color:#3f3f39}
.import-col-head{font-size:12px}
.import-map-grid small{font-weight:normal;color:var(--muted);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){.import-map-grid{grid-template-columns:1fr 1fr}}
.import-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.import-summary-grid>div{border:1px solid var(--line);padding:14px 16px;display:grid;gap:3px}
.import-summary-grid span{font-size:11px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}
.import-summary-grid strong{font-size:20px}
.import-summary-grid small{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.import-summary-grid{grid-template-columns:1fr 1fr}}
.load-more-row td{text-align:center;padding:14px 0!important;border-bottom:0}
.veh-count{font-style:normal;font-weight:400;color:var(--muted)}
.planner-zoom{display:flex;gap:6px}
.planner-zoom{display:flex;gap:6px}
.planner-zoom button{width:30px;height:30px;border:1px solid var(--line);background:#fff;font-size:16px;font-weight:700;cursor:pointer;color:#3f3f39}
.planner-zoom button:hover{background:#f4f3ef}
.planner-zoom [data-planner-today]{width:auto;padding:0 12px;font-size:11px;font-weight:600;letter-spacing:.02em}
.vehicle-map-grid{grid-template-columns:repeat(2,1fr)}
.placeholder-note{font-size:11.5px;color:var(--muted);margin:10px 0 0}
.muted{color:var(--muted)}
@media(max-width:900px){.reset-scope-grid{grid-template-columns:1fr}}
.text-right{text-align:right}
.rental-detail-actions-row{display:flex;justify-content:flex-end;gap:10px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.voucher-stats-kpis{grid-template-columns:repeat(3,1fr);margin-bottom:14px}
.kpi span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}
.kpi strong{font-size:27px}
.kpi.blue{border-left-color:var(--blue)}
.kpi.gray{border-left-color:var(--muted)}
.kpi.gold{border-left-color:var(--gold)}
.kpi.orange{border-left-color:var(--orange)}
.kpi.green{border-left-color:var(--green)}
tfoot .table-total-row td{background:var(--surface-soft);border-top:2px solid var(--line);border-bottom:0;font-weight:650}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 19px;border-bottom:1px solid var(--line)}
.card-head.compact{padding:11px 19px}
.card-head.compact h2{font-size:14px;margin:0}
.table-compact th,.table-compact td{padding:7px 12px;font-size:12.5px}
.voucher-stats-card{margin-bottom:14px}
.card-head h2,.price-head h2{margin:0;font-size:16px}
.card-head p,.price-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.button.secondary{background:#fff;border-color:var(--line);color:var(--text)}
.button.full{width:100%;padding:12px;margin-top:0}
.page-actions{display:flex;justify-content:flex-end;margin-bottom:14px}
.table-wrap{overflow:auto}
#discount-campaigns .table-wrap{padding:0 19px}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;border-bottom:1px solid #ecece8;padding:12px 15px;font-size:13px;vertical-align:middle}
th{color:#77776f;font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:#fafaf8}
tr:last-child td{border-bottom:0}
td strong{display:block;font-size:13px}
td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.actions-col{width:90px}
.row-actions{display:flex;gap:5px;align-items:center}
.icon-button:hover{background:#f4f4f1}
.badge{display:inline-flex;border-radius:0;padding:4px 8px;font-size:10px;font-weight:bold;background:#eee;color:#666}
.badge.green{background:#e8f5ec;color:#2d7246}
.badge.gray{background:#eee;color:#777}
.badge.gold{background:var(--gold-soft);color:#756444}
.badge.red{background:#faeaea;color:#963e3e}
/* Kompakter Button unter dem Blacklist-Hinweis im Vorgang */
.inline-form{display:inline-block;margin:0 0 14px}
/* Blacklist-Kennzeichen in Listen und in der Uebergabe-App */
.bl-slot:empty{display:none}
.bl-slot .badge{font-size:11px;padding:1px 6px;vertical-align:middle}
.bl-badge[data-bl-reason]{cursor:pointer}
.bl-reason{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#963e3e;font-weight:600;white-space:normal}
.mobile-card .bl-reason{margin-top:6px}
/* Anzeige der aus dem Kunden uebernommenen Rechnungsadresse im Vorgangsassistenten */
.billing-address-preview{display:block;padding:12px 14px;background:var(--bg,#faf9f7);border:1px solid var(--line,#e5e2dc);margin-top:12px}
.billing-address-preview>span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.billing-address-preview>strong{display:block;font-size:14px;line-height:1.4}
.billing-address-preview>small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:2px}
/* Blacklist-Zeichen in der Kopfzeile eines Vorgangs: dezent neben dem Kundennamen */
.topbar p .bl-slot{margin-left:4px}
.topbar p .bl-slot .badge{font-size:10px;padding:1px 5px;vertical-align:baseline}
.topbar p .bl-reason{display:block;margin-top:3px}
/* Blacklist-Hinweis im Kundenblock der Vorgangsdaten */
.bl-line{display:block;margin-top:3px;font-size:11.5px;line-height:1.45}
.bl-line.is-hit{color:#963e3e;font-weight:700}
.bl-line.is-clear{color:#2d7246;font-weight:600}
.bl-line.is-unknown{color:var(--muted)}
.bl-recheck{display:inline}
.bl-recheck button{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.bl-recheck button:hover{opacity:.75}
/* Offener Betrag oberhalb der Zahlungen einer Rechnung */
.invoice-open-amount{padding:12px 16px;border-top:1px solid var(--line,#e5e2dc)}
.invoice-open-amount>span{display:block;font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.invoice-open-amount>strong{display:block;font-size:22px;line-height:1.2;margin-top:2px}
.invoice-open-amount>small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.invoice-open-amount.is-open>strong{color:#963e3e}
.invoice-open-amount.is-paid>strong{color:#2d7246}


.badge.orange{background:#f8ede1;color:#8a5a26}
.status-inquiry{background:#edf2f8;color:#3c6286}
.status-reserved{background:#f7f0dc;color:#806a2d}
.status-active{background:#e8f5ec;color:#2d7246}
.status-returned{background:#efe9f5;color:#5c3d80}
.status-completed{background:#eee;color:#666}
.status-cancelled{background:#faeaea;color:#963e3e}
/* Vorgangsübersicht: Statusfarben entsprechen exakt der Legende des Belegungsplans. */
.rentals-overview .badge.status-inquiry{background:#e3b341;color:#3d2f05}
.rentals-overview .badge.status-reserved{background:#a8d1f0;color:#14324a}
.empty{padding:34px;text-align:center;color:var(--muted);font-size:13px}
.empty.small{padding:18px}
.form-card form{display:block}
.form-section{padding:19px}
.form-section+.form-section{border-top:1px solid var(--line)}
.form-section h2{font-size:14px;margin:0 0 15px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}
.form-grid.one{grid-template-columns:1fr}
.form-grid .span-2{grid-column:1/-1}
.check-line{display:flex!important;align-items:center;gap:8px;font-size:12px!important}
.check-line input{width:auto}
.form-footer{border-top:1px solid var(--line);padding:14px 19px;background:#fafaf8;display:flex;align-items:center;justify-content:space-between;gap:10px}
.form-footer>div{display:flex;gap:8px}
.form-two,.price-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.form-grid .button{align-self:end}
.price-card{overflow:hidden}
.price-head{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:25px;align-items:center;padding:17px 19px;border-bottom:1px solid var(--line)}
.title-line{display:flex;align-items:center;gap:9px}
.price-meta{display:flex;gap:22px}
.price-meta span{display:grid;text-align:center;color:var(--muted);font-size:10px}
.price-meta b{font-size:14px;color:var(--text);margin-bottom:3px}
.price-columns{padding:17px 19px}
.price-tier-overview{padding:17px 19px}
.price-columns>div+div{border-left:1px solid var(--line);padding-left:17px}
.sub-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sub-head h3{font-size:12px;margin:0}
.sub-head a{font-size:11px;color:#806f46;font-weight:bold}
.mini-list{border:1px solid #e7e7e2;border-radius:0;overflow:hidden}
.mini-row{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:10px;padding:10px 11px;border-bottom:1px solid #ecece8}
.mini-row:last-child{border-bottom:0}
.mini-row strong,.mini-row small{display:block;font-size:11px}
.mini-row small{color:var(--muted);margin-top:2px}
.mini-row>b{font-size:12px}
.mini-row>a{color:#999;text-align:center}
.tier-row{grid-template-columns:minmax(160px,1fr) minmax(105px,auto) minmax(105px,auto) auto}
.tier-value{display:grid;gap:2px;text-align:right}
.tier-value span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tier-value b{font-size:12px}
.tier-row-actions{display:flex;align-items:center;gap:4px;justify-self:end}
.tier-row-actions a{color:#999;text-align:center}
.tier-row-editing{background:var(--gold-soft,#f5efdc)}
.login-page{display:grid;place-items:center;min-height:100vh;background:#171715;padding:20px}
.login-card{width:min(390px,100%);background:#fff;border-radius:0;padding:28px;display:grid;gap:15px}
.login-card .brand{padding:0 0 8px;color:#191917}
.login-card h1{font-size:21px;margin:0}
.login-card p{color:var(--muted);font-size:12px;margin:-8px 0 4px}
.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 18px}
.wizard-steps span{padding:11px;border-radius:0;background:#eceff3;color:#5d6570;font-size:13px;font-weight:700;text-align:center}
.wizard-steps span.done{background:#191919;color:#fff}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.summary-grid>div{padding:14px;border:1px solid #e3e6ea;border-radius:0;background:#fafafa}
.summary-grid span{display:block;font-size:12px;color:#737b86;margin-bottom:4px}
.notice{padding:12px 14px;border-radius:0;background:#fff6dd;border:1px solid #efd58c;font-size:13px;margin-top:12px}
.document-list{display:grid;gap:8px}
.document-list a{display:flex;justify-content:space-between;gap:20px;padding:12px 14px;border:1px solid #e4e7eb;border-radius:0;color:inherit;text-decoration:none}
.customer-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.customer-add-button{white-space:nowrap;height:44px}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:2000;padding:24px;overflow:auto;display:flex;align-items:flex-start;justify-content:center}
.modal-overlay[hidden]{display:none}
.modal-card{position:relative;width:min(860px,100%);background:#fff;border-radius:0;box-shadow:0 24px 80px rgba(0,0,0,.3);margin:auto;overflow:visible}
/* Aufklappbare Auswahllisten duerfen ueber den Rand des Fensters hinausragen, sonst werden sie abgeschnitten */
.modal-card .modal-body-content,.modal-card form,.modal-card .card,.modal-card .form-section{overflow:visible}
.modal-card .choices__list--dropdown,.modal-card .choices__list[aria-expanded]{z-index:2100!important}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #e5e7eb}
.modal-head h2{margin:0 0 4px}
.modal-head p{margin:0;color:#6b7280}
.modal-card form{padding:0 22px 22px}
.modal-open{overflow:hidden}
.duplicate-box{margin:0 0 18px;padding:15px;border:1px solid #d5b25b;background:#fff8e7;border-radius:0}
.duplicate-box strong{display:block;margin-bottom:4px}
.duplicate-box p{margin:0 0 12px;color:#5f6570}
.duplicate-actions{display:grid;gap:8px}
.duplicate-actions label{display:flex;align-items:flex-start;gap:8px;font-weight:500}
.modal-error{margin:0 0 15px;padding:12px 14px;border-radius:0;background:#fff0f0;border:1px solid #e3a1a1;color:#8a1f1f}
.clickable-row{cursor:pointer}
.clickable-row:hover{background:#faf9f5}
.row-main-link{display:block}
.workflow-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 18px}
.workflow-step{position:relative;display:flex;align-items:center;gap:10px;padding:13px 14px;background:#eceef1;border:1px solid #e1e3e6;border-radius:0;color:#777d86}
.workflow-step span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#d7dade;color:#737983;font-size:11px;font-weight:700}
.workflow-step strong{font-size:12px}
.workflow-step.active{background:#191a1d;border-color:#191a1d;color:#fff}
.workflow-step.active span{background:#b9a46c;color:#191a1d}
.workflow-step.done{background:#edf6f1;border-color:#d2e8da;color:#33704d}
.workflow-step.done span{background:#3b8a60;color:#fff}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:18px;align-items:start}
.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 21px 21px}
.detail-list>div{padding:16px 0;border-bottom:1px solid #ececee}
.detail-list>div:nth-child(odd){padding-right:18px}
.detail-list>div:nth-child(even){padding-left:18px;border-left:1px solid #ececee}
.detail-list span{display:block;color:#7b8088;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.detail-list strong{display:block;font-size:14px}
.detail-list small{display:block;color:#7b8088;margin-top:3px}
.detail-notes{padding:20px 21px;white-space:normal}
.workflow-action-body{display:grid;gap:11px;padding:20px}
.workflow-action-body p{margin:0 0 5px;color:#6f747d;font-size:12px}
.workflow-action-body form{display:block}
.workflow-action-body .button{width:100%}
.workflow-complete{padding:16px;border-radius:0;background:#edf6f1;color:#32704c;font-weight:700;text-align:center}
*{box-sizing:border-box}
body{font-family:var(--font);background:var(--bg);color:var(--text)}
.button.primary:disabled{opacity:.4;cursor:not-allowed}
.rental-create-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.premium-form-card{overflow:visible}
.form-step{padding:24px;border-bottom:1px solid var(--line)}
.form-step:last-of-type{border-bottom:0}
.step-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.step-heading>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:0;background:#1c1d20;color:#d8c58e;font-size:11px;font-weight:700}
.step-heading h2{margin:0 0 4px;font-size:17px;letter-spacing:-.025em}
.step-heading p{margin:0;color:var(--muted);font-size:12px}
.span-2{grid-column:1/-1}
.search-input-shell{position:relative}
.search-input-shell input{width:100%;padding-left:42px;padding-right:40px}
.search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:1;color:#8a8d93;font-size:20px}
.clear-search{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:#eceeeb;width:28px;height:28px;border-radius:50%;cursor:pointer}
.customer-results{position:absolute;left:0;right:0;top:46px;z-index:50;background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:0 18px 45px rgba(10,12,15,.15);padding:6px;max-height:320px;overflow:auto}
.customer-result{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;border:0;background:#fff;padding:12px;border-radius:0;text-align:left;cursor:pointer}
.customer-result:hover{background:var(--surface-soft)}
.customer-result span,.selected-customer span{display:flex;flex-direction:column;gap:3px}
.customer-result small,.selected-customer small{color:var(--muted)}
.customer-result b{font-size:11px;color:#886f34;flex-shrink:0}
.customer-result strong{font-size:12px;font-weight:700;letter-spacing:0;line-height:1.35}
.customer-result small{font-size:11px;font-weight:400;letter-spacing:0;line-height:1.4;overflow-wrap:anywhere}
.customer-result{padding:10px 12px}
.customer-no-result{padding:10px 12px}
.customer-no-result strong{font-size:12px}
.customer-no-result{padding:14px;display:flex;flex-direction:column;gap:4px}
.customer-no-result span{font-size:12px;color:var(--muted)}
.selected-customer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:14px 16px;background:#f4f9f5;border:1px solid #cfe6d6;border-left:3px solid var(--green);border-radius:0}
.selected-customer strong{font-size:14px}
.selected-customer small{color:var(--muted);margin-top:2px}
.selected-customer b{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--green);font-weight:800}
.selected-customer>b{color:#3d7751;font-size:11px}
#selectedCustomerBlacklistWarning{margin:10px 0 0}
.inline-create-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:8px 4px;border:0;background:none;color:#7d672f;font-weight:700;cursor:pointer;font-size:12px;border-bottom:1px dashed #c8b274}
.customer-search-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.customer-search-actions .inline-create-link{margin-top:14px}
.locked-field{min-height:44px;padding:10px 12px;border:1px solid #e1ded3;border-radius:0;background:var(--gold-soft);display:flex;flex-direction:column;justify-content:center}
.locked-field span,.locked-field strong{font-size:13px}
.locked-field small{color:#8d805d;margin-top:2px}
.logistics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.logistics-card{border:1px solid var(--line);border-radius:0;background:var(--surface-soft);padding:17px}
.logistics-card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.logistics-card-head>div{display:flex;flex-direction:column;gap:3px}
.logistics-card-head small{color:var(--muted)}
.switch-row{display:flex;align-items:center;gap:8px;cursor:pointer}
.switch-row input{display:none}
.switch{position:relative;width:40px;height:23px;border-radius:0;background:#cfd2d0;transition:.2s}
.switch:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}
.switch-row input:checked+.switch{background:#1d1e21}
.switch-row input:checked+.switch:after{transform:translateX(17px);background:#d5bf7e}
.switch-row b{font-size:12px}
.calculation-step{background:linear-gradient(180deg,#fff,#fbfaf6)}
.calculation-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;border:1px dashed #d5d5cf;border-radius:0;color:var(--muted);gap:4px}
.calculation-empty strong{color:#3d4045}
.calculation-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}
.calculation-meta>div{padding:13px;border-radius:0;background:#f3f3f0}
.calculation-meta span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}
.calculation-meta strong{font-size:13px}
.editable-calculation{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.editable-calculation label{padding:15px;border:1px solid #dacb9f;background:#fffaf0;border-radius:0}
.editable-calculation label>small{display:block;margin:3px 0 9px;color:#8c7b51}
.lock-hint{margin-top:12px;font-size:11px;color:#7a715d}
.sticky-form-footer{position:sticky;bottom:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 24px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);border-radius:0}
.save-state{display:flex;align-items:center;gap:15px}
.save-state span{font-size:11px;color:var(--muted)}
.save-state span.ready{color:#3c7951;font-weight:700}
.create-summary{position:sticky;top:20px}
.summary-live{padding:6px 20px 20px}
.summary-live>div{padding:13px 0;border-bottom:1px solid var(--line)}
.summary-live>div:last-child{border-bottom:0}
.summary-live span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.summary-live strong{font-size:13px}
.summary-live .summary-price strong{font-size:22px;letter-spacing:-.04em}
.flatpickr-calendar{border-radius:0;box-shadow:0 18px 55px rgba(0,0,0,.18);border:1px solid var(--line);font-family:Arial,Helvetica,sans-serif}
.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{display:none}
.flatpickr-months{padding:10px 0;background:var(--dark);position:relative;display:flex;align-items:center}
.flatpickr-months .flatpickr-month{color:#fff;fill:#fff;height:38px;flex:1;display:flex!important;align-items:center;justify-content:center;margin:0 32px}
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{position:absolute!important;top:50%!important;transform:translateY(-50%);display:flex!important;align-items:center;justify-content:center;height:28px;width:28px;padding:0!important}
.flatpickr-months .flatpickr-prev-month{left:6px!important}
.flatpickr-months .flatpickr-next-month{right:6px!important}
.flatpickr-current-month{flex:1;display:flex!important;align-items:center;justify-content:center;gap:4px;font-weight:700;font-size:13px;padding:0!important;height:auto!important}
.flatpickr-calendar select.flatpickr-monthDropdown-months,.flatpickr-current-month .flatpickr-monthDropdown-months{width:auto!important;min-height:0!important;height:auto!important;padding:2px 24px 2px 6px!important;border:0!important;border-radius:0!important;box-shadow:none!important;appearance:none;-webkit-appearance:none;background:var(--dark) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'><path d='M5.5 8L10 12.5L14.5 8' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 4px center!important;background-size:13px!important;color:#fff!important;font-weight:700;font-size:13px}
.flatpickr-monthDropdown-months option{color:#191a1d;background:#fff;font-weight:400}
.flatpickr-current-month input.cur-year{color:#fff!important;font-weight:700;background:transparent!important;border:0!important;width:52px;padding:0!important;min-height:0!important;box-shadow:none!important}
.flatpickr-prev-month,.flatpickr-next-month{fill:#d7c083!important;color:#d7c083!important}
.flatpickr-prev-month:hover svg,.flatpickr-next-month:hover svg{fill:#fff!important}
span.flatpickr-weekday{background:#fafaf8;color:var(--muted);font-weight:700;font-size:10px;text-transform:uppercase}
.flatpickr-day{border-radius:0;font-weight:600;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.flatpickr-day::selection{background:transparent;color:inherit}
.flatpickr-day::-moz-selection{background:transparent;color:inherit}
.flatpickr-day:focus,.flatpickr-day:focus-visible{outline:none!important;box-shadow:none!important}
.flatpickr-day:not(.selected):not(.startRange):not(.endRange):active,.flatpickr-day:not(.selected):not(.startRange):not(.endRange):focus,.flatpickr-day:not(.selected):not(.startRange):not(.endRange):focus-visible{background:#f4f0e4!important;border-color:#f4f0e4!important;color:inherit!important}
.flatpickr-day.selected:active,.flatpickr-day.startRange:active,.flatpickr-day.endRange:active,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:focus-visible,.flatpickr-day.startRange:focus-visible,.flatpickr-day.endRange:focus-visible{background:var(--dark)!important;border-color:var(--dark)!important;color:#fff!important}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:var(--dark)!important;border-color:var(--dark)!important;color:#fff!important}
.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover{background:#2b2b27;border-color:#2b2b27}
.flatpickr-day.inRange{background:var(--gold-soft);border-color:var(--gold-soft);box-shadow:-5px 0 0 var(--gold-soft),5px 0 0 var(--gold-soft)}
.flatpickr-day.startRange+.flatpickr-day.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 var(--dark)!important}
.flatpickr-day.startRange.endRange{box-shadow:none!important}
.flatpickr-day.today{border-color:var(--gold)}
.flatpickr-day.today:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.flatpickr-day:hover{background:#f4f0e4}
.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:var(--gold-soft)}
.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:var(--muted)}
.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:var(--muted)}
.numInputWrapper:hover{background:var(--gold-soft)}
.choices.is-focused .choices__inner,.choices.is-open .choices__inner{border-color:var(--gold)!important;box-shadow:0 0 0 4px rgba(183,155,88,.13)}
.choices__list--dropdown,.choices__list[aria-expanded]{border-radius:0!important;border:1px solid var(--line)!important;box-shadow:0 16px 40px rgba(0,0,0,.13);z-index:60!important}
.choices__item--choice{padding:10px 13px!important}
.choices__item--choice.is-highlighted{background:var(--gold-soft)!important}
.option-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.notes-field{display:block;margin-top:15px}
.inspection-grid output{display:block;font-weight:700;margin-top:6px}
.calendar-toolbar strong{font-size:18px;min-width:170px;text-align:center}
.planner-head .weekend,.planner-track i.weekend{background:#f7f3e9}
.planner-vehicle small{color:var(--muted);font-size:10px;margin-top:2px}
.head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.list-search{align-items:center;display:flex;gap:7px;padding:4px;border:1px solid var(--line);border-radius:0;background:#f8f8f5}
.list-search input{width:300px;min-height:40px;border:0;background:transparent;box-shadow:none!important}
.choices{margin-bottom:0;width:100%;margin:0}
.choices__inner{min-height:44px!important;border:1px solid #dcdedb!important;border-radius:0!important;background:#fff!important;padding:6px 10px!important}
.choices.is-focused .choices__inner{border-color:var(--gold)!important;box-shadow:0 0 0 4px rgba(183,155,88,.13)}
.km-package-section{background:linear-gradient(180deg,#fff,#fffaf0);border-top:2px solid #d4bd79}
.weekday-surcharge-row{grid-template-columns:150px 1fr 130px}
.weekday-surcharge-row select,.weekday-surcharge-row input{width:100%}
.inline-add-form{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px 19px;border-top:1px solid var(--line)}
.inline-add-form input[type=text],.inline-add-form input:not([type]),.inline-add-form input[name=season_name]{flex:1 1 180px;min-width:140px}
.inline-add-form input[type=date]{width:150px;flex:0 0 auto}
.inline-add-sep{color:var(--muted);font-size:12px}
.inline-add-form .check-line{white-space:nowrap;font-size:12px}
/* Rabattcode-Formular: eigene, kompakte Feldbreiten statt der vollen Zeilenbreite - Code und
   Rabatt-% sind kurze Werte und sollen nicht wie ein Fließtextfeld über die ganze Breite gehen. */
#discount-campaigns .inline-add-form input[name=campaign_code]{flex:0 1 180px;min-width:140px;max-width:220px;width:auto}
#discount-campaigns .inline-add-form input[name=campaign_percent]{flex:0 1 110px;min-width:90px;max-width:130px;width:auto}
#discount-campaigns .inline-add-form input[type=date]{flex:0 0 150px}
.weekday-surcharge-table td,.weekday-surcharge-table th{vertical-align:middle}
.weekday-surcharge-table select,.weekday-surcharge-table input[type=number]{width:100%;max-width:220px}
.weekday-surcharge-table tr.row-inactive{opacity:.5}
.weekday-surcharge-limit{display:flex;align-items:center;gap:9px;padding:14px 19px;border-top:1px solid var(--line);flex-wrap:wrap}
/* Zuschlagsrundung: eigener Kartenabschnitt statt einer ungepolsterten form-grid.
   So sind linker/rechter Rand und vertikale Abstände identisch mit den übrigen Bereichen. */
.weekday-surcharge-rounding{padding:16px 19px 18px;border-top:1px solid var(--line)}
.weekday-surcharge-rounding label{width:min(100%,340px);margin:0}
.weekday-surcharge-rounding input[type=number]{width:140px;max-width:100%}
.weekday-surcharge-rounding small{margin:0;line-height:1.4}
.weekday-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.weekday-pill{display:flex!important;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:9px 14px;border-radius:0;font-size:12px!important;font-weight:650!important;text-transform:none!important;letter-spacing:0!important;color:var(--muted);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.weekday-pill:has(input:checked){border-color:var(--dark);background:#f4f0e4;color:var(--text)}
.weekday-pill input[type=checkbox]{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:15px;height:15px;margin:0!important;padding:0;border:1.5px solid #c9c9c0;background:#fff;cursor:pointer;flex-shrink:0;transition:background-color .15s ease,border-color .15s ease}
.weekday-pill input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}
.weekday-pill input[type=checkbox]:checked::after{content:"";width:4px;height:7px;border:solid #1e1f22;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.switch-line{display:flex!important;align-items:center;gap:10px;cursor:pointer}
.switch-line b{font-size:13px;font-weight:700;color:var(--text)}
.weekend-pricing-body{display:flex;flex-direction:column;gap:20px}
.weekend-pricing-field .field-label{display:block;font-size:11px;font-weight:bold;letter-spacing:.03em;text-transform:uppercase;color:#3f3f39;margin-bottom:8px}
.weekend-pricing-field .weekday-pill-row{margin-top:0}
#weekend-oneday-pricing .inner-section{display:flex;flex-direction:column;gap:0;padding-top:18px!important}
#weekend-oneday-pricing .inner-section>.switch-line{margin-bottom:16px}
#weekend-oneday-pricing .inner-section .weekend-pricing-field{width:100%;margin-left:48px;padding-left:16px;border-left:2px solid var(--line)}
#weekend-oneday-pricing .inner-section .weekend-pricing-field label{margin:0}
#weekend-oneday-pricing .inner-section .weekend-pricing-field input[type=number]{max-width:160px}
.switch-toggle{position:relative;display:inline-block;width:38px;height:22px;cursor:pointer;flex-shrink:0}
.switch-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.switch-toggle span{position:absolute;inset:0;background:#dcdcd6;border-radius:999px;transition:background-color .15s ease}
.switch-toggle span::before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s ease}
.switch-toggle input:checked+span{background:var(--gold)}
.switch-toggle input:checked+span::before{transform:translateX(16px)}
.km-package-section h2{color:#7b632a}
.planner-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-bottom:10px}
.planner-legend span{padding:5px 9px;border-radius:0;color:#fff;font-size:10px}
.legend-inquiry{background:#e3b341;color:#3d2f05!important}
.legend-reserved{background:#a8d1f0;color:#14324a!important}
.legend-returned{background:#6a4c93}
.legend-completed{background:#1a1a18}
.legend-blocked{background:#c0392b}
.planner-head,.planner-row{display:grid;grid-template-columns:190px repeat(var(--planner-days),minmax(var(--planner-daymin,32px),1fr));min-width:calc(190px + var(--planner-days)*var(--planner-daymin,32px))}
.planner-head>div{padding:8px 3px;text-align:center;border-right:1px solid #eee}
.planner-head>div:first-child{text-align:left;padding-left:14px;position:sticky;left:0;background:#fff;z-index:5}
.planner-head b,.planner-head span{display:block}
.planner-head span{text-transform:uppercase;font-size:9px;color:var(--muted)}
.planner-vehicle strong,.planner-vehicle small{display:block}
.planner-vehicle strong{font-size:12px;line-height:1.25;letter-spacing:-.01em}
.planner-track i{border-right:1px solid #eee}
.planner-track i.weekend,.planner-head .weekend{background:#f7f3e9}
/* Monatswechsel im Belegungsplan: klare, durchgehende Trennlinie am ersten Tag jedes neuen Monats. */
.planner-head>div.month-start,.planner-track i.month-start{border-left:2px solid #aeb0b3!important}
.planner-bar{text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.16);z-index:3;min-width:7px;position:absolute;top:8px;height:28px;border-radius:0;background:#242529;color:#fff;overflow:hidden}
.planner-bar.status-reserved{background:#a8d1f0}
.planner-bar.status-reserved span{color:#14324a}
.planner-bar.status-active,.planner-bar.status-handed_over{background:repeating-linear-gradient(135deg,#a8d1f0,#a8d1f0 7px,#8fc0e6 7px,#8fc0e6 12px)}
.planner-bar.status-active span,.planner-bar.status-handed_over span{color:#14324a}
.planner-bar.status-returned{background:#6a4c93}
.planner-bar.status-completed{background:#1a1a18}
.rental-wizard-card{overflow:visible;max-width:1180px;margin:0 auto;box-shadow:0 22px 60px rgba(20,20,15,.07)}
.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);padding:18px;border-bottom:1px solid var(--line);gap:8px}
.wizard-progress button{border:0;background:#f1f2ef;border-radius:0;padding:12px;display:flex;align-items:center;gap:9px;text-align:left;color:#70747b;font-weight:650;cursor:pointer}
.wizard-progress button span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#dadcd8;font-size:11px}
.wizard-progress button.active{background:#1d1e21;color:#fff}
.wizard-progress button.active span{background:#d3bc79;color:#1d1e21}
.wizard-progress button.done{background:#edf5ef;color:#34704e}
.wizard-progress button.done span{background:#34704e;color:#fff}
.wizard-panel{display:block;padding:0;position:relative;border-bottom:1px solid var(--line)}
.wizard-panel:last-child{border-bottom:0}
.wizard-panel.active{display:block}
.wizard-panel>*:not(.wizard-heading){display:none;padding:0 32px 34px}
.wizard-panel.active>*:not(.wizard-heading){display:block}
.wizard-heading{display:flex;gap:16px;align-items:flex-start;margin:0;padding:22px 32px;cursor:pointer;position:relative}
.wizard-heading>span{display:grid;place-items:center;width:40px;height:40px;border-radius:0;background:#eceef0;color:#7c8189;font-weight:700;font-size:12px;flex-shrink:0;position:relative;z-index:1;transition:background-color .15s ease,color .15s ease}
.wizard-panel.active .wizard-heading>span{background:#1d1e21;color:#d7c083}
.wizard-panel.done .wizard-heading>span{background:var(--green);color:#fff}
.wizard-panel:not(:last-child) .wizard-heading::after{content:"";position:absolute;left:52px;top:62px;bottom:-1px;width:2px;background:var(--line)}
.wizard-heading h2{margin:0 0 5px;font-size:17px}
.wizard-panel:not(.active) .wizard-heading h2{font-size:15px}
.wizard-heading p{margin:0;color:var(--muted);font-size:12px}
.wizard-panel:not(.active):not(.done) .wizard-heading{opacity:.75}
.wizard-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 32px;background:#fafaf8;border-radius:0}
.wizard-footer>div{display:flex;align-items:center;gap:14px}
.wizard-footer span{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.03em}
.wizard-footer #wizardNext,.wizard-footer #wizardSave{padding:11px 26px;font-size:13px}
.vehicle-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:440px;overflow-y:auto;padding:2px}
.vehicle-choice{margin:0}
.vehicle-choice input{display:none}
.vehicle-choice>span{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:0;padding:9px 11px;background:#fff;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.vehicle-choice>span:hover{border-color:#c8b274}
.vehicle-choice-icon{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;font-size:13px;font-style:normal;background:#f4f4f1;color:#75787e;transition:background-color .15s ease,color .15s ease}
.vehicle-choice strong,.vehicle-choice small{display:block}
.vehicle-choice strong{font-size:12px}
.vehicle-choice small{margin-top:1px;color:var(--muted);font-size:10.5px}
.vehicle-choice-check{margin-left:auto;flex-shrink:0;width:17px;height:17px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:transparent;font-size:10px;transition:.15s}
.vehicle-choice input:checked+span{border-color:var(--dark);background:#fafaf8}
.vehicle-choice input:checked+span .vehicle-choice-icon{background:var(--dark);color:var(--gold)}
.vehicle-choice input:checked+span .vehicle-choice-check{background:var(--green);border-color:var(--green);color:#fff}
.vehicle-choice.unavailable>span{border-color:#e4b8b8;background:#fff4f4}
.price-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.price-breakdown>div{padding:16px 17px;border-radius:0;background:#fafaf8;border:1px solid var(--line);border-top:2px solid var(--gold)}
.price-breakdown span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}
.price-breakdown strong{font-size:17px;font-weight:800}
.editable-price-main{position:relative}
.editable-price-main::after{content:"✎";position:absolute;bottom:0;right:12px;font-size:19px;line-height:1;color:var(--gold);opacity:.85;pointer-events:none}
.editable-price-block .inline-editable-price{border-bottom:1px dashed #c8b274!important}
.price-breakdown>div:not(.editable-price-block) strong{display:block;margin-top:3px}
.extras-section{border-top:1px solid var(--line);padding-top:20px!important}
.extras-section h3{margin:0 0 13px}
.extra-card span strong,.extra-card span small{display:block}
.extra-card .extra-qty{width:90px}
.delivery-extra{grid-template-columns:auto 1fr}
#deliveryFields{padding:15px;margin-top:12px;border-radius:0;background:#f7f7f4}
.final-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.total-price-field{padding:13px;background:#1e1f22;color:#fff;border-radius:0}
.customer-search-wrap{position:relative;max-width:720px}
.country-search-wrap{position:relative}
.planner-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.planner-vehicle{background:#fff;padding:8px 12px;border-right:1px solid var(--line);position:sticky;left:0;z-index:15}
/* Sticky Monatsanzeige im Belegungsplan: bleibt beim horizontalen Scrollen direkt neben der fixierten
   Fahrzeug-Spalte stehen (linke Position wird per JS anhand der tatsächlich gerenderten Spaltenbreite
   gesetzt, siehe assets/app.js) und zeigt so immer sofort, in welchem Monat man sich gerade befindet. */
.planner-month-badge{position:sticky;top:6px;left:196px;z-index:22;display:inline-block;width:max-content;margin-bottom:-34px;padding:5px 12px;border-radius:20px;background:#1f1f1f;color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.28);pointer-events:none}
.badge.status-handed_over{background:#34704e!important;color:#fff!important}
.button.danger{background:#fff1f1;border-color:#e3b7b7;color:#9b2f2f}
.button.danger:hover{background:#ffe5e5}
.manual-overrides{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 10px}
.override-toggle{display:flex!important;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:0;background:#f8f8f5}
.price-summary-detailed{margin-top:20px;padding:22px 24px;border-radius:0;background:#1e1f22;color:#fff;box-shadow:0 14px 40px rgba(20,20,15,.18)}
.price-summary-detailed h3{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#a9a9a2}
.price-summary-detailed>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:13px}
.price-summary-detailed .grand-total{border-bottom:0;padding-top:16px;margin-top:6px}
.price-summary-detailed .grand-total span{font-size:14px;font-weight:700;color:#fff}
.price-summary-detailed .grand-total strong{font-size:26px;color:#d7bf7f}
.driver-extra{grid-template-columns:1fr auto!important}
#priceContent{min-height:520px}
.vehicle-planner::-webkit-scrollbar{width:14px;height:14px}
.vehicle-planner::-webkit-scrollbar-thumb{background:#8d8f92;border:3px solid #ecece8;border-radius:0}
.vehicle-planner::-webkit-scrollbar-track{background:#ecece8}
.planner-row{min-height:46px;border-bottom:1px solid #eee;align-items:stretch}
.planner-track{position:relative;grid-column:2/-1;display:grid;grid-template-columns:repeat(var(--planner-days),1fr);min-height:100%}
.planner-hover-card strong,.planner-hover-card span,.planner-hover-card p,.planner-hover-card em{display:block}
.planner-hover-card>strong{font-size:15px}
.planner-hover-card>span{margin:4px 0 10px;color:#bfc2c7}
.planner-hover-card>div{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:9px}
.planner-hover-card small{color:#9fa3aa}
.planner-hover-card p{margin:9px 0 4px}
.planner-hover-card em{font-size:18px;font-style:normal;font-weight:700;color:#ddc582}
.report-filter{margin-bottom:15px}
.report-filter form{display:flex;align-items:end;gap:12px;padding:16px}
.report-filter label{min-width:190px}
/* ===== Statistik: Sidebar mit Rubriken (Jahresübersicht/Fahrzeugübersicht/Gutscheine) statt Akkordeon ===== */
.stat-layout{display:grid;grid-template-columns:212px 1fr;align-items:start;gap:20px}
.stat-sidebar{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:7px;position:sticky;top:20px}
.stat-sidebar a{display:flex;align-items:center;gap:10px;padding:11px 12px;color:var(--text);font-weight:650;font-size:13px}
.stat-sidebar a i{width:18px;text-align:center;color:var(--gold);font-style:normal;font-size:13px}
.stat-sidebar a:hover{background:var(--surface-soft)}
.stat-sidebar a.active{background:var(--dark);color:#fff}
.stat-sidebar a.active i{color:var(--gold)}
.stat-content{min-width:0}
.voucher-stats-kpis{margin-top:0}
@media(max-width:800px){.stat-layout{grid-template-columns:1fr}.stat-sidebar{position:static;flex-direction:row;overflow-x:auto}.stat-sidebar a{flex-shrink:0}}
.vehicle-reminders-card{border-left:4px solid var(--orange);overflow:hidden}
.vehicle-reminders-card.urgent{border-left-color:var(--red)}
.vehicle-reminders-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 19px;background:#fdf8f0;user-select:none}
.vehicle-reminders-card.urgent summary{background:#fdf1f1}
.vehicle-reminders-card summary::-webkit-details-marker{display:none}
.vehicle-reminders-card summary:hover{background:#faf0dd}
.vehicle-reminders-card.urgent summary:hover{background:#fbe6e6}
.vr-dot{flex-shrink:0;width:11px;height:11px;border-radius:50%;background:var(--orange)}
.vehicle-reminders-card.urgent .vr-dot{background:var(--red);animation:vr-pulse 1.6s ease-in-out infinite}
@keyframes vr-pulse{0%{box-shadow:0 0 0 0 rgba(161,58,58,.55)}70%{box-shadow:0 0 0 9px rgba(161,58,58,0)}100%{box-shadow:0 0 0 0 rgba(161,58,58,0)}}
.vr-summary-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.vr-summary-text strong{font-size:14px}
.vr-summary-text small{color:var(--muted);font-size:12px}
.vr-count{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:50%;background:var(--orange);color:#fff;font-size:12px;font-weight:700}
.vehicle-reminders-card.urgent .vr-count{background:var(--red)}
.vr-caret{flex-shrink:0;transition:transform .15s ease;color:var(--muted)}
.vehicle-reminders-card[open] .vr-caret{transform:rotate(180deg)}
.vehicle-reminders-card .table-wrap{border-top:1px solid var(--line)}
.revenue-chart{height:360px;display:grid;grid-template-columns:repeat(12,minmax(48px,1fr));gap:10px;padding:25px 20px 10px;overflow-x:auto}
.revenue-column{display:grid;grid-template-rows:35px 1fr 25px;text-align:center;min-width:48px}
.revenue-value{font-size:9px;white-space:nowrap;transform:rotate(-35deg);transform-origin:center}
.revenue-bar-track{height:260px;display:flex;align-items:flex-end;background:#f1f1ee;border-radius:0;overflow:hidden}
.revenue-bar{width:100%;background:linear-gradient(180deg,#cfb56b,#8b7132);border-radius:0;min-height:2px}
.revenue-column>strong{font-size:11px;padding-top:7px}
.monthly-revenue-table{overflow:auto;border-top:1px solid var(--line)}
.monthly-revenue-table tr.year-total-row td{border-top:2px solid var(--ink,#1a1a18);background:#f6f3ea}
/* Laufender Monat in der Monatstabelle hervorgehoben (ersetzt die fruehere Monats-Kachel) */
.monthly-revenue-table tr.current-month-row td{background:var(--gold-soft,#f4eedf);font-weight:600}
.monthly-revenue-table tr.current-month-row td:first-child{box-shadow:inset 3px 0 0 var(--gold,#b79b58)}
.monthly-revenue-table tr.current-month-row .cm-flag{margin-left:8px;padding:2px 7px;border:1px solid var(--gold,#b79b58);background:#fff;color:#8a7233;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.planner-bar.status-inquiry{background:#e3b341;opacity:.95}
.planner-bar.status-inquiry span{color:#3d2f05}
.planner-bar.status-blocked{background:#c0392b;cursor:pointer}
.planner-bar.status-blocked span{color:#fff}
.planner-select-overlay{position:absolute;top:4px;bottom:4px;background:rgba(183,155,88,.28);border:1.5px dashed var(--gold);pointer-events:none;z-index:3}
.planner-bar span{font-weight:700;display:block;padding:7px 8px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.handover-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;margin-bottom:16px}
.handover-summary>div{padding:13px;border-radius:0;background:#f5f5f2}
.handover-summary span,.handover-summary strong,.handover-summary small{display:block}
.handover-summary span{font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.handover-summary small{margin-top:4px;color:var(--muted)}
.section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}
.section-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:0;background:#1d1e21;color:#d8c183;font-size:11px;font-weight:700}
.section-title h2{margin:0 0 4px}
.section-title p{margin:0;color:var(--muted)}
.range-field{display:grid;grid-template-columns:1fr 60px;gap:12px;align-items:center}
.range-field input{min-height:auto}
.range-field output{font-weight:700;text-align:right}
.inspection-form .form-section{padding:24px;border-bottom:1px solid var(--line)}
.inspection-form .form-section:last-of-type{border-bottom:0}
.inspection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.custom-field-photo-preview{grid-column:span 1;align-self:start;font-size:11px}
.custom-field-photo-preview a,.custom-field-photo-link{color:#806f46;font-weight:600}
.inspection-grid .span-2{grid-column:span 2}
.upload-grid{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.upload-grid label{padding:14px;border:1px dashed #c9c9c2;border-radius:0;background:#fafaf8}
.upload-grid input,.tire-photo-upload input{margin-top:9px}
.calendar-toolbar{justify-content:center;margin-bottom:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:0;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:10px}
.calendar-nav-group{display:flex;gap:7px;flex-wrap:wrap}
.calendar-month-jump{display:flex;gap:7px;align-items:center}
.calendar-month-jump input{min-height:40px}
.planner-scroll-hint{margin:-3px 0 10px;color:var(--muted);font-size:11px}
.vehicle-planner.is-dragging{cursor:grabbing}
.vehicle-planner a,.vehicle-planner input,.vehicle-planner button{user-select:auto}
.km-extra{background:#fff;border-color:var(--line);grid-template-columns:1fr auto!important}
.km-stepper{display:inline-flex;align-items:stretch;gap:0;border:1px solid var(--line);background:#fff;width:max-content}
.km-stepper button:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.km-stepper button:active{background:#000}
.field-with-toggle{position:relative}
.field-with-toggle>span{display:block}
.inline-override{display:flex!important;align-items:center;gap:7px;margin-top:8px;font-size:11px;color:var(--muted)}
#wizardSave[hidden],#wizardNext[hidden]{display:none!important}
.vehicle-availability-message{margin-top:14px;margin-bottom:4px;padding:13px 15px!important;border-radius:0;font-weight:600;font-size:13px}
.vehicle-availability-message.checking{background:#f4f2e8;color:#786630}
.vehicle-availability-message.success{background:#edf7ef;color:#2d6c43}
.vehicle-availability-message.error{background:#fff0f0;color:#9d3232}
.handover-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:18px;border-bottom:1px solid var(--line)}
.handover-progress button{border:0;border-radius:0;background:#f0f1ee;padding:12px;display:flex;align-items:center;gap:9px;font-weight:650;color:#75787e;cursor:pointer}
.handover-progress button span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#d8dad6}
.handover-progress button.active{background:#1d1e21;color:#fff}
.handover-progress button.active span{background:#d3bc79;color:#1d1e21}
.handover-progress button.done{background:#eaf5ec;color:#2f6b45}
.handover-panel{display:none;padding:25px}
.handover-panel.active{display:block}
.handover-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-top:1px solid var(--line);background:#fafaf8}
.handover-footer>div{display:flex;align-items:center;gap:12px}
.handover-footer span{font-size:11px;color:var(--muted)}
.active-damages-box{padding:0;border:1px solid var(--line);border-radius:0;background:#fff;margin-bottom:18px}
.active-damages-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}
.active-damages-head h3{margin:0 0 4px}
.active-damages-head p{margin:0;color:var(--muted)}
.active-damages-box.has-damages{border:2px solid #d5a72d;background:#fffaf0;box-shadow:0 0 0 3px rgba(213,167,45,.08)}
.active-damages-box.has-damages .active-damages-head{background:#fff4d6;border-bottom-color:#e6c96e}
.active-damages-box.has-damages .active-damages-head h3{font-weight:800;color:#6b4d00}
.active-damages-box.has-damages .active-damages-head p{color:#6b5b2b;font-weight:600}
.active-damages-box.has-damages .active-damage-list{padding:10px}
.active-damages-box.has-damages .active-damage-button{border-color:#e1c76f;background:#fff;box-shadow:0 1px 0 rgba(90,70,0,.05)}
.active-damages-box.has-damages .active-damage-button+ .active-damage-button{margin-top:8px}
.active-damages-box.has-damages .active-damage-button span strong{font-size:1.02em;font-weight:800;color:#2d2718}
.active-damages-box.has-damages .damage-context-label{display:inline-block;padding:2px 7px;border-radius:999px;background:#f3d56f;color:#4c3900;font-style:normal;font-weight:800}
.active-damage-list{display:grid;gap:8px;padding:8px}
.active-damage-list strong,.active-damage-list small{display:block}
.active-damage-list small{margin-top:3px;color:var(--muted)}
.empty.compact{padding:14px;margin-top:0}
.inner-section{padding:20px 19px 0!important;border:0!important}
.fee-options-stack{display:flex;flex-direction:column;gap:14px;padding-bottom:20px}
.fee-options-stack .form-grid{margin:0}
.compact-docs{margin-top:16px}
.handover-panel .inner-section{padding:20px 0 0!important}
.filter-pills{display:flex;gap:7px;flex-wrap:wrap}
.filter-pills a{padding:9px 13px;border-radius:0;background:#f0f1ee;color:#60646a;font-weight:650}
.filter-pills a.active{background:#1d1e21;color:#fff}
.filter-pills-group{display:flex;flex-direction:column;gap:8px;margin-right:auto}
.voucher-current-note{color:var(--muted);font-size:12px;margin:0 0 10px}
.damage-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;padding:14px}
.damage-gallery a{padding:9px 10px;border:1px solid var(--line);border-radius:0;overflow:hidden;min-width:0}
.damage-gallery strong,.damage-gallery span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.damage-gallery strong{font-size:12.5px}
.damage-gallery span{margin-top:3px;color:var(--muted);font-size:10.5px}
.invoice-item-row{display:grid;grid-template-columns:minmax(260px,2.5fr) .65fr .7fr 1fr .7fr 38px;gap:9px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:0;margin-bottom:10px;background:#fafaf8;transition:border-color .15s ease,background-color .15s ease}
.invoice-item-row:hover{border-color:#d8cba0;background:#fff}
.invoice-item-row label{font-size:10px}
.remove-invoice-item{height:42px;border:1px solid #e3baba;border-radius:0;background:#fff0f0;color:#9d3232;font-size:18px;cursor:pointer;transition:background-color .15s ease}
.remove-invoice-item:hover{background:#ffe0e0}
.invoice-live-total{display:flex;justify-content:flex-end;gap:34px;padding:16px 4px 2px;margin-top:14px;border-top:2px solid var(--dark);background:transparent}
.invoice-live-total span,.invoice-live-total strong{display:block;text-align:right}
.invoice-live-total span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.invoice-live-total strong{margin-top:5px;font-size:16px;font-weight:700}
.invoice-live-total div:last-child strong{font-size:20px;color:var(--gold)}
.invoice-detail{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px}
.invoice-paper{padding:38px}
.invoice-paper-head{display:flex;justify-content:space-between;gap:30px}
.invoice-paper-head h1{font-size:32px;margin:8px 0}
.invoice-paper-head>div:last-child{display:grid;grid-template-columns:auto auto;gap:6px 18px;align-content:start}
.invoice-paper-head span{color:var(--muted);font-size:11px}
.invoice-address{margin:45px 0 25px;max-width:350px}
.invoice-address strong,.invoice-address span{display:block}
.invoice-address div{margin:5px 0}
.invoice-table{width:100%}
.invoice-totals{margin-left:auto;margin-top:20px;width:min(360px,100%)}
.invoice-totals>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.invoice-totals .gross{font-size:19px;border-bottom:0;padding-top:14px}
.invoice-notes{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.invoice-actions{display:grid;align-content:start;gap:9px}
.badge.status-draft{background:#ecece9;color:#62666d}
.badge.status-open{background:#fff3d7;color:#8a6719}
.badge.status-paid{background:#e8f6ec;color:#286942}
@media print{
.sidebar,.topbar,.invoice-actions,.flash{display:none!important}
.app,.main,.content{display:block!important;margin:0!important;padding:0!important}
.invoice-detail{display:block}
.invoice-paper{box-shadow:none;border:0}
.print-mode{width:100%}
}
@media(max-width:950px){
.calendar-toolbar{grid-template-columns:1fr 1fr}
.calendar-toolbar>strong{grid-column:1/-1;order:-1;text-align:center}
.calendar-month-jump{grid-column:1/-1;justify-content:center}
.calendar-nav-group{justify-content:center}
.invoice-item-row{grid-template-columns:1fr 1fr}
.invoice-item-row .item-description{grid-column:1/-1}
.invoice-detail{grid-template-columns:1fr}
}
.planner-hover-card{padding:15px;border-radius:0;background:#17181b;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.3);position:fixed!important;z-index:99999!important;pointer-events:none;width:320px}
.planner-head .today,.planner-track i.today{background:#fff0bd!important;box-shadow:inset 2px 0 #c49e36,inset -2px 0 #c49e36}
.rolling-calendar-toolbar{display:flex;justify-content:center;gap:9px;align-items:center;flex-wrap:wrap}
.handover-mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.mode-card input{display:none}
.mode-card span{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.mode-card span:hover{border-color:#c8b274}
.mode-card-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;font-size:18px;font-style:normal;background:#f4f4f1;color:#75787e;transition:background-color .15s ease,color .15s ease}
.mode-card span strong,.mode-card span small{display:block}
.mode-card span small{margin-top:2px;color:var(--muted);font-weight:normal}
.mode-card input:checked+span{border-color:var(--dark);background:#fafaf8}
.mode-card input:checked+span .mode-card-icon{background:var(--dark);color:var(--gold)}
.delivery-location-fields{margin-top:14px;padding:16px;border:1px solid var(--line);background:#fafaf8}
#locationField{margin-top:14px;padding:16px;border:1px solid var(--line);background:#fafaf8}
.extra-card{display:grid!important;grid-template-columns:auto 1fr 90px;align-items:center;gap:11px;border:1px solid var(--line);border-radius:0;background:#fff;padding:10px!important;min-height:64px}
.extra-card span small{margin-top:3px;color:var(--muted);font-size:10px}
.km-stepper input{text-align:center;height:40px;width:74px;padding:0 6px;line-height:40px;min-height:34px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);font-weight:800;font-size:15px;color:var(--text);background:#fff}
.km-stepper input:focus{outline:none;background:var(--gold-soft)}
.payment-sequence{display:grid;gap:12px}
.payment-step-card{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(220px,.7fr);gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:0;background:#fafaf8}
.payment-step-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#1d1e21;color:#d9c27f;font-weight:700}
.payment-step-card h3,.payment-step-card p{margin:0}
.payment-step-card p{margin-top:4px;color:var(--muted)}
.deposit-upload{margin-top:14px}
.active-damage-button{width:100%;border:1px solid var(--line);border-radius:0;background:#fff;padding:12px;display:flex;justify-content:space-between;text-align:left;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}
.active-damage-button:hover{background:#fafaf8;border-color:#c8b274}
.active-damage-button span strong,.active-damage-button span small{display:block}
.active-damage-button span small{margin-top:3px;color:var(--muted)}
.damage-modal-overlay{position:fixed;inset:0;background:rgba(10,10,12,.72);display:grid;place-items:center;padding:20px;z-index:9999}
.damage-modal-overlay[hidden]{display:none}
.damage-modal{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:0;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.modal-close{line-height:1;position:absolute;right:13px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#eee;font-size:23px;cursor:pointer}
.damage-modal-head span{font-size:10px;text-transform:uppercase;color:var(--muted)}
.damage-modal-head h2{margin:5px 0}
.damage-modal-head p{color:var(--muted)}
.damage-modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.damage-modal-meta>div{padding:12px;background:#f4f4f1;border-radius:0}
.damage-modal-meta span,.damage-modal-meta strong{display:block}
.damage-modal-meta span{font-size:10px;color:var(--muted);text-transform:uppercase}
.damage-modal-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.damage-modal-gallery a{padding:12px;border:1px solid var(--line);border-radius:0}
.damage-modal-gallery strong,.damage-modal-gallery span{display:block}
.damage-modal-gallery span{font-size:10px;color:var(--muted);margin-top:4px}
.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.compact-upload{margin-top:14px}
.swal2-container{z-index:20000!important}
.readonly-position{padding:15px;border-radius:0;background:#f4f4f1;font-weight:700;margin-bottom:14px}
.invoice-source-banner strong,.invoice-source-banner span{display:block}
.invoice-source-banner span{margin-top:4px;color:var(--muted)}
.invoice-status-card{padding:15px;border-radius:0;background:#1d1e21;color:#fff}
.invoice-status-card span,.invoice-status-card strong{display:block}
.invoice-status-card span{font-size:10px;text-transform:uppercase;color:#bfc2c7;margin-top:9px}
.invoice-status-card span:first-child{margin-top:0}
.invoice-payment-card{grid-column:1/2;margin-top:0}
.badge.status-returned{background:#efe9f5;color:#5c3d80}
.badge.status-completed{background:#e7f5eb;color:#286843}
.badge.status-cancelled{background:#ffe8e8;color:#9d3232}
.damage-photo-preview{padding:0!important;overflow:hidden;background:#111}
.damage-photo-preview img{display:block;width:100%;height:150px;object-fit:cover}
.damage-photo-preview span{padding:8px 10px;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[hidden]{display:none!important}
.vehicle-planner-card{margin-top:18px;position:relative;overflow:hidden!important}
.vehicle-planner{padding-bottom:8px;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;-webkit-overflow-scrolling:touch;overflow:auto!important;max-width:100%;max-height:72vh;scrollbar-width:auto;scrollbar-color:#8d8f92 #ecece8;cursor:grab;user-select:none;display:block!important;min-height:180px;background:#fff}
.handover-mode-choice label+label{margin-top:0}
/* Kundenübersicht: Kopfbereich mit Monogramm, Name/Meta links, Kontaktinfos als eigene Zeile darunter */
.customer-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px}
.customer-profile-id{display:flex;align-items:center;gap:16px;min-width:0}
.customer-avatar{width:52px;height:52px;flex:0 0 52px;background:var(--gold-soft);color:#6b5a33;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;letter-spacing:.02em}
.customer-profile-id h2{margin:0 0 5px;font-size:19px;line-height:1.2}
.customer-profile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}
.customer-profile-meta .sep{color:var(--muted-2)}
.customer-profile-address{margin:6px 0 0;color:var(--muted);font-size:12.5px}
.customer-profile-contact{display:flex;flex-wrap:wrap;gap:18px 32px;padding:16px 22px;border-top:1px solid var(--line)}
.customer-profile-contact div{flex:1;min-width:160px;display:flex;flex-direction:column;gap:4px}
.customer-profile-contact span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.customer-profile-contact strong{font-size:14px;font-weight:600}
.billing-address-card{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:0;background:#fafaf8}
.billing-address-card .card-head{padding:0 0 14px}
.calculation-status{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px!important;border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0;background:#fafaf8}
.calculation-status strong,.calculation-status small{display:block}
.calculation-status small{margin-top:3px;color:var(--muted)}
.calculation-spinner{width:21px;height:21px;border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{
to{transform:rotate(360deg)}
}
.damage-context-label{display:inline-block;padding:2px 6px;border-radius:0;background:#eee8d4;color:#705c25;font-style:normal;font-size:9px;font-weight:700;text-transform:uppercase}
.billing-preview{margin:14px 0;padding:14px;border-radius:0;background:#f4f4f1}
.billing-preview span,.billing-preview strong{display:block}
.billing-preview span{font-size:10px;text-transform:uppercase;color:var(--muted)}
.billing-preview strong{margin:4px 0}
.month-picker{display:inline-flex;align-items:stretch;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.page-actions>.month-picker{margin-right:auto}
.month-picker .mp-step{display:grid;place-items:center;width:34px;font-size:18px;line-height:1;color:var(--muted);transition:background-color .15s ease,color .15s ease}
.month-picker .mp-step:hover{background:var(--gold-soft);color:var(--text)}
.mp-drop{position:relative;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.mp-drop>summary{display:flex;align-items:center;justify-content:center;gap:6px;height:100%;min-height:40px;padding:0 13px;cursor:pointer;list-style:none;font-size:13px;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}
.mp-drop>summary::-webkit-details-marker{display:none}
.mp-drop>summary::marker{content:""}
.mp-drop>summary:hover{background:#faf9f6}
.mp-drop>summary b{font-weight:650}
.mp-drop>summary span{color:var(--muted)}
.mp-drop>summary i{font-style:normal;font-size:9px;color:var(--muted-2);transition:transform .15s ease}
.mp-drop[open]>summary{background:var(--gold-soft)}
.mp-drop[open]>summary i{transform:rotate(180deg)}
.mp-pop{position:absolute;z-index:60;top:calc(100% + 7px);left:50%;transform:translateX(-50%);width:246px;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.mp-years{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;margin-bottom:9px}
.mp-years a,.mp-years .mp-off{display:grid;place-items:center;height:28px;font-size:17px;line-height:1;color:var(--muted)}
.mp-years a:hover{background:var(--gold-soft);color:var(--text)}
.mp-years .mp-off{opacity:.22}
.mp-years strong{text-align:center;font-size:14px;letter-spacing:.03em}
.mp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.mp-grid a{display:grid;place-items:center;height:34px;font-size:12px;font-weight:600;color:var(--text);background:var(--surface-soft);border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.mp-grid a:hover{background:var(--gold-soft);border-color:var(--gold)}
.mp-grid a.now{color:var(--gold);border-color:#e8dfc6}
.mp-grid a.active{background:#1c1d20;border-color:#1c1d20;color:#fff}
.mp-now{display:block;margin-top:9px;padding:6px;text-align:center;font-size:11px;color:var(--muted);transition:background-color .15s ease,color .15s ease}
.mp-now:hover{background:var(--surface-soft);color:var(--text)}
.amount-positive{color:#267247}
.amount-negative{color:#a33a3a}
.invoice-source-banner{padding:15px 20px;background:#fff8e6;border-bottom:1px solid #e3cd8f;display:flex;justify-content:space-between;align-items:center;gap:20px}
.invoice-source-banner>div>span,.source-number span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}
.source-number{text-align:right}
.source-number strong{display:block;margin-top:4px;font-size:18px;color:#796326}
.invoice-number-preview{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;padding:14px 17px;border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0;background:#fafaf8}
.invoice-number-preview span,.invoice-number-preview strong,.invoice-number-preview small{display:block}
.invoice-number-preview span{font-size:10px;text-transform:uppercase;color:var(--muted)}
.invoice-number-preview strong{font-size:19px}
.invoice-number-preview small{color:var(--muted);text-align:right}
.vat-settings-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;padding:18px}
.vat-rate-form{padding:18px;border:1px solid var(--line);border-radius:0;background:#fafaf8}
.vat-rate-form h3{margin:0 0 14px}
.vat-rate-form label{display:block;margin-bottom:11px}
.form-footer.compact{padding:12px 0 0;border:0;background:transparent}
.handover-payment-date{display:block;max-width:none;margin-bottom:16px}
.handover-payment-date input,.handover-payment-date .flatpickr-alt-input{width:100%}
.invoice-payment-form{display:grid;gap:10px;align-items:end;padding:16px;border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr 1.3fr auto}
@media(max-width:600px){
.vehicle-choice-grid,.extras-grid,.price-breakdown,.final-price-grid{grid-template-columns:1fr}
.wizard-footer{align-items:stretch;gap:12px}
.wizard-footer>div{justify-content:space-between}
.wizard-progress button{font-size:11px;padding:9px}
.handover-mode-choice{grid-template-columns:1fr}
.extras-grid,.handover-mode-choice{grid-template-columns:1fr}
.payment-step-card{grid-template-columns:34px 1fr}
.invoice-payment-form,.damage-modal-meta,.damage-modal-gallery{grid-template-columns:1fr}
.invoice-payment-form{grid-template-columns:1fr}
}
.danger-icon{color:#a43a3a!important;border-color:#e7bcbc!important;background:#fff2f2!important}
.danger-icon:hover{background:#ffe6e6!important}
.billing-address-details{margin-top:22px;margin-bottom:6px;border:1px solid var(--line);border-radius:0;background:#fff;overflow:hidden}
.billing-address-details>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:44px;max-height:44px;padding:4px 15px;cursor:pointer;list-style:none;font-size:0;overflow:hidden}
.billing-address-details>summary::marker,.billing-address-details>summary::-webkit-details-marker{display:none;content:""}
.billing-address-details>summary span strong{font-size:11px}
.billing-address-details>summary span strong,.billing-address-details>summary span small{display:block;line-height:1.3}
.billing-address-details>summary span small{margin-top:1px;color:var(--muted);font-size:10px}
.billing-address-details>summary>b{font-size:10px;color:#816b32;font-weight:700}
.billing-address-details[open]>summary{border-bottom:1px solid var(--line)}
.billing-address-details .billing-address-card{margin:0;border:0;border-radius:0;background:#fff}
.extras-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.extras-grid .extra-card{width:100%;min-height:62px}
.extras-grid label.extra-card,.extras-grid .driver-extra,.extras-grid .km-extra{display:flex;align-items:center;justify-content:space-between;gap:14px}
.extras-grid label.extra-card>span,.extras-grid .driver-extra>span,.extras-grid .km-extra>span{flex:1}
.extras-grid .extra-qty{width:100px;flex:0 0 100px}
.payment-step-card p strong{white-space:nowrap}
.invoice-rental-customer{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px;border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0;background:#fafaf8}
.invoice-rental-customer>div{min-width:0}
.invoice-rental-customer span,.invoice-rental-customer strong,.invoice-rental-customer small,.invoice-rental-customer em{display:block}
.invoice-rental-customer span{font-size:10px;text-transform:uppercase;color:var(--muted)}
.invoice-rental-customer strong{margin-top:5px;font-size:16px}
.invoice-rental-customer small{margin-top:4px;color:#555;line-height:1.5}
.invoice-rental-customer em{margin-top:4px;color:var(--muted);font-style:normal;font-size:11px}
.rental-payment-mini{display:grid;gap:4px;min-width:170px}
.rental-payment-mini span{font-size:10px;color:var(--muted)}
.rental-payment-mini strong{color:var(--text)}
.rental-payment-card{margin-bottom:15px}
.payment-balance-card{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px}
.payment-balance-card.compact{grid-template-columns:repeat(4,1fr)}
.payment-balance-card>div{padding:13px;border:1px solid var(--line);border-radius:0;background:#fafaf8}
.payment-balance-card span,.payment-balance-card strong,.payment-balance-card small{display:block}
.payment-balance-card span{font-size:10px;text-transform:uppercase;color:var(--muted)}
.payment-balance-card strong{margin-top:5px}
.payment-balance-card small{margin-top:4px;color:var(--muted)}
.payment-balance-card.compact{padding-bottom:10px}
.payment-balance-card>div.balance-focus{padding:15px 16px}
.payment-balance-card>div.balance-focus span{font-size:10.5px;letter-spacing:.06em;font-weight:700;color:#5f6168}
.payment-balance-card>div.balance-focus strong{font-size:27px;line-height:1.1;letter-spacing:-.01em}
.payment-balance-card>div.balance-focus.balance-open{border-color:#d9a5a5;border-left:4px solid var(--red);background:#fff4f4}
.payment-balance-card>div.balance-focus.balance-open span{color:#8b3030}
.payment-balance-card>div.balance-focus.balance-settled{border-color:#b9d9c4;border-left:4px solid var(--green);background:#f1f9f4}
.payment-balance-card>div.balance-focus.balance-settled span{color:#27653c}
.payment-balance-card>div.balance-open{border-color:#efcccc;background:#fff5f5}
.payment-balance-card>div.balance-open strong{color:#8b3030}
.payment-balance-card>div.balance-settled{border-color:#cbe5d2;background:#f2f9f4}
.payment-balance-card>div.balance-settled strong{color:#27653c}
.rental-payment-history{border-top:1px solid var(--line);padding:10px 16px}
.rental-payment-history>.mail-log-entry{display:grid;grid-template-columns:1fr;gap:3px}
.mail-log-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}
.mail-log-top>span:first-child{font-size:11px;color:var(--muted);overflow-wrap:anywhere;min-width:0}
.mail-log-top .badge{flex-shrink:0}
.mail-log-entry strong{font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.rental-payment-history>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:8px 0;border-bottom:1px solid #eee}
.payment-row-end{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.payment-row-end .icon-button{width:22px;height:22px;line-height:20px}
.rental-payment-history>div:last-child{border-bottom:0}
.rental-payment-history span,.rental-payment-history small{font-size:10px;color:var(--muted)}
.rental-payment-history small{grid-column:1/-1}
.invoice-tax-note{margin:14px 0;padding:14px;border:1px solid #d9c483;border-radius:0;background:#fff8e4}
.invoice-tax-note strong,.invoice-tax-note p{display:block;margin:0}
.invoice-tax-note p{margin-top:5px}
.report-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.report-kpis.report-kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-kpis .kpi{position:relative;min-width:0;padding:15px 16px 16px;border:1px solid var(--line);border-top:3px solid;border-left:1px solid var(--line);background:#fff;box-shadow:0 1px 2px rgba(20,20,15,.04)}
.report-kpis .kpi span{min-height:28px;margin:0 0 9px;font-size:10.5px;line-height:1.35;font-weight:650;letter-spacing:.035em;text-transform:uppercase;color:#737780}
.report-kpis .kpi strong{display:block;max-width:100%;font-size:clamp(18px,1.45vw,25px);line-height:1.06;letter-spacing:-.045em;white-space:nowrap;font-variant-numeric:tabular-nums;color:#18191c}
.report-kpis .kpi.gold{border-top-color:var(--gold)}
.report-kpis .kpi.purple{background:#fff;border-top-color:#756b8c}
.report-kpis .kpi.blue{border-top-color:#5c93c5}
.report-kpis .kpi.orange{border-top-color:#bf772f}
.report-kpis .kpi.green{border-top-color:#3d885a}
.revenue-legend{display:flex;flex-wrap:wrap;gap:12px}
.revenue-legend span{display:flex;align-items:center;gap:6px;font-size:11px}
.revenue-legend span:before{content:"";width:10px;height:10px;border-radius:0}
.revenue-legend .rental:before,.revenue-segment.rental{background:#4c78a8}
.revenue-legend .damage:before,.revenue-segment.damage{background:#e08b39}
.revenue-legend .other:before,.revenue-segment.other{background:#b49a52}
.revenue-total{font-size:9px;white-space:nowrap}
.revenue-stack{width:100%;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:0;overflow:hidden;cursor:pointer;min-height:2px}
.revenue-segment{width:100%;min-height:1px}
.revenue-tooltip{position:fixed;z-index:100000;width:210px;padding:12px 14px;border-radius:0;background:#1e2024;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.25);pointer-events:none}
.revenue-tooltip strong,.revenue-tooltip span,.revenue-tooltip b{display:block}
.revenue-tooltip span{margin-top:4px;color:#d9dce1;font-size:11px}
.revenue-tooltip b{margin-top:8px;padding-top:7px;border-top:1px solid #4d5055}
.button.success{background:#e7f6eb;border-color:#a8d6b2;color:#27663a}
@media(max-width:1100px){
.rental-create-layout{grid-template-columns:1fr}
.create-summary{position:static}
.summary-live{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
.report-kpis,.report-kpis.report-kpis-4{grid-template-columns:repeat(2,1fr)}
}
.rental-period-row{margin-top:8px;display:grid;grid-template-columns:minmax(280px,2fr) minmax(130px,.65fr) minmax(130px,.65fr);gap:12px;align-items:end}
.rental-period-row label{min-width:0}
.time-picker{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#8a7130 50%),linear-gradient(135deg,#8a7130 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px!important}
.damage-billing-button{font-size:14px!important;box-shadow:0 7px 18px rgba(168,135,48,.2)}
.return-km-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0;background:#fafaf8}
.return-km-summary>div{padding:11px;border-radius:0;background:#fff}
.return-km-summary span,.return-km-summary strong{display:block}
.return-km-summary span{font-size:10px;text-transform:uppercase;color:var(--muted)}
.return-km-summary strong{margin-top:5px;font-size:15px}
.swal2-popup{font-family:var(--font)!important;border-radius:0!important}
.swal2-confirm,.swal2-cancel{border-radius:0!important}
.invoice-actions .button.danger{margin-top:6px}
@media(max-width:800px){
.planner-vehicle strong{font-size:10.5px;line-height:1.2}
.planner-vehicle small{font-size:9px}
.head-actions,.list-search{width:100%}
.list-search input{width:100%}
.option-fields,.inspection-grid{grid-template-columns:1fr}
.planner-head,.planner-row{grid-template-columns:135px repeat(var(--planner-days),minmax(var(--planner-daymin,30px),1fr));min-width:calc(135px + var(--planner-days)*var(--planner-daymin,30px))}
.rental-period-row,.return-km-summary{grid-template-columns:1fr}
.rental-period-row{gap:9px}
}
.tire-section .tire-section-head{margin-bottom:12px}
.tire-section .tire-section-head h3{margin:0 0 4px}
.tire-section .tire-section-head p{margin:0;color:var(--muted);font-size:11px}
.tire-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tire-card{padding:14px;border:1px solid var(--line);border-radius:0;background:#fafaf8;display:grid;gap:8px;transition:border-color .15s,background-color .15s}
.tire-card .tire-position{font-size:12px;font-weight:800;color:var(--text)}
.tire-card .tire-reference{color:var(--muted);font-size:10px}
.tire-depth-field{position:relative;display:flex;align-items:center}
.tire-depth-field input{padding-right:38px}
.tire-depth-field span{position:absolute;right:12px;color:var(--muted);font-size:11px;font-weight:700;pointer-events:none}
.tire-note{font-size:12px}
.tire-photo-upload{padding:9px 11px!important;border:1px dashed #c9c9c2;border-radius:0;background:#fff;font-size:11px!important}
.tire-card.tire-warning{border-color:var(--red);background:#fdf1f1}
.tire-card.tire-warning .tire-position{color:var(--red)}
@media(max-width:650px){
.planner-vehicle strong{font-size:10px;line-height:1.18}
.planner-vehicle small{font-size:8.5px}
.manual-overrides{grid-template-columns:1fr}
.driver-extra{grid-template-columns:1fr!important}
.driver-stepper{margin-top:8px}
.handover-summary,.inspection-grid,.upload-grid{grid-template-columns:1fr}
.inspection-grid .span-2{grid-column:auto}
.km-extra{grid-template-columns:1fr!important}
.km-stepper{width:100%}
.km-stepper button{flex:1}
.km-stepper input{flex:1 1 auto;width:auto}
.handover-progress{grid-template-columns:1fr}
.active-damages-head{align-items:flex-start;flex-direction:column}
.invoice-live-total{flex-direction:column}
.invoice-source-banner,.invoice-number-preview{align-items:flex-start;flex-direction:column}
.source-number,.invoice-number-preview small{text-align:left}
.billing-address-details>summary,.extras-grid label.extra-card,.extras-grid .driver-extra,.extras-grid .km-extra{align-items:flex-start;flex-direction:column}
.billing-address-details>summary>b{align-self:flex-start}
.extras-grid .extra-qty{width:100%;flex:auto}
.tire-grid{grid-template-columns:1fr}
}
.placeholder-legend{display:flex;flex-wrap:wrap;gap:8px}
.placeholder-legend span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line);border-radius:0;background:#fafaf8;font-size:11px;color:var(--muted)}
.placeholder-legend code{background:#eee;padding:2px 5px;border-radius:0;color:var(--text);font-weight:700}
.email-card .rental-payment-history{margin-bottom:10px}
.email-card .rental-payment-history strong{font-size:12px;font-weight:700;line-height:1.4}
form.form-grid{padding:17px}
form.form-grid .form-footer{grid-column:1/-1}
.signature-section{margin-top:6px}
.signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:10px}
.signature-grid.single{grid-template-columns:minmax(0,1fr)}
.signature-block{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:0;background:#fafaf8}
.signature-block label{font-size:11px;font-weight:800;color:#44443f;text-transform:uppercase}
.signature-block canvas{width:100%;height:150px;background:#fff;border:1px dashed #c9c9c2;border-radius:0;touch-action:none;cursor:crosshair}
.signature-block.has-signature canvas{border-color:var(--gold,#b89a45)}
.signature-block input[type=text]{font-size:12px}
.signature-form .form-footer{margin-top:16px}
.contract-preview{white-space:pre-wrap;font-size:13px;line-height:1.6;padding:6px 2px;color:var(--text)}
@media(max-width:700px){
.customer-select-row{grid-template-columns:1fr}
.customer-add-button{width:100%}
.modal-overlay{padding:10px}
.modal-card form{padding-left:14px;padding-right:14px}
.workflow-bar{grid-template-columns:1fr 1fr}
.detail-list{grid-template-columns:1fr}
.detail-list>div:nth-child(odd),.detail-list>div:nth-child(even){padding-left:0;padding-right:0;border-left:0}
.billing-address-card .card-head{align-items:flex-start}
.month-picker{width:100%}
.mp-drop{flex:1}
.mp-pop{left:0;right:0;transform:none;width:auto}
.invoice-rental-customer{grid-template-columns:1fr}
.payment-balance-card,.report-kpis,.report-kpis.report-kpis-4{grid-template-columns:1fr}
.rental-payment-mini{min-width:130px}
.signature-grid{grid-template-columns:1fr}
}
.consent-line{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:0;border:0;border-radius:0;background:transparent;font-size:13px;line-height:1.5}
.consent-line a{color:var(--gold,#b89a45);font-weight:600}
.confirm-card .consent-line{border:0;background:transparent;padding:0;margin-top:16px;font-size:13px}
.confirm-card .consent-line input{margin-top:2px;flex-shrink:0}
.confirm-card .consent-line a{color:var(--gold,#b89a45);font-weight:600}
.confirm-card .consent-line+.consent-line{margin-top:10px}
.consent-line input{flex-shrink:0;margin-top:3px}
.agb-current{font-size:12.5px;color:var(--muted);margin:0;padding:14px 19px 2px}
.agb-current strong{color:var(--text)}
.mail-sent-note{font-size:11px;color:var(--muted);margin:4px 0 10px}
.contract-inline-section .contract-preview-compact{max-height:220px;overflow-y:auto;font-size:12px;padding:12px;border:1px solid var(--line);border-radius:0;background:#fafaf8}
.confirm-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;
 background:#f4f2ec radial-gradient(ellipse 900px 600px at 50% -10%,rgba(183,155,88,.16),transparent 60%)}
.confirm-shell{max-width:560px;width:100%}
.confirm-card{width:100%;background:#fff;border-radius:0;padding:0;box-shadow:0 30px 70px rgba(20,18,10,.14);overflow:hidden}
.confirm-topline{height:4px;background:linear-gradient(90deg,var(--gold,#b89a45),#e2cd8f,var(--gold,#b89a45))}
.confirm-card-inner{padding:40px 44px 44px}
/* Bestätigungsseite: Der Schriftzug ist ein Wort, deshalb kein Abstand zwischen den Teilen. Golden ist
   der 360-Teil im <b> - früher stand er in einem span, und mit der neuen Auszeichnung wäre sonst der
   gesamte Schriftzug golden geworden. */
.confirm-card .brand{display:flex;align-items:baseline;font-weight:800;letter-spacing:.06em;font-size:15px;margin-bottom:30px}
.confirm-card .brand b{color:var(--gold,#b89a45)}
.confirm-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#9a824f;background:#faf6ea;border:1px solid #ecdfb9;padding:6px 12px;margin-bottom:16px}
.confirm-card h1{margin:0 0 10px;font-size:27px;letter-spacing:-.01em;line-height:1.15}
.confirm-intro{margin:0 0 30px;color:#5b5d63;font-size:14.5px;line-height:1.6}
.confirm-section-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}
.confirm-route{border:1px solid var(--line);margin-bottom:24px}
.confirm-vehicle-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border:1px solid var(--line);border-left:3px solid var(--gold,#b89a45);margin:0 0 24px;background:#fff;box-shadow:0 8px 24px rgba(20,18,10,.035)}
.confirm-vehicle-line strong{font-size:16px;line-height:1.25;letter-spacing:-.01em}
.confirm-vehicle-line small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.confirm-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:24px}
.confirm-details-grid>div{background:#fff;padding:16px 18px}
.confirm-details-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.confirm-details-grid strong{display:block;margin-top:6px;font-size:15px}
.confirm-details-grid small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}
.confirm-total{display:flex;align-items:center;justify-content:space-between;background:var(--dark,#181816);color:#fff;padding:20px 24px;margin-bottom:28px}
.confirm-total span{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#c9b789}
.confirm-total strong{display:block;margin-top:4px;font-size:24px;font-weight:800;letter-spacing:-.01em}
.confirm-total small{color:#b7b8b0;font-size:11px}
.confirm-card form{margin-top:4px}
.confirm-consents{border-top:1px solid var(--line);padding-top:22px;margin-top:4px}
.confirm-card .button.full{padding:16px;font-size:13.5px;letter-spacing:.03em;text-transform:uppercase;font-weight:700}
.confirmation-link-box{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:12px}
.confirm-status{font-size:12px;color:var(--muted);margin:0 0 10px}
.confirm-status.confirmed{color:#267247;font-weight:700}
.audit-details{font-size:11px;color:var(--muted);line-height:1.6}
.letterhead-remove-form{margin-top:10px}
:root{--font:Inter,Arial,Helvetica,sans-serif;--white:#fff;--dark:#181816;--dark2:#242421;--green:#2f7d4c;--red:#a13a3a;--blue:#3d6791;--orange:#a76b2f;--radius:0;--bg:#f3f3f1;--surface:#fff;--surface-soft:#f8f8f6;--text:#191a1d;--muted:#737780;--line:#e6e6e2;--gold:#b79b58;--gold-soft:#f4eedf;--danger:#9d3636;--shadow:0 18px 50px rgba(18,20,24,.07);--radius-sm:0;--radius-lg:0;--shadow-sm:0 1px 2px rgba(20,20,15,.05),0 1px 1px rgba(20,20,15,.04);--shadow-md:0 6px 20px rgba(20,20,15,.07);--shadow-lg:0 18px 44px rgba(20,20,15,.14);--focus-ring:0 0 0 3px rgba(200,178,116,.32);--muted-2:#9c9c92;--border-hover:#c4c4bb}
.card{background:#fff;margin-bottom:17px;border:1px solid rgba(25,26,29,.07);border-radius:0;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px 18px;border-left:4px solid;box-shadow:var(--shadow-sm)}
input,select,textarea{width:100%;padding:10px 11px;color:var(--text);outline:none;font-family:inherit;border:1px solid #dcdedb;border-radius:0;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;font-size:13px;font-weight:400}
input,select{min-height:42px}
textarea{min-height:76px;resize:vertical;line-height:1.55;padding-top:11px}
.input-amount,.editable-calculation input,.total-price-field input,
.editable-calculation input{background:#fff}
.textarea-lg{min-height:110px}
.textarea-xl{min-height:520px}
input::placeholder,textarea::placeholder{color:var(--muted-2)}
input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--border-hover)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold);box-shadow:var(--focus-ring)}
input[readonly]:not(#rental_range):not(.time-picker):not(.flatpickr-alt-input),input:disabled,select:disabled,textarea:disabled,input[readonly]:hover:not(#rental_range):not(.time-picker):not(.flatpickr-alt-input){background:#f4f4f1;color:#8c8c85;cursor:not-allowed;border-color:#e6e6e0;box-shadow:none}
#rental_range,.time-picker,#rental_range~input,.flatpickr-alt-input{background:#fff!important;color:var(--text)!important;cursor:pointer}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'><path d='M5.5 8L10 12.5L14.5 8' stroke='%2377776f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;padding-right:34px;cursor:pointer}
select:disabled{cursor:not-allowed}
input[type=checkbox],input[type=radio]{accent-color:var(--gold);width:17px;height:17px;min-height:0;cursor:pointer;flex-shrink:0}
input[type=radio]{border-radius:50%}
input[type=file]{padding:7px 9px;font-size:12px;background:#fafaf8;cursor:pointer}
input[type=file]{color:var(--text)}
input[type=file]::file-selector-button,input[type=file]::-webkit-file-upload-button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:var(--radius-sm);padding:7px 12px;font-weight:700;font-size:11px;margin-right:11px;cursor:pointer;transition:background-color .15s ease;-webkit-appearance:none;appearance:none}
input[type=file]::file-selector-button:hover{background:#f2f2ee}
input[type=range]{-webkit-appearance:none;appearance:none;height:6px;min-height:0;border:0;background:#e7e5dd;border-radius:0;padding:0}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:0;background:#e7e5dd}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.28);cursor:pointer;margin-top:-6.5px}
input[type=range]::-moz-range-track{height:6px;border-radius:0;background:#e7e5dd;border:0}
input[type=range]::-moz-range-thumb{width:19px;height:19px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.28);cursor:pointer}
.form-grid label,.login-card label{display:grid;gap:6px;font-size:11px;font-weight:bold;letter-spacing:.03em;color:#3f3f39;align-content:start}
.form-grid label small{font-weight:normal;color:var(--muted);font-size:10px;letter-spacing:0}
.button{display:inline-flex;justify-content:center;align-items:center;gap:6px;border:1px solid transparent;padding:9px 13px;font-size:12px;cursor:pointer;border-radius:0;font-weight:650;letter-spacing:-.01em;transition:background-color .15s ease,box-shadow .15s ease,border-color .15s ease,transform .06s ease;box-shadow:var(--shadow-sm)}
.button.primary{color:#fff;background:#1c1d20;border-color:#1c1d20;box-shadow:0 4px 14px rgba(24,24,22,.2)}
.button.primary:hover{background:#303136;box-shadow:0 6px 18px rgba(24,24,22,.26);transform:translateY(-1px)}
.button.primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(24,24,22,.2)}
.button.secondary:hover{background:#faf9f6;border-color:var(--border-hover)}
.button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.icon-button{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:0;background:#fff;font-size:14px;transition:background-color .15s ease,border-color .15s ease}
.check-card{min-height:48px;display:flex!important;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:0;background:#fafafa;transition:border-color .15s ease,background-color .15s ease}
a.icon-button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}
.settings-hub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px}
.import-hub{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-hub a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .1s ease,border-color .15s ease}
.settings-hub a:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--border-hover)}
.settings-hub a i{grid-row:1/3;grid-column:1;align-self:center;font-style:normal;font-size:20px;color:var(--gold)}
.settings-hub a span{grid-column:2;grid-row:1;font-weight:800;font-size:13px;color:var(--text)}
.settings-hub a small{grid-column:2;grid-row:2;color:var(--muted);font-size:11px}
.settings-group-title{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);margin:30px 0 12px;padding-top:2px}
.settings-group-title:first-of-type{margin-top:0}
#pjaxBar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),#e4cf8e);z-index:9999;opacity:0;transition:width .4s ease,opacity .2s ease}
#pjaxBar.active{width:70%;opacity:1;transition:width 4s cubic-bezier(.1,.6,.2,1)}
.wizard-notify-check,.handover-notify-check,.invoice-notify-check{white-space:nowrap;margin:0 4px}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--muted);margin-top:6px;margin-bottom:12px;padding:6px 2px;transition:color .15s ease}
.back-link:hover{color:var(--text)}
.modal-body-content{padding:22px 24px}
.modal-body-content .card{box-shadow:none;border:0;margin:0}
.modal-body-content .card-head{padding:0 0 16px}
.modal-body-content .form-section{padding:16px 0}
.modal-body-content .inner-section{padding:16px 0 0!important}
.modal-body-content .mail-mode-toggle{margin-bottom:2px}
.modal-body-content .form-footer{margin:0 -24px -22px;border-radius:0}
.modal-loading{padding:60px 20px;text-align:center;color:var(--muted);font-size:13px}
.payments-filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:16px 19px;border-bottom:1px solid var(--line);background:#fafaf8}
.payments-filter-bar label{display:grid;gap:4px;font-size:11px;font-weight:700;color:#44443f}
.payments-filter-bar input{min-width:130px}
.payments-filter-bar select{width:170px;flex-shrink:0}
.payments-filter-bar .payments-search{flex:1;min-width:220px}
.payments-filter-bar .payments-search input{min-width:0;width:100%}
.payments-filter-bar select[name="method"]{width:200px;flex-shrink:0}
.payments-filter-bar .filter-method{width:200px;flex-shrink:0}
.payments-filter-bar .filter-method .choices{width:100%;min-width:0}
.sub-nav-tabs{margin-bottom:14px}
/* Richtext-Textareas nur verstecken, wenn TinyMCE (.tox) wirklich geladen ist – sonst bleibt das Feld ohne CDN unbenutzbar */
label:has(> .tox) textarea[data-richtext]{display:none}
.datev-preview{padding:16px 19px;overflow-x:auto}
.datev-preview pre{margin:0;font-family:"SF Mono",Consolas,monospace;font-size:11px;line-height:1.6;white-space:pre;color:#33332e}
.nav-group{display:flex;flex-direction:column}
.nav-group-toggle{display:flex;align-items:center;gap:11px;color:#d7d7d2;padding:10px 11px;border-radius:0;font-size:14px;background:none;border:0;width:100%;text-align:left;cursor:pointer;font-family:inherit}
.nav-group-toggle:hover{background:var(--dark2);color:#fff}
.nav-group-toggle i{width:20px;text-align:center;color:#aaa99f;font-style:normal}
.nav-group-toggle .nav-chevron{margin-left:auto;font-style:normal;font-size:11px;color:#82827a;transition:transform .15s ease}
.nav-group.open>.nav-group-toggle .nav-chevron{transform:rotate(180deg)}
.nav-group.open>.nav-group-toggle{color:#fff}
.nav-group-items{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}
.nav-group-items-inner{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.nav-group.open>.nav-group-items{grid-template-rows:1fr}
.sidebar .nav-group-items-inner a{display:flex;align-items:center;gap:9px;color:#b7b7b0;padding:8px 11px 8px 42px;border-radius:0;font-size:12px;margin-left:4px}
.sidebar .nav-group-items-inner a:hover,.sidebar .nav-group-items-inner a.active{background:var(--dark2);color:#fff}
.sidebar .nav-group-items-inner a.active i{color:var(--gold)}
.sidebar .nav-group-items-inner a i{width:16px;text-align:center;color:#8f8f88;font-style:normal;font-size:12px}
.mail-mode-toggle{display:flex;gap:18px;padding:16px 17px 0}
.mail-signature-note{grid-column:1/-1;margin:2px 0 0;color:var(--muted);font-size:11px}
.route-point{display:flex;align-items:center;gap:14px;flex:0 1 auto;min-width:0}
.route-point div{min-width:0}
.route-point strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-point small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.route-dot{width:13px;height:13px;border-radius:50%;background:var(--gold);flex-shrink:0;position:relative}
.route-dot.end{background:var(--dark)}
.route-duration{display:flex;align-items:center;justify-content:center;flex:1;padding:0 26px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap;position:relative}
.route-duration::before,.route-duration::after{content:"";position:absolute;top:50%;width:20px;height:1px;background:var(--line)}
.route-duration::before{left:0}
.route-duration::after{right:0}
.route-edit{margin-left:10px;flex-shrink:0}
@media(max-width:760px){
.customer-profile-head{flex-direction:column}
.customer-profile-contact div{min-width:100%}
.app{grid-template-columns:1fr}
main{grid-column:1}
/* Offcanvas-Navigation: Sidebar faehrt von links ein */
.sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,84vw);height:100vh;height:100dvh;overflow-y:auto;padding:20px 14px calc(16px + env(safe-area-inset-bottom));transform:translateX(-103%);transition:transform .22s ease,visibility .22s;z-index:6000;box-shadow:none;visibility:hidden}
body.nav-open .sidebar{transform:none;visibility:visible;box-shadow:24px 0 70px rgba(0,0,0,.35)}
.nav-overlay{position:fixed;inset:0;background:rgba(12,12,10,.5);z-index:5990;opacity:0;pointer-events:none;transition:opacity .18s ease}
body.nav-open .nav-overlay{opacity:1;pointer-events:auto}
body.nav-open{overflow:hidden}
.brand{padding:4px 10px 18px}
.sidebar-bottom{margin-top:18px}
.topbar{height:auto;padding:17px}
.content{padding:15px}
.kpis{grid-template-columns:1fr 1fr;gap:9px}
.form-grid{grid-template-columns:1fr}
.form-grid .span-2{grid-column:auto}
.form-footer{align-items:flex-start;flex-direction:column}
.form-footer>div{width:100%}
.form-footer .button{flex:1}
.price-head{grid-template-columns:1fr}
.price-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.price-head>.row-actions{position:absolute;right:28px}
.sidebar nav a{font-size:12px}
.card-head{align-items:flex-start}
.tier-row{grid-template-columns:1fr auto auto}
.tier-row .tier-value{grid-column:1/2;text-align:left}
.tier-row-actions{grid-column:3;grid-row:1/3;flex-direction:column}
.table-wrap table{min-width:720px}
.wizard-steps{grid-template-columns:1fr 1fr}
.summary-grid,.upload-grid{grid-template-columns:1fr}
.form-step{padding:18px}
.logistics-grid,.editable-calculation{grid-template-columns:1fr}
.calculation-meta{grid-template-columns:1fr 1fr}
.sticky-form-footer{position:relative;flex-direction:column;align-items:stretch}
.save-state{flex-direction:column;align-items:stretch}
.save-state .button{width:100%}
.summary-live{grid-template-columns:1fr}
.head-actions,.list-search{width:100%}
.list-search input{min-width:0;width:100%}
.planner-head,.planner-row{grid-template-columns:135px repeat(var(--planner-days),minmax(var(--planner-daymin,30px),1fr));min-width:calc(135px + var(--planner-days)*var(--planner-daymin,30px))}
.settings-hub{grid-template-columns:1fr}
.payments-filter-bar{flex-direction:column;align-items:stretch}
.payments-filter-bar input,.payments-filter-bar select{min-width:0;width:100%}
.route-card{flex-direction:column;gap:14px}
.route-duration{padding:4px 0;justify-content:flex-start}
.route-duration::before,.route-duration::after{display:none}
}
.actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:8px}
.actions-grid a,.actions-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:0;text-align:center;color:var(--text);font-size:11px;font-weight:700}
.actions-grid a small,.actions-grid button small{font-weight:normal;color:var(--muted);font-size:10px;margin-top:-2px}
.actions-grid a:hover,.actions-grid button:hover{background:#f4f4f1}
.actions-grid a i,.actions-grid button i{font-style:normal;font-size:26px;color:var(--gold)}
.actions-grid a.actions-danger i,.actions-grid button.actions-danger i{color:var(--red)}
.actions-grid a.actions-danger:hover,.actions-grid button.actions-danger:hover{background:#fdf2f2}
.actions-grid form{display:contents}
.actions-grid button{width:100%;background:none;border:none;cursor:pointer;font-family:inherit;margin:0}
.actions-grid .info-item{grid-column:1/-1;padding:9px 10px;text-align:left;color:var(--muted);font-size:11px;background:#f7f6f2;border-top:1px solid var(--line)}
.actions-grid .info-item.confirmed{color:var(--green)}
.livesearch-loading{opacity:.5;transition:opacity .1s ease}
.kpi.red{border-left-color:var(--red)}
.kpi small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.kpis-secondary{grid-template-columns:repeat(4,1fr)!important;margin-top:-4px}
.kpis-secondary .kpi{grid-column:span 1}
@media(max-width:1050px){
.kpis{grid-template-columns:repeat(2,1fr)}
.price-head{grid-template-columns:1fr auto}
.price-meta{grid-column:1/-1;justify-content:flex-start}
.form-two,.price-columns{grid-template-columns:1fr}
.price-columns>div+div{border-left:0;border-top:1px solid var(--line);padding:17px 0 0}
.settings-hub{grid-template-columns:repeat(2,minmax(0,1fr))}
.kpis-secondary{grid-template-columns:repeat(2,1fr)!important}
}
.editable-price-block{position:relative;display:flex;flex-direction:column;gap:0}
.price-subnote{font-size:10.5px;color:var(--muted);margin-top:3px;min-height:13px}
.price-subnote:empty{display:none}
/* Hinweis "Berechnet waeren X - uebernehmen" unter Grundpreis/Freikilometer beim Bearbeiten */
.price-computed-note{color:var(--accent,#b89a45);font-weight:500}
.price-computed-note[hidden]{display:none}
.price-computed-note .link-button{background:none;border:0;padding:0;margin-left:2px;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.price-computed-note .link-button:hover{opacity:.75}
.price-recalc-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.price-recalc-row small{color:var(--muted);font-size:11px;flex:1 1 220px;line-height:1.45}
.editable-price-block span{margin-bottom:0;font-size:12px;color:var(--muted)}
.inline-editable-price{border:1px solid transparent;background:transparent;padding:0;font-size:19px;font-weight:700;font-family:inherit;color:var(--text);width:100%;cursor:text;transition:border-color .15s ease,padding .15s ease,background-color .15s ease;-moz-appearance:textfield}
.inline-editable-price::-webkit-outer-spin-button,.inline-editable-price::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.inline-editable-price:hover{border-bottom:1px dashed var(--gold)}
.inline-editable-price:focus{outline:none;border:1px solid var(--gold);background:#fff;padding:6px 8px;border-radius:0;box-shadow:var(--focus-ring)}
.km-stepper button{border:0;background:#fafaf8;color:var(--text);border-radius:0;font-weight:700;cursor:pointer;height:40px;width:38px;padding:0;font-size:17px;line-height:1;transition:background-color .15s ease,color .15s ease}
.add-extra-item-btn{gap:8px}
.add-extra-item-btn i{font-style:normal;font-size:15px;color:var(--gold)}
.inquiry-overlap-flag{display:block;color:var(--orange);font-weight:700;margin-top:2px}
.dash-inquiry-actions-head{text-align:right}
.dash-inquiry-actions{white-space:nowrap;text-align:right}
.dash-inquiry-actions .row-actions{justify-content:flex-end}
.dash-inquiry-actions .row-actions form{margin:0}
@media (max-width:639px){.dash-inquiry-actions .row-actions{flex-wrap:wrap;justify-content:flex-start}}
.route-status-badge{margin-left:auto}
.templates-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.templates-list{background:#fff;border:1px solid var(--line);padding:14px}
.templates-list-group+.templates-list-group{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.templates-list-group h3{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px}
.templates-list-group a{display:block;padding:9px 10px;font-size:13px;font-weight:650;color:var(--text)}
.templates-list-group .lang-tab-row{display:flex;border:1px solid var(--line)}
.templates-list-group .lang-tab-row a{flex:1;text-align:center;padding:9px 6px}
.templates-list-group .lang-tab-row a:first-child{border-right:1px solid var(--line)}
.templates-list-group a.active{background:var(--dark);color:#fff}
.templates-list-group a:hover:not(.active){background:#f4f4f1}
@media(max-width:900px){
.handover-summary,.upload-grid{grid-template-columns:repeat(2,1fr)}
.extras-grid{grid-template-columns:repeat(2,1fr)}
.payment-step-card{grid-template-columns:38px 1fr}
.payment-step-card label,.payment-step-card>b{grid-column:2}
.damage-modal-gallery{grid-template-columns:repeat(2,1fr)}
.vat-settings-layout{grid-template-columns:1fr}
.invoice-payment-form{grid-template-columns:1fr 1fr}
.templates-layout{grid-template-columns:1fr}
}
.system-extra-tag{color:var(--gold);font-weight:700}
.confirm-extras{margin:16px 0;padding:14px 16px;border:1px solid var(--line);border-top:2px solid var(--gold,#b89a45);background:#fafaf8}
.confirm-extras p{margin:0;font-size:13px;line-height:1.6}
.confirm-extras strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.confirm-extras h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.confirm-extras ul{margin:0;padding-left:18px}
.route-card{display:flex;align-items:center;padding:17px 19px;gap:14px;position:relative;flex-wrap:wrap;box-shadow:none}
.route-inquiry-actions{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.route-inquiry-actions form{flex:0 0 auto}
.route-inquiry-actions .button{width:auto;padding:7px 14px;font-size:11px}
.confirm-status-inline{font-size:11px;color:var(--muted);margin-left:auto}
.confirm-status-inline.confirmed{color:var(--green);font-weight:700}
.extra-items-list{border-top:1px solid var(--line);padding:10px 16px}
.extra-items-list>div{display:grid;grid-template-columns:1fr auto 26px;align-items:center;gap:4px 12px;padding:12px 10px;border-bottom:1px solid #eee;border-radius:0;transition:background-color .12s ease}
.extra-items-list>div:hover{background:#fafaf8}
.extra-items-list>div:last-child{border-bottom:0}
.extra-items-list span{font-size:13px;font-weight:650;grid-column:1/2}
.extra-items-list strong{font-size:13px;grid-column:2/3;grid-row:1/3;align-self:center}
.extra-items-list small{font-size:11px;color:var(--muted);grid-column:1/2}
.extra-items-list .icon-button{grid-column:3/4;grid-row:1/3;justify-self:end;align-self:center}
.extra-items-list .extra-item-used{grid-column:1/3;grid-row:3;font-size:11px;font-style:normal;color:var(--muted)}
@media(max-width:980px){
.detail-grid{grid-template-columns:1fr}
.detail-grid aside{display:grid;gap:12px}
}
.deposit-upload-section{margin-top:16px;padding:18px;border:1px solid #dac68d;background:#fffaf0}
.deposit-upload-section h3{margin:0 0 4px;font-size:13px}
.deposit-upload-section>p{margin:0 0 14px;color:var(--muted);font-size:12px}
.deposit-upload-section .upload-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.deposit-upload-section input[type=file]{background:#fff;padding:10px;border:1px dashed #c8b274;cursor:pointer}
.wizard-panel.active>.customer-billing-row{display:grid!important}
.customer-billing-row{grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.customer-billing-row .billing-address-details{margin-top:0}
.customer-billing-row .customer-search-wrap{position:relative}
@media(max-width:850px){
.vehicle-choice-grid,.extras-grid,.price-breakdown,.final-price-grid{grid-template-columns:1fr 1fr}
.wizard-heading{padding:16px 18px}
.wizard-panel>*:not(.wizard-heading){padding:0 18px 20px}
.wizard-panel:not(:last-child) .wizard-heading::after{left:36px}
.customer-billing-row{grid-template-columns:1fr}
}
.fuel-gauge{display:flex;align-items:center;gap:4px;padding:10px 12px;border:1px solid var(--line);background:#fff}
.fuel-segment{flex:1;height:28px;border:1px solid var(--line);background:#f4f4f1;cursor:pointer;padding:0;transition:background-color .12s ease}
.fuel-segment:hover{border-color:#b89d58}
.fuel-segment.filled{background:var(--dark);border-color:var(--dark)}
.fuel-gauge output{flex:0 0 auto;margin-left:8px;font-weight:700;font-size:13px;min-width:44px;text-align:right}
.pdf-modal-overlay{z-index:20000}
.pdf-modal{position:relative;width:min(900px,96vw);height:92vh;background:#fff;display:flex;flex-direction:column;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.pdf-modal-head{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fafaf8}
.pdf-modal-head .modal-close{position:static;width:32px;height:32px;font-size:20px}
.pdf-modal iframe{flex:1;border:0;width:100%}
.status-locked-note{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);background:#fafaf8}
.status-locked-note small{color:var(--muted)}
.driver-search-wrap{position:relative;padding:16px}
.driver-search-wrap .customer-results{top:60px}
.extra-card-price{display:block;margin-top:6px;font-size:12px;font-weight:700;color:#2f7d4c;grid-column:1/-1;text-align:right}
.km-extra .extra-card-price{grid-column:2/3;text-align:right}
.mail-attachment-list{display:grid;gap:6px}
.payment-clean-list{padding:0 4px}
.payment-clean-list .payment-row-actions{display:flex;align-items:center;gap:6px}
.payment-clean-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 12px;border-bottom:1px solid var(--line)}
.payment-clean-list>div:last-child{border-bottom:0}
.payment-clean-list strong{display:block;font-size:14px}
.payment-clean-list small{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.deposit-refund-card{margin:16px 0;padding:16px;border:1px solid var(--line);border-top:2px solid var(--gold);background:#fafaf8}
.deposit-refund-card h3{margin:0 0 6px;font-size:14px}
.deposit-refund-card p{margin:0 0 12px;color:var(--muted);font-size:12px}
.deposit-receipt-gallery{padding:0 0 14px;margin:0 0 12px;border-bottom:1px solid var(--line)}
#depositRefundMethodField{margin-top:12px}
.invoice-item-row[data-item-row]{display:flex;align-items:center;gap:14px;padding:11px 13px;border:1px solid var(--line);background:#fff;margin-bottom:8px}
.invoice-item-row[data-item-row] .item-summary{flex:1;min-width:0;display:grid;gap:2px}
.invoice-item-row[data-item-row] .is-title{font-size:13px}
.invoice-item-row[data-item-row] .is-meta{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invoice-item-row[data-item-row] .is-total{font-size:13px;white-space:nowrap}
.item-row-actions{display:flex;gap:5px}
.invoice-item-modal{background:#fff;width:640px;max-width:100%;border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.invoice-item-modal .card-head{padding:16px 19px}
.invoice-item-modal .form-section{padding:17px 19px}

/* ===== Mobile Übergaben-App (PWA) ===== */
body.mobile-app{display:block;margin:0;padding:0;background:#f4f3ef;font-family:var(--font,Inter,Arial,sans-serif);-webkit-tap-highlight-color:transparent}
.mobile-topbar{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;background:#1a1a18;color:#fff;padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top))}
.mobile-topbar .mt-brand{display:flex;align-items:center;gap:8px;font-size:17px;letter-spacing:.04em}
.mobile-topbar .mt-brand span{color:#b89a45;font-size:20px}
.mobile-topbar .mt-brand b{font-weight:700}
.mobile-topbar .mt-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:#c9cbce}
.mobile-topbar .mt-meta a{color:#c9cbce;text-decoration:none;font-size:19px;line-height:1}
.mobile-wrap{max-width:640px;margin:0 auto;padding:14px 14px calc(44px + env(safe-area-inset-bottom))}
.mobile-wrap .alert{margin-bottom:12px}
.mobile-search input{width:100%;box-sizing:border-box;padding:13px 14px;font-size:16px;border:1px solid var(--line);border-radius:0;background:#fff}
.mobile-section h2{margin:20px 0 10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6d7075}
.mobile-card{background:#fff;border:1px solid var(--line);padding:14px 14px 16px;margin-bottom:10px}
.mobile-card .mc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.mc-chip{display:inline-block;padding:4px 9px;font-size:12px;font-weight:700}
.mc-chip.today{background:#b89a45;color:#fff}
.mc-chip.tomorrow{background:#1a1a18;color:#e6d9ae}
.mc-chip.overdue{background:#b3423a;color:#fff}
.mc-chip.later{background:#ecece8;color:#3f3f39}
.mc-number{font-size:12px;color:#6d7075}
.mc-top-right{display:flex;align-items:center;gap:10px}
.mc-edit-link{color:#8d8f92;text-decoration:none;font-size:14px;line-height:1;padding:2px}
.mc-customer{display:block;font-size:17px;margin-bottom:2px}
.mc-vehicle{font-size:14px;color:#3f3f39}
.mc-loc{margin-top:4px;font-size:13px;color:#6d7075}
.mobile-card .mc-action{display:block;width:100%;box-sizing:border-box;text-align:center;margin-top:12px;padding:13px;font-size:16px}
.mc-actions-row{display:flex;gap:8px;margin-top:12px}
/* "Bestätigen" steckt (wegen des POST-Requests) in einem <form>, "Ablehnen" ist ein einfacher Link -
   das <form> bekommt daher hier bewusst KEIN eigenes Padding mehr, sondern nur flex/display, damit der
   Button darin exakt genauso groß wird wie der Ablehnen-Link (vorher hatte "Bestätigen" durch Padding auf
   Form UND Button zusätzlich doppeltes Padding und wirkte dadurch sichtbar kleiner als "Ablehnen"). */
.mc-actions-row form{flex:1;display:flex}
.mc-actions-row form .button,.mc-actions-row>.button{flex:1;width:100%;box-sizing:border-box;text-align:center;padding:12px;font-size:14px}
.mc-actions-row .mc-action{margin-top:0}
.mobile-empty{background:#fff;border:1px dashed var(--line);padding:18px;text-align:center;color:#6d7075;font-size:14px}
.mobile-hint{margin-top:26px;font-size:12px;color:#8d8f92;text-align:center;line-height:1.5}
@media (min-width:900px){.mobile-wrap{padding-top:24px}}

/* ===== Uebersichtliche Betragsanzeige in Schritt 1 (Miete & Kaution): Zeilen untereinander ===== */
.payment-amounts{display:block;margin-top:10px;border:1px solid var(--line);background:#fff}
.payment-amounts>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 12px}
.payment-amounts>div+div{border-top:1px solid #f0f0ec}
.payment-amounts span{font-size:13px;color:#3f3f39}
.payment-amounts strong{font-size:14px;white-space:nowrap}
.payment-amounts strong.amount-open{color:#8a6719}

/* ===== Vorgangsuebersicht in der Uebergaben-App (Karten-Layout) ===== */
.mob-overview{max-width:760px;margin-bottom:18px}
.mob-section-label{margin:18px 0 8px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#6d7075}
.mob-section-label:first-child{margin-top:0}
.mob-overview .mob-card{margin-bottom:0;padding:16px}
.mob-lines strong{display:block;font-size:16px;margin-bottom:4px}
.mob-lines span{display:block;font-size:14px;color:#3f3f39;line-height:1.55}
.mob-lines .mob-tel{font-weight:650;color:var(--text)}
.mob-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mob-obj{font-size:16px;font-weight:650}
.mob-chip{flex-shrink:0;font-size:12px;font-weight:700;padding:5px 10px;border:1px solid var(--line);background:#fafaf8;color:#3f3f39}
.mob-kv>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0}
.mob-kv>div+div{border-top:1px solid #f0f0ec}
.mob-kv span{font-size:14px;color:#3f3f39}
.mob-kv strong{font-size:15px;white-space:nowrap}
.mob-kv strong.mob-open{color:#8a6719}

/* ===== CC/BCC-Hinweis im E-Mail-Verlauf (Tooltip statt im Titel) ===== */
.cc-flag{display:inline-block;font-style:normal;font-size:9px;font-weight:800;letter-spacing:.04em;padding:1px 5px;margin-left:4px;background:#eee8d4;color:#705c25;vertical-align:1px;cursor:help}

/* ===== iPhone: kein Auto-Zoom beim Fokussieren (Schriftgroesse >= 16px auf Touch) ===== */
@media(pointer:coarse),(max-width:760px){
 input,select,textarea,.choices__inner,.choices__input{font-size:16px!important}
 .mobile-search input{font-size:16px}
}

/* ===== Unterschrift im Vollbild/Querformat ===== */
.signature-block canvas{cursor:pointer}
.sig-fs{position:fixed;inset:0;z-index:30000;background:#f4f3ef}
.sig-fs[hidden]{display:none}
.sig-fs-stage{position:absolute;inset:0;display:flex;flex-direction:column;padding:14px;box-sizing:border-box}
.sig-fs-title{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 10px}
.sig-fs-title strong{font-size:15px}
.sig-fs-title small{color:var(--muted);font-size:12px}
.sig-fs-canvas-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}
.sig-fs canvas{background:#fff;border:1px dashed #b9b9b0;touch-action:none;width:100%;max-width:100%;max-height:100%;display:block}
.sig-fs-bar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px}
.sig-fs-bar .button{padding:12px 18px;font-size:14px}

/* ===== Einheitliches, modernes Label-Styling fuer ALLE Formularfelder ===== */
.form-card label,.modal-body-content label,.card form label,.login-card label{display:grid;gap:7px;font-size:10.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#44443f;align-content:start}
/* Ausnahmen: Checkbox-/Karten-Labels behalten ihr eigenes Layout und normale Schrift */
.check-line,.check-card,label.extra-card,label.vehicle-choice,label.mode-card,.switch-row,.driver-extra,.km-extra,.reset-scope,.duplicate-actions label,.consent-line{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:500!important}
.check-line{display:flex!important}.check-card{display:flex!important}
.form-grid label small,.form-card label small{font-weight:400;color:var(--muted);font-size:10px;letter-spacing:0;text-transform:none}
.signature-block label{font-size:10.5px;font-weight:750;letter-spacing:.06em;color:#44443f}
/* Aktualisieren-Button in der Uebergaben-App */
.mt-meta .mt-refresh{font-size:17px}

/* ===== Uebergabeformular in der Uebergaben-App: Karten-Stil wie die Vorgangsuebersicht ===== */
body.mobile-form{background:#f4f3ef}
body.mobile-form .content{padding:12px 14px calc(16px + env(safe-area-inset-bottom));max-width:680px;margin:0 auto}
body.mobile-form .topbar{min-height:0;padding:12px 16px}
body.mobile-form .topbar h1{font-size:17px;margin:0 0 2px}
body.mobile-form .card{box-shadow:none;border:1px solid var(--line)}
body.mobile-form .handover-progress{padding:12px 14px;gap:6px;position:sticky;top:0;z-index:40;background:#fff}
body.mobile-form .handover-progress button{font-size:11px;padding:9px 8px;gap:6px}
body.mobile-form .handover-panel{padding:14px}
body.mobile-form .section-title{margin:2px 0 12px;gap:0}
body.mobile-form .section-title>span{display:none}
body.mobile-form .section-title h2{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#6d7075;margin:0 0 3px}
body.mobile-form .section-title p{font-size:11px}
body.mobile-form .payment-step-card{grid-template-columns:1fr;gap:8px;background:#fff;padding:14px}
body.mobile-form .payment-step-card>span{display:none}
body.mobile-form .payment-step-card h3{font-size:14px}
body.mobile-form .payment-step-card label,body.mobile-form .payment-step-card>b{grid-column:1}
body.mobile-form .active-damages-box,body.mobile-form .deposit-upload-section,body.mobile-form .deposit-refund-card{background:#fff}
body.mobile-form .inspection-grid,body.mobile-form .upload-grid,body.mobile-form .tire-grid,body.mobile-form .signature-grid{grid-template-columns:1fr}
body.mobile-form .handover-footer{position:sticky;bottom:0;z-index:45;display:flex;flex-direction:column-reverse;gap:8px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:12px 14px calc(12px + env(safe-area-inset-bottom));margin:0 -1px -1px}
body.mobile-form .handover-footer>div{display:flex;flex-direction:column;gap:8px;width:100%}
body.mobile-form .handover-footer .button{width:100%;padding:15px;font-size:16px}
body.mobile-form .handover-footer #handoverHint{text-align:center;order:3}
body.mobile-form .handover-footer .button.secondary{padding:11px;font-size:13px}
body.mobile-form .return-km-summary{grid-template-columns:1fr 1fr;background:#fff}
body.mobile-form .mob-overview{max-width:none}
/* Aktionen auf der Rueckgabe-Uebersicht */
.return-summary-actions{display:grid;gap:9px;margin-top:16px}
.return-summary-actions .button{width:100%;padding:14px;font-size:15px}
@media(min-width:761px){.return-summary-actions{display:flex;justify-content:flex-start}.return-summary-actions .button{width:auto;padding:10px 18px;font-size:13px}}

/* ===== Topbar-Aktionen: Hamburger + Schnellzugriff Uebergaben-App (nur mobil) ===== */
.topbar{justify-content:space-between;gap:14px}
.topbar-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.nav-burger{display:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;font-size:19px;line-height:1;cursor:pointer;color:var(--text)}
.topbar-app-link{white-space:nowrap}
@media(min-width:761px){.topbar-actions{display:none}}
@media(max-width:760px){.nav-burger{display:grid;place-items:center}}

/* ===== Topbar-Werkzeuge: globale Suche + "Neuer Vorgang" - immer sichtbar, auch am Desktop ===== */
.topbar-tools{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end;min-width:0}
.topbar-search{width:min(280px,100%);flex-shrink:1;min-width:0}
.topbar-search .customer-results{top:44px}
.topbar-new-rental{white-space:nowrap;flex-shrink:0}
@media(max-width:900px){.topbar-search{display:none}}
@media(max-width:760px){.topbar-tools{flex:0}.topbar-new-rental{padding:9px 12px;font-size:12px}.planner-legend{justify-content:flex-start;gap:6px}.planner-legend span{flex:0 0 auto}}

/* ===== Feinschliff-Runde ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* Lieferadresse und Lieferpreis in einer Zeile */
.delivery-grid{grid-template-columns:2fr 1fr}
@media(max-width:650px){.delivery-grid{grid-template-columns:1fr}}
/* KM-Paket und Zusatzfahrer: alles in einer Zeile */
.extras-grid .km-extra{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center;gap:12px}
.extras-grid .km-extra .extra-card-price{grid-column:auto;grid-row:auto;margin-top:0;min-width:86px}
.extras-grid .driver-extra{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center;gap:12px}
.extras-grid .driver-extra .driver-stepper{margin-top:0}
.extras-grid .driver-extra .driver-stepper input{width:58px}
.extras-grid .driver-extra .extra-card-price{grid-column:auto;grid-row:auto;margin-top:0;min-width:86px}
@media(max-width:650px){.extras-grid .km-extra,.extras-grid .driver-extra{grid-template-columns:1fr!important}.extras-grid .km-extra .extra-card-price,.extras-grid .driver-extra .extra-card-price{text-align:left}}
/* Detailseiten: auf schmalen/mittleren Screens strikt einspaltig und volle Breite */
@media(max-width:980px){
.detail-grid,.invoice-detail{grid-template-columns:1fr!important}
.detail-grid>*{min-width:0;width:100%}
}
/* Icons in der Uebergaben-App: einheitlich und groesser */
.mobile-topbar .mt-meta{gap:6px}
.mobile-topbar .mt-meta a{display:grid;place-items:center;width:42px;height:42px;font-size:21px;line-height:1;border:1px solid #33332f;background:#242421;color:#e8e8e2;text-align:center}
.mobile-topbar .mt-meta a:active{background:#33332f}
/* Tabs in der Uebergaben-App */
.mobile-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.mobile-tabs button{border:1px solid var(--line);background:#fff;padding:13px 10px;font-size:14px;font-weight:700;color:#6d7075;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.mobile-tabs button b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#ecece8;color:#3f3f39;font-size:12px}
.mobile-tabs button.active{background:#1a1a18;border-color:#1a1a18;color:#fff}
.mobile-tabs button.active b{background:#b89a45;color:#fff}
.mobile-section[data-mtab-panel] h2{margin-top:14px}
.mobile-tabs.mobile-tabs-4 button{padding:12px 8px;font-size:13px}
/* Dashboard-Tab der Uebergaben-App (nur Admin): Kennzahlen wie auf dem Desktop-Dashboard */
.mobile-section.mobile-dash h2{margin-top:18px}
.mobile-section.mobile-dash h2:first-child{margin-top:14px}
.m-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m-kpis-3{grid-template-columns:repeat(3,1fr)}
.m-kpis .m-kpi.wide{grid-column:1/-1}
.m-kpi{display:block;width:100%;box-sizing:border-box;text-align:left;background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);padding:12px 12px 13px;margin:0;font:inherit;color:inherit}
.m-kpi span{display:block;color:#6d7075;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px}
.m-kpi strong{display:block;font-size:19px;line-height:1.2;font-weight:700}
.m-kpi small{display:block;margin-top:5px;font-size:11px;line-height:1.35;color:#8d8f92}
.m-kpi.blue{border-left-color:var(--blue)}
.m-kpi.green{border-left-color:var(--green)}
.m-kpi.orange{border-left-color:var(--orange)}
.m-kpi.red{border-left-color:var(--red)}
.m-kpi.gold{border-left-color:#b89a45}
.m-kpi.dark{border-left-color:#1a1a18}
button.m-kpi{-webkit-appearance:none;appearance:none;cursor:pointer}
button.m-kpi:active{background:#f8f8f6}
.m-kpis-3 .m-kpi{padding:11px 10px 12px}
.m-kpis-3 .m-kpi strong{font-size:22px}
.m-kpis-3 .m-kpi span{font-size:10px;letter-spacing:.03em}
.m-kpis-3 .m-kpi small{font-size:10px}
/* Kompakte Uebersicht der offenen Anfragen im Dashboard (tippen springt in den Anfragen-Tab) */
.m-inq-row{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;text-align:left;background:#fff;border:1px solid var(--line);padding:11px 12px;margin:0 0 6px;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.m-inq-row:active{background:#f8f8f6}
.mir-date{flex:0 0 auto;background:#ecece8;color:#3f3f39;font-size:12px;font-weight:700;padding:5px 8px;text-align:center;line-height:1.25}
.mir-date b{display:block;font-weight:700;font-size:11px;color:#6d7075}
.mir-main{flex:1 1 auto;min-width:0}
.mir-main b{display:block;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mir-main small{display:block;font-size:12px;color:#6d7075;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mir-warn{display:block;margin-top:3px;font-style:normal;font-size:11px;font-weight:700;color:#b3423a}
.mir-no{flex:0 0 auto;font-size:11px;color:#8d8f92}
.m-inq-empty{background:#fff;border:1px dashed var(--line);padding:18px;text-align:center;color:#6d7075;font-size:14px}
.m-dash-jump{display:block;width:100%;box-sizing:border-box;text-align:center;margin-top:10px;padding:13px;font-size:15px}
/* Hinweis auf sich ueberschneidende Anfragen (wie auf dem Desktop-Dashboard) */
.mc-overlap{margin-top:5px;font-size:12px;font-weight:700;color:#b3423a}

/* KM-Paket und Zusatzfahrer nebeneinander; uebrige Extras volle Breite */
@media(min-width:900px){
 .extras-grid{grid-template-columns:1fr 1fr!important}
 .extras-grid label.extra-card{grid-column:1/-1}
 .extras-grid .km-extra,.extras-grid .driver-extra{grid-column:auto}
}

/* ===== Getrennte Uebergabe/Rueckgabe im Vorgangs-Assistenten ===== */
.handover-return-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.hr-block{border:1px solid var(--line);background:#fafaf8;padding:16px}
.hr-title{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6d7075}
.hr-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.hr-mode label{display:flex!important;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:12px!important;font-weight:650!important;text-transform:none!important;letter-spacing:0!important}
.hr-mode label:has(input:checked){border-color:var(--dark);background:#f4f0e4}
.hr-mode input{width:auto;min-height:0}
.hr-block .delivery-location-fields{margin-top:0;padding:0;border:0;background:transparent}
.hr-block .delivery-grid{grid-template-columns:1fr}
@media(max-width:850px){.handover-return-grid{grid-template-columns:1fr}}

/* ===== Automatische Lieferkosten-Berechnung (Einstellungen → Lieferkosten) ===== */
.delivery-calc-row{margin-top:10px}
.delivery-calc-result{margin-top:8px;padding:10px 12px;font-size:12.5px;line-height:1.5}
.delivery-calc-result strong{display:block;margin-bottom:2px;font-size:13px}
.delivery-calc-result button{margin-top:8px;display:block}

/* ===== Mobile: keine ueberstehenden Karten (Mietvertrag/E-Mail/Dokumente/Änderungsprotokoll) ===== */
.detail-grid,.detail-grid>*,.detail-grid aside,.detail-grid aside>*{min-width:0;max-width:100%}
.detail-grid .card{min-width:0;max-width:100%;overflow:hidden}
.detail-grid .actions-grid a span,.detail-grid .actions-grid a small{overflow-wrap:anywhere}
.audit-details,.mail-log-entry strong,.mail-log-top>span:first-child,.detail-list strong,.detail-list small,.document-list a{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.preview-actions-grid a{min-width:0}
@media(max-width:980px){
 .detail-grid aside{display:grid;gap:12px;min-width:0}
 .rental-payment-history>div{grid-template-columns:minmax(0,1fr) auto}
 .rental-payment-mini{min-width:0}
}

/* Uebergabe/Rueckgabe-Bloecke: identisches Layout links/rechts (alte ID-Regeln neutralisieren) */
.hr-block #locationField,.hr-block #deliveryFields,.hr-block #returnLocationField,.hr-block #returnDeliveryFields{margin-top:0;padding:0;border:0;background:transparent}

/* ===== Änderungsprotokoll: gestapelte Liste statt gequetschter Tabelle ===== */
.audit-list{padding:6px 16px 14px}
.scrollable-box{max-height:340px;overflow-y:auto}
.audit-entry{padding:11px 0;border-bottom:1px solid #efefeb}
.audit-entry:last-child{border-bottom:0}
.audit-entry-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.audit-entry-top strong{font-size:12.5px}
.audit-entry-top small{color:var(--muted);font-size:11px;white-space:nowrap}
.audit-entry-user{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.audit-entry .audit-details{margin-top:5px;display:grid;gap:2px}
.audit-entry .audit-details span{display:block;font-size:11px;color:#55554f;overflow-wrap:anywhere}

/* ===== Label-Styling: Grossbuchstaben nur fuers Label selbst, nie fuer Feldinhalte ===== */
.form-card label input,.form-card label select,.form-card label textarea,.form-card label output,
.modal-body-content label input,.modal-body-content label select,.modal-body-content label textarea,.modal-body-content label output,
.card form label input,.card form label select,.card form label textarea,.card form label output{
 text-transform:none;letter-spacing:0;font-weight:400;font-size:13px
}
.form-card label .choices,.modal-body-content label .choices,.card form label .choices,
.form-card label .choices *,.modal-body-content label .choices *,.card form label .choices *{
 text-transform:none;letter-spacing:0;font-weight:400
}
.form-card label .choices__inner,.modal-body-content label .choices__inner{font-size:13px}
/* Radio-/Checkbox-Zeilen im Modal buendig mit den Feldern */
.modal-body-content .mail-mode-toggle{padding-left:0;padding-right:0}
/* Preis-Kacheln im Vorgang-Assistenten (Grundpreis, Kaution, Freikilometer usw.) muessen auf schmalen
   Smartphones (z. B. beim Anlegen eines Vorgangs aus der Übergaben-App) immer einspaltig stehen. Die
   @media(max-width:850px)-Regel weiter oben im Stylesheet setzt für dieselben Selektoren 2 Spalten und
   überschreibt dadurch wegen der späteren Reihenfolge im Stylesheet die eigentlich schmalere
   @media(max-width:600px)-Regel, sobald beide Bedingungen gleichzeitig zutreffen - dadurch liefen die
   Kacheln aus dem Container. Diese Regel steht bewusst ganz am Ende der Datei, damit sie in jedem Fall
   gewinnt. */
@media(max-width:600px){.price-breakdown{grid-template-columns:1fr!important}}

/* Website-Reservierung: Beschreibung direkt am Anzahlungsschalter */
#resweb-pricing .switch-line > span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
#resweb-pricing .switch-line > span:last-child small{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.45}

/* Website-Gutscheinshop: eigene Schalterzeilen ohne Konflikte mit dem allgemeinen Formular-Label-Styling. */
.voucher-shop-switches{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin:18px 0 28px!important;padding:0!important}
.form-card label.voucher-shop-switch-option{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;column-gap:14px!important;align-items:start!important;margin:0!important;padding:0!important;border:0!important;font-size:13px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--text)!important;cursor:pointer!important}
.voucher-shop-switch-option>.switch-toggle{margin:1px 0 0!important}
.voucher-shop-switch-copy{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;margin:0!important;padding:0!important}
.voucher-shop-switch-copy b{display:block!important;margin:0!important;font-size:13px!important;font-weight:750!important;line-height:1.3!important;letter-spacing:.02em!important;text-transform:uppercase!important;color:var(--text)!important}
.voucher-shop-switch-copy small{display:block!important;margin:0!important;font-size:11px!important;font-weight:400!important;line-height:1.45!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important}


/* Kunden-Bestätigungsseite: Preisübersicht wie im Website-Reservierungstool */
.confirm-shell{max-width:620px}
.confirm-price-label{margin-top:2px}
.confirm-price-summary{
 margin:0 0 28px;
 padding:20px 22px 18px;
 border:1px solid #e5e2d8;
 border-left:3px solid var(--gold,#c8b274);
 background:linear-gradient(135deg,rgba(200,178,116,.06),rgba(255,255,255,.98) 55%);
 box-shadow:0 7px 20px rgba(0,0,0,.035);
 color:#1c1c1c;
}
.confirm-price-row{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 min-width:0;
 padding:9px 0;
 border-bottom:1px solid rgba(0,0,0,.06);
}
.confirm-price-row>div{min-width:0}
.confirm-price-row span{
 display:block;
 color:#77776d;
 font-size:10.5px;
 font-weight:700;
 letter-spacing:.045em;
 text-transform:uppercase;
}
.confirm-price-row small{
 display:block;
 margin-top:3px;
 color:#99958c;
 font-size:10.5px;
 line-height:1.35;
}
.confirm-price-row strong{
 flex:0 0 auto;
 color:#1c1c1c;
 font-size:14px;
 font-weight:700;
 white-space:nowrap;
}
.confirm-price-row.is-voucher span,
.confirm-price-row.is-voucher strong{color:#4f8a5b}
.confirm-price-row.is-discount span,
.confirm-price-row.is-discount strong{color:#4f8a5b}
.confirm-price-total{
 display:flex;
 align-items:flex-end;
 justify-content:space-between;
 gap:20px;
 margin-top:9px;
 padding:15px 0 5px;
 border-top:2px solid var(--gold,#c8b274);
}
.confirm-price-total span{
 display:block;
 color:#191919;
 font-size:12.5px;
 font-weight:800;
 letter-spacing:.025em;
 text-transform:uppercase;
}
.confirm-price-total small{
 display:block;
 margin-top:3px;
 color:#8a8a80;
 font-size:10.5px;
 font-weight:500;
}
.confirm-price-total strong{
 flex:0 0 auto;
 color:#191919;
 font-size:24px;
 font-weight:800;
 letter-spacing:-.02em;
 white-space:nowrap;
}
.confirm-price-hints{
 display:flex;
 flex-wrap:wrap;
 gap:6px 18px;
 margin-top:14px;
 padding-top:13px;
 border-top:1px solid rgba(0,0,0,.06);
 color:#52745a;
 font-size:10.5px;
 font-weight:600;
}
@media(max-width:600px){
 .confirm-price-summary{padding:17px 16px 15px}
 .confirm-price-row{gap:12px;padding:8px 0}
 .confirm-price-row span{font-size:10px}
 .confirm-price-row strong{font-size:13px}
 .confirm-price-total{align-items:center}
 .confirm-price-total strong{font-size:21px}
 .confirm-price-hints{display:grid;gap:6px}
}

/* Kunden-Bestätigungsseite: kompakte Buchungsdetails passend zu Fahrzeug- und Preisübersicht */
.confirm-facts-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:10px;
 margin:0 0 26px;
}
.confirm-fact{
 position:relative;
 min-width:0;
 min-height:112px;
 padding:17px 18px 16px;
 border:1px solid #e5e2d8;
 border-top:2px solid var(--gold,#c8b274);
 background:linear-gradient(180deg,#fff 0%,#fcfbf7 100%);
 box-shadow:0 6px 18px rgba(0,0,0,.025);
}
.confirm-fact-label{
 display:block;
 margin:0 0 9px;
 color:#77776d;
 font-size:10.5px;
 font-weight:750;
 letter-spacing:.065em;
 text-transform:uppercase;
}
.confirm-fact strong{
 display:block;
 color:#1c1c1c;
 font-size:15px;
 font-weight:750;
 line-height:1.35;
 letter-spacing:-.01em;
 overflow-wrap:anywhere;
}
.confirm-fact small{
 display:block;
 margin-top:6px;
 color:#8e8b83;
 font-size:10.5px;
 line-height:1.45;
}
.confirm-period-arrow{
 display:inline-block;
 margin:0 3px;
 color:var(--gold,#c8b274);
 font-weight:800;
}
@media(max-width:600px){
 .confirm-facts-grid{grid-template-columns:1fr;gap:8px;margin-bottom:22px}
 .confirm-fact{min-height:0;padding:15px 16px 14px}
 .confirm-fact-label{margin-bottom:7px;font-size:10px}
 .confirm-fact strong{font-size:14px}
 .confirm-fact small{font-size:10.5px}
}

/* Firmendaten: Firmenlogo */
.company-brand-section{padding-bottom:22px}
.company-logo-settings{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:center}
.company-logo-preview,.company-logo-empty{min-height:104px;border:1px solid var(--line);background:#fafaf8;display:flex;align-items:center;justify-content:center;padding:18px}
.company-logo-preview img{display:block;max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain}
.company-logo-empty{color:var(--muted);font-size:12px;text-align:center;line-height:1.5}

/* Öffentliche Buchungsbestätigung: Firmenlogo ersetzt den ERP-Schriftzug */
.confirm-company-logo{display:flex;align-items:center;min-height:46px;margin:0 0 30px}
.confirm-company-logo img{display:block;max-width:230px;max-height:66px;width:auto;height:auto;object-fit:contain;object-position:left center}

@media(max-width:700px){
 .company-logo-settings{grid-template-columns:1fr}
 .company-logo-preview,.company-logo-empty{min-height:88px}
 .company-logo-preview img{max-height:68px}
 .confirm-company-logo{margin-bottom:24px;min-height:40px}
 .confirm-company-logo img{max-width:190px;max-height:54px}
}

/* ===== Übergabe-App: sofortiger Dokument-Upload ===== */
.handover-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.handover-document-upload{display:flex;flex-direction:column;gap:2px}
.handover-upload-status{display:block;margin-top:8px;font-size:12px;font-weight:650;color:#73736d;line-height:1.35}
.handover-upload-status.is-uploading{color:#6d7075}
.handover-upload-status.is-done{color:#277a4b}
.handover-upload-status.is-error{color:#a83a36}
#handoverSave.is-loading{opacity:.7;pointer-events:none}
@media(max-width:760px){.handover-document-grid{grid-template-columns:1fr}}
/* Übergabe-App: Vorgangsübersicht und Übergabe-Wizard sind getrennte Seiten. */
.mobile-overview-actions{padding:4px 0 calc(18px + env(safe-area-inset-bottom));}
.mobile-overview-actions .button{width:100%;min-height:52px;font-size:16px;}



/* ===== Touch-Unterschriften: Scrollen über dem Feld erlauben, erst bewusster Tap öffnet Vollbild ===== */
@media(pointer:coarse){
 .signature-block.signature-tap-mode canvas{touch-action:pan-y;cursor:pointer}
 .signature-tap-hint{margin:-1px 0 0;padding:7px 10px;border:1px solid #deddd6;border-bottom:0;background:#f5f4ef;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;text-align:center}
 .signature-block.signature-tap-mode canvas{border-top-left-radius:0;border-top-right-radius:0}
}

.field-label-line{display:inline-flex;align-items:baseline;gap:3px}

/* Rechnungsart als sichtbare Schaltflächenauswahl */
.invoice-type-field{display:grid;gap:8px;align-content:start}.invoice-type-field>span{font-size:13px;font-weight:700;color:var(--text)}.invoice-type-switch{display:flex;gap:8px;flex-wrap:wrap}.invoice-type-switch label{display:block}.invoice-type-switch input{position:absolute;opacity:0;pointer-events:none}.invoice-type-switch span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-weight:700;cursor:pointer;transition:.15s ease}.invoice-type-switch input:checked+span{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.deposit-receipt-summary-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
/* Rückgabe-Zusammenfassung: Kautionsbelege und Rückzahlungsaktion */
.mob-kv>div.deposit-receipt-summary{display:block;align-items:initial}
.deposit-receipt-summary-title{display:block;font-weight:700;color:var(--text);margin-bottom:8px}
.deposit-receipt-summary-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:0}
.mob-kv>div.deposit-refund-summary-action{align-items:center;background:#fafafa;border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:12px 14px}
.mob-kv>div.deposit-refund-summary-action+div{border-top:0}
.deposit-refund-summary-copy{display:grid;gap:2px}
.deposit-refund-summary-copy span{font-weight:700;color:var(--text)}
.deposit-refund-summary-copy small{font-size:12px;color:var(--muted)}
.deposit-refund-summary-action form{margin:0}
@media(max-width:600px){.mob-kv>div.deposit-refund-summary-action{align-items:stretch;flex-direction:column}.deposit-refund-summary-action .button{width:100%}}

.mob-kv>div.mob-booking-detail{align-items:flex-start}
.mob-kv>div.mob-booking-detail strong{max-width:62%;white-space:normal;text-align:right;line-height:1.35}
