:root{--ink: #17191e;--ink-soft: #23262d;--paper: #f5f1e8;--paper-dark: #ebe5d6;--card: #fffdf6;--yellow: #ffd500;--yellow-soft: #fff3b8;--red: #d92b21;--green: #1e8f52;--green-soft: #ddf2e4;--blue: #2450c8;--blue-soft: #e3eaff;--muted: #6d7079;--font-display: "Archivo Black", "Arial Black", sans-serif;--font-body: "Space Grotesk", "Helvetica Neue", sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--radius: 10px;--shadow-hard: 6px 6px 0 var(--ink);--shadow-soft: 5px 5px 0 rgba(23, 25, 30, .15)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.6}::selection{background:var(--yellow);color:var(--ink)}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--yellow)}h1,h2,h3{line-height:1.15}.container{max-width:1100px;margin:0 auto;padding:0 20px}.btn{display:inline-block;padding:12px 24px;border-radius:8px;border:2px solid var(--ink);font-family:var(--font-body);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:var(--card);color:var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .08s,box-shadow .08s;text-decoration:none!important}.btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn-primary{background:var(--yellow)}.btn-accent{background:var(--red);color:#fff}.btn-outline{background:transparent}.btn-danger{background:#fff;color:var(--red)}.btn-success{background:var(--green-soft);color:var(--green)}.btn-sm{padding:7px 14px;font-size:12px;box-shadow:3px 3px 0 var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.site-header{background:var(--paper);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:50}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:70px}.logo{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:17px;text-transform:uppercase;letter-spacing:.5px;text-decoration:none!important}.logo-sign{background:var(--yellow);border:2px solid var(--ink);border-radius:8px;padding:5px 10px;font-family:var(--font-display);font-size:13px;letter-spacing:1px;box-shadow:3px 3px 0 var(--ink)}.main-nav{display:flex;align-items:center;gap:26px}.main-nav a{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;border-bottom:3px solid transparent;padding-bottom:2px}.main-nav a:hover{border-bottom-color:var(--yellow);text-decoration:none}.nav-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;color:var(--ink)}.hazard{height:16px;background:repeating-linear-gradient(-45deg,var(--yellow) 0 22px,var(--ink) 22px 44px);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.road{height:20px;background:var(--ink);position:relative}.road:after{content:"";position:absolute;left:0;right:0;top:50%;height:0;border-top:3px dashed var(--yellow);opacity:.9}.hero{background:var(--ink);color:var(--paper);padding:90px 0 80px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(105deg,transparent 0 140px,rgba(255,255,255,.025) 140px 240px);pointer-events:none}.hero .container{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;position:relative}.hero h1{font-family:var(--font-display);font-size:clamp(32px,4.6vw,52px);text-transform:uppercase;margin-bottom:22px}.hero h1 .hl{display:inline-block;background:var(--yellow);color:var(--ink);padding:0 12px;transform:rotate(-1.5deg)}.hero p{font-size:18px;color:#c6c9d1;margin-bottom:32px;max-width:46ch}.hero .cta-row{display:flex;gap:16px;flex-wrap:wrap}.hero .btn{box-shadow:4px 4px #ffd50059}.hero .btn-outline{color:var(--paper);border-color:var(--paper)}.hero .btn-outline:hover{background:#ffffff14}.hero-visual{display:flex;flex-direction:column;align-items:center;gap:26px}.roof-sign{display:inline-block;background:var(--yellow);color:var(--ink);font-family:var(--font-display);font-size:clamp(22px,2.6vw,34px);letter-spacing:3px;padding:20px 36px;border:3px solid var(--ink);border-radius:18px;box-shadow:0 10px #00000073;transform:rotate(-3deg);white-space:nowrap}.roof-sign--sm{font-size:15px;padding:10px 20px;letter-spacing:2px;box-shadow:4px 4px 0 var(--ink)}.plate{display:inline-flex;align-items:stretch;background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:7px;overflow:hidden;font-family:var(--font-mono);font-weight:600;box-shadow:0 6px #0006;transform:rotate(1.5deg)}.plate .eu{background:var(--blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:5px 8px 4px;font-size:11px;line-height:1.1}.plate .eu .stars{font-size:7px;letter-spacing:1px;color:var(--yellow)}.plate .num{padding:8px 16px;font-size:22px;letter-spacing:3px;display:flex;align-items:center}.hero-caption{font-family:var(--font-mono);font-size:12px;color:#8a8e99;letter-spacing:1px;text-transform:uppercase}.stats-bar{background:var(--paper);padding:54px 0 46px}.stats-bar .container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.sign-circle{width:112px;height:112px;border-radius:50%;background:#fff;border:10px solid var(--red);box-shadow:0 0 0 2px var(--ink),var(--shadow-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-family:var(--font-display);font-size:23px;letter-spacing:-.5px}.stat-label{font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.section{padding:84px 0}.section-alt{background:var(--paper-dark)}.kicker{display:inline-block;background:var(--ink);color:var(--yellow);font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:2.5px;padding:5px 14px;border-radius:5px;margin-bottom:16px}.section-head{text-align:center;margin-bottom:48px}.section h2{font-family:var(--font-display);font-size:clamp(26px,3.4vw,36px);text-transform:uppercase;margin-bottom:12px}.section .section-sub{color:var(--muted);max-width:600px;margin:0 auto;font-size:16px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}.card{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-hard)}.card h3{font-family:var(--font-display);font-size:17px;text-transform:uppercase;margin-bottom:10px}.card p{color:var(--muted);font-size:14.5px}.icon-diamond{width:52px;height:52px;background:var(--yellow);border:3px solid #fff;outline:2px solid var(--ink);border-radius:8px;transform:rotate(45deg);display:flex;align-items:center;justify-content:center;margin:10px 0 26px 10px}.icon-diamond span{transform:rotate(-45deg);font-size:22px}.table-card{border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-hard);background:var(--card)}.price-table{width:100%;border-collapse:collapse}.price-table th,.price-table td{padding:16px 22px;text-align:left}.price-table th{background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:2px}.price-table tbody tr:nth-child(2n){background:var(--paper)}.price-table tbody tr{border-top:1px solid var(--paper-dark)}.price-table .price{font-family:var(--font-mono);font-weight:600;text-align:right;white-space:nowrap}.price-note{text-align:center;font-family:var(--font-mono);color:var(--muted);font-size:12px;margin-top:16px;letter-spacing:.5px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px}.step{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-hard)}.step h3{font-family:var(--font-display);font-size:16px;text-transform:uppercase;margin-bottom:8px}.step p{color:var(--muted);font-size:14px}.step-nr{width:46px;height:46px;background:var(--yellow);border:2px solid var(--ink);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;margin-bottom:18px;transform:rotate(-6deg);box-shadow:3px 3px 0 var(--ink)}.plate-avatar{display:inline-flex;align-items:stretch;background:#fff;border:2px solid var(--ink);border-radius:6px;overflow:hidden;font-family:var(--font-mono);font-weight:600;margin-bottom:18px;box-shadow:3px 3px 0 var(--ink)}.plate-avatar .eu{background:var(--blue);color:#fff;display:flex;align-items:flex-end;justify-content:center;padding:4px 6px;font-size:10px}.plate-avatar .num{padding:6px 14px;font-size:17px;letter-spacing:2.5px}.role-tag{display:inline-block;background:var(--ink);color:var(--yellow);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:1.5px;padding:3px 10px;border-radius:4px;margin-bottom:10px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-info p{margin-bottom:12px;font-size:15px}.contact-info strong{display:inline-block;min-width:110px;font-family:var(--font-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:1px}form .form-row{margin-bottom:18px}label{display:block;font-family:var(--font-mono);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px}input,select,textarea{width:100%;padding:11px 14px;border:2px solid var(--ink);border-radius:7px;font-size:15px;font-family:var(--font-body);background:#fff}input:focus,select:focus,textarea:focus{outline:none;box-shadow:4px 4px 0 var(--yellow)}.site-footer{background:var(--ink);color:#b9bdc7;padding:48px 0 30px}.site-footer .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.site-footer h4{color:var(--yellow);font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.site-footer a{color:#b9bdc7}.site-footer a:hover{color:var(--yellow)}.footer-note{grid-column:1 / -1;border-top:1px dashed rgba(255,255,255,.25);padding-top:18px;margin-top:12px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.5px;opacity:.7}.auth-wrap{min-height:calc(100vh - 70px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-card{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-hard);padding:38px;width:100%;max-width:440px}.auth-card .auth-sign{text-align:center;margin-bottom:26px}.auth-card h1{font-family:var(--font-display);font-size:22px;text-transform:uppercase;margin-bottom:6px}.auth-card .sub{color:var(--muted);font-size:14.5px;margin-bottom:24px}.demo-box{background:var(--yellow-soft);border:2px dashed var(--ink);border-radius:8px;padding:14px 16px;font-size:13px;margin-top:24px}.demo-box code{background:var(--ink);color:var(--yellow);font-family:var(--font-mono);padding:1px 6px;border-radius:4px;font-size:11.5px}.demo-box p{margin-bottom:5px}.alert{padding:12px 16px;border:2px solid var(--ink);border-radius:8px;font-size:14px;font-weight:500;margin-bottom:18px;background:#fff}.alert-error{border-left:10px solid var(--red)}.alert-success{border-left:10px solid var(--green)}.hidden{display:none!important}.dash-layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 70px)}.dash-sidebar{background:var(--ink);padding:26px 16px}.dash-sidebar .nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:2px solid transparent;border-radius:8px;background:none;color:#c6c9d1;font-family:var(--font-body);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.8px;text-align:left;cursor:pointer;margin-bottom:6px}.dash-sidebar .nav-item:hover{background:var(--ink-soft);color:var(--paper)}.dash-sidebar .nav-item.active{background:var(--yellow);color:var(--ink);border-color:var(--ink);box-shadow:3px 3px #ffd5004d}.dash-main{padding:36px;overflow-x:auto}.dash-main h1{font-family:var(--font-display);font-size:24px;text-transform:uppercase;margin-bottom:8px}.dash-main h2{font-family:var(--font-display);font-size:16px;text-transform:uppercase}.dash-main .page-sub{color:var(--muted);margin-bottom:28px}.user-chip{display:flex;align-items:center;gap:12px;font-size:14px}.user-chip .avatar-sm{background:var(--yellow);border:2px solid var(--ink);border-radius:7px;padding:4px 8px;font-family:var(--font-mono);font-weight:600;font-size:13px;letter-spacing:1px}#userRole{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-bottom:34px}.stat-card{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-hard)}.stat-card .value{font-family:var(--font-display);font-size:28px;margin:4px 0}.stat-card .label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.progress-track{background:var(--ink);border-radius:20px;height:18px;margin-top:14px;position:relative}.progress-track:after{content:"";position:absolute;left:10px;right:10px;top:50%;height:0;border-top:2px dashed rgba(255,255,255,.55);z-index:1}.progress-fill{background:var(--yellow);height:100%;border-radius:20px;position:relative;min-width:18px;transition:width .4s}.progress-fill:after{content:"🚗";position:absolute;right:-6px;top:50%;transform:translateY(-54%) scaleX(-1);font-size:17px;z-index:2}.data-table{width:100%;border-collapse:collapse;background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--paper-dark);font-size:14px}.data-table th{background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:1.5px;border-bottom:none}.data-table tr:last-child td{border-bottom:none}.data-table .num{font-family:var(--font-mono);text-align:right;white-space:nowrap}.badge{display:inline-block;padding:3px 10px;border:1.5px solid var(--ink);border-radius:5px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.badge-gebucht{background:var(--blue-soft);color:var(--blue)}.badge-absolviert{background:var(--green-soft);color:var(--green)}.badge-storniert{background:var(--paper-dark);color:var(--muted)}.badge-offen{background:var(--yellow-soft);color:#8a6d00}.badge-bezahlt{background:var(--green-soft);color:var(--green)}.badge-theorie{background:var(--blue-soft);color:var(--blue)}.badge-praxis,.badge-schueler{background:var(--yellow-soft);color:#8a6d00}.badge-lehrer{background:var(--blue-soft);color:var(--blue)}.badge-admin{background:#fbe0de;color:var(--red)}.slot-day{margin-bottom:30px}.slot-day h3{font-family:var(--font-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:12px;padding-bottom:6px;border-bottom:2px dashed var(--paper-dark)}.slot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.slot-card{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);padding:18px 20px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:6px}.slot-card .slot-time{font-family:var(--font-display);font-size:16px}.slot-card .slot-meta{color:var(--muted);font-size:13.5px}.slot-card .slot-actions{margin-top:10px}.form-card{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-hard);max-width:580px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.form-grid .full{grid-column:1 / -1}.filter-row{display:flex;gap:12px;margin-bottom:26px;flex-wrap:wrap}.filter-btn{padding:8px 20px;border:2px solid var(--ink);border-radius:7px;background:var(--card);font-family:var(--font-body);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}.filter-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.filter-btn.active{background:var(--yellow)}.empty-state{text-align:center;color:var(--muted);padding:48px 20px;border:2px dashed var(--ink);border-radius:var(--radius);font-family:var(--font-mono);font-size:14px}@media(max-width:860px){.hero{padding:60px 0}.hero .container{grid-template-columns:1fr;text-align:center}.hero p{margin-left:auto;margin-right:auto}.hero .cta-row{justify-content:center}.hero-visual{margin-top:10px}.stats-bar .container{grid-template-columns:repeat(2,1fr);row-gap:34px}.contact-grid,.site-footer .container{grid-template-columns:1fr}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-bottom:2px solid var(--ink);flex-direction:column;padding:20px;gap:18px;align-items:flex-start}.main-nav.open{display:flex}.nav-toggle{display:block}.dash-layout{grid-template-columns:1fr}.dash-sidebar{display:flex;overflow-x:auto;padding:12px;gap:6px}.dash-sidebar .nav-item{white-space:nowrap;width:auto;margin-bottom:0}.dash-main{padding:22px}.form-grid{grid-template-columns:1fr}}
