/* La Pecora Nera Team-App V2 — Pecora-Palette, Mobile-first */
:root {
  --bg:#faf6ef; --bg2:#fff; --surface:#fff; --surface2:#f3ede2;
  --border:#e8e0d6; --border2:#d8cfba;
  --text:#2a2722; --text-dim:#928b80; --text-mute:#5a544c;
  --accent:#9a3a2e; --accent-bg:#f0d4ca; --accent-2:#c4775f;
  --green:#6e8755; --green-bg:#dfe7d3; --red:#9b3838;
  --serif:'Lora',Georgia,serif; --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --tab-h:60px;
  --shadow-sm:0 1px 3px rgba(42,30,15,.04);
  --shadow:0 2px 10px rgba(42,30,15,.05);
}
* { box-sizing:border-box; }
html,body { margin:0; padding:0; background:var(--bg); color:var(--text); font-family:var(--sans); font-size:14px; line-height:1.5; -webkit-tap-highlight-color:transparent; }
a { color:var(--accent); text-decoration:none; }
h1,h2,h3 { font-family:var(--serif); margin:0 0 .4em; font-weight:600; color:var(--text); }
h1 { font-size:1.6rem; } h2 { font-size:1.2rem; margin:0 0 12px; } h3 { font-size:1rem; }
.muted { color:var(--text-dim); } .small { font-size:.85em; }

