:root{--green:#76c04e;--dark:#434242;--muted:#748078;--line:#e3e8e2;--paper:#f5f7f3;--soft:#edf5e6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--dark);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;padding:10px 15px;color:var(--dark);font-weight:600}button:hover{border-color:var(--green);background:var(--soft)}button.primary{background:var(--dark);color:white;border-color:var(--dark)}button.green{background:var(--green);color:#213317;border-color:var(--green)}button.small{padding:6px 10px;font-size:12px}button.danger{color:#b34436}button:disabled{opacity:.45;cursor:default}a{color:inherit}h1{font-size:34px;letter-spacing:-1px;line-height:1.2;margin:8px 0 12px}h2{font-size:21px;margin:0 0 16px;letter-spacing:-.5px}h3{font-size:16px;margin:0 0 10px}p{margin:6px 0 16px}.muted,small{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:#538535}.top{height:84px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:18px}.brand{font-size:26px;font-weight:850;letter-spacing:2px;line-height:1}.brand span{color:var(--green)}.brand small{font-size:10px;font-weight:500;letter-spacing:1px;display:block;margin-top:8px}.badge{display:inline-block;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:700;background:var(--soft);color:#507c39}.demobar{background:#eaf0e5;text-align:center;padding:7px 15px;font-size:12px;color:#57654f}.layout{display:grid;grid-template-columns:225px 1fr;min-height:calc(100vh - 116px)}aside{padding:28px 18px;background:white;border-right:1px solid var(--line)}.nav{display:block;width:100%;text-align:left;margin:5px 0;border:0;background:transparent;padding:12px 14px}.nav.active{background:var(--soft);color:#406b2a}.nav b{float:right;background:white;border-radius:4px;padding:0 5px}.asidefoot{margin-top:36px;padding:14px;font-size:12px;border-top:1px solid var(--line)}main{padding:32px 36px;max-width:1550px;width:100%;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.grid{display:grid;gap:20px}.cols2{grid-template-columns:1.15fr 1fr}.cols3{grid-template-columns:repeat(3,1fr)}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.subtle{background:var(--soft)}.stat{font-size:32px;font-weight:750;line-height:1.2;margin:9px 0}.icon{width:42px;height:42px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:22px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.filters label{display:flex;gap:6px;align-items:center;font-size:13px}.filters input{accent-color:var(--green)}input,select,textarea{border:1px solid #d9dfd6;border-radius:8px;padding:10px 12px;background:white;color:var(--dark);width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#76c04e;box-shadow:0 0 0 3px #76c04e20}label.field{display:block;font-size:12px;font-weight:650;margin-bottom:15px}label.field input,label.field select{display:block;margin-top:6px}.days{display:grid;grid-template-columns:repeat(5,minmax(155px,1fr));gap:0;overflow:auto}.day{border-right:1px solid var(--line);min-height:350px;padding:12px}.day:last-child{border:0}.dayhead{text-align:center;padding-bottom:18px;font-size:12px;color:var(--muted)}.dayhead strong{display:block;font-size:24px;color:var(--dark);margin-top:3px}.appointment{border:0;border-left:3px solid var(--green);background:#eff6e9;border-radius:6px;padding:10px;text-align:left;display:block;width:100%;margin-bottom:10px;font-size:12px;font-weight:400}.appointment.kdf{border-color:#7e9cbe;background:#edf2f8}.appointment.conflict{border-color:#d48b45;background:#fff3e9}.appointment strong{display:block;margin:3px 0}.empty{color:#8d978a;text-align:center;padding:38px 10px;font-size:13px}.listitem{border-bottom:1px solid var(--line);padding:15px 0}.listitem:last-child{border:0}.steps{display:flex;gap:18px;margin-bottom:27px;font-size:12px;color:var(--muted)}.steps .current{font-weight:750;color:#4e842f}.steps i{font-style:normal;display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e9ede6;margin-right:5px}.steps .current i{background:var(--green);color:white}.service{display:block;text-align:left;width:100%;margin:8px 0;padding:15px 17px}.service.selected{border-color:#76c04e;background:var(--soft)}.service small{display:block;margin-top:3px;font-weight:400}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.slots button.selected{background:var(--green);border-color:var(--green)}.summary{position:sticky;top:20px;height:fit-content}.summary dl{display:grid;grid-template-columns:100px 1fr;font-size:13px;gap:13px;margin:20px 0}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:600}.notice{padding:12px 15px;border-radius:8px;background:#fff6e8;color:#876137;font-size:12px;margin:14px 0}.success{padding:40px;text-align:center}.success .icon{margin:0 auto 18px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;background:#f7f9f5}td,th{padding:12px;border-bottom:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:min(640px,94vw);color:var(--dark);max-height:90vh;overflow:auto}dialog::backdrop{background:#23301e65;backdrop-filter:blur(3px)}.close{float:right;padding:4px 10px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.formgrid .full{grid-column:1/-1}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#343e30;color:white;border-radius:10px;padding:12px 24px;display:none;z-index:20}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}.tabs .active{background:var(--soft);border-color:var(--green)}.public{max-width:1100px;margin:auto}.public .intro{margin:10px 0 30px}.checkrow{display:flex;gap:8px;align-items:flex-start;font-size:12px;margin:15px 0}.checkrow input{width:auto;margin-top:4px}.hr{height:1px;background:var(--line);margin:20px 0}.mobileonly{display:none}footer{margin-top:30px;font-size:12px;color:var(--muted)}@media(max-width:950px){.layout{grid-template-columns:1fr}aside{padding:8px;display:flex;flex-wrap:wrap;gap:4px}.nav{width:auto;margin:0;font-size:12px}.asidefoot{display:none}main{padding:23px 16px}.cols2{grid-template-columns:1fr}.cols3{grid-template-columns:repeat(3,1fr)}.top{padding:0 18px}.days{grid-template-columns:repeat(5,190px)}.heading{align-items:flex-start}.summary{position:static}h1{font-size:28px}}@media(max-width:550px){.top{height:90px}.top .row{gap:5px}.top button{font-size:11px;padding:7px}.brand{font-size:21px}.brand small{font-size:8px}.cols3{grid-template-columns:1fr}.card{padding:18px}.formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:auto}.steps{gap:8px;font-size:10px}.slots{grid-template-columns:repeat(3,1fr)}.heading{flex-direction:column;gap:8px}}
.brand img{width:265px;height:68px;object-fit:contain;display:block}.servicegroup{border:1px solid var(--line);border-radius:10px;margin:12px 0;overflow:hidden}.servicegroup summary{padding:17px;cursor:pointer;font-weight:700;background:#f7f9f5}.servicegroup summary small{float:right;font-weight:400}.choice{display:flex;gap:12px;align-items:flex-start;border:0;border-top:1px solid var(--line);border-radius:0;margin:0}.choice input{width:auto;accent-color:var(--green);margin-top:5px}.checklist{max-height:260px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:8px;margin:10px 0 18px}.checklist input{accent-color:var(--green)}.checklist .checkrow{margin:8px}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.link{border:0;background:transparent;padding:0;text-decoration:underline;font-weight:400;font-size:inherit;color:#4f7f36}.roster{max-height:500px;overflow:auto}.roster th{position:sticky;top:0}details summary{cursor:pointer}dialog h3{margin-top:15px}.appointment.conflict:after{content:'⚠ Klärung erforderlich';display:block;color:#9c4b24;font-weight:700;margin-top:5px}@media(max-width:550px){.brand img{width:165px;height:60px}.servicegroup summary small{float:none;margin-left:8px}}
.calendar-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:-8px 0 16px;font-size:13px}.absence-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 15px;margin-bottom:14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px}.absence-chip{padding:3px 8px;border-radius:5px;background:#eaf2e4}.absence-chip.pending{background:#fff2d8;border:1px dashed #c7a36a}.absence-chip.approved{border:1px solid #b6cfa3}.calendar-card{padding:18px}.compact-week{grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.compact-week .day{padding:8px;min-width:0;min-height:270px}.compact-week .dayhead{padding-bottom:13px}.compact-week .dayhead strong{font-size:21px}.calendar-event{border:1px solid #dde2d9;border-left:4px solid #d5b646;border-radius:6px;margin:7px 0;font-size:12px;overflow:hidden}.calendar-event>summary{padding:7px 8px;list-style:none;position:relative;cursor:pointer}.calendar-event>summary:after{content:'⌄';position:absolute;right:7px;top:5px;color:#68715f}.calendar-event[open]>summary:after{content:'⌃'}.eventtime{display:block;font-size:11px;color:#5c6658;padding-right:12px}.calendar-event strong{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.3}.eventdetails{padding:8px;border-top:1px solid #d8ded3;font-size:11px}.eventdetails button{margin-top:8px}.event-alert{color:#975729;display:block;font-size:10px}.lunch{margin:12px -8px 7px;padding:5px 3px;border-top:1px dashed #d5d7cf;border-bottom:1px dashed #d5d7cf;background:#f1f0eb;text-align:center;color:#7d8074;font-size:10px;white-space:nowrap}.colorchip{display:inline-block;width:18px;height:18px;border:1px solid #ccd4c6;border-radius:4px;vertical-align:middle}.full{grid-column:1/-1}#internalForm>.servicegroup{max-height:330px;overflow:auto}#internalForm .servicegroup .checklist{max-height:none}#internalForm details>summary{padding:8px 0}#internalForm .servicegroup>summary{padding:12px}.compact-week .empty{padding:12px 0}@media(max-width:950px){.compact-week{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-week .day{padding:5px}.calendar-card{padding:12px}.lunch{white-space:normal;margin-left:-5px;margin-right:-5px}.calendar-event>summary{padding:6px 4px}.eventtime{font-size:10px}.calendar-event strong{font-size:11px}}@media(max-width:600px){.compact-week .dayhead{font-size:9px}.compact-week .dayhead strong{font-size:17px}.compact-week .day{padding:2px}.calendar-card{padding:6px}.eventtime{font-size:9px;letter-spacing:-.4px}.calendar-event strong{font-size:10px}.calendar-event>summary:after{display:none}.lunch{font-size:8px;margin:8px -2px 5px}.compact-week .day>button{font-size:9px;padding:6px 1px}.eventdetails{padding:4px;font-size:9px}}
/* LUWA employee selector: original measurements, scoped to the login screen. */
body.luwa-login-active{background:#f5f6f3;color:#434242;font-size:15px;line-height:1.5}.luwa-login-active .top{height:92px;padding:12px 32px;background:#fff;border-bottom:1px solid #e0e4dc;display:flex;justify-content:space-between;align-items:center;box-shadow:none}.luwa-original-logo{width:135px;max-height:65px;object-fit:contain}.luwa-login-brand-right{display:flex;align-items:center;gap:32px}.luersen-original-logo{width:180px;max-height:65px;object-fit:contain}.luwa-staff-caption{font-weight:700;white-space:nowrap}.luwa-staff-caption small{display:block;font-size:12px;font-weight:400;color:#657060}.luwa-login-layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 124px)}.luwa-login-sidebar{background:#fff;border-right:1px solid #e0e4dc;padding:26px 16px;display:flex;flex-direction:column;gap:36px}.luwa-login-sidebar nav{display:flex;flex-direction:column;gap:7px}.luwa-login-sidebar nav>span{display:flex;align-items:center;gap:12px;font-weight:600;padding:13px 14px;border-radius:10px;font-size:14px;line-height:1.4;background:#eaf5e3;color:#25421a}.luwa-login-sidebar nav>span>span{font-size:22px;width:22px;text-align:center;flex-shrink:0}.luwa-login-version{margin-top:auto;padding:12px 14px;color:#747d70;font-size:12px}.luwa-login-main{width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:28px 36px 60px}.luwa-page-heading p{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#72806b}.luwa-page-heading h1{margin:0 0 22px;font-size:29px;line-height:1.2;letter-spacing:-.6px}.luwa-login-box{padding:24px;margin:18px 0;background:#fff;border:1px solid #e0e4dc;border-radius:14px;box-shadow:none}.luwa-login-box h2{font-size:19px;margin:0 0 14px;border:0;padding:0;letter-spacing:normal}.luwa-login-box p{max-width:85ch;margin:15px 0}.employee-buttons{display:flex;gap:12px;flex-wrap:wrap}.employee-buttons form{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:14px 0}.luwa-login-primary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#76c04e;border:1px solid #76c04e;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:650;color:#1b3011;text-decoration:none;cursor:pointer;line-height:1.4}.employee-buttons button{font-size:19px;min-height:65px;min-width:180px;padding:16px 26px}.luwa-login-primary:hover{background:#76c04e;filter:brightness(.96);border-color:#76c04e}.luwa-login-active :focus-visible{outline:3px solid #3d6f24;outline-offset:3px}.luwa-pin-form{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:14px 0}.luwa-pin-form label{display:flex;flex-direction:column;gap:6px;flex:0 1 320px;color:#51594c;font-size:13px;font-weight:600}.luwa-pin-form input{width:100%;max-width:100%;border:1px solid #bdc7b7;border-radius:8px;padding:11px 12px;background:#fff;color:#333;font:inherit;font-weight:400;font-size:15px;min-height:44px}.luwa-login-hint{font-size:13px;color:#66715f}.luwa-header-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#eef1eb;border:1px solid #dce2d6;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:650;color:#434242;line-height:1.4}@media(max-width:1000px){.luwa-login-brand-right{gap:16px}.luwa-staff-caption{display:none}}@media(max-width:760px){.luwa-login-layout{grid-template-columns:1fr}.luwa-login-sidebar{display:none}.luwa-login-main{padding:24px 18px}.luwa-login-active .top{height:auto;min-height:92px;gap:10px;flex-wrap:wrap;padding:12px 18px}.luwa-login-brand-right{flex-wrap:wrap;gap:12px}.luwa-login-brand-right .badge{display:none}.luersen-original-logo{width:150px}}@media(max-width:480px){.luwa-login-box{padding:18px}.employee-buttons{gap:10px}.employee-buttons form{flex:1 1 160px;margin:5px 0}.employee-buttons button{width:100%;min-width:0;font-size:18px}.luwa-original-logo{width:90px}.luersen-original-logo{width:130px}.luwa-header-button{padding:8px;font-size:12px}.luwa-login-brand-right{gap:8px}.luwa-page-heading h1{font-size:25px}}
.luwa-customer-context{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;border:1px solid #dce7d5;border-left:6px solid #76c04e;border-radius:10px;background:white}.luwa-customer-context strong{display:block;font-size:23px}.luwa-customer-context small{display:block}
.site-choice{margin:12px 0 24px;border:0;padding:0}.site-choice legend{font-weight:750;font-size:16px;margin-bottom:12px}.site-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.site-button{padding:19px 14px;text-align:left;border:2px solid #d8ded3;background:white}.site-button span{font-size:21px;display:block}.site-button small{font-size:11px;display:block;margin-top:5px}.site-button.wgf.selected{border-color:#b39831;background:#fff5cd}.site-button.kdf.selected{border-color:#b76461;background:#fde9e7}.chosen-site{padding:12px 20px;border-left:6px solid #d5b646;border-radius:8px;background:#fff7d8;font-size:17px;margin-bottom:20px}.chosen-site strong{font-size:23px}.chosen-site.kdf{border-color:#ce7b78;background:#fdece9}.consult-note{border-left:4px solid #c9a64f;padding:13px 16px;margin:15px 0;background:#fff6de;font-size:13px}.consult-note>strong{font-size:16px}.consult-note p{margin:5px 0}.consult-fields{border:1px solid var(--line);border-radius:9px;padding:12px;margin:15px 0}.consult-fields legend,.prescription legend{font-size:13px;font-weight:700}.prescription{border:0;padding:0;margin:15px 0 0;display:flex;gap:18px}.aligned-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.aligned-head{text-align:center;padding:12px 4px;color:var(--muted);font-size:12px;border-right:1px solid var(--line)}.aligned-head strong{display:block;color:var(--dark);font-size:24px}.absence-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px 0;padding:5px 0 9px;border-bottom:1px solid var(--line)}.absence-bar{font-size:11px;padding:4px 7px;margin:0 3px;border-radius:4px;background:#e6f0dd;border:1px solid #a6bf91;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.absence-bar.pending{background:#fff0d2;border:1px dashed #c5a565}.no-absences{grid-column:1/-1;font-size:11px;color:var(--muted);padding:4px 8px}.segment-cell{padding:8px;min-height:170px;border-right:1px solid var(--line);min-width:0}.segment-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#8b9286;margin-bottom:6px}.fixed-lunch{grid-column:1/-1;padding:9px 15px;background:#edece4;color:#6b6f60;border-top:1px dashed #c9ccbe;border-bottom:1px dashed #c9ccbe;text-align:center;font-size:12px;font-weight:650}.event-with-plus{display:flex;align-items:flex-start;gap:3px}.event-with-plus .calendar-event{flex:1;min-width:0;margin:4px 0}.event-plus{padding:0;flex:none;width:22px;height:28px;min-height:0;border:0;background:transparent;color:#59853d;font-size:21px;margin-top:10px}.empty-add{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:11px;padding:5px 8px;border:1px dashed #dce2d5;background:transparent;color:#88927e;margin:6px 0}.empty-add b{font-size:18px;color:#698a53}.month-picker{max-width:360px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:15px;margin:0 0 20px;box-shadow:0 6px 20px #0000000a}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px;text-align:center;font-size:12px}.month-grid>span{padding:4px}.month-grid>button{padding:7px 2px}.formgrid .duration-field{grid-column:auto}@media(max-width:700px){.segment-cell{padding:4px;min-height:140px}.event-with-plus{gap:0}.event-plus{width:17px;font-size:17px}.aligned-head{font-size:10px}.absence-bar{font-size:9px}.eventdetails button{font-size:10px;padding:5px}.site-button span{font-size:18px}}@media(max-width:480px){.segment-cell{padding:2px}.event-plus{width:13px;font-size:16px}.aligned-head{font-size:9px}.eventtime{font-size:8px}.calendar-event strong{font-size:9px}.site-buttons{gap:7px}.site-button{padding:12px 8px}.empty-add{font-size:9px;padding:3px}.segment-label{font-size:8px}.absence-bar{padding:3px;font-size:8px}}
.empty-slots{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.empty-slots .empty-add{width:calc(50% - 2px);margin:0;padding:2px 5px;min-height:22px;font-size:10px}.empty-slots .empty-add b{font-size:15px}.event-with-plus .calendar-event>summary{padding:5px 7px}.aligned-week .calendar-event strong{font-size:11px}.aligned-week .eventtime{font-size:10px}.aligned-week .calendar-event{margin:3px 0}.segment-cell{min-height:120px}
