:root{--bg:#f3f5f7;--card:#fff;--ink:#17212b;--muted:#647182;--line:#dfe5eb;--accent:#185adb;--accent2:#0e46ad;--danger:#b42318;--warning:#b54708;--ok:#067647;--shadow:0 16px 40px rgba(20,32,50,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;background-color:var(--bg);background-image:var(--bg-image,none);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.shell{min-height:100vh}.auth-card,.panel,.status-card,.action-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-card{max-width:520px;margin:7vh auto;padding:34px}.auth-card.wide{max-width:700px}.brandmark{display:inline-flex;align-items:center;justify-content:center;min-width:48px;font-weight:900;letter-spacing:.08em;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);padding:8px 11px;border-radius:10px}.login-brand,.topbar-brand{display:flex!important;align-items:center;gap:12px}.login-brand>div:last-child,.topbar-brand>div:last-child{display:grid}.login-brand strong{font-size:1.05rem}.login-brand span,.topbar-brand span{font-size:.85rem;color:var(--muted)}.tenant-logo-wrap{display:flex;align-items:center}.tenant-logo{display:block;max-width:260px;max-height:96px;object-fit:contain}.topbar .tenant-logo{max-width:150px;max-height:50px}h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.02;margin:18px 0 12px}h2{margin-top:0}.lead{color:var(--muted);font-size:1.05rem;line-height:1.55}.lead.small{font-size:.95rem}.stack{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-weight:700;font-size:.92rem}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #cbd4de;border-radius:10px;background:#fff;font:inherit;color:inherit}textarea{resize:vertical}input[type=color]{height:46px;padding:4px}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 16%,transparent);border-color:var(--accent)}button,.topbar a,.button-link{font:inherit}.primary,.break,.danger,.button-link{border:0;border-radius:11px;padding:13px 18px;font-weight:800;cursor:pointer}.primary,.button-link.primary{background:var(--accent);color:#fff}.primary:hover,.button-link.primary:hover{background:var(--accent2)}.button-link{display:inline-flex;text-decoration:none;justify-content:center;margin-top:18px}.break{background:#eef3f8;color:#152536}.danger{background:#feeceb;color:var(--danger)}.code{font-size:1.7rem;letter-spacing:.3em;text-align:center}.privacy-note,.hint{font-size:.8rem;color:var(--muted);line-height:1.5}.privacy-note{margin-top:20px}.hint{font-weight:400}.alert{padding:12px 14px;border-radius:10px;margin:16px 0}.error{background:#feeceb;color:#8a1c13}.warn{background:#fff4e5;color:#8d4200}.success{background:#eaf8f1;color:#05603a}.secret{background:#f6f8fa;border:1px dashed #abb8c6;padding:15px;border-radius:10px;display:grid;gap:7px;margin:18px 0}.secret.compact{margin:12px 0}.secret strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.qrbox{margin-top:10px;background:#fff;padding:14px;border-radius:12px;display:inline-block;min-height:248px;min-width:248px}.qrbox canvas,.qrbox img{display:block!important}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,4vw);background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar>div{display:grid}.topbar nav{display:flex;gap:10px;align-items:center}.topbar a{text-decoration:none;color:var(--accent);font-weight:700}.dashboard{max-width:1000px;margin:42px auto;padding:0 20px;display:grid;grid-template-columns:1.45fr .75fr;gap:22px}.status-card,.action-card,.panel{padding:26px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted);font-size:.75rem}.status-card h1{font-size:2.6rem}.status-card.working{border-top:5px solid var(--ok)}.status-card.break{border-top:5px solid var(--warning)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.metrics>div{background:color-mix(in srgb,var(--bg) 70%,white);border-radius:12px;padding:14px;display:grid;gap:4px}.metrics span{color:var(--muted);font-size:.82rem}.metrics strong{font-size:1.25rem}.action-card form{display:grid;gap:12px}.admin-grid{max-width:1350px;margin:30px auto;padding:0 20px;display:grid;grid-template-columns:380px 1fr;gap:20px}.full{grid-column:1/-1}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.brand-colors{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px}.domains{padding:12px 14px;background:color-mix(in srgb,var(--bg) 70%,white);border-radius:10px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px 9px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.flag{color:var(--warning);font-weight:900}details code{display:block;word-break:break-all;padding:10px;background:#f7f9fb;border-radius:8px;margin-top:8px}.logout-card{text-align:left}footer{text-align:center;padding:36px 20px;color:var(--muted);font-size:.78rem}@media(max-width:900px){.brand-colors{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){body{background-attachment:scroll}.dashboard,.admin-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.full{grid-column:auto}.topbar{align-items:flex-start;gap:15px}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.two,.brand-colors{grid-template-columns:1fr}.auth-card{margin:20px;padding:24px}.qrbox{min-width:0;max-width:100%;overflow:auto}}
.page-wide{max-width:1350px;margin:30px auto;padding:0 20px;display:grid;gap:20px}.page-narrow{max-width:900px;margin:30px auto;padding:0 20px;display:grid;gap:20px}.section-title{font-size:clamp(2rem,4vw,3rem);margin-top:0}.compact-form{min-width:520px;margin-top:12px}.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;min-width:180px}.assignment-form{margin:16px 0}.decision-form{display:grid;gap:8px;min-width:240px}.button-row{display:flex;gap:8px}.button-row button{flex:1}.link-button{border:0;background:none;color:var(--accent);font-weight:800;cursor:pointer;padding:4px}.wrapcell{white-space:normal;min-width:220px;max-width:420px}.checkline{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px}.checkline input{width:auto}.panel a{color:var(--accent);font-weight:700;text-decoration:none}.panel a:hover{text-decoration:underline}
@media(max-width:780px){.compact-form{min-width:0}.inline-form input,.inline-form select{width:100%}.button-row{flex-direction:column}}
pre{max-width:520px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f7f9fb;border-radius:8px;padding:10px;font-size:.78rem}
.branding-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.background-source{padding:12px 14px;background:color-mix(in srgb,var(--bg) 72%,white);border-radius:10px;font-size:.88rem}.auth-card .tenant-logo-wrap{margin-bottom:8px}.auth-card .tenant-logo{max-width:260px;max-height:96px}.login-brand .tenant-logo{max-width:260px;max-height:96px}@media(max-width:780px){.branding-media-grid{grid-template-columns:1fr}.auth-card .tenant-logo,.login-brand .tenant-logo{max-width:min(260px,80vw);max-height:90px}}
/* v0.3.3: großflächiges Firmenlogo im Login */
.login-logo-field{
    width:100%;
    aspect-ratio:3 / 1;
    max-height:160px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:12px;
    background:color-mix(in srgb,var(--card) 92%,var(--bg));
    margin-bottom:10px;
}
.login-logo-field .tenant-logo-wrap{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.login-logo-field .tenant-logo{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:center;
}
.login-logo-field .brandmark{
    font-size:1.3rem;
}
.login-product-label{
    margin-top:8px;
    color:var(--muted);
    font-size:.88rem;
    font-weight:600;
}
.login-company-title{
    margin-top:6px;
}
@media(max-width:780px){
    .login-logo-field{max-height:none;}
}
.danger-zone{border:2px solid #d92d20;background:color-mix(in srgb,var(--card) 92%,#feeceb)}
.delete-impact{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:18px 0}.delete-impact span{padding:12px;background:var(--card);border:1px solid var(--line);border-radius:10px}.filter-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.6fr auto auto;gap:12px;align-items:end;margin-top:16px}.filter-grid .button-link{margin-top:0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef3f8;font-size:.75rem;font-weight:800}.badge.critical{background:#feeceb;color:var(--danger)}.super-metrics{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.filter-grid{grid-template-columns:repeat(2,1fr)}.delete-impact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.filter-grid,.delete-impact,.super-metrics{grid-template-columns:1fr}}
/* v0.4 Demo Edition */
.alert.demo{background:#eef3ff;color:#203c88;border:1px solid #c9d6ff}.demo-notice{display:grid;gap:4px;padding:12px 14px;margin:16px 0;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,white);border:1px solid color-mix(in srgb,var(--accent) 25%,white)}.demo-notice strong{color:var(--accent)}.demo-notice span{font-size:.84rem;color:var(--muted);line-height:1.45}.demo-login-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 20px}.demo-login-card{display:grid;text-align:left;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;color:var(--ink)}.demo-login-card:hover{border-color:var(--accent);box-shadow:0 6px 18px rgba(20,32,50,.08)}.demo-login-card strong{color:var(--accent)}.demo-login-card span{font-size:.82rem}.demo-login-card code{font-size:.72rem;overflow:hidden;text-overflow:ellipsis}.demo-login-card small{color:var(--muted)}.demo-template-grid,.demo-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.demo-template-card,.demo-public-card{display:grid;gap:10px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.demo-template-card code,.demo-public-card code{white-space:normal;word-break:break-word}.demo-template-card span{font-size:.82rem;color:var(--muted)}.demo-template-card form{margin:4px 0}.demo-pill{background:#eef3ff;color:#24449a}.pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:800}.demo-public-card{border-top:5px solid var(--demo-accent);background:linear-gradient(180deg,var(--demo-bg),var(--card) 45%);color:var(--demo-ink)}.demo-public-card h2{margin:4px 0}.demo-public-card p{color:var(--muted);line-height:1.5}.demo-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.demo-feature-grid span{padding:12px;border-radius:10px;background:color-mix(in srgb,var(--bg) 75%,white)}
@media(max-width:900px){.demo-template-grid,.demo-public-grid,.demo-feature-grid{grid-template-columns:1fr 1fr}.demo-login-grid{grid-template-columns:1fr}}
@media(max-width:620px){.demo-template-grid,.demo-public-grid,.demo-feature-grid{grid-template-columns:1fr}}
/* v0.5 Urlaubsverwaltung */
.leave-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.leave-metrics>div{display:grid;gap:4px;padding:16px;border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,white)}.leave-metrics span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.leave-metrics strong{font-size:1.7rem}.leave-metrics small{color:var(--muted)}.history-list{margin:10px 0;padding-left:18px;display:grid;gap:7px;font-size:.82rem}.calendar-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.leave-calendar-list{display:grid;gap:8px}.leave-calendar-list article{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg) 72%,white)}
@media(max-width:780px){.leave-metrics{grid-template-columns:1fr 1fr}.calendar-head{align-items:stretch;flex-direction:column}.leave-calendar-list article{grid-template-columns:1fr}}
@media(max-width:480px){.leave-metrics{grid-template-columns:1fr}}


