:root{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#203343;background:#f3f6f8;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.wrap{max-width:920px;margin:38px auto;padding:36px 42px 25px;background:white;border-radius:16px;box-shadow:0 10px 32px #16334710}.brand{color:#176c84;font-weight:760;font-size:1.35rem}.brand span{font-weight:450;color:#667784}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;color:#6e8291;margin:34px 0 5px}h1{font-size:2rem;line-height:1.2;margin:0 0 12px}h2{font-size:1.22rem}h3{font-size:1.04rem;margin:0 0 5px}.customer{margin:0 0 12px}.count-line{background:#eaf4f6;color:#164659;padding:12px 15px;border-radius:9px;font-size:1rem;margin:14px 0}.muted{color:#60727f;line-height:1.5}.small{font-size:.87rem}.intro{border-bottom:1px solid #e5ecf0;padding-bottom:16px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-title h2{margin:0}.cards{display:grid;gap:12px}.vehicle{border:1px solid #d9e4e9;border-radius:12px;background:#fff;padding:20px}.vehicle.is-done{background:#fbfcfd}.vehicle-head,.fin-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.vehicle-head{margin-bottom:13px}.status{display:inline-block;color:#5d6d78;background:#f0f3f5;border-radius:20px;padding:4px 10px;font-size:.77rem}.status-done{background:#e7f4ee;color:#176448}.fin-row{background:#f7f9fa;border-radius:9px;padding:12px 14px}.fin-row>div{min-width:0}.fin{display:block;overflow-wrap:anywhere;font-weight:650;letter-spacing:.018em}.mini-label{display:block;font-size:.76rem;color:#657784;margin-bottom:3px}.icon-button{width:39px;height:39px;flex-shrink:0;border-radius:9px;background:white;border:1px solid #cad7de;color:#176c84;display:grid;place-items:center;cursor:pointer}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.disclosure{border:1px solid #d2dfe6;background:white;color:#176c84;padding:7px 10px;border-radius:7px;font-weight:650;cursor:pointer}.disclosure span:last-child{font-size:1rem;margin-left:6px}.vehicle-details{border-top:1px solid #e7edef;margin-top:16px;padding-top:4px}.fin-edit{margin-top:11px;padding:13px;background:#f0f6f8;border-radius:8px}.fin-edit label{font-weight:650}.formfield{margin:16px 0}.formfield label,.fin-edit label,.field-title{display:block;font-size:.91rem;font-weight:650;margin-bottom:7px}.formfield input[type=text],.formfield input[type=date],.formfield input[type=email],.formfield select,.formfield textarea,.fin-edit input{width:100%;border:1px solid #aebfc8;border-radius:8px;padding:10px 11px;background:white;color:#203343;min-height:42px}.formfield textarea{resize:vertical}.choice-list{display:grid;gap:9px}.choice-list label{display:flex;align-items:center;gap:9px;line-height:1.4;padding:10px 11px;border:1px solid #e2e9ed;border-radius:8px;font-weight:450}.choice-list input{accent-color:#176c84}.scheduling{margin-top:14px;padding:0 14px;border-left:3px solid #c5e5e9}.extras{display:grid;gap:12px;padding:2px 0 8px}.checkbox-line{display:flex;align-items:flex-start;gap:10px;line-height:1.45;cursor:pointer}.checkbox-line input{accent-color:#176c84;width:18px;height:18px;margin:2px 0;flex-shrink:0}.threecols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.threecols label{font-size:.81rem}.review{border-top:2px solid #e3edf0;margin-top:28px;padding-top:2px}.review-list{display:grid;gap:8px}.review-item{border:1px solid #e2e8eb;border-radius:8px;padding:12px 14px}.review-item p{margin:4px 0 0;color:#61717d;font-size:.86rem;line-height:1.4}.email-box{background:#f6f9fb;border-radius:10px;margin:21px 0;padding:16px}.email-box .formfield{margin:14px 0 0}.submit{background:#146c83;border:0;color:white;font-weight:700;border-radius:9px;padding:14px 20px;cursor:pointer;width:100%}.submit:hover{background:#0e5366}.submit:disabled{opacity:.65;cursor:default}.success{border:1px solid #a7d3bb;background:#effaf2;padding:14px 16px;border-radius:8px;margin:20px 0}.form-error{border:1px solid #e0a9a5;background:#fff4f4;color:#972f2c;padding:12px;border-radius:7px}.wrap footer{border-top:1px solid #ebeff1;margin-top:35px;padding-top:15px;font-size:.8rem;color:#7a8992}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #72b9cc;outline-offset:2px}[hidden]{display:none!important}@media(max-width:650px){.wrap{margin:0;border-radius:0;padding:23px 17px;min-height:100vh}.threecols{grid-template-columns:1fr}.vehicle{padding:15px}.scheduling{padding-left:10px}h1{font-size:1.7rem}}

.availability-note {padding:8px 10px;background:#edf6f8;border-radius:6px;margin:8px 0;}
select[data-date] {width:100%;min-width:0;}

.access-form {max-width:500px;margin:28px 0 12px}.access-form input {font-weight:650;letter-spacing:.07em;text-transform:uppercase}

/* V3.4.3: accessibility-friendly inline calendar; customer layout unchanged */
.calendar-toggle{display:block;width:100%;border:1px solid #aebfc8;border-radius:9px;background:#fff;color:#176c84;padding:13px 15px;text-align:left;font-weight:700;cursor:pointer}
.calendar-toggle:disabled{opacity:.65;cursor:not-allowed}.calendar-panel{margin-top:10px;border:1px solid #d9e4e9;border-radius:12px;padding:14px;background:#fff}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.calendar-toolbar button{min-width:43px;min-height:43px;border:1px solid #cad7de;border-radius:8px;background:#f7f9fa;color:#176c84;font-size:1.6rem;cursor:pointer}
.calendar-toolbar button:disabled{opacity:.35;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;font-size:.74rem;color:#657784;padding:9px 0}
.calendar-day{min-height:42px;padding:5px 1px;border:1px solid #cad7de;border-radius:7px;background:#fff;color:#203343;cursor:pointer;font-weight:650}
.calendar-day[disabled]{border-color:#e8ecef;background:#f3f6f8;color:#94a1aa;cursor:not-allowed}.calendar-day[aria-pressed=true]{background:#176c84;border-color:#176c84;color:#fff}.calendar-day:focus-visible,.calendar-toggle:focus-visible,.calendar-toolbar button:focus-visible,.calendar-close:focus-visible{outline:3px solid #72b9cc;outline-offset:2px}
.calendar-empty{min-height:42px}.calendar-selection{background:#eaf4f6;border-radius:8px;padding:10px 13px;color:#164659;font-size:.92rem}.calendar-close{width:100%;background:#176c84;border:0;border-radius:8px;color:#fff;padding:11px;font-weight:700;cursor:pointer}
.calendar-native-fields{display:none}.calendar-panel[hidden]{display:none}@media(max-width:450px){.calendar-panel{padding:9px}.calendar-grid{gap:2px}.calendar-day,.calendar-empty{min-height:39px}}

/* Official original SyWaTec brand artwork is loaded from sywatec.de. */
.sywatec-brand{display:inline-flex;align-items:center;vertical-align:middle;position:relative;max-width:230px;min-height:39px;margin-right:6px}
.sywatec-brand-logo{display:block;position:relative;z-index:1;width:auto;max-width:210px;max-height:72px;height:auto;background:#fff}
.sywatec-brand-fallback{position:absolute;left:0;top:4px;color:#176c84;font-weight:750;white-space:nowrap}
.brand{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:53px}
.brand>span:last-child{font-size:.9rem}
@media(max-width:650px){.sywatec-brand-logo{max-width:175px;max-height:56px}}

/* SyWaTec original SVG: no duplicated fallback text, preserve SVG proportions. */
.brand{display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-height:90px}
.sywatec-brand{display:inline-flex;position:relative;align-items:center;width:220px;max-width:100%;min-height:100px;flex-shrink:0;margin:0}
.sywatec-brand-logo{display:block;width:220px;max-width:100%;max-height:none;height:auto;object-fit:contain;background:transparent}
.sywatec-brand-fallback{display:none!important}
.brand>span:last-child{font-size:.9rem;font-weight:500;color:#667784}
@media(max-width:650px){.brand{gap:8px}.sywatec-brand{width:190px;min-height:90px}.sywatec-brand-logo{width:190px;max-height:none}}
