:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--panel:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;--accent:#0f766e;--offen:#9ca3af;--geplant:#2563eb;--erledigt:#16a34a;--abgesagt:#dc2626;--unconf:#eab308;--off:#f1f2f4;--today:#ecfdf5;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:6px;min-height:34px;padding:6px 8px}textarea{width:100%}button{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;min-height:34px;padding:6px 12px}button:hover{border-color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--abgesagt);border-color:var(--abgesagt)}button.link{color:var(--accent);background:0 0;border:none;min-height:0;padding:4px}button:disabled{opacity:.5;cursor:default}button.wide{width:100%;margin-top:8px;padding:10px}label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}label>input,label>select,label>textarea{color:var(--text);font-size:14px}label.inline{color:var(--text);flex-direction:row;align-items:center;gap:6px}.lbl{color:var(--muted);margin:8px 0 4px;font-size:12px}.small{font-size:12px}.muted{color:var(--muted)}.err{color:var(--abgesagt)}.grow,.spacer{flex:1}.pad{padding:16px}.narrow{max-width:980px;margin:0 auto}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px}.card h2{margin:0 0 12px;font-size:17px}.login{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.login h1{margin:0;font-size:22px}.row2{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:6px 0;display:flex}.dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.top{z-index:20;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:48px;padding:0 12px;display:flex;position:sticky;top:0}.brand{color:var(--accent);letter-spacing:.5px;font-weight:800}.top nav{gap:2px;display:flex;overflow-x:auto}.top nav a{color:var(--text);white-space:nowrap;border-radius:6px;padding:8px 10px;text-decoration:none}.top nav a.on{background:var(--today);color:var(--accent);font-weight:600}@media (width<=700px){.hide-sm{display:none}.top{gap:6px}}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.period{margin-left:6px}.seg{display:inline-flex}.seg button{border-radius:0}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-radius:0 6px 6px 0}.seg button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.board-main{align-items:flex-start;display:flex}.board-scroll{flex:1;max-height:calc(100vh - 100px);overflow:auto}.side{border-left:1px solid var(--line);background:var(--panel);flex-shrink:0;width:240px;max-height:calc(100vh - 100px);padding:12px;overflow:auto}.side h3{margin:4px 0;font-size:14px}@media (width<=900px){.board-main{flex-direction:column}.side{border-left:none;border-top:1px solid var(--line);width:100%;max-height:none}}.job{border:1px solid var(--line);border-left:4px solid var(--offen);cursor:grab;background:var(--panel);border-radius:6px;margin:6px 0;padding:6px 8px}.newjob{flex-direction:column;gap:6px;margin-top:8px;display:flex}table.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:760px}table.grid th,table.grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;background:var(--panel)}table.grid thead th{z-index:5;cursor:pointer;padding:6px;font-size:13px;font-weight:600;position:sticky;top:0}table.grid th.name{z-index:4;text-align:left;white-space:nowrap;text-overflow:ellipsis;width:130px;padding:8px;font-weight:600;position:sticky;left:0;overflow:hidden}table.grid thead th.name{z-index:6}table.grid td{height:70px;min-height:70px;padding:4px}table.grid .off{background:var(--off)}table.grid .today{background:var(--today)}table.grid.monat{min-width:1400px}table.grid.monat th.name{width:60px}table.grid.monat thead th{padding:3px;font-size:11px}table.grid.monat td{height:40px;padding:2px}.hol{color:var(--abgesagt);font-size:10px;font-weight:400}.appt{border:1px solid var(--line);border-left:4px solid var(--geplant);background:var(--panel);cursor:pointer;border-radius:5px;margin-bottom:3px;padding:3px 5px;font-size:12px;line-height:1.3;position:relative;overflow:hidden}.appt[draggable=true]{cursor:grab}.appt .t{color:var(--muted);font-size:11px}.appt .ti{font-weight:600}.appt .cu,.job .cu,.mycard .cu{color:var(--muted);font-size:12px}.appt .with{color:var(--accent)}.appt.compact{white-space:nowrap;text-overflow:ellipsis;border-left-width:3px;padding:1px 3px;font-size:10px}.st-geplant{border-left-color:var(--geplant)!important}.st-durchgefuehrt{opacity:.8;border-left-color:var(--erledigt)!important}.st-abgesagt{opacity:.6;text-decoration:line-through;border-left-color:var(--abgesagt)!important}.unconf{box-shadow:inset 0 0 0 2px var(--unconf)}.pill{border:1px solid var(--line);border-left-width:4px;border-radius:99px;padding:2px 8px;font-size:11px}.abs{background:#fde68a55;border-radius:4px;margin-bottom:3px;padding:2px 5px;font-size:11px;display:inline-block}.abs.req{border:1px dashed #b45309}.abs-urlaub{background:#fde68a88}.abs-krank{background:#fecaca88}.abs-privat{background:#ddd6fe88}.abs-schulung{background:#bae6fd88}.abs-frei{color:#111;background:#e5e7eb}.oncall{color:#fff;background:#b45309;border-radius:4px;margin:0 4px 3px 0;padding:0 4px;font-size:10px;font-weight:700;display:inline-block}.daygrid{min-width:900px}.dg-head,.dg-row{border-bottom:1px solid var(--line);background:var(--panel);display:flex}.dg-head{z-index:5;position:sticky;top:0}.daygrid .name{border-right:1px solid var(--line);background:var(--panel);z-index:3;flex-shrink:0;width:150px;padding:8px;font-weight:600;position:sticky;left:0}.hour{color:var(--muted);border-right:1px solid var(--line);flex:1;padding:4px;font-size:11px}.dg-track{background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(100% / var(--hours,12) - 1px), var(--line) calc(100% / var(--hours,12) - 1px), var(--line) calc(100% / var(--hours,12)));flex:1;min-height:64px;position:relative}.dg-item{padding-right:2px;position:absolute;top:4px;bottom:4px}.dg-item .appt{height:100%}.abs-bar{opacity:.8;pointer-events:none;padding:2px 4px;font-size:11px;position:absolute;top:0;bottom:0}.legend{margin-top:16px}.legend div{margin:3px 0}.sw{border:1px solid var(--line);vertical-align:middle;border-left:4px solid;border-radius:3px;width:22px;height:12px;margin-right:4px;display:inline-block}.overlay{z-index:50;background:#0006;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border-radius:12px;width:100%;max-width:620px;max-height:92vh;padding:16px;overflow:auto}.dialog-head{align-items:center;gap:8px;display:flex}.dialog-head h2{flex:1;margin:0;font-size:18px}.dialog fieldset{border:none;margin:0;padding:0}.dialog h3{margin:16px 0 4px;font-size:14px}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:99px;min-height:30px;padding:4px 12px}.chip.on{color:#fff}.picker{flex-direction:column;gap:4px;margin:6px 0;display:flex}.pick{text-align:left}.note{background:var(--bg);border-radius:6px;margin:4px 0;padding:6px 8px}.note.withdrawn{opacity:.6;text-decoration:line-through}.hist{border-bottom:1px dashed var(--line);padding:2px 0}.toast{color:#fff;z-index:60;cursor:pointer;background:#1f2937;border-radius:8px;max-width:90vw;padding:10px 16px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.mytag{max-width:640px;margin:0 auto}.myday{padding:8px 12px}.myday h2{margin:12px 0 8px;font-size:16px}.myday.today h2{color:var(--accent)}.mycard{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--geplant);border-radius:8px;margin-bottom:8px;padding:10px}.mc-head{cursor:pointer;gap:10px;display:flex}.mc-head .t{min-width:92px;font-weight:700}.mycard .ti{font-weight:600}.mc-body{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.nav{color:var(--accent);font-weight:600;text-decoration:none}.desc{white-space:pre-wrap}.oncall-line{margin-bottom:6px}table.list{border-collapse:collapse;width:100%}table.list th,table.list td{text-align:left;border-bottom:1px solid var(--line);padding:6px}.faded{opacity:.5}.absrow{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.invite{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.invite input{flex:1;min-width:200px}.oc-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.share{margin:6px 0;font-size:15px}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-text-size-adjust:100%}@media (pointer:coarse){input,select,textarea{font-size:16px!important}}.pushbox{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:8px;padding:8px 10px}.alerts{border:1px solid var(--unconf);background:#fef9c355;border-radius:6px;margin-bottom:10px;padding:6px 8px}.alerts .al{border-bottom:1px dashed var(--line);align-items:flex-start;gap:6px;padding:3px 0;font-size:12px;display:flex}.alerts .al:last-child{border-bottom:none}.photos{margin:8px 0}.thumbs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;margin-bottom:6px;display:grid}.thumbs figure{margin:0}.thumbs img{aspect-ratio:1;object-fit:cover;cursor:zoom-in;border-radius:6px;width:100%;display:block}.thumbs figure.withdrawn img{opacity:.4}.photo-add{display:inline-block}.btnlike{border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--text);border-radius:6px;padding:8px 12px;font-size:14px;display:inline-block}.bigphoto{border-radius:8px;max-width:96vw;max-height:92vh}.kunden{min-height:calc(100vh - 48px);display:flex}.klist{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;flex-shrink:0;gap:4px;width:320px;max-height:calc(100vh - 48px);padding:10px;display:flex;overflow:auto}.kdetail{flex:1;max-width:900px}.wide-input{width:100%}.krow{text-align:left;background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;padding:6px 8px;display:flex}.krow.on{background:var(--today);border-color:var(--accent)}.hrow{border-left:4px solid var(--geplant);border-bottom:1px solid var(--line);cursor:pointer;gap:10px;padding:6px 8px;display:flex}.hrow .d{min-width:110px;color:var(--muted);font-size:12px}.hrow.st-abgesagt{text-decoration:none}.hrow.st-abgesagt b{text-decoration:line-through}.card h3{margin:14px 0 4px;font-size:14px}@media (width<=800px){.kunden{flex-direction:column}.klist{border-right:none;border-bottom:1px solid var(--line);width:100%;max-height:40vh}}.modrow{margin:2px 0}.modrow button{min-width:36px}.yeargrid td{text-align:center;cursor:pointer;font-size:12px;height:auto!important}.yeargrid .ycell{flex-direction:column;align-items:center;gap:2px;padding:4px 0;display:flex}.yeargrid .yn{font-weight:700}.yeargrid .yu{color:#b45309}.yeargrid .yb{color:var(--muted)}.qr{background:#fff;border-radius:8px;width:220px;max-width:100%;margin:8px auto;padding:6px}.qr svg{width:100%;height:auto;display:block}code.secret{letter-spacing:1px;word-break:break-all;-webkit-user-select:all;user-select:all;font-size:15px}.login ol{margin:4px 0 8px;padding-left:20px}details.help{border-top:1px solid var(--line);padding:10px 0}details.help summary{cursor:pointer;font-size:15px;font-weight:600}details.help p{margin:8px 0;line-height:1.5}.leg{vertical-align:middle;border-radius:2px;width:10px;height:10px;display:inline-block}.leg.geplant{background:var(--geplant)}.leg.erledigt{background:var(--erledigt)}.leg.abgesagt{background:var(--abgesagt)}.fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;border-radius:999px;padding:8px 14px;font-size:13px;position:fixed;box-shadow:0 2px 8px #0002}.fb{border-top:1px solid var(--line);padding:10px 0}.ok{color:var(--erledigt)}@media print{.fab{display:none}}
