:root{font-family:Arial,Helvetica,sans-serif;color:#21252c;background:#f5f3ee;font-size:16px;--red:#bb1320;--slate:#3e4b5e;--border:#dfdcd4;--muted:#626975}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--border);border-radius:8px;padding:11px 17px;background:#fff;color:#272d36;text-decoration:none;cursor:pointer;line-height:1.3}button:hover,.button:hover{border-color:#a7a7a7;background:#f8f8f8}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--red);color:#fff;border-color:var(--red)}.primary:hover{background:#9d0e19;color:#fff;border-color:#9d0e19}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4381b4;outline-offset:3px}input,select{width:100%;border:1px solid #bdbfc2;border-radius:7px;padding:12px;background:#fff;color:#252932;min-height:45px}label{display:block;font-size:.9rem;margin:14px 0 7px}h1{font-size:2.3rem;line-height:1.1;margin:14px 0 18px;letter-spacing:-.04em}h2{font-size:1.45rem;margin:0 0 14px}h3{font-size:1.15rem;line-height:1.4}p{line-height:1.55}.muted{color:var(--muted);font-size:.9rem}.eyebrow{letter-spacing:.18em;font-size:.69rem;font-weight:700;color:var(--slate);margin:0}.full{width:100%}[hidden]{display:none!important}#loading{padding:40px;color:var(--muted)}.portal{max-width:1500px;margin:auto;padding:42px 48px 24px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px}.logo{width:240px;max-width:32%;height:auto;mix-blend-mode:multiply}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:36px}.topbar>span{font-size:.9rem;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2{margin:0}.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.app-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;background:white;border:1px solid var(--border);border-radius:13px;overflow:hidden;min-height:290px;transition:box-shadow .15s,transform .15s}.app-card:hover{box-shadow:0 8px 22px #29334413;transform:translateY(-2px)}.card-body{padding:28px 28px 22px;flex:1}.app-icon{display:inline-flex;padding:12px;border-radius:12px;background:#fbecef;color:var(--red);margin-bottom:18px}.app-icon svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-card h3{font-size:1.45rem;margin:0 0 10px;letter-spacing:-.02em}.app-card p{color:var(--muted);margin:0}.card-bottom{display:flex;justify-content:space-between;align-items:center;padding:17px 28px;border-top:1px solid #eeece6;font-size:.9rem}.card-bottom strong{color:var(--red)}footer{color:var(--muted);font-size:.75rem;margin-top:40px}.empty{padding:28px;border:1px solid var(--border);border-radius:12px;background:white}.login-wrap{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px}.login-card{width:400px;max-width:100%;background:white;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 15px 44px #27272718}.login-brand{background:var(--red);padding:28px 45px}.login-brand img{display:block;width:100%;border-radius:8px}.login-content{padding:30px 28px}.login-content h1{font-size:1.7rem}.login-content .button{margin-top:6px;font-weight:700}#message,#adminMessage,.error{background:#fff0ed;color:#8f1720;border-radius:7px;padding:13px 16px;margin:0 0 20px;line-height:1.5}#message.success,#adminMessage.success{background:#e6f1e9;color:#215a38}dialog{width:1000px;max-width:calc(100% - 28px);max-height:90dvh;border:1px solid var(--border);border-radius:14px;padding:26px;color:inherit;overflow:auto}dialog::backdrop{background:#12151a70}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.dialog-head h2{margin:8px 0}.admin-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1.4fr);gap:30px}.user-list{border-right:1px solid var(--border);padding-right:24px}.user-list>button{margin:12px 0}.user-row{width:100%;text-align:left;display:block;margin-bottom:8px;overflow-wrap:anywhere}.user-row.selected{border-color:var(--red);background:#fdf2f3}.user-row strong,.user-row small{display:block}.user-row small{margin-top:4px;color:var(--muted);font-size:.8rem}#userForm h3{margin:12px 0}.checkbox{display:flex;align-items:center;gap:10px;line-height:1.5}.checkbox input{width:20px;min-height:20px;height:20px;flex:none}fieldset{margin:20px 0;border:1px solid var(--border);border-radius:8px;padding:10px 16px 16px}legend{font-size:.9rem}#identity{overflow-wrap:anywhere}body:has(dialog[open]){overflow:hidden}@media(max-width:850px){.portal{padding:28px 22px}.topbar{align-items:flex-start;flex-direction:column}.admin-layout{grid-template-columns:1fr}.user-list{border-right:0;border-bottom:1px solid var(--border);padding:0 0 20px}.logo{width:180px}.app-card h3{font-size:1.25rem}.card-body{padding:22px}}@media(max-width:560px){.portal{padding:24px 16px}.page-header{align-items:flex-start;margin-bottom:24px;gap:12px}h1{font-size:1.9rem}.eyebrow{letter-spacing:.12em;font-size:.6rem}.logo{margin-top:12px;width:125px;max-width:32%}.app-grid{grid-template-columns:1fr;gap:16px}.app-card{min-height:250px}.topbar{padding:16px;margin-bottom:28px}.actions{width:100%}.actions button{flex:1 1 120px;padding:10px}.section-title{align-items:flex-start}.section-title h2{font-size:1.25rem}.section-title .muted{font-size:.8rem}.card-bottom{padding:16px 22px}dialog{padding:18px}.dialog-head{align-items:flex-start}.dialog-head h2{font-size:1.2rem}footer{margin-top:28px}}

/* PORTAL-LOGO-KORREKTUR */
.login-card .login-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 24px;
    min-height: 168px;
}
.login-card .login-brand img {
    width: 270px;
    max-width: 100%;
    height: auto;
    max-height: none;
    padding: 16px 20px;
    box-sizing: border-box;
    object-fit: contain;
    background: #fff;
    border-radius: 8px;
}