/* Bechter-Terminal – Gestaltung nach konzept/design.md
   Warme Papiertöne, Haarlinien statt Schatten, GROSSBUCHSTABEN-Titel. */

:root{
  --seite:#faf7f1; --flaeche:#fffdf8; --feld:#f3efe6;
  --tinte:#2b241c; --tinte2:#5f574b; --gedaempft:#94897a;
  --haarlinie:#e7e1d4; --grundlinie:#cdc5b4;
  --ph-besuch:#eb6834; --ph-vor:#2a78d6; --ph-plan:#1baf7a;
  --ph-ausf:#eda100; --ph-after:#4a3aa7;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:"Futura BT",Futura,"Century Gothic","Segoe UI",Verdana,sans-serif;
  background:var(--seite); color:var(--tinte); font-size:14px; line-height:1.5;
}
a{color:var(--tinte);}
button{font:inherit; cursor:pointer;}
input,select,textarea{
  font:inherit; color:var(--tinte); background:var(--feld);
  border:1px solid var(--grundlinie); border-radius:2px; padding:8px 10px;
  max-width:100%;
}
input:focus,select:focus,textarea:focus{outline:1px solid var(--tinte); background:var(--flaeche);}
textarea{width:100%; min-height:70px; resize:vertical;}

/* ---------- Kopfleiste ---------- */
header{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  padding:14px 24px; background:var(--flaeche);
  border-bottom:1px solid var(--haarlinie); position:sticky; top:0; z-index:20;
}
.wortmarke{font-weight:700; font-size:12px; line-height:1.2; letter-spacing:1.2px;
  text-transform:uppercase; text-decoration:none;}
.wortmarke span{display:block;}
nav{display:flex; gap:20px; align-items:center; flex-wrap:wrap;}
nav a, nav button{
  border:none; background:none; padding:6px 0; color:var(--gedaempft); font-weight:700;
  text-transform:uppercase; font-size:12px; letter-spacing:1px; text-decoration:none;
  border-bottom:2px solid transparent;
}
nav a:hover, nav button:hover{color:var(--tinte);}
nav a.aktiv{color:var(--tinte); border-bottom-color:var(--tinte);}
.kopf-rechts{margin-left:auto; display:flex; align-items:center; gap:12px;
  color:var(--tinte2); font-size:13px;}

/* ---------- Grundraster ---------- */
main{max-width:1100px; margin:0 auto; padding:20px; }
.spalten{display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start;}
@media (max-width:800px){ .spalten{grid-template-columns:1fr;} }

.panel{background:var(--flaeche); border:1px solid var(--haarlinie);
  border-radius:2px; padding:16px 18px; margin-bottom:16px;}
.panel h2, .panel h3{
  font-size:11px; text-transform:uppercase; letter-spacing:1.2px;
  color:var(--tinte); margin-bottom:12px; font-weight:700;
}
.seitentitel{font-size:19px; text-transform:uppercase; letter-spacing:.6px; margin-bottom:14px;}

/* ---------- Meldungen ---------- */
.meldung{border:1px solid var(--haarlinie); border-left:3px solid var(--tinte);
  background:var(--flaeche); padding:9px 12px; margin-bottom:12px; font-size:13px;}
