/* Auswertung – Front-End-Styles, gekapselt unter .tvb-app (kein Theme-Ausbluten).
 * Keine externen Schriften (DSGVO). */

.tvb-app.tvb-auswertung{
  --clay:#C0622A;--court:#2D6A2D;--bg:#F7F4EF;--surface:#fff;--line:#E0DAD0;--text:#1A1A1A;--muted:#6B6258;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--text);background:var(--bg);border-radius:14px;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.06);
}
.tvb-app.tvb-auswertung *{box-sizing:border-box;margin:0;padding:0;}
.tvb-app.tvb-auswertung h1,.tvb-app.tvb-auswertung h2,.tvb-app.tvb-auswertung p{margin:0;}

.tvb-app .tvb-header{background:var(--court);color:#fff;padding:16px 24px;display:flex;align-items:center;gap:16px;}
.tvb-app .tvb-logo-badge{width:40px;height:40px;background:var(--clay);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;flex-shrink:0;}
.tvb-app .tvb-header h1{font-size:1.1rem;font-weight:700;}
.tvb-app .tvb-header p{font-size:.75rem;opacity:.75;margin-top:2px;}

.tvb-app .tvb-main{padding:24px 16px;}

/* Buttons */
.tvb-app .tvb-btn{padding:8px 16px;border:none;border-radius:7px;font-size:.85rem;font-weight:600;cursor:pointer;}
.tvb-app .tvb-btn-primary{background:var(--clay);color:#fff;}
.tvb-app .tvb-btn-secondary{background:var(--bg);border:1px solid var(--line);color:var(--text);}
.tvb-app .tvb-btn:hover{opacity:.85;}
.tvb-app .tvb-select,.tvb-app input[type=date],.tvb-app input[type=password]{border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:.85rem;background:var(--bg);color:var(--text);}

/* Passwort-Gate */
.tvb-app .tvb-gate{padding:40px 16px;display:flex;justify-content:center;}
.tvb-app .tvb-gate-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 24px;max-width:360px;width:100%;text-align:center;}
.tvb-app .tvb-gate-box h2{color:var(--court);margin-bottom:10px;}
.tvb-app .tvb-gate-box p{font-size:.85rem;color:var(--muted);margin-bottom:16px;}
.tvb-app .tvb-gate-box input{width:100%;margin-bottom:12px;}
.tvb-app .tvb-gate-box .tvb-btn{width:100%;}
.tvb-app .tvb-error-msg{color:#c0392b;font-size:.82rem;margin-bottom:10px;display:none;}
.tvb-app .tvb-error-msg.show{display:block;}

.tvb-app .tvb-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:24px;}
.tvb-app .tvb-toolbar label{font-size:.82rem;color:var(--muted);font-weight:600;}
.tvb-app .tvb-status2{font-size:.78rem;color:var(--muted);margin-left:auto;}
.tvb-app .tvb-status2.err{color:#c0392b;}

.tvb-app .tvb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;}
@media(max-width:700px){.tvb-app .tvb-grid2{grid-template-columns:1fr;}}
.tvb-app .tvb-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;}
.tvb-app .tvb-card h2{font-size:.95rem;font-weight:700;color:var(--court);margin-bottom:16px;}
.tvb-app .tvb-card.tvb-full{grid-column:1/-1;}

.tvb-app .tvb-rank-table{width:100%;border-collapse:collapse;font-size:.85rem;}
.tvb-app .tvb-rank-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--line);color:var(--muted);font-size:.78rem;}
.tvb-app .tvb-rank-table td{padding:7px 8px;border-bottom:1px solid var(--line);}
.tvb-app .tvb-rank-table tr:last-child td{border-bottom:none;}
.tvb-app .tvb-rank-num{font-weight:700;color:var(--clay);width:30px;}
.tvb-app .tvb-bar-wrap{background:#EDF4ED;border-radius:4px;height:8px;flex:1;overflow:hidden;}
.tvb-app .tvb-bar-fill{background:var(--court);height:100%;border-radius:4px;}

.tvb-app .tvb-heatmap{width:100%;border-collapse:collapse;font-size:.72rem;}
.tvb-app .tvb-heatmap th{padding:3px 4px;text-align:center;color:var(--muted);}
.tvb-app .tvb-heatmap td{width:28px;height:24px;text-align:center;border-radius:4px;font-size:.7rem;font-weight:600;}

.tvb-app .tvb-barchart{display:flex;align-items:flex-end;gap:4px;height:140px;padding-top:8px;}
.tvb-app .tvb-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;gap:4px;}
.tvb-app .tvb-bar-col .bar{width:100%;background:var(--court);border-radius:4px 4px 0 0;min-height:2px;}
.tvb-app .tvb-bar-col .lbl{font-size:.65rem;color:var(--muted);text-align:center;white-space:nowrap;}
.tvb-app .tvb-bar-col .val{font-size:.7rem;font-weight:600;color:var(--text);}

.tvb-app .tvb-export-row{display:flex;gap:10px;flex-wrap:wrap;}
.tvb-app .tvb-info-box{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:.82rem;color:var(--muted);margin-bottom:12px;}
.tvb-app .tvb-info-box span{font-weight:700;color:var(--text);}

.tvb-app .tvb-log-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.tvb-app .tvb-log-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--line);color:var(--muted);font-size:.75rem;position:sticky;top:0;background:var(--surface);}
.tvb-app .tvb-log-table td{padding:5px 8px;border-bottom:1px solid var(--line);}
.tvb-app .tvb-log-table tr:last-child td{border-bottom:none;}
.tvb-app .tvb-log-wrap{max-height:340px;overflow-y:auto;}
.tvb-app .tvb-tag{display:inline-block;padding:1px 8px;border-radius:4px;font-size:.72rem;font-weight:600;}
.tvb-app .tvb-tag-book{background:#EDF4ED;color:#2D6A2D;}
.tvb-app .tvb-tag-del{background:#FAE8E0;color:#C0622A;}
.tvb-app .tvb-tag-lock{background:#F0E0E0;color:#922;}
.tvb-app .tvb-tag-admin{background:#E0E8F0;color:#3A6FA0;}

.tvb-app .tvb-tabs{display:flex;gap:0;margin-bottom:20px;}
.tvb-app .tvb-tab{padding:10px 20px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:.88rem;font-weight:600;color:var(--muted);}
.tvb-app .tvb-tab:first-child{border-radius:8px 0 0 8px;}
.tvb-app .tvb-tab:last-child{border-radius:0 8px 8px 0;}
.tvb-app .tvb-tab.active{background:var(--court);color:#fff;border-color:var(--court);}
.tvb-app .tvb-tab-content{display:none;}
.tvb-app .tvb-tab-content.active{display:block;}
