/* ====================================================================
   tamedes-theme.css  ·  zentrale Stildatei (Tamedes Körperwerkstatt)
   Falls dein Starterkit eine kanonische Version enthält, diese hier
   damit überschreiben – die Klassen/Variablen sind identisch.
   ==================================================================== */
:root{
  --navy:#1a3328; --navy2:#244534; --gold:#b5984e; --gold3:#e8d9b0;
  --cream:#f4f7f4; --line:#dfe6df; --ink:#1f2a24; --muted:#6f7d73;
  --green:#2e7d4f; --green-bg:#e6f1ea; --red:#b00020; --red-bg:#fbe6e6;
  --shadow:0 4px 18px rgba(26,51,40,.10); --r:16px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--cream);color:var(--ink);
  font-family:'Jost',system-ui,sans-serif;font-size:17px;line-height:1.45}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;margin:0}
.mono{font-family:'DM Mono','Courier New',monospace}

/* ---- Header: navy Balken, Logo links, App-Name gold Versalien, Abmelden rechts, 3px Goldkante ---- */
.tm-header{background:var(--navy);color:#fff;display:flex;align-items:center;gap:16px;
  padding:12px 20px;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:30}
.tm-header img{height:42px;width:auto}
.tm-header .name{font-family:'Jost';font-weight:600;letter-spacing:3px;text-transform:uppercase;
  font-size:16px;color:var(--gold3);flex:1}
.tm-header a.logout{color:#cfe0d6;text-decoration:none;font-size:14px;font-weight:500;
  border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:10px}
.tm-header a.logout:hover{background:rgba(255,255,255,.08)}

/* ---- Tabs ---- */
.tm-tabs{display:flex;gap:6px;background:var(--navy2);padding:8px 12px;
  position:sticky;top:60px;z-index:29;overflow-x:auto}
.tm-tabs button{flex:1 0 auto;min-width:118px;background:transparent;border:0;color:#cfe0d6;
  font-family:'Jost';font-size:16px;font-weight:500;padding:12px 14px;border-radius:12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.tm-tabs button.on{background:var(--cream);color:var(--navy)}
.tm-tabs .badge{background:var(--gold);color:#3a2f12;font-size:12px;font-weight:600;border-radius:999px;
  min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}

/* ---- Layout ---- */
main{max-width:1000px;margin:0 auto;padding:20px 16px 120px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}
.section-title{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.section-title h2{font-size:30px;color:var(--navy)}
.section-title .sub{color:var(--muted);font-size:14px}

/* ---- Inputs ---- */
label{display:block;font-size:13px;font-weight:500;color:var(--muted);margin:0 0 6px 2px;letter-spacing:.3px}
input,select,textarea{width:100%;font-family:'Jost';font-size:18px;padding:14px;border:1.5px solid var(--line);
  border-radius:12px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
.grid{display:grid;gap:14px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:640px){.g2,.g3{grid-template-columns:1fr}}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Jost';font-weight:600;
  font-size:18px;padding:16px 22px;border-radius:14px;border:0;cursor:pointer}
.btn.primary{background:var(--navy);color:#fff}
.btn.gold{background:var(--gold);color:#2c230c}
.btn.ghost{background:#fff;border:1.5px solid var(--line);color:var(--navy)}
.btn.danger{background:var(--red);color:#fff}
.btn.block{width:100%}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.4}
.bar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);
  padding:12px 16px;display:flex;gap:12px;z-index:25;box-shadow:0 -6px 18px rgba(0,0,0,.05)}
.bar .btn{flex:1}

/* ---- Tags / Status ---- */
.tag{font-size:12.5px;padding:4px 10px;border-radius:999px;font-weight:600;white-space:nowrap}
.tag.ok{background:var(--green-bg);color:var(--green)}
.tag.bad{background:var(--red-bg);color:var(--red)}
.tag.offen{background:#fff3da;color:#8a6d1f}
.tag.frei{background:var(--green-bg);color:var(--green)}
.tag.abg{background:var(--red-bg);color:var(--red)}
.tag.neutral{background:var(--cream);color:var(--navy);border:1px solid var(--line)}

/* ---- Listenzeile ---- */
.row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:10px}
.row .chk{width:26px;height:26px;flex:0 0 auto}
.row .main{flex:1;min-width:0}
.row .l1{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.row .date{font-weight:600;font-size:18px;color:var(--navy)}
.row .meta{color:var(--muted);font-size:14px}
.row .l2{margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}
.muted{color:var(--muted);font-size:14px}
.empty{text-align:center;color:var(--muted);padding:40px 10px}
.count{font-family:'DM Mono','Courier New',monospace;color:var(--muted);font-size:14px}

/* ---- Toast ---- */
.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;
  background:var(--navy);color:#fff;padding:14px 22px;border-radius:14px;font-weight:500;z-index:60;
  transition:.25s;pointer-events:none;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.hidden{display:none}