/* Login */
body.is-login { display:flex; min-height:100vh; align-items:center; justify-content:center; background:linear-gradient(180deg, #2d1e14 0%, #4a2d1f 100%); padding:20px; }
.login-wrap { width:100%; max-width:400px; }
.login-brand { text-align:center; margin-bottom:24px; }
.login-logo { font-family:var(--serif); font-size:22px; letter-spacing:.1em; color:#aaa03f; }
.login-sub { font-size:11px; letter-spacing:.15em; color:#aaa03f; opacity:.7; margin-top:4px; }
.login-card { background:var(--bg2); padding:28px 24px; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.3); }
.login-card h1 { font-size:1.5rem; margin-bottom:6px; }
.login-card p { margin:0 0 20px; font-size:.9rem; }
.login-card input { width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:8px; font:inherit; font-size:16px; background:var(--bg); margin-bottom:14px; }
.login-card input:focus { outline:none; border-color:var(--accent); }
.login-card .btn { width:100%; padding:12px; font-size:15px; }
.alert { padding:10px 14px; border-radius:8px; font-size:.88rem; margin-bottom:14px; }
.alert-err { background:#f3d2cd; color:var(--red); }
.alert-ok { background:var(--green-bg); color:var(--green); }

/* Header */
.t-head { position:sticky; top:0; z-index:20; background:#2d1e14; color:#aaa03f; display:flex; justify-content:space-between; align-items:center; padding:env(safe-area-inset-top,10px) 16px 10px; padding-top:calc(env(safe-area-inset-top,10px) + 10px); border-bottom:1px solid #4a2d1f; }
.t-head-brand { display:flex; align-items:center; gap:10px; }
.t-head-logo { background:#aaa03f; color:#2d1e14; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-family:var(--serif); font-weight:700; font-size:13px; }
.t-head-name { font-family:var(--serif); font-size:16px; letter-spacing:.05em; }
.t-head-me { display:flex; align-items:center; gap:12px; font-size:.85rem; }
.t-head-ma { color:#f5e4b8; }
.t-head-logout { color:#aaa03f; opacity:.75; font-size:.8rem; }

/* Main (mit Space für Bottom-Nav) */
.t-main { padding:18px 14px calc(var(--tab-h) + 20px + env(safe-area-inset-bottom,0px)); max-width:900px; margin:0 auto; }
.t-pane { display:none; }
.t-pane.active { display:block; }
.t-sub { font-size:.78rem; color:var(--text-dim); font-weight:400; margin-left:6px; font-family:var(--sans); }
.t-sect { font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); margin:16px 0 8px; }
.t-empty { padding:30px 20px; text-align:center; color:var(--text-dim); background:var(--surface); border:1px dashed var(--border); border-radius:10px; font-style:italic; }
.t-empty.t-err { color:var(--red); border-color:var(--red); background:#f3d2cd; }

/* Buttons */
.btn, .btn-sm { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 18px; border-radius:999px; font-size:.9rem; font-weight:500; border:1px solid var(--border); cursor:pointer; background:var(--surface); color:var(--text); text-decoration:none; font-family:inherit; line-height:1.3; }
.btn-sm { padding:6px 14px; font-size:.82rem; }
.btn-primary { background:var(--accent); color:#fff; border-color:var(--accent); }
.btn-danger  { background:var(--red); color:#fff; border-color:var(--red); }
.btn-ghost { background:transparent; }
.btn:hover { background:var(--surface2); }
.btn-primary:hover { background:#7a2d23; }
.btn-danger:hover { background:#7a2929; }

/* Cards (Meine, Pool) */
.t-list { display:flex; flex-direction:column; gap:10px; }
.t-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:12px 14px; display:flex; align-items:center; gap:12px; box-shadow:var(--shadow-sm); border-left:4px solid var(--role-color,#8a8f98); }
.t-card-pool { cursor:pointer; transition:transform .1s, box-shadow .12s; }
.t-card-pool:hover, .t-card-pool:active { transform:translateY(-1px); box-shadow:var(--shadow); }
.t-card-dot { width:10px; height:10px; border-radius:50%; background:var(--role-color,#8a8f98); flex-shrink:0; box-shadow:0 0 0 2px color-mix(in srgb, var(--role-color,#8a8f98) 20%, transparent); }
.t-card-body { flex:1; min-width:0; }
.t-card-title { font-weight:600; font-size:.95rem; margin-bottom:3px; }
.t-card-meta { font-size:.82rem; color:var(--text-dim); display:flex; flex-wrap:wrap; gap:4px 6px; align-items:center; }
.t-key { display:inline-block; font-family:ui-monospace,Menlo,monospace; font-weight:700; font-size:.68rem; padding:1px 6px; border-radius:4px; background:color-mix(in srgb, var(--role-color,#8a8f98) 20%, transparent); color: color-mix(in srgb, var(--role-color,#8a8f98) 68%, #000 32%); letter-spacing:.05em; }
.t-pill { display:inline-block; padding:2px 8px; border-radius:999px; font-size:.68rem; font-weight:600; }
.t-pill-fest { background:var(--green-bg); color:var(--green); }
.t-pill-pickup { background:#d6e3ee; color:#335c7f; }

/* Monatsplan */
.t-mp-nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:10px 14px; background:var(--surface2); border-radius:10px; border:1px solid var(--border); margin-bottom:14px; }
.t-mp-nav-c { display:flex; align-items:center; justify-content:center; gap:10px; }
.t-mp-title { font-family:var(--serif); font-weight:700; font-size:1.15rem; min-width:160px; text-align:center; color:var(--accent); }
.t-mp-today { justify-self:end; }
@media (max-width: 500px) {
  .t-mp-nav { grid-template-columns:1fr; }
  .t-mp-today { justify-self:center; }
}
.t-mp-legend { display:flex; flex-wrap:wrap; gap:10px 14px; padding:9px 12px; background:var(--surface); border:1px solid var(--border); border-radius:8px; margin-bottom:12px; font-size:.75rem; color:var(--text-dim); }
.t-mp-legend span { display:inline-flex; align-items:center; gap:5px; }
.t-mp-legend .lg-dot { width:12px; height:12px; border-radius:3px; }
.t-mp-legend .lg-me     { background:var(--accent); }
.t-mp-legend .lg-fest   { background:var(--green); }
.t-mp-legend .lg-pickup { background:#3a7ba8; }
.t-mp-legend .lg-pool   { background:var(--surface2); border:1px dashed var(--border2); }
.t-mp-legend .lg-closed { background:repeating-linear-gradient(45deg, rgba(200,74,63,.14) 0 4px, var(--surface) 4px 8px); border:1px solid rgba(200,74,63,.35); }

.t-mp-wrap { background:var(--surface2); padding:8px; border-radius:10px; border:1px solid var(--border); overflow-x:auto; }
.t-mp-grid { display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:4px; min-width:420px; }
.t-mp-wt { text-align:center; font-size:10px; font-weight:700; color:var(--text-dim); padding:4px 0 6px; letter-spacing:.08em; text-transform:uppercase; }
.t-mp-wt.is-closed { color:#c84a3f; opacity:.6; }
.t-mp-day { background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:4px 4px 3px; min-height:72px; display:flex; flex-direction:column; gap:2px; overflow:hidden; }
.t-mp-day.is-other { opacity:.3; background:var(--surface2); }
.t-mp-day.is-today { border-color:var(--accent); border-width:2px; background:linear-gradient(135deg, var(--accent-bg) 0%, var(--surface) 100%); box-shadow:0 2px 6px rgba(154,58,46,.12); padding:3px 3px 2px; }
.t-mp-day.is-closed { background:repeating-linear-gradient(45deg, rgba(200,74,63,.08) 0 6px, var(--surface) 6px 12px); border-color:rgba(200,74,63,.35); }
.t-mp-day.is-past { opacity:.65; }
.t-mp-date { font-family:var(--serif); font-weight:700; font-size:13px; color:var(--text); line-height:1; padding:0 1px 2px; }
.t-mp-day.is-today .t-mp-date { color:var(--accent); }
.t-mp-closed-lbl { font-size:9px; color:#c84a3f; opacity:.65; text-align:center; margin-top:auto; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.t-mp-cells { display:flex; flex-direction:column; gap:2px; }
.t-mp-cell { --role-color:#8a8f98; display:flex; align-items:center; gap:3px; padding:2px 4px; border-radius:4px; font-size:9px; line-height:1.2; border-left:2px solid var(--role-color); background:color-mix(in srgb, var(--role-color) 10%, var(--surface)); overflow:hidden; }
.t-mp-cell.is-pickup { border-left-style:double; border-left-width:3px; }
.t-mp-cell.is-pool { background:transparent; border:1px dashed color-mix(in srgb, var(--role-color) 55%, var(--border2)); color:color-mix(in srgb, var(--role-color) 70%, #000 30%); font-style:italic; }
.t-mp-cell.is-me { background:var(--accent-bg); border-left-color:var(--accent); color:var(--accent); font-weight:600; }
.t-mp-cell .t-mp-key { font-family:ui-monospace,Menlo,monospace; font-weight:700; font-size:8px; color:inherit; opacity:.75; }
.t-mp-cell .t-mp-name { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9.5px; font-weight:500; }

/* Verfügbarkeit */
.t-verf-row { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:12px 14px; margin-bottom:10px; border-left:4px solid var(--role-color,#8a8f98); }
.t-verf-head { font-size:.9rem; margin-bottom:8px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.t-wt-chips { display:flex; flex-wrap:wrap; gap:6px; }
.t-wt-chip { display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; border:1px solid var(--border); background:var(--surface2); cursor:pointer; user-select:none; font-size:.88rem; font-weight:500; transition:background .12s, border-color .12s; }
.t-wt-chip input { display:none; }
.t-wt-chip.is-on { background:color-mix(in srgb, var(--role-color,var(--accent)) 20%, var(--surface2)); border-color:var(--role-color,var(--accent)); color:color-mix(in srgb, var(--role-color,var(--accent)) 75%, #000 25%); font-weight:600; }

/* Zeiten */
.t-stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin-bottom:14px; }
.t-stat { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:12px 14px; }
.t-stat-l { font-size:.7rem; color:var(--text-dim); text-transform:uppercase; letter-spacing:.07em; margin-bottom:3px; }
.t-stat-v { font-family:var(--serif); font-size:1.3rem; font-weight:700; color:var(--text); }
.t-zeiten-tbl { width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.t-zeiten-tbl th { text-align:left; padding:9px 10px; font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; color:var(--text-dim); background:var(--surface2); border-bottom:1px solid var(--border); font-weight:600; }
.t-zeiten-tbl td { padding:9px 10px; border-bottom:1px solid var(--border); font-size:.88rem; }
.t-zeiten-tbl tr:last-child td { border-bottom:0; }
.t-zeiten-tbl .num { text-align:right; font-variant-numeric:tabular-nums; }

/* Bottom-Nav (PWA-Style) */
.t-tabs { position:fixed; bottom:0; left:0; right:0; z-index:30; height:calc(var(--tab-h) + env(safe-area-inset-bottom,0px)); padding-bottom:env(safe-area-inset-bottom,0px); background:var(--bg2); border-top:1px solid var(--border); display:grid; grid-template-columns:repeat(4, 1fr); box-shadow:0 -2px 10px rgba(42,30,15,.05); }
.t-tab { background:none; border:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:var(--text-dim); font-size:11px; cursor:pointer; font-family:inherit; padding:4px 2px; }
.t-tab-ic { width:22px; height:22px; stroke-width:1.8; }
.t-tab.active .t-tab-ic { stroke-width:2; }
.t-tab.active { color:var(--accent); font-weight:600; }
.t-tab.active .t-tab-ic { transform:scale(1.1); }

/* Toasts */
.toast-wrap { position:fixed; top:calc(env(safe-area-inset-top,0px) + 60px); left:50%; transform:translateX(-50%); z-index:200; display:flex; flex-direction:column; gap:8px; }
.toast { background:var(--text); color:var(--bg); padding:10px 16px; border-radius:999px; font-size:.88rem; box-shadow:var(--shadow); max-width:92vw; opacity:1; transition:opacity .2s; }
.toast.ok { background:var(--green); }
.toast.err { background:var(--red); }

/* Modal */
.modal-backdrop {
  position:fixed; inset:0; background:rgba(42,30,15,.4);
  z-index:150; opacity:0; pointer-events:none;
  transition:opacity .15s;
  display:flex; align-items:flex-end; justify-content:center;
  padding:16px calc(16px + env(safe-area-inset-right, 0px)) calc(var(--tab-h) + env(safe-area-inset-bottom, 0px) + 16px) calc(16px + env(safe-area-inset-left, 0px));
}
@media (max-width:420px) {
  .modal-backdrop { padding:12px 12px calc(var(--tab-h) + env(safe-area-inset-bottom, 0px) + 12px) 12px; }
  .modal { max-width:100%; }
}
.modal-backdrop.open { opacity:1; pointer-events:auto; }
.modal { background:var(--bg2); border-radius:12px; max-width:420px; width:100%; max-height:calc(100vh - var(--tab-h) - 32px - env(safe-area-inset-bottom, 0px)); box-shadow:0 20px 60px rgba(0,0,0,.3); overflow:hidden; display:flex; flex-direction:column; }
.modal-h { padding:16px 20px 10px; flex-shrink:0; }
.modal-h h3 { margin:0; font-size:1.1rem; }
.modal-b { padding:0 20px 16px; color:var(--text-mute); font-size:.92rem; overflow-y:auto; flex:1 1 auto; min-height:0; -webkit-overflow-scrolling:touch; }
.modal-f { display:flex; gap:8px; justify-content:flex-end; padding:12px 16px; border-top:1px solid var(--border); background:var(--surface2); flex-shrink:0; }

/* Login: Separator zwischen Mail-Form und Code-Form */
.login-sep { display:flex; align-items:center; gap:12px; margin:20px 0 14px; color:var(--text-dim); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.login-sep::before, .login-sep::after { content:""; flex:1; height:1px; background:var(--border); }
.login-code-box { background:var(--surface2); border:1px solid var(--border); border-radius:10px; padding:16px 16px 12px; }
.code-input { font-family:'SF Mono','Menlo',monospace; font-size:22px !important; letter-spacing:.1em; text-align:center; font-weight:700; color:var(--accent); }


/* Einstellungen-Blöcke */
.t-set-block { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px 18px; margin-bottom:14px; }
.t-set-block h3 { font-size:1rem; margin:0 0 10px; display:flex; align-items:baseline; gap:6px; }
.t-set-select { width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; font:inherit; font-size:15px; background:var(--bg); }
.t-set-ios { background:var(--surface2); border:1px solid var(--border); border-radius:8px; padding:10px 14px; margin-top:8px; color:var(--text-mute); }
.t-set-ok { background:var(--green-bg); color:var(--green); padding:10px 14px; border-radius:8px; font-size:.88rem; font-weight:500; }
.t-set-logout { background:transparent; border:0; padding:4px 0; }


/* Burger im Header */
.t-head-burger { background:transparent; border:0; color:#aaa03f; padding:6px 8px; border-radius:8px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.t-head-burger:hover { background:rgba(255,255,255,.08); }
.t-head-burger.is-open { background:#aaa03f; color:#2d1e14; }
.t-head-burger svg { width:22px; height:22px; }
/* Einstellungen-Head */
.t-ein-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.t-ein-close { background:transparent; border:1px solid var(--border); color:var(--text-mute); padding:6px 8px; border-radius:8px; cursor:pointer; display:inline-flex; }
.t-ein-close:hover { background:var(--surface2); color:var(--text); }
.t-ein-close svg { width:18px; height:18px; }
/* Logout-Link im Head jetzt weg → remove old rule override */


/* Plan als vertikale Liste (Mobile-first, V1-Team-Vorbild) */
.t-mp-wrap { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:0; overflow:visible; }
.t-mp-grid.is-list { display:flex !important; flex-direction:column; grid-template-columns:none !important; min-width:0 !important; gap:0 !important; }
.t-plan-day { padding:10px 14px; border-bottom:1px solid var(--border); display:flex; flex-direction:column; gap:8px; background:var(--surface); }
.t-plan-day:last-child { border-bottom:0; }
.t-plan-day.is-today { background:linear-gradient(180deg, var(--accent-bg) 0%, var(--surface) 100%); }
.t-plan-day.is-past { opacity:.6; }
.t-plan-day.is-closed { background:repeating-linear-gradient(45deg, rgba(200,74,63,.05) 0 6px, var(--surface) 6px 12px); }
.t-plan-day-head { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.t-plan-day-date { font-family:var(--serif); font-weight:600; font-size:.95rem; color:var(--text); }
.t-plan-day.is-today .t-plan-day-date { color:var(--accent); font-weight:700; }
.t-plan-closed-badge { font-size:.72rem; color:#c84a3f; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.t-plan-empty-lbl { color:var(--text-dim); font-size:.85rem; }
.t-plan-chips { display:flex; flex-wrap:wrap; gap:5px; }
.t-plan-chip { --role-color:#8a8f98; display:inline-flex; align-items:center; gap:5px; padding:4px 9px 4px 7px; border-radius:6px; font-size:.78rem; line-height:1.3; border-left:3px solid var(--role-color); background:color-mix(in srgb, var(--role-color) 10%, var(--surface)); color:var(--text); }
.t-plan-chip.is-pickup { border-left-style:double; border-left-width:4px; }
.t-plan-chip.is-pool { background:transparent; border:1px dashed color-mix(in srgb, var(--role-color) 55%, var(--border2)); color:color-mix(in srgb, var(--role-color) 70%, #000 30%); font-style:italic; padding-left:7px; }
.t-plan-chip.is-me { background:var(--accent-bg); border-left-color:var(--accent); color:var(--accent); font-weight:700; }
.t-plan-chip-key { font-family:ui-monospace,Menlo,monospace; font-weight:800; font-size:.62rem; color:inherit; opacity:.72; padding:0 2px; }
.t-plan-chip-name { font-weight:600; }
.t-plan-chip-time { font-size:.68rem; color:var(--text-dim); font-variant-numeric:tabular-nums; }
.t-plan-chip.is-me .t-plan-chip-time { color:color-mix(in srgb, var(--accent) 70%, white); }


/* Pool: Badge + Filter */
.t-pool-badge { display:inline-block; background:var(--accent); color:#fff; font-size:.75rem; font-weight:700; padding:2px 10px; border-radius:999px; margin-left:4px; vertical-align:3px; font-family:var(--sans); }
.t-pool-filterbar { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:10px 12px; margin-bottom:12px; }
.t-pool-filter-label { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim); font-weight:600; margin-bottom:6px; }
.t-pool-filter-chips { display:flex; flex-wrap:wrap; gap:6px; }
.t-pool-filter-chip { --role-color:#8a8f98; display:inline-flex; align-items:center; gap:5px; padding:5px 10px; border-radius:999px; border:1px solid var(--border); background:var(--surface2); cursor:pointer; user-select:none; font-size:.78rem; font-weight:500; }
.t-pool-filter-chip input { display:none; }
.t-pool-filter-chip.is-on { background:color-mix(in srgb, var(--role-color) 18%, var(--surface2)); border-color:var(--role-color); color:color-mix(in srgb, var(--role-color) 75%, #000 25%); font-weight:600; }
.t-pool-filter-chip.is-all { font-weight:600; color:var(--text-mute); }
.t-pool-filter-chip.is-all.is-on { background:var(--text); color:var(--bg); border-color:var(--text); }
.t-pool-filter-chip.is-mine { outline:2px solid color-mix(in srgb, var(--role-color) 40%, transparent); outline-offset:1px; }
.t-pool-filter-dot { width:10px; height:10px; border-radius:50%; background:var(--role-color); display:inline-block; flex-shrink:0; }
.t-pool-filter-n { opacity:.65; margin-left:3px; font-weight:400; }

.t-card-pool.is-disabled { opacity:.55; cursor:help; }
.t-card-pool.is-disabled:hover { transform:none; box-shadow:var(--shadow-sm); }
.t-card-rolehint { font-size:.72rem; color:var(--text-dim); font-style:italic; padding:4px 10px; border:1px dashed var(--border); border-radius:999px; white-space:nowrap; }

.t-tab-badge { position:absolute; top:4px; right:calc(50% - 22px); background:var(--accent); color:#fff; font-size:9px; font-weight:700; min-width:16px; height:16px; padding:0 4px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; line-height:1; box-shadow:0 1px 3px rgba(0,0,0,.3); }


/* Zeiten (arbeitszeit) */
.t-az-nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:10px 12px; background:var(--surface2); border-radius:10px; border:1px solid var(--border); margin-bottom:14px; }
.t-az-nav-c { display:flex; align-items:center; justify-content:center; gap:10px; }
.t-az-title { font-family:var(--serif); font-weight:700; font-size:1.1rem; min-width:150px; text-align:center; color:var(--accent); }
.t-az-today { justify-self:end; }
@media (max-width:500px) { .t-az-nav { grid-template-columns:1fr; } .t-az-today { justify-self:center; } }

.t-az-strike-bar { padding:10px 14px; border-radius:10px; margin-bottom:12px; font-size:.88rem; border:1px solid; }
.t-az-strike-bar.is-yellow { background:#fdf4d6; color:#8a6a1a; border-color:#e5c87a; }
.t-az-strike-bar.is-orange { background:#fde6c8; color:#9a5a1a; border-color:#e5a560; }
.t-az-strike-bar.is-red    { background:#f3d2cd; color:var(--red);  border-color:#d99a95; }

.t-az-add { margin-bottom:14px; width:100%; justify-content:center; font-size:1rem; padding:12px 20px; }
.t-az-add span:first-child { font-size:1.3em; line-height:1; margin-right:4px; }

.t-az-stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:8px; margin-bottom:14px; }
.t-az-stat { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:10px 12px; }
.t-az-stat.t-az-stat-tg { background:color-mix(in srgb, #d4af37 10%, var(--surface)); border-color:color-mix(in srgb, #d4af37 40%, var(--border)); }
.t-az-stat-l { font-size:.68rem; color:var(--text-dim); text-transform:uppercase; letter-spacing:.07em; margin-bottom:2px; }
.t-az-stat-v { font-family:var(--serif); font-size:1.15rem; font-weight:700; color:var(--text); }

.t-az-list { display:flex; flex-direction:column; gap:10px; }
.t-az-card {
  background:var(--surface);
  border:1px solid var(--border);
  border-left:4px solid var(--role-color, #8a8f98);
  border-radius:12px;
  padding:12px 14px;
  display:flex; align-items:flex-start; gap:12px;
  box-shadow:var(--shadow-sm);
}
.t-az-card-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--role-color, #8a8f98); flex-shrink:0; margin-top:5px;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--role-color, #8a8f98) 22%, transparent);
}
.t-az-card-body { flex:1; min-width:0; }
.t-az-card-title { font-weight:600; font-size:.98rem; display:flex; align-items:center; gap:4px; margin-bottom:3px; }
.t-az-card-meta { font-size:.84rem; color:var(--text-mute); display:flex; flex-wrap:wrap; gap:4px 6px; align-items:center; }
.t-az-card-status { margin-top:6px; }
.t-az-card-notiz { font-size:.82rem; color:var(--text-dim); margin-top:6px; font-style:italic; word-break:break-word; }
.t-az-card-admin { font-size:.82rem; background:#f3d2cd; color:var(--red); padding:6px 10px; border-radius:6px; margin-top:6px; }

.t-az-card-actions { display:flex; flex-direction:column; gap:5px; align-items:center; flex-shrink:0; }
.t-az-card-btn {
  width:34px; height:34px; border-radius:50%;
  border:1px solid var(--border); background:var(--surface);
  color:var(--text-mute); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .12s, color .12s, border-color .12s;
}
.t-az-card-btn:hover { background:var(--surface2); color:var(--text); }
.t-az-card-btn.is-danger:hover { background:#f3d2cd; color:var(--red); border-color:#d99a95; }
.t-az-card-btn svg { width:16px; height:16px; }

.t-az-status { display:inline-block; padding:3px 10px; border-radius:999px; font-size:.72rem; font-weight:600; letter-spacing:.02em; }
.t-az-status.is-eingereicht { background:#fdf4d6; color:#8a6a1a; }
.t-az-status.is-genehmigt   { background:var(--green-bg); color:var(--green); }
.t-az-status.is-abgelehnt   { background:#f3d2cd; color:var(--red); }

.t-az-card-spaet {
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; border-radius:50%;
  background:var(--red); color:#fff; font-size:.68rem; font-weight:800;
  margin-left:4px; cursor:help; flex-shrink:0;
}

/* Formular Modal */
.t-az-f-label { display:block; margin-bottom:10px; font-size:.78rem; color:var(--text-mute); font-weight:500; }
.t-az-f-label input, .t-az-f-label textarea {
  display:block; width:100%; padding:9px 12px; margin-top:4px;
  border:1px solid var(--border); border-radius:7px;
  font:inherit; font-size:16px; /* iOS: >=16px verhindert Auto-Zoom */
  background:var(--bg);
  box-sizing:border-box; min-width:0;
  -webkit-appearance:none; appearance:none;
}
.t-az-f-label input[type=date], .t-az-f-label input[type=time] {
  -webkit-appearance:none; appearance:none;
  display:block; width:100%; min-width:0;
  /* iOS-Safari rendert Picker-Icon innerhalb — unten etwas Luft lassen */
  min-height:42px;
}
/* Picker-Icon Position normalisieren */
.t-az-f-label input::-webkit-date-and-time-value { text-align:left; min-height:1.5em; }
.t-az-f-label input::-webkit-calendar-picker-indicator { opacity:0.5; cursor:pointer; }
.t-az-f-label input:focus, .t-az-f-label textarea:focus { outline:none; border-color:var(--accent); }
.t-az-f-row { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:8px; }
.t-az-f-row > * { min-width:0; }
.t-az-f-pause { max-width:50%; }
@media (max-width:420px) { .t-az-f-pause { max-width:100%; } }
.t-az-f-hint { margin-top:4px; }


/* Zeiten-Historie (letzte 12 Monate kompakt) */
.t-az-hist { display:flex; flex-direction:column; gap:5px; margin-top:4px; }
.t-az-hist-row { display:flex; justify-content:space-between; align-items:center; padding:9px 12px; background:var(--surface); border:1px solid var(--border); border-radius:8px; font-size:.9rem; }
.t-az-hist-m { color:var(--text-mute); font-weight:500; text-transform:capitalize; }
.t-az-hist-v { font-family:var(--serif); font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums; }
