:root{--bg:#090b0e;--surface:#11151a;--surface2:#171c22;--text:#f4f6f8;--muted:#9aa3ad;--line:#28303a;--accent:#e51b23;--accent2:#ff4b51;--success:#23b26d;--warn:#f2a93b;--radius:16px;--shadow:0 20px 60px rgba(0,0,0,.28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1180px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(9,11,14,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;font-size:.95rem;font-weight:800;letter-spacing:.06em}.brand b{display:block;color:var(--accent);font-size:.72rem;letter-spacing:.2em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#7a0910);font-weight:800;box-shadow:0 8px 30px rgba(229,27,35,.22)}.main-nav{display:flex;align-items:center;gap:28px;font-size:.9rem;font-weight:600}.main-nav>a:not(.btn):hover{color:var(--accent2)}.nav-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:10px;padding:13px 20px;background:var(--accent);color:white;font:700 .9rem inherit;cursor:pointer;transition:.2s}.btn:hover{background:var(--accent2);transform:translateY(-1px)}.btn-small{padding:9px 15px}.btn-dark,.btn-secondary{background:var(--surface2);border:1px solid var(--line)}.btn-danger{background:#7c171b}.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 76% 38%,rgba(229,27,35,.19),transparent 25%),linear-gradient(115deg,#090b0e 45%,#15191f)}.hero:after{content:"";position:absolute;right:-10%;bottom:-35%;width:55%;aspect-ratio:1;border:80px solid rgba(255,255,255,.025);border-radius:50%}.hero-content{position:relative;z-index:2;max-width:760px;padding:90px 0}.eyebrow{color:var(--accent2);text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:800}.hero h1{font-size:clamp(2.7rem,6vw,5.5rem);line-height:1.02;letter-spacing:-.05em;margin:18px 0 24px}.hero h1 span{color:var(--accent)}.lead{font-size:1.12rem;color:#bdc4cb;max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.trust-row{display:flex;gap:30px;flex-wrap:wrap;margin-top:52px;color:var(--muted);font-size:.86rem}.trust-row b{color:white;display:block;font-size:1.15rem}.section{padding:100px 0}.section.alt{background:#0d1014}.section-title{max-width:700px;margin-bottom:42px}.section-title h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.12;margin:10px 0}.section-title p,.muted{color:var(--muted)}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(145deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.service-card{min-height:240px;display:flex;flex-direction:column}.service-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:rgba(229,27,35,.12);color:var(--accent2);font-size:1.35rem}.service-card h3{margin:24px 0 7px}.service-card p{color:var(--muted);margin:0}.service-card .link{margin-top:auto;padding-top:18px;color:var(--accent2);font-weight:700}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.feature-list{display:grid;gap:15px;margin:28px 0}.feature{display:flex;gap:13px}.feature:before{content:'✓';color:var(--accent2);font-weight:800}.image-panel{min-height:440px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(229,27,35,.25),transparent),radial-gradient(circle at 70% 30%,#29313a,#11151a 55%);position:relative;overflow:hidden}.image-panel:before{content:'TP';position:absolute;right:-20px;bottom:-90px;font-size:19rem;font-weight:800;color:rgba(255,255,255,.035)}.cta{padding:55px;border-radius:24px;background:linear-gradient(120deg,#8d0e14,var(--accent));display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:0;font-size:2rem}.site-footer{padding:65px 0 24px;background:#07080a;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}.site-footer h4{margin:0 0 12px}.site-footer p,.site-footer a{color:var(--muted);font-size:.88rem}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;color:#707982;font-size:.78rem}.auth-shell{min-height:72vh;display:grid;place-items:center;padding:70px 0}.form-card{width:min(560px,100%);background:var(--surface);padding:36px;border:1px solid var(--line);border-radius:20px}.form-card.wide{width:min(820px,100%)}.form-card h1{margin:0 0 8px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{margin-bottom:18px}.field label{display:block;margin-bottom:7px;font-size:.83rem;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:#0c0f13;color:white;border-radius:10px;font:inherit;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{min-height:130px;resize:vertical}.form-note{font-size:.82rem;color:var(--muted)}.alert{padding:14px 18px;margin-top:18px;border-radius:10px;border:1px solid}.alert.success{background:rgba(35,178,109,.1);border-color:rgba(35,178,109,.35);color:#74e3ac}.alert.error{background:rgba(229,27,35,.1);border-color:rgba(229,27,35,.35);color:#ff8d91}.portal{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 78px)}.sidebar{background:#0c0f13;border-right:1px solid var(--line);padding:28px 20px}.user-box{padding:16px;background:var(--surface);border-radius:12px;margin-bottom:24px}.user-box strong{display:block}.user-box span{color:var(--muted);font-size:.78rem}.side-nav{display:grid;gap:5px}.side-nav a{padding:11px 13px;border-radius:9px;color:var(--muted);font-size:.88rem;font-weight:600}.side-nav a:hover,.side-nav a.active{background:var(--surface2);color:white}.portal-main{padding:38px;overflow:hidden}.portal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.portal-head h1{margin:0;font-size:2rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.stat span{display:block;color:var(--muted);font-size:.78rem}.stat strong{font-size:1.9rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}tr:last-child td{border-bottom:0}.badge{display:inline-flex;padding:5px 9px;border-radius:99px;background:#252c34;font-size:.72rem;font-weight:700}.badge.in_progress,.badge.confirmed,.badge.sent{background:rgba(242,169,59,.14);color:#ffc766}.badge.completed,.badge.paid,.badge.ready{background:rgba(35,178,109,.14);color:#63d99d}.badge.cancelled,.badge.overdue{background:rgba(229,27,35,.14);color:#ff7e83}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:22px}.panel h2{font-size:1.1rem;margin:0 0 18px}.empty{text-align:center;color:var(--muted);padding:35px}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select,.inline-form input{padding:8px;background:#0c0f13;color:white;border:1px solid var(--line);border-radius:8px}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{padding:10px 14px;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:9px;cursor:pointer}.tabs button.active{background:var(--accent);color:white}.tab-panel{display:none}.tab-panel.active{display:block}.legal{padding:80px 0;max-width:850px}.legal h1{font-size:2.6rem}.legal h2{margin-top:36px}@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.portal{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.side-nav{display:flex;overflow:auto}.side-nav a{white-space:nowrap}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:18px;right:18px;top:70px;padding:20px;background:var(--surface2);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.grid-3,.grid-2,.form-grid,.footer-grid{grid-template-columns:1fr}.hero{min-height:610px}.hero-content{padding:65px 0}.section{padding:70px 0}.cta{padding:34px;align-items:flex-start;flex-direction:column}.portal-main{padding:24px 18px}.portal-head{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr 1fr}.form-card{padding:25px}.trust-row{gap:20px}}
/* Sicherheitsrelevante Aktionen wie Abmelden werden als POST-Formular gesendet. */
.logout-form{margin:0}.logout-form button,.link-button{font:inherit}.header-logout{cursor:pointer;border:0;background:none}.link-button{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-decoration:underline}

/* Öffentliche Leistungsseiten */
.service-card{cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-4px);border-color:#4a5664;box-shadow:0 24px 70px rgba(0,0,0,.38)}.service-card:focus-visible{outline:2px solid var(--accent2);outline-offset:4px}.service-card:hover .link{color:#fff}.service-card .link{transition:color .2s ease}
.service-detail-hero{position:relative;overflow:hidden;padding:86px 0 94px;background:radial-gradient(circle at 78% 32%,rgba(229,27,35,.18),transparent 28%),linear-gradient(120deg,#090b0e,#15191f)}.service-detail-hero:after{position:absolute;right:-80px;bottom:-180px;width:430px;height:430px;border:55px solid rgba(255,255,255,.025);border-radius:50%;content:""}.service-detail-hero-content{position:relative;z-index:1}.service-back{display:inline-flex;margin-bottom:35px;color:#aab2bc;font-size:.78rem;font-weight:700}.service-back:hover{color:#fff}.service-detail-icon{display:grid;width:58px;height:58px;margin-bottom:22px;place-items:center;border:1px solid rgba(229,27,35,.25);border-radius:14px;background:rgba(229,27,35,.12);color:var(--accent2);font-size:1.55rem}.service-detail-hero h1{max-width:850px;margin:12px 0 18px;font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.045em}.service-detail-section{padding-top:82px}.service-detail-grid{align-items:stretch}.service-detail-card{min-height:220px}.service-detail-card>span{display:grid;width:35px;height:35px;place-items:center;border-radius:50%;background:rgba(35,178,109,.12);color:#5ed59a;font-weight:900}.service-detail-card h3{margin:22px 0 8px}.service-detail-card p{margin:0;color:var(--muted)}.service-detail-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:28px;padding:34px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#171c22,#101318)}.service-detail-cta h2{margin:5px 0 7px;font-size:1.55rem}.service-detail-cta p{margin:0;color:var(--muted)}.service-detail-cta .btn{flex:0 0 auto}
@media(max-width:680px){.service-detail-hero{padding:58px 0 64px}.service-detail-cta{align-items:flex-start;flex-direction:column;padding:25px}.service-detail-cta .btn{width:100%}}