.meldung.fehler{border-left-color:#b3372a; color:#7a2117;}
.meldung.gut{border-left-color:#1baf7a;}

/* ---------- Knöpfe ---------- */
.knopf{background:var(--tinte); color:#fff; border:1px solid var(--tinte);
  border-radius:2px; padding:8px 16px; font-weight:700; font-size:11.5px;
  text-transform:uppercase; letter-spacing:.8px; text-decoration:none; display:inline-block;}
.knopf:hover{background:#4a4034;}
.knopf.zart{background:var(--flaeche); color:var(--tinte);}
.knopf.zart:hover{background:var(--feld);}
.knopf.klein{padding:4px 10px; font-size:10.5px;}

/* ---------- Suche ---------- */
.suchfeld{width:100%; max-width:520px; padding:10px 14px;}
.suchhinweis{font-size:11.5px; color:var(--gedaempft); margin-top:6px;}

/* ---------- Listenzeilen ---------- */
.zeile{display:flex; align-items:center; gap:12px; padding:10px 12px;
  border:1px solid var(--haarlinie); border-radius:2px; background:var(--flaeche);
  margin-bottom:8px; text-decoration:none; flex-wrap:wrap;}
.zeile:hover{border-color:var(--tinte);}
.zeile .wachsen{flex:1; min-width:180px;}
.zeile .zname{font-weight:700; text-transform:uppercase; letter-spacing:.3px; font-size:13px;}
.zeile .zunter{font-size:12.5px; color:var(--tinte2);}
.marke{font-family:Consolas,monospace; font-size:11.5px; background:var(--feld);
  border:1px solid var(--haarlinie); border-radius:2px; padding:1px 7px; color:var(--tinte2);
  white-space:nowrap;}

/* ---------- Phasen (Funktionsfarben, nie Farbe allein) ---------- */
.phase{display:inline-flex; align-items:center; gap:6px; font-size:12px;
  padding:3px 10px; border-radius:99px; border:1px solid var(--haarlinie);
  background:var(--flaeche); color:var(--tinte2); white-space:nowrap;}
.phase .punkt{width:10px; height:10px; border-radius:50%; display:inline-block; flex-shrink:0;}

/* farbiges Phasen-Band im Akten-Kopf: schmaler Balken + Beschriftung */
.phasenband{display:flex; align-items:center; gap:10px; margin-top:10px;}
.phasenband .balken{width:46px; height:8px; border-radius:2px; flex-shrink:0;}
.phasenband .text{font-size:12px; font-weight:700; text-transform:uppercase;
  letter-spacing:.8px; color:var(--tinte2);}

/* ---------- Zeitleiste ---------- */
.zeitleiste{list-style:none;}
.ereignis{display:flex; gap:12px; padding:12px 4px; border-bottom:1px solid var(--haarlinie);}
.ereignis:last-child{border-bottom:none;}
.ereignis .typzeichen{
  width:34px; height:34px; border:1px solid var(--haarlinie); border-radius:2px;
  background:var(--feld); display:flex; align-items:center; justify-content:center;
  font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.4px;
  color:var(--tinte2); flex-shrink:0; text-align:center; line-height:1.1;
}
.ereignis .rumpf{flex:1; min-width:0;}
.ereignis .kopfzeile{display:flex; gap:10px; align-items:baseline; flex-wrap:wrap;
  font-size:12px; color:var(--gedaempft); margin-bottom:2px;}
.ereignis .kopfzeile .wer{color:var(--tinte2); font-weight:700;}
.ereignis .titel{font-weight:700; font-size:13.5px;}
.ereignis .inhalt{color:var(--tinte2); font-size:13px; white-space:pre-line;}
.ereignis .zuordnung{font-size:11.5px; color:var(--gedaempft); margin-top:3px;}

/* ---------- Formulare ---------- */
.formzeile{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px; align-items:center;}
.formzeile label{font-size:11px; text-transform:uppercase; letter-spacing:.6px;
  color:var(--gedaempft); display:block; margin-bottom:3px;}
.formfeld{flex:1; min-width:140px;}
.formfeld input, .formfeld select{width:100%;}
fieldset{border:none; border-top:1px solid var(--haarlinie); padding-top:12px; margin-top:12px;}
legend{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px;
  padding-right:10px; color:var(--tinte);}

/* ---------- Tabellen ---------- */
table{width:100%; border-collapse:collapse; font-size:13px;}
th{font-size:10.5px; text-transform:uppercase; letter-spacing:.8px; color:var(--gedaempft);
  text-align:left; padding:6px 8px; border-bottom:1px solid var(--grundlinie);}
td{padding:8px; border-bottom:1px solid var(--haarlinie); vertical-align:top;}
.zahl{font-variant-numeric:tabular-nums; text-align:right;}
.tabellenrand{overflow-x:auto;}

/* ---------- Anmeldekarte ---------- */
.mittig{max-width:420px; margin:8vh auto 0;}
.mittig .wortmarke{font-size:15px; margin-bottom:20px; display:block;}

/* ---------- Blättern ---------- */
.blaettern{display:flex; gap:10px; align-items:center; font-size:12.5px; color:var(--tinte2);}
.blaettern a{font-weight:700;}
