:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#173054;background:#f0f4fa;font-synthesis:none;--blue:#2269df;--muted:#71819b;--line:#e3eaf4}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:var(--blue);color:white;border-radius:11px;padding:12px 18px;min-height:44px;font-size:13px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}a{color:#2269df}button svg,.icon svg{width:19px;height:19px;flex-shrink:0}.secondary{color:#315580;background:#edf3fc}.danger{background:#fff0ef;color:#b64946}.ghost{background:transparent;color:#597090}.light{background:white;color:#1b5bb8}.outline{background:transparent;border:1px solid #d5e0f0;color:#42638d}.shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.sidebar{padding:30px 20px;background:#102e64;color:white;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;background-image:radial-gradient(ellipse at 0 100%,#204d96 0,transparent 65%)}.brand{font-size:23px;font-weight:850;letter-spacing:-.9px;padding:0 10px}.brand small{display:block;letter-spacing:2.5px;font-size:9px;font-weight:500;color:#a5bce0;margin-top:8px}.sidebar .label{color:#7e9ac8;font-size:10px;letter-spacing:2px;margin:50px 13px 16px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{justify-content:flex-start;padding:14px;background:transparent;color:#aac1e6;font-size:13px}.sidebar nav button.active{background:#2a5ba5;color:#fff;box-shadow:0 5px 12px #061d421f}.sidebar nav svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff1c;padding-top:20px;font-size:11px;color:#99b2d7;line-height:1.7}.connection{display:flex;align-items:center;gap:7px;margin-bottom:9px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#58d9b3}.main{min-width:0}.topbar{background:#ffffffd9;border-bottom:1px solid var(--line);padding:18px 34px;display:flex;align-items:center;justify-content:space-between;gap:10px}.breadcrumb{font-size:12px;color:#7f8ca5}.breadcrumb b{color:#314b71;font-weight:600}.profile{display:flex;align-items:center;gap:11px;font-size:12px}.avatar{border-radius:13px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#e9f1ff;color:#356fd0;font-size:13px;font-weight:750}.profile small{display:block;color:#8390a6;font-size:10px;margin-top:3px}.content{max-width:1500px;margin:auto;padding:30px 34px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#7b91b2;font-weight:650}h1{font-size:30px;letter-spacing:-1px;margin:8px 0 10px;font-weight:750}h2{font-size:16px;letter-spacing:-.25px;margin:0}h3{font-size:14px;margin:0 0 8px}p{line-height:1.6;color:#71809a;font-size:13px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.page-heading p{margin:0}.hero{border-radius:18px;background:#2062cd;background-image:radial-gradient(ellipse at 100% 100%,#418bee 0,transparent 62%);color:#fff;padding:28px 30px;position:relative;overflow:hidden;margin:24px 0}.hero:after{content:'';width:270px;height:270px;border:45px solid #ffffff0d;border-radius:50%;position:absolute;right:45px;top:-130px;pointer-events:none}.hero h2{font-size:23px;font-weight:650;letter-spacing:-.5px}.hero p{color:#c4dcff;max-width:600px;margin:8px 0 20px}.hero .eyebrow{color:#abd0ff;margin-bottom:12px;display:block}.hero .flex{position:relative;z-index:1}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:23px;box-shadow:0 2px 4px #24487d03;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stats .card{margin:0;padding:21px}.stat-head{display:flex;justify-content:space-between;align-items:center}.stat-head .icon{background:#edf3ff;color:#4277d1;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stats .value{font-size:26px;font-weight:750;letter-spacing:-.8px;margin-top:13px;color:#173b70}.stats .caption{font-size:10px;color:#98a5ba;margin-top:8px}.muted{font-size:11px;color:#7c8da5}.flex{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}.card-head p{margin:4px 0 0}.filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.filters label{flex:1;min-width:140px;margin:0}.filters button{margin-bottom:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid.wide-left{grid-template-columns:1.3fr 1fr}.grid .card{margin-bottom:0}.form-card{max-width:780px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;font-weight:600;color:#4d6384;margin-bottom:18px}input,select,textarea{width:100%;display:block;margin-top:8px;border:1px solid #dce4ef;border-radius:9px;background:#fcfdff;color:#234169;padding:12px 13px;font-size:14px;min-height:44px}input:focus,select:focus,textarea:focus{outline:3px solid #387feb26;border-color:#6496e7}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#8a99ad;font-size:10px;font-weight:600;background:#fafcff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}th,td{padding:15px 12px;border-bottom:1px solid #edf1f7;vertical-align:middle}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td strong{font-size:13px}tr:last-child td{border-bottom:0}.person{display:flex;gap:10px;align-items:center}.person .avatar{width:32px;height:32px;font-size:10px;border-radius:10px}.person small{display:block;font-size:10px;color:#8a99af;margin-top:4px}.tag{display:inline-flex;padding:5px 9px;border-radius:6px;background:#fff4df;color:#ad8024;font-size:10px;font-weight:650;white-space:nowrap}.tag.freigegeben,.tag.paid{background:#e8f7f0;color:#278662}.tag.abgelehnt{background:#fff0ee;color:#bf6459}.tag.closed{background:#eaf1ff;color:#3269c6}.link-button{padding:0;min-height:35px;background:none;color:#3474d1;font-size:12px}.expense{border-bottom:1px solid #edf1f6;padding:20px 0}.expense:last-child{border:0}.expense p{margin:7px 0;font-size:12px}.expense .price{font-size:21px;font-weight:750;color:#214c88}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.actions button{padding:9px 12px;font-size:11px;min-height:38px}.notice{padding:14px 18px;border-radius:10px;background:#ecf3ff;color:#5576a4;font-size:12px;line-height:1.6;margin:20px 0}.notice.warn{background:#fff4df;color:#9b762d}.empty{padding:45px 15px;text-align:center;font-size:13px;color:#8b9ab0}.empty svg{width:34px;height:34px;margin-bottom:10px;opacity:.6}.empty strong{display:block;color:#607b9e;font-size:14px;margin:7px 0}.upload{border:1px dashed #9ab9e9;background:#f5f9ff;border-radius:12px;padding:18px;color:#4d77b3;text-align:center}.upload input{background:white}.receipt-preview{max-width:100%;max-height:180px;border-radius:10px;margin-bottom:16px}footer{text-align:center;padding:30px;color:#9ba8bb;font-size:10px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-visual{background:#123a83;background-image:radial-gradient(ellipse at 10% 80%,#357bdd 0,transparent 68%);color:white;padding:55px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-visual:after{content:'';position:absolute;width:500px;height:500px;border:80px solid #ffffff08;border-radius:50%;bottom:-230px;right:-200px}.login-visual h1{font-size:46px;line-height:1.15;max-width:420px;letter-spacing:-1.8px}.login-visual p{color:#b9d2fa;max-width:350px;font-size:15px}.login-form{display:flex;align-items:center;justify-content:center;padding:35px}.login-form .card{border:0;box-shadow:none;background:transparent;width:100%;max-width:400px}.login-form h1{font-size:29px}.login-form form{margin-top:30px}.login-form button{width:100%}.login-foot{font-size:10px;color:#98afd3}.login-error{font-size:12px;color:#b54242;line-height:1.6;min-height:20px}.full{width:100%}.progress{height:5px;border-radius:8px;background:#eaf0fa;margin-top:12px;overflow:hidden}.progress span{display:block;height:100%;background:#4385e9;border-radius:8px}dialog{border:0;border-radius:17px;box-shadow:0 20px 100px #102e6440;padding:28px;max-width:480px;width:calc(100% - 30px);color:#264569}dialog::backdrop{background:#11294e66}dialog p{font-size:13px}dialog h2{font-size:21px;margin-bottom:12px}#toast{position:fixed;bottom:25px;right:25px;z-index:20;max-width:420px;border-radius:12px;background:#173a74;color:white;padding:16px 22px;font-size:13px;box-shadow:0 10px 35px #1d3e6e30;display:none;line-height:1.6}#toast.show{display:block}.loading{padding:60px;text-align:center;color:#587cb4}.right{text-align:right}body.wait{cursor:progress}
@media(min-width:1600px){.content{padding:35px 48px}.topbar{padding:18px 48px}}@media(max-width:1100px){.shell{grid-template-columns:200px 1fr}.sidebar{padding:26px 12px}.content{padding:25px 22px}.stats{gap:10px}.stats .card{padding:17px}.stats .value{font-size:22px}.topbar{padding:16px 22px}.grid.wide-left{grid-template-columns:1fr}.brand{font-size:21px}}@media(max-width:780px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:18px 16px;display:block}.sidebar .brand{font-size:21px}.sidebar .label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:20px;gap:5px}.sidebar nav button{white-space:nowrap;padding:10px;font-size:11px}.sidebar nav svg{display:none}.topbar{padding:13px 18px}.breadcrumb{font-size:10px}.profile .avatar{display:none}.content{padding:22px 16px}h1{font-size:26px}.page-heading{align-items:flex-start}.hero{padding:24px}.hero h2{font-size:20px}.stats{grid-template-columns:1fr 1fr}.stats .value{font-size:24px}.card{padding:18px}.grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{min-height:230px;padding:25px}.login-visual h1{font-size:29px;max-width:none}.login-visual p,.login-foot{display:none}.login-form{padding:20px}.login-form .card{padding:15px}.filters{gap:12px}.filters label{min-width:130px}.row{gap:12px}.hero .flex{align-items:flex-start}.hero .light{margin-top:3px}#toast{left:15px;right:15px;bottom:15px}}@media print{.sidebar,.topbar,.actions,nav,button,.filters,footer,#toast{display:none!important}.shell{display:block}.content{padding:0}.card{box-shadow:none}.scroll{overflow:visible}body{background:white}}
/* Version 1.1: visual direction of the approved blue tablet concepts. */
:root{--blue:#0875f5;--muted:#7287a6;background:#edf5fc;color:#18375e}.shell{grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#071e3a;background-image:linear-gradient(165deg,#082442 20%,#0b315b 75%,#105f91 100%);padding:30px 18px;overflow:hidden;isolation:isolate}.sidebar:after{content:'';position:absolute;z-index:-1;left:-150px;right:-80px;bottom:10%;height:180px;border:3px solid #2197de35;border-radius:50%;transform:rotate(-12deg);box-shadow:0 13px 0 #3db8ed25,0 28px 0 #45baf51c,0 44px 0 #5fcaff14,0 63px 0 #3db8ed15}.brand{font-size:22px;text-align:center;padding:0 3px}.brand-waves{display:block;width:75px;height:32px;margin:0 auto 13px}.brand small{font-size:9px;letter-spacing:3px;color:#bbd7ed}.sidebar .label{margin-top:37px;letter-spacing:1.6px}.sidebar nav{gap:6px}.sidebar nav button{padding:13px 15px;border-radius:11px;min-height:46px;color:#b8cde7;font-size:13px;gap:13px}.sidebar nav button.active{background:linear-gradient(100deg,#0477fc,#075bc8);box-shadow:0 8px 18px #02152f40;color:white}.sidebar-bottom{position:relative;border-color:#72bbe52b;background:#0a254455;border-radius:9px;padding:15px;font-size:10px;color:#a9c8e8}.topbar{min-height:75px;border:0;background:#f8fcff;padding:16px 30px}.main{background:linear-gradient(140deg,#eaf5ff,#f4f9fd 65%)}.content{padding:24px 30px;max-width:1600px}.welcome-banner{min-height:180px;padding:32px 28px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;background-color:#dff0ff;background-image:radial-gradient(ellipse at 90% 10%,#a4e2ff 0,transparent 45%),radial-gradient(ellipse at 85% 95%,#288be02b 0,transparent 58%),linear-gradient(105deg,#f5fbff 25%,#deefff);position:relative;overflow:hidden;border:1px solid #d9edff}.welcome-banner:after{content:'';position:absolute;width:530px;height:180px;border:2px solid #1e9ad333;border-radius:50%;right:-140px;bottom:-70px;box-shadow:0 -13px 0 #3ba4e815,0 -29px 0 #4cb7ef15,0 -45px 0 #88cdfa20;transform:rotate(-15deg);pointer-events:none}.welcome-banner h1{font-size:34px;letter-spacing:-1.2px;margin:14px 0 11px;color:#103b74}.welcome-banner p{font-size:15px;margin:0;color:#5a789d}.welcome-banner .eyebrow{font-size:9px;color:#548ab7;letter-spacing:1.5px}.welcome-date{align-self:flex-start;display:flex;align-items:center;gap:8px;font-size:11px;color:#4378ac;white-space:nowrap;z-index:1}.welcome-date svg{width:16px;height:16px}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.overview-stats .card{margin:0;padding:22px 18px;border:1px solid #e3eef8;border-radius:17px;box-shadow:0 7px 22px #226baf05}.overview-stats .stat-head{flex-direction:row-reverse;justify-content:flex-end;gap:11px;align-items:center}.overview-stats .stat-head .icon{width:39px;height:39px;color:#006af0;background:#e8f4ff;border-radius:13px}.overview-stats .value{font-size:28px;font-weight:750;color:#0a58ba;letter-spacing:-1px;margin:12px 0 5px}.overview-stats .caption{font-size:10px;color:#93a4ba;line-height:1.6}.overview-stats .muted{font-size:11px;color:#537095}.overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:20px;margin-bottom:22px}.overview-grid .card{border:1px solid #e1edf8;border-radius:17px;box-shadow:0 5px 22px #186da906}.calendar-panel{display:flex;flex-direction:column;min-height:385px;margin:0}.title-icon{width:27px;height:27px;display:inline-flex;color:#076bec;align-items:center;justify-content:center}.title-icon svg{width:24px;height:24px}.integration-label{font-size:9px;color:#597b9e;background:#edf4fb;border:1px solid #ddebf6;border-radius:20px;padding:7px 10px;display:inline-block}.calendar-toolbar{border:1px solid #e3edf9;background:#fbfdff;border-radius:9px;display:flex;align-items:center;justify-content:space-between;padding:8px;gap:8px;color:#537199;font-size:10px}.calendar-segments{display:flex;gap:3px}.calendar-segments button{min-height:30px;padding:6px 12px;font-size:10px;background:#eff5fd;color:#7191b2;cursor:default;opacity:.75}.calendar-segments button:first-child{background:#ddeaff;color:#467bc0}.integration-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:35px 20px;flex:1}.integration-empty .empty-icon{width:52px;height:52px;display:flex;justify-content:center;align-items:center;background:#eff6ff;color:#72a9e7;border-radius:16px}.empty-icon svg{width:27px;height:27px}.integration-empty strong{font-size:14px;color:#6585a8}.integration-empty p{font-size:11px;max-width:410px;margin:0;line-height:1.8;color:#8a9eb7}.overview-side{display:flex;flex-direction:column;gap:16px}.overview-side .card{margin:0}.quick-card .inline{margin-bottom:17px}.quick-button{width:100%;background:linear-gradient(100deg,#0487ff,#0962dc);border-radius:11px;min-height:62px;margin-top:11px;padding:15px 17px;text-align:left;display:flex;justify-content:space-between;box-shadow:0 7px 15px #176fdd0d}.quick-button span{flex:1;margin-left:5px}.secondary-quick{background:linear-gradient(100deg,#104d9b,#0c66b8)}.vacation-card h2{font-size:15px}.vacation-card p{font-size:11px;line-height:1.8}.privacy-note{display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:12px;background:#deefff;color:#4083bc;font-size:10px;line-height:1.7}.privacy-note svg{width:20px;height:20px;flex-shrink:0}.card{border-radius:16px}.login-visual{background:#092a52;background-image:radial-gradient(ellipse at 10% 90%,#147fbd 0,transparent 65%),linear-gradient(150deg,#082345,#103e75)}.login-visual .brand{text-align:left;width:230px}.login-visual .brand-waves{margin:0 0 20px;width:85px}.login-visual h1{line-height:1.2}.login-visual .eyebrow{color:#7db9e5}.login-visual .brand small{letter-spacing:3px}footer{padding:25px}
@media(max-width:1150px){.shell{grid-template-columns:220px minmax(0,1fr)}.content{padding:22px}.sidebar{padding:27px 13px}.sidebar nav button{font-size:12px;padding:12px}.overview-stats{gap:10px}.overview-stats .card{padding:16px 13px}.overview-stats .value{font-size:25px}.welcome-banner{padding:26px}.welcome-date{display:none}.overview-grid{grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr)}.integration-label{font-size:8px}.overview-grid .card{padding:18px}.calendar-toolbar{flex-wrap:wrap}}
@media(max-width:900px){.overview-grid{grid-template-columns:1fr}.overview-side{display:grid;grid-template-columns:1fr 1fr}.privacy-note{grid-column:1/-1}.welcome-banner h1{font-size:29px}.overview-stats{grid-template-columns:1fr 1fr}.overview-stats .stat-head{justify-content:space-between;flex-direction:row}.calendar-panel{min-height:330px}}
@media(max-width:780px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:18px 16px}.sidebar .brand{display:flex;align-items:center;gap:11px;text-align:left;padding:0;font-size:20px;flex-wrap:wrap}.sidebar .brand small{font-size:8px;letter-spacing:2px}.sidebar .brand-waves{width:45px;height:23px;margin:0}.sidebar .label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:18px;gap:5px;scrollbar-width:none}.sidebar nav button{padding:10px 12px;white-space:nowrap;font-size:11px;min-height:39px}.sidebar:after{display:none}.sidebar nav svg{display:none}.content{padding:17px}.welcome-banner{padding:23px 20px;min-height:165px}.welcome-banner h1{font-size:27px}.welcome-banner p{font-size:13px}.topbar{min-height:59px;padding:13px 17px}.overview-stats{gap:10px;margin-bottom:17px}.overview-stats .value{font-size:25px}.overview-stats .card{padding:16px 13px}.overview-stats .stat-head .icon{width:30px;height:30px}.overview-side{display:flex}.quick-button{min-height:56px}.login-visual .brand{width:auto;display:block}.login-visual .brand-waves{width:60px;margin-bottom:14px}.login-visual h1{font-size:30px}}
/* Kalender.digital 1.2 */
.calendar-toolbar .calendar-segments button{cursor:pointer;opacity:1;min-height:39px}.calendar-segments button.selected{background:#1478ef!important;color:white!important}.calendar-toolbar input[type=date]{width:153px;font-size:11px;margin:0;min-height:39px;padding:7px}.calendar-toolbar .secondary{min-height:39px;padding:7px 12px}.calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #edf1f7;padding-top:13px;margin-top:14px;font-size:10px;color:#849bb5}.calendar-event-list{padding-top:10px;flex:1}.calendar-event{display:flex;width:100%;align-items:center;text-align:left;gap:17px;margin:10px 0;background:#f5f9ff;color:#284a75;min-height:86px;padding:15px;border:1px solid #e5eef9;border-left:5px solid #2385f6}.calendar-event:hover{background:#eaf3ff}.event-time{font-size:12px;white-space:nowrap;font-weight:650}.event-text{flex:1;min-width:0}.event-text b{font-size:13px}.event-text small{display:block;font-size:11px;color:#7a91ad;margin-top:6px;font-weight:400}.calendar-event svg{width:16px;height:16px}.cancelled-event{opacity:.65;text-decoration:line-through}.calendar-day-group{padding:20px 0;border-bottom:1px solid #e8f0f8}.calendar-day-group h3{color:#316496}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e4edf8;border-left:1px solid #e4edf8;margin:18px 0}.month-weekday{text-align:center;font-size:10px;padding:11px;color:#7690b0;background:#f6faff;border-right:1px solid #e4edf8}.month-day{border-radius:0;min-height:110px;padding:9px 6px;background:white;color:#335f92;border-right:1px solid #e4edf8;border-bottom:1px solid #e4edf8;display:block;text-align:left;overflow:hidden;font-size:11px}.month-day.today{background:#eaf3ff}.month-day.other-month{background:#f8fafc;color:#a1afc0}.month-event{display:block;background:#e6f1ff;font-size:9px;font-weight:400;color:#477bad;border-radius:4px;padding:4px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-day small{font-size:9px}.event-description{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#f4f8fd;border-radius:9px}#calendar-key-form{max-width:650px;margin-top:20px}#calendar-key-form input{font-size:14px}.calendar-panel .notice{margin:12px 0}@media(max-width:780px){.calendar-toolbar{align-items:flex-start;gap:12px}.calendar-toolbar .inline{gap:6px}.month-day{min-height:80px;padding:7px 3px}.month-event{font-size:8px}.event-time{font-size:10px}.calendar-event{gap:12px;padding:12px;flex-wrap:wrap}.event-text{min-width:140px}.calendar-footer{align-items:flex-start;flex-direction:column}.calendar-panel .card-head{align-items:flex-start}}

/* Provisorische Einsätze: Textkennzeichnung zusätzlich zur violetten Farbe. */
.calendar-event.provisional-event{background:#faf5ff;border-color:#e9d5ff;border-left-color:#9333ea;color:#542080}
.calendar-event.provisional-event:hover{background:#f3e8ff}
.provisional-badge{display:inline-block;background:#ede0ff;color:#6b21a8;border:1px solid #d8b4fe;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700;margin:0 7px 5px 0;line-height:1.4}
.event-text .event-person,.event-person{display:block;font-size:11px;font-weight:650;margin:0 0 7px;color:#526b8b}
.month-event.provisional-month{background:#f3e8ff;color:#6b21a8;border-left:3px solid #9333ea}

/* Freigegebene Sonne/Wellen-Variante 1 direkt auf dem bestehenden Blau. */
.brand.brand-sun{display:flex;align-items:center;gap:9px;text-align:left;padding:0;flex-wrap:nowrap;color:#fff;letter-spacing:0}
.brand-sun .brand-symbol{display:block;flex:0 0 58px;width:58px;height:58px;margin:0}
.brand-sun .brand-copy{display:block;min-width:0}
.brand-sun .brand-copy strong{display:block;font-size:15px;font-weight:800;letter-spacing:-.45px;white-space:nowrap;line-height:1.3}
.brand-sun .brand-copy small{display:block;font-size:10px;letter-spacing:0;font-weight:450;line-height:1.4;margin:4px 0 0;color:#e4f2ff;white-space:nowrap}
.login-visual .brand.brand-sun{width:auto;max-width:380px}
.login-visual .brand-sun .brand-symbol{width:76px;height:76px;flex-basis:76px}
.login-visual .brand-sun .brand-copy strong{font-size:23px}
.login-visual .brand-sun .brand-copy small{font-size:14px;letter-spacing:0}
@media(max-width:780px){.sidebar .brand.brand-sun{gap:12px}.sidebar .brand-sun .brand-symbol{flex-basis:54px;width:54px;height:54px}.sidebar .brand-sun .brand-copy strong{font-size:20px}.sidebar .brand-sun .brand-copy small{font-size:12px;letter-spacing:0}.login-visual .brand-sun .brand-symbol{width:60px;height:60px;flex-basis:60px}.login-visual .brand-sun .brand-copy strong{font-size:20px}.login-visual .brand-sun .brand-copy small{font-size:12px}}

.has-calendar-colors{position:relative;overflow:hidden}
.calendar-colors{position:absolute;top:0;left:0;width:100%;height:6px;display:block;pointer-events:none}
.calendar-event.has-calendar-colors{border-left:1px solid #e5eef9;padding-top:20px}
.calendar-event.has-calendar-colors.provisional-event{border-left-color:#e9d5ff}
.month-event.has-calendar-colors{padding-top:9px;border-left:0}
.month-event .calendar-colors{height:4px}
.team-count{display:inline-block;font-size:10px;font-weight:700;color:#315580;background:#e6effb;border-radius:6px;padding:3px 7px;line-height:1.4;margin:0 7px 5px 0}
.worker-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0 16px}
.worker-color{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#284a75}
.worker-color svg{width:13px;height:13px;flex-shrink:0}

.calendar-color-form{display:flex;gap:10px;align-items:center}.calendar-color-form input[type=color]{width:52px;height:42px;min-width:52px;padding:3px;margin:0;border:1px solid #d5e0f0;border-radius:8px;background:white}.calendar-color-form button{min-height:40px}

.calendar-color-form{flex-wrap:wrap}.calendar-color-form .calendar-color-hex{width:108px;min-width:108px;margin:0;padding:10px;font-family:ui-monospace,monospace;text-transform:uppercase}

/* Variante B: dezente, gleichmässig geteilte Terminflächen. */
.calendar-event.has-calendar-colors{background:#fff;border:1px solid #dce7f3;padding-top:25px;isolation:isolate}
.calendar-event.has-calendar-colors:hover{background:#fff;filter:brightness(.985)}
.calendar-event.has-calendar-colors>.calendar-fill,.month-event.has-calendar-colors>.calendar-fill{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}
.calendar-event.has-calendar-colors>.calendar-colors{position:absolute;top:0;left:0;width:100%;height:10px;z-index:2;pointer-events:none}
.calendar-event.has-calendar-colors>:not(.calendar-fill):not(.calendar-colors){position:relative;z-index:1}
.month-event.has-calendar-colors{background:#fff;isolation:isolate;padding-top:11px}
.month-event.has-calendar-colors>.calendar-colors{position:absolute;top:0;left:0;width:100%;height:5px;z-index:2;pointer-events:none}
.month-event-label{position:relative;z-index:1}
.calendar-event.provisional-event .event-text b{color:#173054}

.event-detail-dialog{width:min(760px,calc(100vw - 28px));max-width:760px;padding:26px;max-height:90dvh;overflow-y:auto}
.event-detail{color:#173054}
.detail-team{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;padding:20px 18px 12px;margin-bottom:22px;min-height:65px}
.detail-team>.calendar-fill{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.detail-team>.calendar-colors{width:100%;height:6px;z-index:1}
.detail-team-content{position:relative;z-index:2}
.detail-team .worker-legend{margin:0 0 7px;gap:10px 18px}.detail-team .worker-color{font-size:14px;font-weight:650}.detail-team .event-person{margin:0 0 7px;font-size:14px}.detail-team .provisional-badge,.detail-team .team-count{margin-bottom:0}
.detail-title{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.detail-title h2{font-size:25px;line-height:1.25;overflow-wrap:anywhere;flex:1;min-width:180px}
.detail-schedule{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.detail-schedule>div{display:flex;align-items:center;gap:12px;padding:17px;background:#eef5ff;border-radius:12px;font-size:14px}.detail-schedule svg{width:24px;height:24px;flex-shrink:0;color:#1b5bb8}
.detail-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e1eaf6;border-radius:12px;padding:17px;margin-bottom:12px}.detail-contact>div{min-width:0}.detail-label{color:#647d9e;font-size:12px;font-weight:650}.detail-contact p{color:#173054;font-size:15px;font-weight:600;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.detail-navigation{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:12px;background:#1478ef;color:white;text-decoration:none}.detail-navigation svg{width:25px;height:25px}.detail-navigation:hover{background:#0b62c9}.detail-navigation:focus-visible{outline:3px solid #173054;outline-offset:3px}
.detail-notes{border-radius:12px;background:#f1f6fd;padding:19px;margin:20px 0}.detail-notes h3{font-size:15px;margin-bottom:10px}.detail-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#526b8b;font-size:14px;line-height:1.65}.detail-footer{margin-top:20px}
@media(max-width:520px){.event-detail-dialog{padding:18px}.detail-title h2{font-size:22px}.detail-schedule{grid-template-columns:1fr;gap:8px}.detail-schedule>div{padding:13px}.detail-contact{padding:14px}.detail-team{padding:17px 14px 12px}}

/* Kombination: oberer Balken und Name aus A, gegliederte Angaben aus B. */
.event-detail-dialog{padding:0}
.event-detail{position:relative;isolation:isolate;padding:30px 26px 26px;overflow:hidden;border-radius:inherit}
.event-detail>.calendar-colors{position:absolute;top:0;left:0;width:100%;height:11px;z-index:2}
.event-detail .detail-team{background:transparent;padding:0;min-height:0;border-radius:0;overflow:visible;margin:0 0 20px}
.event-detail .detail-team .worker-color{padding:8px 12px;border-radius:10px;background:#edf3fb;font-size:14px;gap:8px}
.event-detail .detail-team .worker-color svg{width:15px;height:15px}
.event-detail .detail-team .event-person{display:inline-block;background:#edf3fb;border-radius:10px;padding:8px 12px}
@media(max-width:520px){.event-detail-dialog{padding:0}.event-detail{padding:27px 18px 18px}}

/* Persönliche Einstellungen: bestehendes Layout; Hell/Normal bleibt Standard. */
html[data-theme=dark]{color-scheme:dark;--line:#2a4159;--muted:#a9bdd3;background:#0b1725;color:#e4edf7}
html[data-theme=dark] body,html[data-theme=dark] .main{background:#0b1725;color:#e4edf7}
html[data-theme=dark] .card,html[data-theme=dark] dialog,html[data-theme=dark] .topbar,html[data-theme=dark] .month-day{background:#142438;color:#e4edf7;border-color:#2a4159}
html[data-theme=dark] :is(p,label,.muted,.breadcrumb,.profile small,.caption,.event-person,.event-text small,.detail-label,.detail-notes p,.calendar-footer,.empty,.integration-empty p,.integration-empty strong){color:#b5c8dd}
html[data-theme=dark] :is(h1,h2,h3,strong,.value,.price,.breadcrumb b,.detail-contact p,.event-detail,.event-text b,.event-text .event-person,.calendar-day-group h3){color:#edf5ff}
html[data-theme=dark] .welcome-banner{background:#173c59;border-color:#295878;background-image:none}
html[data-theme=dark] .welcome-banner h1,html[data-theme=dark] .welcome-banner p,html[data-theme=dark] .overview-stats .value{color:#e7f5ff}
html[data-theme=dark] :is(.welcome-date,.welcome-banner .eyebrow,.overview-stats .muted){color:#a9cde8}
html[data-theme=dark] :is(input,select,textarea){background:#0d1b2c;color:#edf5ff;border-color:#3a526d}
html[data-theme=dark] :is(.calendar-toolbar,.calendar-segments button,.detail-schedule>div,.detail-notes,.event-description,.month-weekday,.secondary,.avatar,.privacy-note,.integration-label,.integration-empty .empty-icon,.stat-head .icon,.team-count,.detail-team .worker-color,.detail-team .event-person){background:#1b334c;color:#cce7ff;border-color:#304e6b}
html[data-theme=dark] .month-day.today{background:#21466b}html[data-theme=dark] .month-day.other-month{background:#101d2d;color:#94a9c1}
html[data-theme=dark] :is(.calendar-event.has-calendar-colors,.month-event.has-calendar-colors){background:#142438;color:#edf5ff;border-color:#36516b}
html[data-theme=dark] .calendar-event.provisional-event .event-text b{color:#edf5ff}
html[data-theme=dark] .provisional-badge{background:#41245d;color:#edd7ff;border-color:#8250a8}
html[data-theme=dark] .danger{background:#462930;color:#ffb8b2}html[data-theme=dark] .outline{color:#c5dfff;border-color:#486381}
html[data-theme=dark] :is(.notice,.notice.warn){background:#283b4f;color:#f1e2b4;border-color:#62768c}
html[data-theme=dark] :is(th,td,.expense,.detail-contact,.calendar-day-group){border-color:#2a4159}
html[data-theme=dark] th{color:#b5c8dd}html[data-theme=dark] a{color:#80c6ff}html[data-theme=dark] .detail-navigation{color:white}
html[data-theme=dark] .calendar-color-form input[type=color]{background:#0d1b2c;border-color:#3a526d}
html[data-text-size=large] :is(.content p,.content label,.content input,.content select,.content textarea,.content button,dialog p,dialog label,dialog input,dialog select,dialog textarea,dialog button){font-size:16px}
html[data-text-size=large] :is(.content .muted,.content small,.caption,.event-text small,.event-text .event-person,.integration-label,.calendar-footer,.detail-label,.worker-color){font-size:14px}
html[data-text-size=large] :is(.event-text b,.event-time,.detail-notes p,td,th){font-size:16px}
html[data-text-size=large] .month-event,html[data-text-size=large] .month-weekday{font-size:12px}
html[data-text-size=large] .content h2{font-size:20px}html[data-text-size=large] .content h3{font-size:18px}
html[data-text-size=large] .sidebar nav button{font-size:15px}
html[data-text-size=large] :is(.card,.event-detail){overflow-wrap:anywhere}
@media print{html[data-theme=dark] body,html[data-theme=dark] .main,html[data-theme=dark] .card{background:white;color:#173054}html[data-theme=dark] :is(p,h1,h2,h3,strong,td,th){color:#173054}}

/* Baustellen: gemeinsamer Bereich im bestehenden Layout. */
.site-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.site-card.card{display:flex;width:100%;gap:16px;text-align:left;justify-content:flex-start;color:#173054;padding:17px;margin:0;min-height:150px;font-weight:400}.site-card>img,.site-placeholder{width:104px;height:110px;object-fit:cover;flex-shrink:0;border-radius:11px}.site-placeholder{background:#eaf3ff;display:flex;align-items:center;justify-content:center;color:#3174ca}.site-placeholder svg{width:36px;height:36px}.site-card-text{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:8px;overflow-wrap:anywhere}.site-card-text strong{font-size:15px}.site-card-text>span:not(.tag),.site-card-text small{font-size:12px;color:#6b819d}.site-card>svg{width:20px;height:20px;flex-shrink:0}.site-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.site-toolbar .calendar-segments button{cursor:pointer;opacity:1;min-height:42px}.site-toolbar .calendar-segments .selected{background:#1478ef;color:white}.site-post{max-width:1000px}.site-note{white-space:pre-wrap;overflow-wrap:anywhere}.site-timestamp{display:block;margin-top:5px}.site-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.site-photo-grid img{display:block;width:100%;height:230px;object-fit:cover;border-radius:11px;border:1px solid #e0e9f4}.site-photo-grid a:focus-visible{outline:3px solid #1478ef;outline-offset:3px}.site-draft-photo button{width:100%;margin-top:6px}.site-post .card-head{align-items:flex-start}.site-post .actions{margin:0}.site-post .link-button{min-height:40px}#site-form textarea{min-height:110px}
html[data-theme=dark] .site-card.card{color:#e4edf7}html[data-theme=dark] .site-placeholder{background:#1b334c;color:#80c6ff}html[data-theme=dark] .site-card-text>span:not(.tag),html[data-theme=dark] .site-card-text small{color:#b5c8dd}html[data-theme=dark] .site-photo-grid img{border-color:#2a4159}
@media(max-width:900px){.site-list{grid-template-columns:1fr}.site-card.card{min-height:125px}.site-card>img,.site-placeholder{width:90px;height:95px}}
@media(max-width:520px){.site-photo-grid img{height:170px}.site-card.card{padding:13px;gap:11px}.site-card>img,.site-placeholder{width:75px;height:90px}.site-card-text strong{font-size:14px}.site-post .card-head{gap:8px}.site-toolbar>button{width:100%}.page-heading:has([data-site-action]){flex-wrap:wrap}}

#site-upload-progress{width:100%;height:14px;margin:6px 0 16px;accent-color:#0875f5}#site-upload-status{min-height:20px}

/* Flanschgenerator 1.22: existing navigation and account theme are preserved. */
.flange-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(350px,1.15fr);gap:24px;align-items:start}.flange-grid .card{min-width:0}.flange-grid .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flange-grid input,.flange-grid select{min-width:0;width:100%;box-sizing:border-box}.flange-drawing{background:white;border:1px solid #cddbeb;border-radius:12px;overflow:hidden}.flange-drawing svg{display:block;width:100%;height:auto;max-height:none}.flange-empty{min-height:310px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:30px;color:var(--muted,#667c92)}.flange-grid details{margin-top:18px}.flange-grid summary{cursor:pointer;font-weight:600}.flange-grid hr{border:0;border-top:1px solid #d5dfeb;margin:24px 0}.flange-grid .actions{flex-wrap:wrap}@media(max-width:1050px){.flange-grid{grid-template-columns:1fr}}@media(max-width:460px){.flange-grid .row{grid-template-columns:1fr}}

/* Mein Konto groups personal information without removing dashboard tiles. */
.account-menu .calendar-segments{display:flex;flex-wrap:wrap;gap:8px}.account-menu .calendar-segments button{min-height:48px}.overview-stats .stat-card{display:block;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;min-height:0}.stat-card .stat-head{display:flex}.stat-card .value,.stat-card .caption{display:block}.overview-stats .stat-card:hover{filter:none;border-color:#85aee8;box-shadow:0 4px 14px #2269df15}.overview-stats .stat-card:focus-visible{outline:3px solid #2269df;outline-offset:3px}

.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.tools-grid .card{min-width:0}.tools-grid .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tools-grid input,.tools-grid select{width:100%;min-width:0;box-sizing:border-box}.pool-volume{display:flex;flex-direction:column;gap:12px;padding:25px;border-radius:14px;background:#edf5ff;color:#173a74;margin:20px 0}.pool-volume strong{font-size:clamp(28px,4vw,42px);line-height:1.2;overflow-wrap:anywhere}.pool-volume b{font-size:22px}.pool-details{display:grid;grid-template-columns:1fr auto;gap:12px}.pool-details dd{margin:0;font-weight:650}.pool-details dt{color:var(--muted)}:root[data-theme="dark"] .pool-volume{background:#18385b;color:#e2efff}@media(max-width:850px){.tools-grid{grid-template-columns:1fr}}@media(max-width:460px){.tools-grid .row{grid-template-columns:1fr}}

/* Custom month selection: same controls on desktop, tablet and mobile. */
.month-control{position:relative;min-width:0;flex:1}.month-field-label{display:block;font-size:12px;font-weight:650;margin-bottom:8px;color:inherit}.month-trigger{display:flex;width:100%;justify-content:space-between;background:#fff;color:#173054;border:1px solid #d5e0f0;font-weight:500;text-align:left;min-height:45px}.month-popover{position:absolute;top:calc(100% + 10px);left:0;width:360px;max-width:calc(100vw - 46px);padding:18px;box-sizing:border-box;z-index:60;background:#fff;color:#173054;border:1px solid #c8d9ed;border-radius:16px;box-shadow:0 18px 55px #061d4240}.month-picker-heading,.month-year{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-picker-heading strong{font-size:17px}.month-picker-heading .ghost{font-size:25px;min-width:44px;padding:4px}.month-year{margin:10px 0 16px}.month-year>strong{font-size:24px}.month-year button{min-width:44px;font-size:25px;padding:3px 12px}.month-popover .month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.month-popover .month-grid button{min-height:48px;background:#edf3fc;color:#315580;border:1px solid #d6e3f3;padding:10px 4px;font-size:13px;gap:3px}.month-popover .month-grid button.selected{background:#1976ed;color:white;border-color:#4b9aff}.month-popover .month-grid button:disabled{opacity:.35;cursor:not-allowed}.month-current{width:100%;margin-top:16px;min-height:46px;border:1px solid #9fc2f2}.month-popover button:focus-visible,.month-trigger:focus-visible{outline:3px solid #3f9aff;outline-offset:2px}:root[data-theme="dark"] .month-trigger{background:#142e4d;color:#e2edff;border-color:#385676}:root[data-theme="dark"] .month-popover{background:#102842;color:#eef5ff;border-color:#3a6084;box-shadow:0 18px 55px #0009}:root[data-theme="dark"] .month-popover .month-grid button{background:#193651;color:#e2edff;border-color:#355574}:root[data-theme="dark"] .month-popover .month-grid button.selected{background:#087cf4;color:white;border-color:#4b9aff}:root[data-theme="dark"] .month-current,:root[data-theme="dark"] .month-year button{background:#183851;color:#a3d8ff}:root[data-theme="dark"] .month-picker-heading .ghost{color:#c5d9ef}@media(max-width:600px){.month-popover{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:360px;max-height:calc(100dvh - 30px);overflow:auto}.month-control{width:100%}.month-popover .month-grid button{min-height:52px}}
.expense-water-hero{background-color:#07509a;background-image:linear-gradient(90deg,rgba(4,35,79,.45),rgba(0,78,144,.12)),url('/water-banner.png');background-size:cover;background-position:center;color:white}.expense-water-hero h2{color:white}.expense-water-hero p,.expense-water-hero .eyebrow{color:#e2f3ff}.expense-water-hero h2,.expense-water-hero .eyebrow{text-shadow:0 1px 5px #002b5570}html[data-theme=dark] .expense-water-hero{background-image:linear-gradient(90deg,rgba(4,35,79,.45),rgba(0,78,144,.12)),url('/water-banner.png');color:white}html[data-theme=dark] .expense-water-hero h2{color:white}html[data-theme=dark] .expense-water-hero p{color:#e2f3ff}@media print{.month-popover{display:none}.expense-water-hero{background:#fff!important;color:#173054!important}.expense-water-hero h2,.expense-water-hero p,.expense-water-hero .eyebrow{color:#173054!important;text-shadow:none}}

/* Shared water photo on the administrator and employee home banners. */
html .welcome-banner,html[data-theme=dark] .welcome-banner{background-color:#07509a;background-image:linear-gradient(90deg,rgba(4,35,79,.45),rgba(0,78,144,.12)),url('/water-banner.png');background-size:cover;background-position:center;border-color:#226aa0;color:white}.welcome-banner:after{display:none}html .welcome-banner h1,html[data-theme=dark] .welcome-banner h1{color:white;text-shadow:0 1px 5px #002b5570}html .welcome-banner p,html .welcome-banner .eyebrow,html[data-theme=dark] .welcome-banner p,html[data-theme=dark] .welcome-banner .eyebrow{color:#e2f3ff}html .welcome-date,html[data-theme=dark] .welcome-date{color:white;background:#092b5066;border-color:#b4e4ff55;position:relative;z-index:1}@media print{html .welcome-banner,html[data-theme=dark] .welcome-banner{background:white!important;color:#173054!important}html .welcome-banner h1,html .welcome-banner p,html .welcome-banner .eyebrow,html .welcome-date{color:#173054!important;text-shadow:none}}

.expense-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.expense-weekday{text-align:center;padding:8px 0;font-size:12px;color:var(--muted)}.expense-day-grid button{padding:4px;min-height:40px;background:#edf3fc;color:#315580;border:1px solid transparent;border-radius:8px}.expense-day-grid button.selected{background:#1976ed;color:white}.expense-day-grid button.is-today{border-color:#3088f2}.month-year .expense-date-heading{font-size:15px;padding:10px 8px;min-width:0;flex:1}.expense-day-grid button:focus-visible{outline:3px solid #3f9aff;outline-offset:1px}html[data-theme=dark] .expense-day-grid button{background:#193651;color:#e2edff}html[data-theme=dark] .expense-day-grid button.selected{background:#087cf4;color:white}.expense-date-control{width:100%}

.calendar-date-control{width:auto;min-width:170px;flex:0 1 210px}.calendar-toolbar>.inline{flex-wrap:wrap}.calendar-date-control .month-trigger{min-height:44px}.calendar-date-control .month-popover{left:auto;right:0}@media(max-width:600px){.calendar-date-control .month-popover{left:50%;right:auto}}

/* Pump electricity calculator: approved icon and energy illustration. */
.power-mode{display:flex;gap:4px;margin:0 0 20px;flex-wrap:wrap}.power-grid{display:grid;grid-template-columns:minmax(330px,1.12fr) minmax(300px,1fr);gap:24px;align-items:start}.power-grid .card{min-width:0}.power-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:90px}.power-pump-image{width:145px;height:90px;object-fit:contain;flex-shrink:0}.power-normal-inputs,.power-price-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px}.power-price-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.power-grid input,.power-grid select{min-width:0;width:100%;box-sizing:border-box}.power-stages{display:grid;gap:12px;margin:12px 0}.power-stage{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.power-gauge{width:76px;height:64px;flex-shrink:0}.power-stage-fields{flex:1;min-width:0}.power-stage-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.power-stage-title label{flex:1;margin-bottom:6px}.power-stage-title select{font-weight:700}.power-stage-title .ghost{font-size:22px;padding:6px;min-width:40px}.power-stage-inputs{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:8px}.power-stage-inputs label{font-size:11px}.power-result-banner{background:#06192e url('/electricity-banner.svg') center/cover no-repeat;border-radius:14px;color:white;display:flex;flex-direction:column;gap:10px;padding:28px;min-height:175px;justify-content:center;margin:18px 0}.power-result-banner span{font-size:16px;font-weight:650}.power-result-banner strong{font-size:clamp(30px,4vw,48px);line-height:1.15;max-width:72%;overflow-wrap:anywhere}.power-result-banner b{font-size:26px;max-width:70%;overflow-wrap:anywhere}.power-summary{padding:0 14px;border-radius:12px;background:#eef6ff}.power-summary>div{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:12px;padding:18px 0}.power-summary>div+div{border-top:1px solid var(--line)}.power-summary strong,.power-summary b{text-align:right}.power-summary b{color:#0c61c6}.power-breakdown>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.power-empty{min-height:220px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:25px}.power-empty-bolt{font-size:60px;color:#0b83f5}.power-grid .notice svg{width:20px;height:20px;vertical-align:middle}.power-grid .link-button{margin-bottom:12px}.power-grid form>.full{margin-top:8px}html[data-theme=dark] .power-stage{background:#142d46}html[data-theme=dark] .power-summary{background:#183650}html[data-theme=dark] .power-summary b{color:#89cfff}html[data-theme=dark] .power-result-banner,html[data-theme=dark] .power-result-banner strong,html[data-theme=dark] .power-result-banner b{color:white}@media(max-width:1050px){.power-grid{grid-template-columns:1fr}}@media(max-width:500px){.power-stage{padding:10px;gap:8px}.power-gauge{width:52px;height:50px}.power-stage-inputs{grid-template-columns:minmax(0,1fr) 64px}.power-stage-inputs>label:last-child{grid-column:1/-1}.power-price-row{grid-template-columns:1fr}.power-summary>div{grid-template-columns:1fr 1fr}.power-summary>div>span{grid-column:1/-1}.power-summary strong,.power-summary b{text-align:left}.power-pump-image{width:115px;height:76px}.power-form-heading{min-height:80px}.power-result-banner{padding:22px}}

/* Selected light theme: Blaugrau, with softly tinted cards rather than pure white. */
html:not([data-theme=dark]){background:#dce6ef;--line:#c5d2df;--muted:#526b84}html:not([data-theme=dark]) body,html:not([data-theme=dark]) .main{background:#dce6ef;color:#173054}html:not([data-theme=dark]) :is(.card,.topbar,dialog,.month-day,.month-popover){background-color:#eaf0f6;border-color:#c5d2df;color:#173054}html:not([data-theme=dark]) :is(input,select,textarea,.month-trigger){background-color:#f0f5f9;border-color:#bdcddd;color:#173054}html:not([data-theme=dark]) .login-form{background:#dce6ef}html:not([data-theme=dark]) :is(.power-stage,.detail-contact,.detail-schedule>div){background-color:#e2ebf3;border-color:#c5d2df}html:not([data-theme=dark]) .muted{color:#526b84}html:not([data-theme=dark]) .month-popover .month-grid button:not(.selected){background-color:#dce7f2;color:#244e79}html:not([data-theme=dark]) .expense-day-grid button:not(.selected){background-color:#dce7f2;color:#244e79}.tool-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:14px;background:#d2e3f3;color:#125ab2;margin-bottom:12px}.tool-badge svg{display:block;width:43px;height:43px}.tool-badge+h2{margin-top:0}html[data-theme=dark] .tool-badge{background:#1c3d5b;color:#80c6ff}@media print{html:not([data-theme=dark]),html:not([data-theme=dark]) body,html:not([data-theme=dark]) .main,html:not([data-theme=dark]) .card{background:white;color:#173054}}

.pool-shape-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 22px}.pool-shape-tile{display:flex;flex-direction:column;gap:6px;padding:12px 8px;background:#e2ebf3;color:#315580;border:1px solid #bdcddd;min-height:95px}.pool-shape-tile.selected{border:2px solid #087cf4;background:#d7eaff;color:#064e9e}.pool-shape-tile svg{width:88px;height:52px}.pool-shape-tile span{font-size:12px;text-align:center}.pool-sketch-view>svg{display:block;width:100%;height:auto;background:#e1ebf3;border-radius:12px}.pool-sketch-view h3{margin:14px 0 8px}.pool-sketch-view>p{font-size:11px}.pool-visual-grid{grid-template-columns:minmax(290px,.9fr) minmax(350px,1.25fr)}html[data-theme=dark] .pool-shape-tile{background:#193651;color:#e2edff;border-color:#355574}html[data-theme=dark] .pool-shape-tile.selected{background:#184b7a;border-color:#4b9aff}html[data-theme=dark] .pool-sketch-view>svg{background:#d7e4ed}@media(max-width:1050px){.pool-visual-grid{grid-template-columns:1fr}}
.tools-search-card{margin-bottom:22px}.tools-search-row{display:flex;gap:10px;align-items:center}.tools-search-row input{min-width:0;flex:1}.tools-search-card label{display:block;margin-bottom:8px;font-weight:650}.tools-search-card p{margin-bottom:0;font-size:12px}.tools-no-results{grid-column:1/-1}@media(max-width:500px){.tools-search-row{flex-wrap:wrap}.tools-search-row input{flex-basis:100%}}

.pool-model-frame{position:relative;padding:25px 32px 0 0;min-height:0}.pool-model-image{display:block;width:100%;height:clamp(190px,24vw,290px);object-fit:contain}.pool-model-length{display:flex;align-items:center;justify-content:center;gap:9px;font-size:16px;color:#173054}.pool-model-length>span{display:block;width:35%;text-align:center;border-top:1px solid #6388a4;line-height:0;color:#215a84}.pool-model-width{position:absolute;right:2px;top:53%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border-radius:8px;background:#eaf0f6cc;color:#173054}.pool-sketch-realistic .pool-depth-view{height:110px;background:transparent;border-radius:0}.pool-sketch-realistic>p{margin:8px 0}.pool-sketch-realistic h3{margin:8px 0 0}.pool-visual-grid .pool-shape-options{grid-template-columns:repeat(3,minmax(0,1fr))}.pool-visual-grid .pool-shape-tile{min-height:95px}.pool-visual-grid .pool-volume{margin:12px 0;padding:18px}.pool-visual-grid .pool-volume strong{font-size:36px}.pool-visual-grid .pool-details{font-size:13px;margin:12px 0}.pool-visual-grid .notice{font-size:12px}html[data-theme=dark] .pool-model-length{color:#d9eeff}html[data-theme=dark] .pool-model-width{background:#d7e4ed;color:#173054}@media(max-width:450px){.pool-visual-grid .pool-shape-options{grid-template-columns:1fr 1fr}.pool-model-image{height:200px}.pool-model-width{font-size:12px;padding:3px}.pool-model-frame{padding-right:25px}}

.pool-model-image{transform:rotate(8deg);transform-origin:center;max-width:94%;margin:auto}.pool-model-length{transform:rotate(8deg);transform-origin:60% center;margin-bottom:4px}.pool-model-width{transform:rotate(8deg);transform-origin:center}.pool-model-frame{padding-top:28px;padding-bottom:10px;overflow:visible}.pool-sketch-realistic .pool-depth-view{height:120px}.pool-visual-grid .pool-shape-options svg{max-width:85%}

/* Shared SVG coordinates prevent dimension lines drifting away from the image. */
.pool-model-frame{padding:0;overflow:visible}.pool-model-svg{display:block;width:100%;height:auto;max-height:none;overflow:visible}.pool-sketch-realistic .pool-model-svg{background:transparent;border-radius:0}html[data-theme=dark] .pool-model-svg{background:#d7e4ed;border-radius:12px}

/* Quick view switch, available to authenticated admins in both views. */
.mode-switch{display:flex;align-items:center;gap:14px;background:#e2edf8;color:#173a64;border:1px solid #b9cee4;border-radius:12px;padding:8px 12px;margin-left:auto;min-height:48px;text-align:left;flex-shrink:0}.mode-switch span{font-size:12px;line-height:1.4}.mode-switch strong{margin-left:5px}.mode-switch small{display:block;font-size:10px;font-weight:400}.mode-switch i{position:relative;width:42px;height:24px;border-radius:20px;background:#8093a7;flex-shrink:0}.mode-switch i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white;transition:transform .15s}.mode-switch[aria-checked="true"] i{background:#147ee5}.mode-switch[aria-checked="true"] i:after{transform:translateX(18px)}.mode-switch:focus-visible{outline:3px solid #1686e9;outline-offset:3px}:root[data-theme="dark"] .mode-switch{background:#173550;color:#e3f0ff;border-color:#365979}.topbar{gap:16px}.topbar .profile{margin-left:0}@media(max-width:700px){.topbar{flex-wrap:wrap;height:auto;min-height:78px;padding-top:12px;padding-bottom:12px}.topbar .breadcrumb{flex-basis:100%}.mode-switch{margin-left:0}.topbar .profile{margin-left:auto}.mode-switch small{font-size:10px}}

.pwa-update-notice{position:fixed;z-index:90;right:18px;bottom:18px;width:360px;max-width:calc(100vw - 36px);box-sizing:border-box;padding:20px;border:1px solid #8fb6df;border-radius:16px;background:#eaf0f6;color:#173a64;box-shadow:0 8px 35px #123a8340}.pwa-update-notice p{font-size:13px}:root[data-theme="dark"] .pwa-update-notice{background:#173550;color:#e3f0ff;border-color:#365979}

/* Same compact icon size and tile height as the pool form selector. */
.flange-shape-options{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.flange-shape-tile{min-width:0;justify-content:center}.flange-shape-tile svg{width:88px;max-width:100%;height:52px;stroke-width:1.2}.flange-shape-tile:focus-visible{outline:3px solid #087cf4;outline-offset:3px}.flange-shape-tile.selected span:after{content:" ✓"}@media(max-width:380px){.flange-shape-options{gap:6px}.flange-shape-tile{padding:10px 3px}.flange-shape-tile span{font-size:11px}}

.flange-modern{background:linear-gradient(145deg,#eef4f9,#dce7ef);border-radius:16px;padding:12px;margin:20px 0}.flange-modern svg{display:block;width:100%;height:auto}.flange-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.flange-specs>span{background:#e6eef6;border:1px solid #d5e1ec;border-radius:12px;padding:13px}.flange-specs small{display:block;color:#61768a;font-size:11px;margin-bottom:5px}.flange-specs b{font-size:14px;color:#24445f}

.flange-material-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 22px}.flange-material-tile{position:relative;justify-content:flex-start;gap:10px;background:#f6f9fc;border:1px solid #d5e1ed;color:#254363;padding:14px 10px;min-height:76px;text-align:left}.flange-material-tile.selected{background:#eaf3ff;border:2px solid #2269df;padding:13px 9px}.flange-material-tile:focus-visible{outline:3px solid #79b2ff;outline-offset:3px}.metal-swatch{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:conic-gradient(#a5adb5,#f3f6f9,#8a959e,#e9edf1,#a5adb5);box-shadow:inset 0 0 0 1px #73889955}.metal-aluminium{filter:brightness(1.15)}.metal-steel{filter:brightness(.62)}.metal-v4a{background:conic-gradient(#9cabb8,#f6fbff,#8494a1,#dfe9ef,#9cabb8)}.material-check{position:absolute;right:5px;top:4px;border-radius:50%;background:#2269df;color:white;font-size:10px;padding:1px 4px}@media(max-width:420px){.flange-material-tile{font-size:11px;gap:6px}.metal-swatch{width:27px;height:27px}}

/* Übersicht: grosse farbige Symbole wie in der freigegebenen Vorschau. */
.overview-stats .stat-modern{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:20px 16px;min-width:0}.stat-badge{display:flex;align-items:center;justify-content:center;flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:#dceeff;color:#1974df}.stat-badge svg{width:32px;height:32px;stroke-width:1.8}.stat-badge.badge-green{background:#d8f2e5;color:#159264}.stat-badge.badge-orange{background:#fff0da;color:#e79217}.stat-badge.badge-purple{background:#e8e1fa;color:#7351bf}.stat-copy{display:block;min-width:0}.stat-copy .muted{display:block;line-height:1.4;color:#536a86}.overview-stats .stat-copy .value{display:block;font-size:25px;margin-top:7px}.stat-copy .caption{display:block;line-height:1.4;margin-top:6px}.quick-card .quick-button{justify-content:flex-start;background:#e7f1fc;color:#254b78;min-height:82px;gap:12px;padding:14px}.quick-badge{display:flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;height:54px;border-radius:50%;background:#cfe6fc;color:#1974df}.quick-badge svg{width:29px;height:29px}.quick-button>svg:last-child{margin-left:auto;width:18px;height:18px}.quick-button>span:not(.quick-badge){flex:1;text-align:left}html[data-theme=dark] .stat-badge,html[data-theme=dark] .quick-badge{background:#224d72;color:#8bc9ff}html[data-theme=dark] .badge-green{background:#1d5145;color:#81dfb4}html[data-theme=dark] .badge-orange{background:#58432a;color:#ffce83}html[data-theme=dark] .badge-purple{background:#40375a;color:#c4b0f7}html[data-theme=dark] .quick-card .quick-button{background:#1c344e;color:#d7eaff}html[data-theme=dark] .stat-copy .muted{color:#b2c8df}@media(max-width:1100px){.overview-stats .stat-modern{gap:10px;padding:16px 12px}.stat-badge{flex-basis:48px;width:48px;height:48px}.stat-badge svg{width:27px;height:27px}.overview-stats .stat-copy .value{font-size:22px}}@media(max-width:480px){.overview-stats .stat-modern{align-items:flex-start;gap:8px}.stat-badge{flex-basis:36px;width:36px;height:36px}.stat-badge svg{width:23px;height:23px}.overview-stats .stat-copy .value{font-size:20px}}

/* Symbolkreise dürfen durch allgemeine span-Flexregeln nicht gestreckt werden. */
.overview-stats .stat-modern>.stat-badge{--badge-size:62px;flex:0 0 var(--badge-size);width:var(--badge-size);height:var(--badge-size);min-width:var(--badge-size);max-width:var(--badge-size);min-height:var(--badge-size);max-height:var(--badge-size);aspect-ratio:1;border-radius:50%;padding:0;align-self:center}.quick-card .quick-button>.quick-badge{flex:0 0 54px;width:54px;height:54px;min-width:54px;max-width:54px;min-height:54px;max-height:54px;aspect-ratio:1;border-radius:50%;margin:0;padding:0;align-self:center}@media(max-width:1100px){.overview-stats .stat-modern>.stat-badge{--badge-size:48px}}@media(max-width:480px){.overview-stats .stat-modern>.stat-badge{--badge-size:36px}}

.balance-heading{display:flex;align-items:center;gap:15px;margin-bottom:20px}.balance-heading p{margin:5px 0 0}.balance-heading .stat-badge{flex:0 0 58px;width:58px;height:58px;aspect-ratio:1}.personal-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.balance-value{font-size:34px;font-weight:750;margin:25px 0;color:#285a85}.balance-value small{display:block;font-size:13px;font-weight:500;color:#71819b;margin-top:8px}.balance-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:13px}#team-holidays,#team-times,#personal-holidays,#personal-times{scroll-margin-top:20px}@media(max-width:850px){.personal-balances{grid-template-columns:1fr}}

.sidebar nav button{justify-content:flex-start;text-align:left;gap:8px}.sidebar nav button .nav-label{text-align:left;line-height:1.4;min-width:0}.sidebar nav button>svg{flex:0 0 19px;align-self:center}.sidebar nav button[data-tab="team-balances"]{display:grid;grid-template-columns:19px minmax(0,1fr);column-gap:8px}.sidebar nav button[data-tab="team-balances"] .nav-label{margin:0;padding:0;text-align:left}@media(max-width:780px){.sidebar nav button[data-tab="team-balances"]{display:inline-flex}.sidebar nav button[data-tab="team-balances"]>svg{display:none}}

.planning-banner{margin:0 0 20px;min-height:150px}.planning-banner h1{color:white;margin:0 0 8px}.planning-banner p{color:#d2eaff;font-size:17px}.calendar-worker-chips{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.calendar-worker-chips button{background:#eff4fa;color:#345170;border:1px solid #dae5ef;padding:7px 11px;min-height:36px}.calendar-worker-chips button.selected{background:#176fe9;color:white}.calendar-worker-chips svg{width:13px;height:13px}.week-scroll{overflow:auto;margin-top:18px;border:1px solid #dce6f0;border-radius:12px}.week-grid{display:grid;grid-template-columns:58px repeat(7,minmax(125px,1fr));min-width:990px;background:#fff}.week-head{display:flex;flex-direction:column;gap:4px;justify-content:center;align-items:center;border-radius:0;background:#f3f7fc;color:#243f62;min-height:62px;border-right:1px solid #e0e8f1;border-bottom:1px solid #dce6ef}.week-head.today{background:#dcecff;color:#0863dc}.week-head span{font-size:12px}.week-time-head,.week-all-label{font-size:10px;color:#6b7e93;padding:10px 4px}.week-all{padding:4px;border-right:1px solid #e0e8f1;border-bottom:1px solid #dce6ef;min-height:36px}.week-hours{position:relative;background:#f8fafd}.week-hours>span{position:absolute;right:5px;font-size:11px;color:#6a7d94}.week-column{position:relative;border-right:1px solid #e0e8f1;background:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,#e4ebf3 63px,#e4ebf3 64px)}.weekend{background-color:#f3f5f8}.week-event,.week-all-event{position:relative;display:block;min-height:0;border-radius:6px;padding:9px 6px 4px;text-align:left;color:#193655;overflow:hidden;isolation:isolate;white-space:normal}.week-event{position:absolute;border:1px solid #b9cde2;box-shadow:0 1px 3px #15314e0a}.week-event .calendar-fill,.week-all-event .calendar-fill{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.week-event .calendar-colors,.week-all-event .calendar-colors{position:absolute;top:0;left:0;width:100%;height:5px}.week-block-content{position:relative;display:flex;flex-direction:column;gap:4px;line-height:1.3;font-size:11px}.week-block-content b{font-size:12px;overflow-wrap:anywhere}.week-block-content small{font-size:10px}.week-provisional{border:2px dashed #a45bc8}.week-provisional .calendar-fill{opacity:.5}.week-provisional{background:#f2e7ff}.week-all-event{width:100%;margin-bottom:4px}.overview-stats .stat-copy .value{font-size:22px;overflow-wrap:anywhere}.overview-stats .stat-modern{background:#f9fcff}.overview-grid .calendar-event{min-height:78px}.overview-grid .calendar-event .event-text b{font-size:13px}html[data-theme=dark] .week-grid{background:#10263b}html[data-theme=dark] :is(.week-head,.week-hours,.weekend){background-color:#19324a;color:#d7eaff}html[data-theme=dark] .week-event{color:#e4f3ff}html[data-theme=dark] .overview-stats .stat-modern{background:#142b42}@media(max-width:780px){.planning-banner{min-height:125px}.planning-banner h1{font-size:27px}.planning-banner p{font-size:14px}.week-scroll{max-height:70vh}.week-head{position:sticky;top:0;z-index:3}}

/* Farbige Kreise und weisse Piktogramme entsprechend der freigegebenen Übersicht. */
.overview-stats .stat-modern>.stat-badge,.quick-card .quick-button>.quick-badge{--badge-ink:#1378ef;background:linear-gradient(135deg,#0788ff,#0757e6);color:white;box-shadow:inset 0 1px 2px #ffffff30}.overview-stats .stat-modern>.badge-green{--badge-ink:#00a878;background:linear-gradient(135deg,#00c889,#009e79);color:white}.overview-stats .stat-modern>.badge-orange{--badge-ink:#ff8c20;background:linear-gradient(135deg,#ffb03d,#ff761b);color:white}.overview-stats .stat-modern>.badge-purple{--badge-ink:#8534df;background:linear-gradient(135deg,#b23bff,#7824e0);color:white}.stat-chevron{margin-left:auto;color:#244970;font-size:28px;font-weight:400}.overview-stats .stat-modern{gap:13px;border-radius:12px;background:#fcfdff}.overview-stats .stat-copy{flex:1}.overview-stats .stat-copy .muted{font-size:12px;font-weight:650;color:#1c3656}.overview-stats .stat-copy .caption{display:none}.overview-stats .stat-copy .value{font-size:22px;margin-top:6px;color:#153e73}.overview-stats [data-balance-section] .stat-copy .value{font-size:15px;color:#096bea}.quick-card .quick-button{min-height:58px;padding:10px 13px;border-radius:10px;background:linear-gradient(100deg,#e2f0ff,#eef5fd);box-shadow:none;margin-top:10px}.quick-card .quick-button>.quick-badge{flex-basis:42px;width:42px;height:42px;min-width:42px;max-width:42px;min-height:42px;max-height:42px}.quick-badge svg{width:24px;height:24px}.overview-side .quick-card h2{font-size:19px}.welcome-banner h1{font-size:38px}.overview-side .quick-card>.inline>.title-icon{display:none}html[data-theme=dark] .stat-chevron{color:#b3d6ff}html[data-theme=dark] .overview-stats .stat-copy .muted{color:#e0edff}html[data-theme=dark] .overview-stats .stat-copy .value{color:#b9dbff}@media(max-width:1100px){.overview-stats .stat-modern{gap:9px}.overview-stats .stat-copy .value{font-size:20px}.stat-chevron{font-size:22px}}@media(max-width:480px){.overview-stats .stat-copy .value{font-size:18px}.stat-chevron{display:none}.welcome-banner h1{font-size:27px}}

.week-scroll{max-height:75vh}.week-head{position:sticky;top:0;z-index:4}.week-event .week-block-content b,.week-event .week-block-content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-event .week-block-content b{overflow-wrap:normal}.week-all .week-block-content b{overflow-wrap:normal}.week-all-event{min-height:70px}.week-all-label{overflow-wrap:normal;font-size:9px}.week-column{min-width:150px}.week-hours{position:sticky;left:0;z-index:2}.week-block-content{pointer-events:none}

/* Planer: alle sieben Tage gemeinsam, mehrtägige Balken über mehrere Spalten. */
.calendar-planner{display:grid;grid-template-columns:145px minmax(0,1fr);gap:10px;margin-top:16px;min-width:0}.calendar-filter-rail{border:1px solid #dce6ef;background:#f7fafd;border-radius:10px;padding:10px;align-self:start;position:sticky;top:12px}.calendar-filter-rail h3{font-size:11px;margin:0 0 12px}.calendar-filter-actions{display:flex;gap:5px;margin-bottom:10px}.calendar-filter-actions button{min-height:28px;font-size:10px;padding:5px 9px;background:#e5eef8;color:#315679}.calendar-filter-entry{display:flex;justify-content:flex-start;gap:7px;width:100%;padding:7px 4px;min-height:33px;border-radius:6px;background:transparent;color:#294666;text-align:left;font-size:11px}.calendar-filter-entry[aria-pressed=false]{opacity:.5}.calendar-filter-entry svg{width:16px;height:16px;flex:0 0 16px}.calendar-filter-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-scroll{overflow:auto;max-height:75vh;border:1px solid #dce6ef;border-radius:10px;min-width:0;background:#fff}.planner-days,.planner-spans,.planner-timed{display:grid;grid-template-columns:42px repeat(7,minmax(0,1fr));min-width:0}.planner-days{position:sticky;top:0;z-index:8;background:#f4f8fc}.planner-days .week-head{min-width:0;font-size:12px;padding:7px 2px;min-height:55px}.planner-days .week-head span{font-size:10px}.planner-spans{grid-auto-rows:27px;padding:4px 0;background:#f5f8fc;border-bottom:1px solid #dce6ef;position:relative}.planner-span-label{grid-column:1;grid-row:1 / -1;font-size:8px;padding:4px 2px;overflow:hidden;color:#71849b}.planner-span-event{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:0;height:23px;margin:0 2px;border-radius:5px;padding:3px 6px;color:#163c61;text-align:left;justify-content:flex-start;font-size:10px}.planner-span-event>.calendar-fill{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.planner-span-event>.calendar-colors{position:absolute;inset:0 0 auto;width:100%;height:3px}.planner-span-event>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-timed .week-column{min-width:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 55px,#e4ebf3 55px,#e4ebf3 56px)}.planner-timed .week-hours>span{font-size:9px;right:3px}.planner-timed .week-event{padding:7px 3px 3px;border-radius:4px}.planner-timed .week-block-content{gap:3px}.planner-timed .week-block-content b{font-size:10px;white-space:normal;overflow-wrap:normal;word-break:normal;max-height:55px}.planner-timed .week-block-content small{font-size:9px}.planner-timed .week-block-content small:last-child{white-space:normal;overflow-wrap:normal;word-break:normal}.planner-timed .week-column.weekend{background-color:#f3f5f8}html[data-theme=dark] :is(.calendar-filter-rail,.planner-days,.planner-spans){background:#19324a;color:#d9eaff}html[data-theme=dark] .planner-scroll{background:#10263b}html[data-theme=dark] :is(.calendar-filter-entry,.planner-span-event){color:#d9eaff}@media(max-width:900px){.calendar-planner{grid-template-columns:110px minmax(0,1fr)}.calendar-filter-rail{padding:7px}.calendar-filter-entry{font-size:10px}}@media(max-width:650px){.calendar-planner{grid-template-columns:1fr}.calendar-filter-rail{position:static;display:flex;flex-wrap:wrap;gap:4px}.calendar-filter-rail h3{width:100%}.calendar-filter-entry{width:auto;max-width:130px}.planner-days,.planner-spans,.planner-timed{min-width:700px}}

.section-banner{min-height:168px;margin:0 0 22px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:space-between;gap:18px}.section-banner-sites{background-image:linear-gradient(90deg,#06234455,transparent),url('/sites-banner.webp')}.section-banner-tools{background-image:linear-gradient(90deg,#06234455,transparent),url('/tools-banner.webp')}.section-banner h1{color:white;margin:0 0 10px}.section-banner p{color:#dceeff;max-width:560px;margin:0}.section-banner-action{position:relative;z-index:1}.section-banner-action button{background:#fff;color:#125fc5;white-space:nowrap}@media(max-width:650px){.section-banner{align-items:flex-start;flex-direction:column;background-position:65% center;padding:24px}.section-banner p{max-width:90%;text-shadow:0 1px 4px #062344}.section-banner h1{font-size:28px}}

/* Bereichsbanner müssen die allgemeine Wasserbanner-Regel übersteuern. */
html .welcome-banner.section-banner-sites,html[data-theme=dark] .welcome-banner.section-banner-sites{background-image:linear-gradient(90deg,#06234455,transparent),url('/sites-banner.webp')}
html .welcome-banner.section-banner-tools,html[data-theme=dark] .welcome-banner.section-banner-tools{background-image:linear-gradient(90deg,#06234455,transparent),url('/tools-banner.webp')}
.calendar-planner.calendar-planner-wide{grid-template-columns:minmax(0,1fr);gap:0}.calendar-planner-wide .planner-days,.calendar-planner-wide .planner-spans,.calendar-planner-wide .planner-timed{grid-template-columns:42px repeat(7,minmax(0,1fr))}.calendar-planner-wide .planner-scroll{max-height:78vh}.calendar-planner-wide .planner-timed .week-event{padding:5px 3px 2px}.calendar-planner-wide .planner-timed .week-block-content{gap:3px}.calendar-planner-wide .planner-timed .week-block-content b{white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.25;font-size:11px;max-height:100%;overflow:hidden}.calendar-planner-wide .planner-timed .week-block-content small{font-size:10px;line-height:1.2}.calendar-planner-wide .planner-timed .week-block-content small:first-child{white-space:nowrap;text-overflow:clip}.calendar-planner-wide .planner-timed .week-block-content small:last-child{display:none}.calendar-planner-wide .planner-span-event{font-size:11px;height:23px}.calendar-planner-wide .week-head{font-size:13px}.calendar-planner-wide .planner-timed .week-hours>span{font-size:10px}.calendar-planner-wide .week-event .provisional-badge{display:none}@media(max-width:650px){.calendar-planner-wide .planner-days,.calendar-planner-wide .planner-spans,.calendar-planner-wide .planner-timed{min-width:700px}}

/* Auch Spesen-Kacheln erhalten kontrastreiche, vollständige Piktogramme. */
.stats .stat-modern>.stat-badge{--badge-ink:#1378ef;background:linear-gradient(135deg,#0788ff,#0757e6);color:#fff;flex:0 0 62px;width:62px;height:62px;min-width:62px;max-width:62px;min-height:62px;max-height:62px;border-radius:50%;padding:0;aspect-ratio:1}.stats .stat-modern>.badge-purple{--badge-ink:#8534df;background:linear-gradient(135deg,#b23bff,#7824e0);color:#fff}.stats .stat-badge svg{width:32px;height:32px;display:block}.stats .stat-copy{display:block;margin-top:12px}.stats .stat-copy .value{display:block}.stats .stat-copy .caption{display:block}html[data-theme=dark] .stats .stat-modern>.stat-badge{color:white}

html .welcome-banner.section-banner-account,html[data-theme=dark] .welcome-banner.section-banner-account{background-image:linear-gradient(90deg,#06234455,transparent),url('/account-banner.webp')}
html .welcome-banner.section-banner-assignments,html[data-theme=dark] .welcome-banner.section-banner-assignments{background-image:linear-gradient(90deg,#06234455,transparent),url('/assignments-banner.webp')}

html .welcome-banner.section-banner-expenses,html[data-theme=dark] .welcome-banner.section-banner-expenses{background-image:linear-gradient(90deg,#06234455,transparent),url('/expenses-banner.webp')}
.section-banner-expenses .section-banner-action{display:flex;gap:10px;flex-wrap:wrap}
/* TimeSafe import: explicit review, compact source mapping, touch-friendly checkboxes. */
.timesafe-upload-controls{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:18px 0}
.timesafe-upload-controls .month-control{min-width:280px}
.timesafe-review{min-width:950px}.timesafe-review td{vertical-align:top}.timesafe-review td:nth-child(2){min-width:250px;max-width:340px}.timesafe-review td:nth-child(2)>small{display:block;margin:5px 0 10px;color:var(--muted,#66788f)}
.timesafe-review input:not([type=checkbox]){min-width:95px;width:115px}.timesafe-review select{width:100%;min-width:240px}.timesafe-review details{font-size:12px;margin-top:10px}.timesafe-review details p{overflow-wrap:anywhere}
.timesafe-import input[type=checkbox]{width:23px;height:23px;min-width:23px;accent-color:#1677ef;cursor:pointer}
.timesafe-check{display:flex;align-items:center;gap:12px;margin:20px 0}.timesafe-import .notice{margin:16px 0}.timesafe-import #timesafe-confirm{margin-top:26px;padding-top:22px;border-top:1px solid #dce6f1}
html[data-theme=dark] .timesafe-import #timesafe-confirm{border-color:#344c6b}
@media(max-width:650px){.timesafe-upload-controls{display:block}.timesafe-upload-controls>button{margin-top:16px;width:100%}.timesafe-upload-controls .month-control{min-width:0}}
/* Clear team balance lists and one shared employee filter. */
.balance-filters{align-items:center}.balance-filters label{min-width:280px;flex:1;max-width:430px}.balance-filter-count{display:flex;flex-direction:column;gap:5px;flex:1}.balance-filter-count small{color:var(--muted,#71819b);font-size:12px}
.team-balance-card tbody td{padding-top:17px;padding-bottom:17px;vertical-align:middle}.team-balance-card .person strong{font-size:14px}.team-balance-card .person .avatar{width:42px;height:42px;flex:0 0 42px}
.balance-person-button{display:block;background:transparent!important;color:inherit!important;border:0!important;padding:0;text-align:left;box-shadow:none!important}.balance-person-button:hover strong{text-decoration:underline}.balance-person-button .person{pointer-events:none}
.balance-pill{display:inline-flex;align-items:center;justify-content:center;min-width:105px;padding:10px 14px;border-radius:10px;font-size:16px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}
.balance-holiday{background:#e5f6ee;color:#16825b}.balance-overtime{background:#fff1dd;color:#a9640c}.balance-negative{background:#ffebec;color:#bd3d4b}.balance-missing{background:#edf1f6;color:#8494a9}
.balance-report-date{display:block;white-space:nowrap;font-size:13px}.balance-source{display:block;margin-top:5px;color:var(--muted,#71819b);font-size:11px}.balance-attendance{white-space:nowrap;font-variant-numeric:tabular-nums}.balance-edit-cell{text-align:right;white-space:nowrap}.balance-edit-cell button{font-size:12px;padding:9px 12px}
.balance-import-panel>summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}.balance-import-panel>summary::-webkit-details-marker{display:none}.balance-import-panel>summary>svg{width:25px;height:25px;flex:0 0 25px;color:#1677ef}.balance-import-panel>summary>span:nth-child(2){flex:1}.balance-import-panel>summary small{display:block;margin-top:5px;font-size:12px;color:var(--muted,#71819b)}.balance-import-panel>.timesafe-import{margin:22px 0 0;padding:22px 0 0;border:0;border-top:1px solid var(--line,#dde5ef);box-shadow:none;background:transparent}.balance-import-history{margin-top:20px}
html[data-theme=dark] .balance-holiday{background:#153f38;color:#7fdbba}html[data-theme=dark] .balance-overtime{background:#493823;color:#f2c281}html[data-theme=dark] .balance-negative{background:#4b2b3b;color:#ffa6ae}html[data-theme=dark] .balance-missing{background:#283b54;color:#b3bfd0}
@media(max-width:650px){.balance-filters{align-items:stretch}.balance-filters label{min-width:0;max-width:none;width:100%;flex-basis:100%}.balance-filter-count{min-width:160px}.team-balance-card table{min-width:650px}}

html .welcome-banner.section-banner-balances,html[data-theme=dark] .welcome-banner.section-banner-balances{background-image:linear-gradient(90deg,#06234455,transparent),url('/balances-banner.webp')}

.alca-product{display:grid;grid-template-columns:150px minmax(200px,1fr) minmax(240px,.8fr);gap:26px;align-items:center}.alca-product>img{width:150px;height:230px;object-fit:contain;background:#edf3f8;border-radius:14px}.alca-product h2{font-size:25px;margin:10px 0}.alca-label-dose{padding:24px;background:#eaf4ff;border:1px solid #cce0f7;border-radius:14px;display:flex;flex-direction:column;gap:10px}.alca-label-dose>span{font-size:12px;color:#5d7899}.alca-label-dose>strong{font-size:27px;color:#165dad}.alca-label-dose>b{font-size:16px;color:#205e95}.alca-label-dose>small{font-size:12px;color:#5d7899}html[data-theme=dark] .alca-label-dose{background:#203d59;border-color:#345778}html[data-theme=dark] .alca-label-dose>strong,html[data-theme=dark] .alca-label-dose>b{color:#a8d7ff}html[data-theme=dark] .alca-label-dose>span,html[data-theme=dark] .alca-label-dose>small{color:#bed0e3}@media(max-width:850px){.alca-product{grid-template-columns:110px 1fr;gap:18px}.alca-product>img{width:110px;height:180px}.alca-label-dose{grid-column:1/-1}}

.alca-product>img{background:transparent;width:180px;height:250px}.alca-product{grid-template-columns:180px minmax(200px,1fr) minmax(240px,.8fr)}.alca-product h2{color:#1269c7}.alca-card-title{display:flex;align-items:center;gap:12px;margin-bottom:22px}.alca-card-title h2{margin:0}.alca-card-title svg{width:30px;height:30px;flex:0 0 30px;color:#0876cf}.alca-amount{background:#eaf5ff;border-radius:15px;padding:25px;text-align:center}.alca-amount strong{font-size:48px;line-height:1.15;color:#0865bd}.alca-amount b{font-size:24px;color:#496487}#alca-form>button[type=submit]{width:100%;margin-top:12px}html[data-theme=dark] .alca-product h2{color:#8fcaff}html[data-theme=dark] .alca-amount{background:#203d59}html[data-theme=dark] .alca-amount strong{color:#9bd0ff}html[data-theme=dark] .alca-amount b{color:#c4d5e8}@media(max-width:850px){.alca-product{grid-template-columns:110px 1fr}.alca-product>img{width:110px;height:180px}.alca-amount strong{font-size:40px}}
