:root{color-scheme:dark;--bg:#0f141c;--side:#141b25;--panel:#1b2430;--panel2:#26313f;--edge:#364355;--ink:#f5f8fc;--muted:#a9b6c6;--gold:#dfb66a;--green:#187b51;--yellow:#a97916;--red:#b73d46;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}input,select,textarea{background:#111924;color:var(--ink);border:1px solid #536073;border-radius:9px;outline:0;min-height:42px;padding:10px 12px;width:100%;max-width:100%}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(223,182,106,.2)}input[type=checkbox]{width:19px;height:19px;min-height:auto;accent-color:var(--gold);flex:0 0 auto}input[type=date],input[type=datetime-local]{color-scheme:dark}textarea{resize:vertical;min-height:92px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#d4deea}a{color:var(--gold)}h1,h2,h3,h4,p{margin:0}.app{min-height:100svh;display:flex}.side{width:243px;flex:0 0 243px;background:var(--side);border-right:1px solid var(--edge);padding:22px 14px;position:sticky;top:0;max-height:100svh;display:flex;flex-direction:column;gap:24px}.logo{display:flex;align-items:center;gap:11px}.logo-icon{display:grid;place-items:center;background:#252b2e;border:2px solid var(--gold);border-radius:13px;width:48px;height:48px;color:var(--gold);font-size:22px;font-weight:900;letter-spacing:-2px}.logo strong{display:block;font-size:15px;white-space:nowrap}.logo small{display:block;color:var(--muted);font-size:9px;margin-top:5px;letter-spacing:1px}.primary{color:#171a1e;background:var(--gold);border:1px solid #ead1a0;border-radius:9px;padding:11px 14px;font-weight:750}.primary:hover{background:#f0c982}.subtle,.icon-btn{background:#222c39;border:1px solid #3f4c5e;color:#eef2f7;border-radius:9px;padding:10px 12px}.subtle:hover,.icon-btn:hover{border-color:var(--gold)}.icon-btn{min-width:40px;font-size:23px;line-height:18px}.full{width:100%}.large{min-height:50px}.side-label{color:var(--gold);letter-spacing:1.1px;font-size:10px;font-weight:850;margin-bottom:-12px;margin-left:7px}.side-links{display:grid;gap:5px}.nav{padding:12px 11px;border:none;border-radius:8px;text-align:left;background:transparent;color:#bbc7d5;font-weight:650}.nav:hover{background:#2b3442}.nav.selected{background:#353c42;color:var(--gold);border-left:3px solid var(--gold)}.lock-mini{float:right}.side-bottom{margin-top:auto;display:flex;gap:9px;align-items:center;font-size:11px;color:var(--muted);padding:10px 3px}.dot{width:9px;height:9px;border-radius:50%;background:#46b786;flex:0 0 auto}.dot.dim{background:#a77a1a}.dot.err{background:#cc4b56}.shell{width:calc(100% - 243px);max-width:2000px;margin:0 auto;padding:22px clamp(12px,2vw,38px) 18px}.top,.toolbar,.top-right,.date-tools,.bar-actions,.top-heading,.form-buttons,.modal-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.top{padding-bottom:19px;border-bottom:1px solid var(--edge)}.eyebrow{font-weight:750;letter-spacing:1.2px;color:var(--gold);font-size:10px;margin-bottom:6px}.top h1{font-size:27px;line-height:1.2}.top-right{gap:8px}.profile{display:inline-block;border:1px solid #54617a;border-radius:999px;padding:8px 12px;font-size:12px;color:var(--muted)}.toolbar{padding:18px 0;gap:13px}.date-tools{justify-content:flex-start;flex-wrap:wrap;gap:7px}.date-label{font-size:19px;font-weight:760;margin-left:7px}.toolbar input[type=date]{width:155px;padding:8px 9px;min-height:40px}.searchbar{display:flex;align-items:center;position:relative;margin-bottom:18px}.searchbar input{min-height:54px;border-color:#506071;background:#202a37;padding:12px 178px 12px 47px;font-size:15px}.search-icon{position:absolute;left:15px;color:var(--gold);font-size:29px;pointer-events:none}.search-help{position:absolute;right:15px;color:var(--muted);font-size:11px}.content{min-height:400px}.notice{padding:12px 16px;border-radius:9px;margin-top:14px;line-height:1.5;font-size:13px}.notice.amber{border:1px solid #956e23;background:#352b18;color:#f8e5ba}.notice.red{border:1px solid #bc4950;background:#3d2229;color:#ffe2e3}.block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px}.block-head h2{font-size:18px}.muted{color:var(--muted)}.caption{color:var(--muted);font-size:11px;line-height:1.5}.fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vehicle{border-radius:12px;padding:14px 15px;border:1px solid rgba(255,255,255,.17);min-height:106px;display:flex;flex-direction:column;justify-content:space-between}.vehicle.free{background:#166241}.vehicle.limited{background:#956a19}.vehicle.busy{background:#a52c3c}.vehicle h3{font-size:16px;line-height:1.25}.vehicle .status{font-weight:850;letter-spacing:.8px;margin:9px 0 5px;font-size:15px}.vehicle .mini{font-size:11px;color:#f0eaea}.vehicle .reservation-meta{font-size:11px;color:#fff5f5;opacity:.9}.fleet-legend{margin:10px 0 19px;font-size:12px;color:var(--muted)}.columns{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.area{background:var(--panel);border:1px solid var(--edge);border-radius:12px;min-width:0;overflow:hidden;min-height:175px}.area-head{padding:12px 9px;font-size:12px;font-weight:800;color:white;letter-spacing:.15px;min-height:43px;line-height:18px}.area-body{padding:9px;display:grid;gap:10px}.appointment{background:#25303d;box-shadow:0 2px 0 rgba(0,0,0,.12);padding:11px 10px;border-radius:9px;border:1px solid #516071;border-left:5px solid var(--accent);cursor:pointer;display:flex;flex-direction:column;gap:9px;min-width:0;text-align:left;width:100%;color:var(--ink)}.appointment:hover{border-color:var(--gold);transform:translateY(-1px)}.appointment .time{font-weight:900;font-size:23px;color:var(--ink);line-height:1.1}.appointment .main-title{font-weight:850;font-size:16px;line-height:1.2;overflow-wrap:anywhere}.appointment .detail{font-size:13px;color:#e0e9f4;overflow-wrap:anywhere}.appointment .extra{font-size:12px;color:#bdc8d8;overflow-wrap:anywhere;white-space:pre-line}.appointment .tiny{font-size:10px;color:#b8c8dd}.milestone{font-size:10px;font-weight:800;background:#d4ad68;color:#171b20;border-radius:5px;padding:4px 6px;letter-spacing:.3px;max-width:100%}.appointment .state-tag{font-size:10px;font-weight:800;color:#111;background:#c4cdd9;padding:3px 5px;border-radius:5px;width:max-content}.appointment .state-tag.done{background:#67c897}.appointment .state-tag.cancel{background:#cc8791}.empty{padding:17px 8px;font-size:12px;color:var(--muted)}.day-sub{color:var(--gold);font-size:15px;margin-top:8px}.week-list{display:grid;gap:10px}.week-day{background:#1b2430;border-radius:12px;padding:12px;border:1px solid #354455}.week-day h3{font-size:15px;margin-bottom:10px}.week-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.month-label{font-size:11px;text-align:center;color:var(--gold);font-weight:800;padding:6px 2px}.month-cell{padding:8px 5px;border:1px solid var(--edge);border-radius:7px;min-height:92px;background:var(--panel);text-align:left;display:flex;flex-direction:column;gap:5px;color:var(--ink)}.month-cell[disabled]{opacity:.3}.month-cell strong{font-size:14px}.month-cell .month-item{font-size:10px;line-height:1.2;padding:3px 4px;border-radius:4px;background:#324155;overflow-wrap:anywhere}.results{display:grid;gap:9px}.result-row{border:1px solid var(--edge);background:var(--panel);border-left:5px solid var(--accent);border-radius:10px;padding:13px;text-align:left;color:var(--ink);display:grid;gap:5px}.result-row:hover{border-color:var(--gold)}.result-row .row-time{color:var(--gold);font-size:12px;font-weight:800}.result-row strong{font-size:18px}.result-row span{font-size:13px}.hidden{display:none!important}footer{border-top:1px solid var(--edge);color:#7f8e9c;padding-top:17px;font-size:10px;margin-top:22px;display:flex;justify-content:space-between}.footer-right{opacity:.7}.mobile,.fab{display:none}.overlay{position:fixed;inset:0;z-index:30;background:rgba(1,4,8,.83);display:flex;align-items:center;justify-content:center;padding:12px}.overlay[hidden]{display:none!important}.modal,.auth-panel{width:min(860px,100%);max-height:94svh;overflow-y:auto;background:#1a2330;border:1px solid #556070;border-radius:16px;box-shadow:0 22px 100px rgba(0,0,0,.7)}.modal-top{padding:20px 23px 15px;border-bottom:1px solid var(--edge)}.modal-top h2{font-size:23px}#eventForm{padding:18px 23px}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.span2{grid-column:1/-1}.service-panel,.booking-box{border:1px solid #485767;border-radius:12px;padding:14px;background:#202a38}.service-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}.service-heading small{font-size:10px;color:var(--muted)}.service-tools{display:grid;grid-template-columns:1fr 1fr;gap:11px}.service-choices{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:225px;overflow-y:auto}.service-choice{display:flex;align-items:start;gap:9px;border:1px solid #3e4c5b;border-radius:8px;padding:10px;color:#e9edf2;font-size:13px;font-weight:400;cursor:pointer}.service-choice:hover{background:#293649}.service-choice span{overflow-wrap:anywhere}.selected-services{margin-top:12px;border-top:1px solid #485767;padding-top:11px}.selected-services strong{font-size:12px}.selected-services>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{background:#33404e;border:1px solid #647489;border-radius:20px;padding:6px 9px;color:white;font-size:11px}.chip button{font:inherit;background:none;color:inherit;border:0;margin-left:6px;padding:0;cursor:pointer}.check-row{display:flex;flex-direction:row;align-items:center;gap:10px}.hint{font-size:12px;color:var(--muted);line-height:1.5;align-self:center}.history-box{margin-top:20px;padding:13px;border:1px solid #425267;border-radius:9px;background:#202a38}.history-box h3{font-size:14px;color:var(--gold);margin-bottom:10px}.history-entry{font-size:12px;color:var(--muted);padding:8px 0;border-bottom:1px solid #3e4a59}.form-bottom{padding-top:20px}.form-buttons{justify-content:flex-end}.message{color:#f5a9a9;min-height:23px;font-size:13px;line-height:1.4}.auth-panel{padding:30px;max-width:400px;text-align:center}.auth-panel h2{margin:9px 0;font-size:25px}.auth-panel p:not(.eyebrow){color:var(--muted);line-height:1.5;font-size:13px}.auth-panel form{display:grid;gap:14px;margin:20px 0;text-align:left}.auth-panel .message{color:#f0aaa9}.large-icon{margin:0 auto;width:64px;height:64px;font-size:26px}.mfa-secret{margin:10px 0;word-break:break-all;font-size:12px;color:var(--muted)}#mfaQr{max-width:225px;max-height:225px;margin:14px auto;background:#fff;padding:9px;border-radius:9px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;padding:14px 18px;background:#303c4a;border:1px solid #9eabbe;border-radius:10px;box-shadow:0 12px 35px rgba(0,0,0,.35);max-width:90vw}.toast[hidden]{display:none}.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}body.modal-open{overflow:hidden}
@media(max-width:1600px){.columns{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.side{width:202px;flex-basis:202px}.shell{width:calc(100% - 202px)}.columns{grid-template-columns:repeat(2,minmax(0,1fr))}.top h1{font-size:24px}}
@media(max-width:760px){.side{position:fixed;z-index:23;top:0;bottom:0;left:0;transform:translateX(-110%);transition:transform .18s ease;width:268px;max-height:none;box-shadow:0 10px 60px #000b}.side.open{transform:translateX(0)}.shell{width:100%;padding:15px 12px}.mobile{display:inline-flex}.top{gap:8px}.top-heading{justify-content:flex-start}.top h1{font-size:22px}.profile{display:none}.top-right{gap:5px}.top-right button{font-size:12px;padding:8px}.desktop-only{display:none!important}.toolbar{align-items:flex-start;padding:12px 0;flex-wrap:wrap}.date-tools{width:100%}.date-label{font-size:17px}.date-tools input[type=date]{width:139px}.bar-actions{margin-left:auto}.searchbar{margin-bottom:15px}.searchbar input{padding-right:12px;font-size:14px}.search-help{display:none}.fleet{grid-template-columns:1fr 1fr}.vehicle{min-height:115px}.columns{grid-template-columns:repeat(2,minmax(0,1fr))}.area-head{font-size:12px}.appointment .time{font-size:22px}.appointment .main-title{font-size:17px}.fab{display:block;position:fixed;bottom:17px;right:16px;z-index:16;width:58px;height:58px;border:1px solid #e5c58d;border-radius:50%;background:var(--gold);box-shadow:0 10px 26px #0008;color:#0f141a;font-size:32px}footer .footer-right{display:none}}
@media(max-width:420px){.vehicle{padding:10px}.vehicle h3{font-size:14px}.vehicle .status{font-size:12px}.vehicle .mini{font-size:10px}.columns{grid-template-columns:1fr 1fr;gap:7px}.area-body{padding:6px}.area-head{padding:10px 6px;min-height:44px}.appointment{padding:9px 7px}.appointment .time{font-size:21px}.appointment .main-title{font-size:16px}.appointment .detail{font-size:12px}.appointment .extra{font-size:11px}.service-tools{grid-template-columns:1fr}.service-choices{grid-template-columns:1fr}.form-columns{grid-template-columns:1fr}.span2{grid-column:auto}.modal-top{padding:14px}.modal-top h2{font-size:20px}#eventForm{padding:13px}.modal{max-height:97svh}.month-cell{min-height:65px;padding:5px 2px}.month-cell .month-item{font-size:8px}}
@media print{.side,.top-right,.toolbar,.searchbar,.fab,.bar-actions,#demoNotice,.notice,.app footer{display:none!important}.shell{width:100%;margin:0;padding:0}.area{break-inside:avoid}.columns{grid-template-columns:repeat(3,1fr)}body{background:#fff;color:#000}}

/* F.K. 3.0: farbige, aber kontrastreiche Terminkarten. Farbflaeche ergibt sich aus Bereichs-Akzent. */
.appointment{background:color-mix(in srgb,var(--accent) 24%,#202833);border-left-width:7px}
.appointment h3{font-size:clamp(1.06rem,2vw,1.38rem);font-weight:800;line-height:1.26}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