/* v0.6 Arbeitgeber-Auswertungen */
.report-filter-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(150px,1fr));
    gap:14px;
    align-items:end;
    margin-top:14px;
}
.report-filter-grid label{display:grid;gap:6px;font-weight:700;font-size:.88rem}
.report-filter-grid .hint{font-weight:500}
.report-filter-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;grid-column:1/-1}
.report-filter-actions .button-link{margin:0}
.live-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.live-filter select{min-width:220px}
.status-working{background:#e8f7ee;color:#17653a}
.status-break{background:#fff4dc;color:#855c00}
.status-completed{background:#eef3f8;color:#405267}
.status-not_recorded{background:#feeceb;color:#9f1e15}
.flag{background:#fff4dc;color:#7a5200;font-weight:800}
.report-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0;color:var(--muted);font-size:.86rem}
@media(max-width:1050px){.report-filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.report-filter-grid{grid-template-columns:1fr}.live-filter>*{width:100%}.live-filter select{min-width:0}}
/* v0.6.4 – Demo-Präsentation */
.demo-tenant-wordmark{width:min(100%,430px);min-height:84px;display:flex;align-items:center;gap:15px;padding:12px 16px;border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--card));overflow:hidden}.demo-tenant-wordmark>span{flex:0 0 54px;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:950;letter-spacing:.02em}.demo-tenant-wordmark>strong{font-size:clamp(1rem,3vw,1.45rem);letter-spacing:.04em;line-height:1.05}.demo-logo-industrial{border-radius:7px}.demo-logo-industrial>span{border-radius:4px}.demo-logo-industrial>strong{letter-spacing:.09em}.demo-logo-practice{background:color-mix(in srgb,var(--accent) 5%,white);border-radius:28px}.demo-logo-practice>span{border-radius:50%;font-size:1.65rem}.demo-logo-practice>strong{font-weight:750;letter-spacing:.02em}.demo-logo-agency{border:0;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 12%,white),var(--card));}.demo-logo-agency>span{border-radius:50%;box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 24%,transparent)}.demo-logo-agency>strong{font-weight:950;letter-spacing:.13em}.topbar .demo-tenant-wordmark{width:auto;min-height:0;padding:4px 8px;gap:8px;border-radius:10px}.topbar .demo-tenant-wordmark>span{width:32px;height:32px;flex-basis:32px;border-radius:8px;font-size:.78rem}.topbar .demo-tenant-wordmark>strong{font-size:.82rem;letter-spacing:.03em}.login-logo-field .demo-tenant-wordmark{min-height:112px;justify-content:flex-start}.demo-role-grid{align-items:stretch}.demo-role-form{margin:0}.demo-role-form .demo-login-card{width:100%;height:100%;grid-template-rows:auto auto auto 1fr auto}.demo-role-icon{width:38px;height:38px;border-radius:10px;display:grid!important;place-items:center;background:color-mix(in srgb,var(--accent) 11%,white);color:var(--accent);font-weight:950;font-size:.72rem}.demo-login-card small{line-height:1.4}.demo-login-card b{color:var(--accent);font-size:.78rem;margin-top:5px}.demo-manual-login{margin-top:12px;border-top:1px solid var(--line);padding-top:14px}.demo-manual-login summary{cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:750}.demo-public-brand{display:flex;align-items:center;gap:9px;margin-bottom:2px}.demo-public-brand>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--demo-accent);color:#fff;font-weight:950;font-size:.72rem}.demo-public-brand>strong{font-size:.82rem;letter-spacing:.06em}.demo-public-logo-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:6px;padding:8px 10px;border-radius:18px;background:color-mix(in srgb,var(--demo-accent) 6%,white);border:1px solid color-mix(in srgb,var(--demo-accent) 15%,white)}.demo-public-logo{display:block;width:100%;max-width:360px;aspect-ratio:3/1;object-fit:contain}.demo-highlight-list{display:flex;flex-wrap:wrap;gap:6px}.demo-highlight-list span{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--demo-accent) 8%,white);border:1px solid color-mix(in srgb,var(--demo-accent) 20%,white);font-size:.7rem;font-weight:750;color:var(--demo-ink)}
@media(max-width:620px){.login-logo-field .demo-tenant-wordmark{min-height:88px}.demo-tenant-wordmark>span{width:46px;height:46px;flex-basis:46px}.demo-tenant-wordmark>strong{font-size:1rem}}
/* v0.7 Betreiber-Systemcheck */
.health-hero{display:flex;justify-content:space-between;align-items:center;gap:24px}.health-score{display:grid;justify-items:center;gap:7px;min-width:180px;padding:20px;border-radius:16px;background:color-mix(in srgb,var(--bg) 72%,white)}.health-score strong{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem}.health-score span{font-size:.78rem;color:var(--muted);text-align:center}.health-hero.health-ok .health-score strong{background:#dff6e9;color:#087044}.health-hero.health-warn .health-score strong{background:#fff3d8;color:#8a5a00}.health-hero.health-error .health-score strong{background:#feeceb;color:var(--danger)}.health-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.health-check{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,white)}.health-indicator{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:950}.health-check strong{display:block;font-size:.88rem}.health-check p{margin:3px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4;overflow-wrap:anywhere}.health-check.health-ok .health-indicator{background:#dff6e9;color:#087044}.health-check.health-warn .health-indicator{background:#fff3d8;color:#8a5a00}.health-check.health-error .health-indicator{background:#feeceb;color:var(--danger)}
@media(max-width:780px){.health-hero{align-items:stretch;flex-direction:column}.health-score{min-width:0}.health-list{grid-template-columns:1fr}}
