:root{--blue:#003b71;--red:#e2001a;--bg:#f4f6f9;--card:#fff;--text:#1c2733;--muted:#667085;--line:#d9dee7;--ok:#087443;--warn:#9a6700}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}.top{position:fixed;top:0;left:0;right:0;height:58px;background:var(--blue);color:#fff;display:flex;align-items:center;padding:0 18px;z-index:5}.brand{font-weight:800;color:#fff;font-size:1.25rem}.tenant{margin-left:20px;opacity:.85}.navtoggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.4rem}.side{position:fixed;top:58px;bottom:0;width:230px;background:#fff;border-right:1px solid var(--line);padding:12px}.side a{display:block;padding:10px 12px;border-radius:8px;color:var(--text)}.side a:hover{background:#edf3f9}.content{margin-left:230px;padding:82px 24px 40px;max-width:1500px}.authmain{max-width:460px;margin:8vh auto;padding:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 1px 2px #00000008}.metric{font-size:2rem;font-weight:800;margin-top:8px}.muted{color:var(--muted)}label{display:block;font-weight:650;margin:10px 0 5px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #b9c2cf;border-radius:8px;background:#fff;font:inherit}textarea{min-height:90px}.row{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.btn{display:inline-block;padding:10px 14px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}.btn.red{background:var(--red)}.btn.secondary{background:#e8edf3;color:#243447}.btn.ok{background:var(--ok)}.btn.small{padding:6px 9px;font-size:.9rem}table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#edf2f7}.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px;background:#eaf2ff}.alert.error{background:#ffe8e8;color:#8a1010}.alert.success{background:#e8f7ef;color:#075d36}.alert.warning{background:#fff3cd;color:#6b4f00}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e9edf2;font-size:.8rem}.badge.ok{background:#d9f2e5;color:#075d36}.badge.warn{background:#fff0c2;color:#6b4f00}.badge.red{background:#ffdede;color:#8a1010}.clockbox{text-align:center;padding:28px}.clocktime{font-size:2.5rem;font-weight:800}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.calendar{display:grid;grid-template-columns:120px repeat(7,minmax(140px,1fr));overflow:auto}.calendar>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-height:65px;background:#fff}.calendar .head{font-weight:700;background:#edf2f7;min-height:auto}.shift{padding:7px;border-left:4px solid var(--blue);background:#eaf2f9;border-radius:6px;margin-bottom:5px;font-size:.88rem}.dangerline{border-left-color:var(--red);background:#fff0f0}@media(max-width:850px){.navtoggle{display:block}.side{transform:translateX(-100%);transition:.2s;z-index:4}.navopen .side{transform:none}.content{margin-left:0;padding:76px 14px}.row{display:block}.row>*{margin-bottom:10px}.calendar{grid-template-columns:90px repeat(7,130px)}table{display:block;overflow:auto}}

/* PraxisZeit 1.1.0: Darkmode und Sicherheitsansichten */
.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.iconbtn{border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;padding:7px 10px;font-size:1.1rem;cursor:pointer}.top .iconbtn:hover{background:#ffffff20}.auth-theme{display:flex;justify-content:flex-end}.auth-theme .iconbtn{border-color:var(--line);background:var(--card)}.security-note{font-size:.9rem;color:var(--muted);margin-top:12px}.scope-pill{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:999px;font-size:.8rem}.table-wrap{overflow:auto}.empty{padding:24px;text-align:center;color:var(--muted)}
html[data-theme="dark"]{--bg:#10151c;--card:#18212b;--text:#edf2f7;--muted:#a8b3c2;--line:#344151;--ok:#35c486;--warn:#f2c35c;--blue:#155f9f;color-scheme:dark}html[data-theme="dark"] body{background:var(--bg);color:var(--text)}html[data-theme="dark"] .side,html[data-theme="dark"] table,html[data-theme="dark"] .calendar>div{background:var(--card)}html[data-theme="dark"] .side a{color:var(--text)}html[data-theme="dark"] .side a:hover,html[data-theme="dark"] th,html[data-theme="dark"] .calendar .head{background:#202c38}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#111923;color:var(--text);border-color:#48586a}html[data-theme="dark"] .btn.secondary{background:#2a3745;color:var(--text)}html[data-theme="dark"] .shift{background:#17324a}html[data-theme="dark"] .dangerline{background:#431f24}html[data-theme="dark"] code{color:#e5edf7}
.tenant-login{margin:12px 0}.tenant-login summary{cursor:pointer;color:var(--muted)}.subcard{padding:12px;border:1px solid var(--border);border-radius:10px;margin:10px 0}.checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:12px;align-items:end}@media(max-width:700px){.form-row{grid-template-columns:1fr}}
.update-banner{border:2px solid var(--red);font-weight:650}.update-banner a{text-decoration:underline}.status-list{display:grid;gap:8px}.status-item{display:flex;justify-content:space-between;gap:16px;padding:10px;border:1px solid var(--line);border-radius:8px}.status-good{color:var(--ok);font-weight:700}.status-bad{color:var(--red);font-weight:700}.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inline-form>div{min-width:160px;flex:1}
