:root{
  /* Verbindliche Farbwelt des Milei-Instituts (A5-Flyer): Navy, Creme, Signalgelb, Himmelblau */
  --navy:#091528;--navy-dark:#050D18;--navy-mid:#16283F;--gold:#FFD500;--gold-dark:#B89A00;--gold-text:#7A6500;
  --gold-soft:rgba(255,213,0,.14);--sky:#74A9DB;--cream:#F5F2EA;--paper:#fff;--ink:#091528;--muted:#5a6b7d;
  --line:#e2ddd0;--line-navy:#1F3552;--green:#1f7a4d;--green-soft:#e4f3ea;--amber:#a9760f;
  --amber-soft:#faf0d8;--red:#b23a2a;--red-soft:#f8e7e3;--grey-soft:#eceff2;
  --disp:'Big Shoulders Display',Impact,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
  --body:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shadow:0 2px 6px rgba(9,21,40,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.55;font-size:15px}
.goldbar{height:8px;background:var(--gold)}
header{background:var(--navy);color:#fff;padding:22px 24px 20px;position:relative;overflow:hidden}
header::after{content:"";position:absolute;right:-60px;top:-40px;width:300px;height:300px;background:radial-gradient(circle,rgba(245,183,0,.10),transparent 70%);pointer-events:none}
.head-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:16px}
.logo{height:54px;width:auto;flex:0 0 auto}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:500}
header h1{font-family:var(--disp);margin:2px 0 0;font-size:34px;line-height:.98;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
nav{background:var(--navy-dark);border-bottom:1px solid var(--line-navy)}
.nav-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;padding:0 16px}
nav button{background:transparent;border:none;color:#aab9c8;padding:13px 18px;font-family:var(--mono);font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border-bottom:3px solid transparent;font-weight:500}
nav button:hover{color:#fff}
nav button.active{color:var(--gold);border-bottom-color:var(--gold)}
main{max-width:1080px;margin:0 auto;padding:26px 20px 70px}
.hero{background:var(--navy);color:#fff;border-radius:14px;padding:30px;margin-bottom:22px;position:relative;overflow:hidden}
.hero .gb{position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--gold)}
.hero h2{font-family:var(--disp);font-size:40px;line-height:1;font-weight:800;text-transform:uppercase;margin:6px 0 12px;letter-spacing:.5px;max-width:760px}
.hero p{max-width:680px;font-size:15.5px;color:#d7e0e9;margin:0 0 6px}
.hero .accent{color:var(--gold);font-weight:600}
.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}
.card .eyebrow{color:var(--gold-text)}
h2.sec{font-family:var(--disp);font-size:26px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:2px 0 4px}
h3.sec{font-family:var(--disp);font-size:21px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;margin:0 0 4px}
.sub{color:var(--muted);font-size:13.5px;margin:0 0 18px}
label{display:block;font-weight:600;font-size:13.5px;margin:14px 0 5px}
.req{color:var(--gold-text)}
input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
textarea{min-height:92px;resize:vertical}
.row{display:flex;gap:14px;flex-wrap:wrap}
.row>div{flex:1;min-width:200px}
.hint{font-size:12.5px;color:var(--muted);margin-top:4px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:6px}
.checks label{display:flex;align-items:flex-start;gap:8px;font-weight:400;margin:0;font-size:13.5px}
.checks input{margin-top:3px;accent-color:var(--gold-dark)}
input[type=checkbox]{accent-color:var(--gold-dark)}
.hp{position:absolute;left:-9999px}
.notice{background:var(--navy);color:#e7edf2;border-radius:9px;padding:13px 15px;font-size:13px;margin:6px 0 4px;border-left:5px solid var(--gold)}
.notice strong{color:var(--gold)}
.privacy{background:var(--gold-soft);border:1px solid #e7cf94;border-radius:9px;padding:13px 15px;font-size:13px;margin:14px 0}
.privacy strong{color:var(--gold-text)}
button.primary{background:var(--gold);color:var(--navy);border:none;padding:12px 24px;border-radius:9px;font-family:var(--mono);font-size:13.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;margin-top:18px}
button.primary:hover{background:var(--gold-dark)}
button.primary:disabled{opacity:.5;cursor:not-allowed}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.stat{background:var(--navy);color:#fff;border-radius:12px;padding:18px 16px;position:relative;overflow:hidden}
.stat .gb{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--gold)}
.stat .n{font-family:var(--disp);font-size:34px;font-weight:800;color:var(--gold);line-height:1}
.stat .l{font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#b9c6d3;margin-top:4px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600}
tr.clickable{cursor:pointer}
tr.clickable:hover{background:var(--gold-soft)}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;font-family:var(--mono);letter-spacing:.3px;white-space:nowrap;text-transform:uppercase}
.b-new{background:var(--grey-soft);color:#46586a}.b-rev{background:var(--amber-soft);color:var(--amber)}
.b-ok{background:var(--green-soft);color:var(--green)}.b-no{background:var(--red-soft);color:var(--red)}
.b-na{background:#ede9f3;color:#6b4f9e}
.tag{display:inline-block;background:var(--navy-mid);color:#dbe6f0;padding:2px 9px;border-radius:6px;font-size:11.5px;margin:2px 4px 2px 0;font-family:var(--mono)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.filters select{width:auto;min-width:150px}
.detail-grid{display:grid;grid-template-columns:175px 1fr;gap:7px 16px;font-size:14px;margin:14px 0}
.detail-grid dt{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600;padding-top:2px}
.detail-grid dd{margin:0}
.assess{border-top:2px solid var(--gold);margin-top:20px;padding-top:18px}
.crit{border:1px solid var(--line);border-left:4px solid var(--navy-mid);border-radius:8px;padding:12px 14px;margin-bottom:10px}
.crit.kern{border-left-color:var(--gold)}
.crit h4{margin:0 0 2px;font-size:14.5px}.crit .desc{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{border:1.5px solid var(--line);background:#fff;padding:6px 14px;border-radius:7px;font-size:12.5px;cursor:pointer;font-weight:600}
.seg button.on-ok{background:var(--green);color:#fff;border-color:var(--green)}
.seg button.on-no{background:var(--red);color:#fff;border-color:var(--red)}
.seg button.on-un{background:var(--amber);color:#fff;border-color:var(--amber)}
.back{background:none;border:none;color:var(--gold-text);cursor:pointer;font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.5px;padding:0;margin-bottom:12px;font-weight:600}
.empty{color:var(--muted);text-align:center;padding:42px 0;font-size:14px}
.pub-card{border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:10px;padding:17px 19px;margin-bottom:14px;background:#fff;box-shadow:var(--shadow)}
.pub-card h3{font-family:var(--disp);font-size:20px;text-transform:uppercase;letter-spacing:.3px;margin:0 0 4px}
.pub-meta{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}
.verdict{font-size:13.5px;padding:11px 13px;border-radius:8px;margin-top:8px}
.v-ok{background:var(--green-soft)}.v-no{background:var(--red-soft)}
.principle{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.principle .num{font-family:var(--disp);font-size:30px;font-weight:800;color:var(--gold);line-height:1;flex:0 0 auto;width:42px}
.principle p{margin:0;font-size:13.5px}.principle strong{display:block;font-size:14.5px;margin-bottom:1px}
.flash{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:13px 24px;border-radius:9px;box-shadow:0 6px 18px rgba(0,0,0,.28);font-size:14px;display:none;z-index:50;border-left:5px solid var(--gold)}
.err{background:var(--red-soft);color:var(--red);border:1px solid #e3b3aa;border-radius:8px;padding:10px 13px;font-size:13.5px;margin:10px 0}
.foot{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:center;margin-top:34px;line-height:1.8;letter-spacing:.3px}
.login-wrap{max-width:380px;margin:60px auto}
@media(max-width:720px){.stats{grid-template-columns:1fr 1fr}.checks{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}header h1{font-size:26px}.hero h2{font-size:30px}}

/* --- Die Streichliste: Ergänzungen ---------------------------------------- */
.wordmark{display:flex;flex-direction:column;gap:1px}
.wordmark .mark{font-family:var(--disp);font-size:34px;line-height:.98;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.wordmark .mark em{font-style:normal;color:var(--gold)}
.strike{text-decoration:line-through;text-decoration-color:var(--gold);text-decoration-thickness:3px}
.hero .sky{color:var(--sky);font-weight:600}
.effort{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:720px){.effort{grid-template-columns:1fr}}
.b-strike{background:var(--gold);color:var(--navy)}
.b-reform{background:var(--sky);color:#06203a}
.rec{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 10px;border-radius:20px}
.rec-streichen{background:var(--gold);color:var(--navy)}
.rec-reformieren{background:var(--sky);color:#06203a}
.rec-beibehalten{background:var(--grey-soft);color:#46586a}
.kpi{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px}
.kpi div{min-width:110px}
.kpi .n{font-family:var(--disp);font-size:32px;font-weight:800;color:var(--gold);line-height:1}
.kpi .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:#b9c6d3}
.pub-card.rec-card-reformieren{border-left-color:var(--sky)}
.pub-card.rec-card-beibehalten{border-left-color:var(--grey-soft)}
.burden-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.steps{counter-reset:s;margin:12px 0 0;padding:0;list-style:none}
.steps li{position:relative;padding:10px 0 10px 46px;border-bottom:1px solid var(--line);font-size:13.5px}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:8px;font-family:var(--disp);font-size:26px;font-weight:800;color:var(--gold);line-height:1}
.steps li strong{display:block;font-size:14.5px;margin-bottom:1px}

/* --- Melde-Ablauf für Bürger ------------------------------------------------ */
.hero.compact{padding:24px 26px}
.hero.compact h2{font-size:38px;margin:4px 0 10px}
.kpi-line{margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:#b9c6d3}
.kpi-line strong{color:var(--gold);font-size:14px}
.wiz{max-width:680px;margin:0 auto 18px;padding:26px}
.wiz input[type=text],.wiz input[type=email],.wiz select,.wiz textarea{font-size:16px}
.progress{display:flex;gap:6px;margin-bottom:8px}
.progress span{flex:1;height:5px;border-radius:3px;background:var(--line)}
.progress span.done{background:var(--gold)}
.step-label{font-family:var(--mono);font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
h3.q{font-family:var(--disp);font-size:30px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;line-height:1.05;margin:10px 0 16px;outline:none}
.opt{font-weight:400;color:var(--muted);font-size:12px;margin-left:4px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{text-align:left;border:2px solid var(--line);background:#fff;border-radius:12px;padding:16px 16px 15px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .12s,background .12s,transform .08s}
.tile strong{display:block;font-size:16px;line-height:1.25;margin-bottom:3px}
.tile span{display:block;font-size:13px;color:var(--muted);line-height:1.35}
.tile:hover{border-color:var(--navy)}
.tile:active{transform:scale(.98)}
.tile.on{border-color:var(--navy);background:var(--gold-soft)}
.tile:focus-visible,.chip:focus-visible,.linkbtn:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.tile:last-child:nth-child(odd){grid-column:1 / -1}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 15px;font:inherit;font-size:14px;cursor:pointer;line-height:1.2}
.chip:hover{border-color:var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.wiz-right{display:flex;align-items:center;gap:16px;margin-left:auto}
.wiz-nav button.primary{margin-top:0}
.linkbtn{background:none;border:none;padding:6px 0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:var(--ink)}
.summary{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.summary .eyebrow{color:var(--gold-text);font-size:11px}
.sum-title{font-weight:700;font-size:16px;margin:2px 0 4px}
.sum-text{font-size:14px;color:#33424f;white-space:pre-line}
.summary .linkbtn{font-size:13px;padding:4px 0 0}
details.more{border:1px solid var(--line);border-radius:10px;padding:0 16px;margin-bottom:14px}
details.more summary{cursor:pointer;padding:13px 0;font-weight:600;font-size:14px;list-style-position:inside}
details.more[open]{padding-bottom:16px}
details.more[open] summary{border-bottom:1px solid var(--line);margin-bottom:4px}
label.confirm{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;background:var(--gold-soft);border:1px solid #eadb8f;border-radius:10px;padding:12px 14px;margin:6px 0 0;cursor:pointer}
label.confirm input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}
.done{text-align:left;padding:6px 0}
.done-mark{width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800}
.done p{font-size:15px;max-width:520px}
@media(max-width:720px){
  .hero.compact{padding:20px}
  .hero.compact h2{font-size:32px}
  .wiz{padding:20px 16px}
  .tiles{grid-template-columns:1fr}
  .tile:last-child:nth-child(odd){grid-column:auto}
  h3.q{font-size:26px}
  .wiz-nav button.primary{flex:1}
  .wiz-right{flex:1}
}

/* Feinschliff Melde-Ablauf */
.hero.compact{max-width:680px;margin:0 auto 18px}
.file-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.file-btn{display:inline-block;margin:4px 0 0;padding:9px 16px;border:1.5px solid var(--navy);border-radius:8px;background:#fff;font-weight:600;font-size:14px;cursor:pointer}
.file-btn:hover{background:var(--gold-soft)}
.file-hidden:focus-visible + .file-btn{outline:3px solid var(--sky);outline-offset:2px}
.done-nav{justify-content:flex-start;gap:18px}
.done-nav button.primary{flex:0 0 auto;white-space:nowrap}
@media(max-width:720px){
  .nav-inner{padding:0 6px;flex-wrap:nowrap}
  nav button{padding:13px 10px;font-size:11.5px;letter-spacing:.3px;white-space:nowrap}
  .done-nav button.primary{flex:0 0 auto}
}

/* Feinschliff Livegang: Text-Gold mit ausreichendem Kontrast, Fußlinks, Spaltenbreite, Sprung zum Formular */
.foot a{color:var(--gold-text);display:inline-block;padding:8px 4px;font-size:13px}
.col{max-width:680px;margin:0 auto}
.glabel{display:block;font-weight:600;font-size:13.5px;margin:14px 0 5px}
.hero-cta{display:none}
.empty p{margin:0 auto 14px;max-width:440px;line-height:1.55}
.empty button.primary{margin-top:4px}
@media(max-width:720px){
  .hero.compact h2{font-size:28px}
  .hero.compact p{font-size:15px}
  .hero-cta{display:inline-block;margin-top:14px}
}

/* --- Prüf-Dashboard: Themen und KI ------------------------------------------ */
.tabs{display:flex;gap:4px;margin:0 0 12px}
.tabs button{border:1px solid var(--line);background:#fff;padding:9px 18px;border-radius:9px 9px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;color:var(--muted);font-weight:600}
.tabs button.on{background:var(--navy);color:var(--gold);border-color:var(--navy)}
.aibar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:9px;padding:10px 14px;font-size:13px;margin-bottom:14px}
.aibar.off{border-left-color:var(--grey-soft);color:var(--muted)}
.aibar .warn{color:var(--red);font-weight:600}
.aibar code{font-family:var(--mono);font-size:12px;background:var(--cream);padding:1px 5px;border-radius:4px}
.topic{display:inline-block;background:var(--gold-soft);border:1px solid #eadb8f;color:var(--ink);border-radius:6px;padding:2px 8px;font-size:12.5px;font-weight:600}
td.numc,th.numc{text-align:right;white-space:nowrap}
td.rank{font-family:var(--disp);font-size:20px;font-weight:800;color:var(--gold-dark);width:34px}
.assess.ai{border-top-color:var(--sky)}
table.cmp{margin:8px 0 12px}
table.cmp td:first-child{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;color:var(--muted);width:120px}
table.cmp td.diff{background:var(--gold-soft);font-weight:600}
label.inline{display:flex;gap:8px;align-items:center;font-weight:400;margin:6px 0 0}
.ai-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ai-actions button.primary{margin-top:10px}

/* Einleitung in der Meldekarte */
.wiz-intro{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.wiz-intro h2{font-family:var(--disp);font-size:34px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;line-height:1;margin:0 0 8px}
.wiz-intro p{margin:0;font-size:15px;color:#33424f}
@media(max-width:720px){.wiz-intro h2{font-size:28px}}

/* --- Institutszeichen im Kopf (wie auf milei-institut.de) ------------------- */
.head-inner{align-items:center}
.head-brand{display:flex;flex-direction:column;gap:12px}
.jmi{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#EDEFF3}
.jmi-mono{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 auto;
  background:var(--gold);color:var(--navy);font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-weight:900;font-size:15.2px;letter-spacing:-.02em}
.jmi-name{display:flex;flex-direction:column;line-height:1.06}
.jmi-name b{font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-weight:800;font-size:13.3px;letter-spacing:.045em;text-transform:uppercase;color:#EDEFF3}
.jmi-name span{font-size:9.3px;letter-spacing:.1em;text-transform:uppercase;color:#8A99AE;margin-top:3px;white-space:nowrap}
.jmi:hover .jmi-name b{color:var(--gold)}
.jmi:focus-visible{outline:3px solid var(--sky);outline-offset:4px}
.head-brand .mark{font-family:var(--disp);font-size:34px;line-height:.98;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff}
.head-brand .mark em{font-style:normal;color:var(--gold)}
@media(max-width:720px){.head-brand .mark{font-size:28px}.jmi-mono{width:38px;height:38px;font-size:14px}}
