/* OA96 Schnupperbesuch – alles unter body .oa96sb, damit Salient nicht dazwischenfunkt */
body .oa96sb { --sb-green:#3f7d1f; --sb-green-d:#2f6216; --sb-line:#dcdfe3; --sb-muted:#6b7280; --sb-bg:#f6f7f8; --sb-red:#c62828; --sb-amber:#fff4d6;
	max-width:860px; margin:0 auto; font-size:16px; line-height:1.5; color:#222; }
body .oa96sb.oa96sb-manage { max-width:1200px; }
body .oa96sb *, body .oa96sb *::before, body .oa96sb *::after { box-sizing:border-box; }
body .oa96sb [hidden] { display:none !important; }
body .oa96sb h2 { font-size:1.35em; margin:0 0 .4em; }
body .oa96sb h3 { font-size:1.1em; margin:1.4em 0 .5em; }
body .oa96sb hr { border:0; border-top:1px solid var(--sb-line); margin:.6em 0 1em; }
body .oa96sb ul { margin:0 0 1em 1.2em; padding:0; list-style:disc; }
body .oa96sb .oa96sb-muted { color:var(--sb-muted); }

body .oa96sb .oa96sb-card { background:#fff; border:1px solid var(--sb-line); border-radius:10px; padding:1.4em 1.5em; margin:0 0 1.2em; box-shadow:0 1px 3px rgba(0,0,0,.04); }
body .oa96sb .oa96sb-error { border-color:#f1b3b3; background:#fff5f5; color:#7a1414; }

/* Formularfelder */
body .oa96sb .oa96sb-row { display:flex; flex-wrap:wrap; gap:0 1rem; }
body .oa96sb .oa96sb-row > .oa96sb-field { flex:1 1 240px; }
body .oa96sb .oa96sb-field { display:block; margin:0 0 1em; }
body .oa96sb .oa96sb-field > span { display:block; font-weight:600; font-size:.92em; margin-bottom:.3em; }
body .oa96sb input[type=text], body .oa96sb input[type=email], body .oa96sb input[type=tel], body .oa96sb input[type=date],
body .oa96sb input[type=search], body .oa96sb textarea {
	width:100% !important; max-width:100% !important; font-size:17px !important; padding:.6em .7em !important; border:1px solid #c9ced4 !important;
	border-radius:6px !important; background:#fff !important; color:#222 !important; box-shadow:none !important; height:auto !important; line-height:1.4 !important; margin:0 !important; }
body .oa96sb input:focus, body .oa96sb textarea:focus { outline:2px solid var(--sb-green) !important; outline-offset:1px; border-color:var(--sb-green) !important; }
body .oa96sb .oa96sb-fs { border:0 !important; padding:0 !important; margin:1.2em 0 !important; }
body .oa96sb .oa96sb-fs legend, body .oa96sb .oa96sb-visit legend { font-weight:600; padding:0; margin-bottom:.5em; font-size:1em; }
body .oa96sb .oa96sb-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

/* Kacheln (Termine) */
body .oa96sb .oa96sb-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:.6em; }
body .oa96sb .oa96sb-tile { display:block; margin:0; cursor:pointer; }
body .oa96sb .oa96sb-tile input, body .oa96sb .oa96sb-chip input { position:absolute !important; opacity:0 !important; width:1px !important; height:1px !important; margin:0 !important; }
body .oa96sb .oa96sb-tile span { display:block; padding:.85em 1em; border:2px solid var(--sb-line); border-radius:8px; background:#fff; text-align:center; transition:all .12s; }
body .oa96sb .oa96sb-tile input:checked + span { border-color:var(--sb-green); background:var(--sb-green); color:#fff; }
body .oa96sb .oa96sb-tile input:focus-visible + span, body .oa96sb .oa96sb-chip input:focus-visible + span { outline:2px solid var(--sb-green); outline-offset:2px; }

/* Chips (Interessen, Gruppen) */
body .oa96sb .oa96sb-chips { display:flex; flex-wrap:wrap; gap:.45em; }
body .oa96sb .oa96sb-chip { display:inline-block; margin:0; cursor:pointer; position:relative; }
body .oa96sb .oa96sb-chip span { display:inline-block; padding:.45em .95em; border:1px solid #c9ced4; border-radius:999px; background:#f1f2f4; font-size:.95em; user-select:none; }
body .oa96sb .oa96sb-chip input:checked + span { background:var(--sb-green); border-color:var(--sb-green); color:#fff; }
body .oa96sb .oa96sb-chip.is-cancel input:checked + span { background:var(--sb-red); border-color:var(--sb-red); }
body .oa96sb .oa96sb-chips.is-groups .oa96sb-chip span { font-size:.88em; padding:.4em .8em; }

body .oa96sb .oa96sb-check { display:flex; gap:.5em; align-items:flex-start; margin:1em 0; font-weight:500; cursor:pointer; }
body .oa96sb .oa96sb-check input { margin:.3em 0 0 !important; width:18px; height:18px; flex:0 0 auto; }

/* Knöpfe */
body .oa96sb .oa96sb-btn { display:inline-block; background:var(--sb-green) !important; color:#fff !important; border:1px solid var(--sb-green) !important; border-radius:6px !important;
	padding:.7em 1.4em !important; font-size:1em !important; font-weight:600 !important; line-height:1.2 !important; cursor:pointer; text-decoration:none !important; margin:0 .3em .3em 0; box-shadow:none !important; text-transform:none !important; letter-spacing:0 !important; }
body .oa96sb .oa96sb-btn:hover { background:var(--sb-green-d) !important; }
body .oa96sb .oa96sb-btn.is-light { background:#fff !important; color:var(--sb-green-d) !important; border-color:#c9ced4 !important; }
body .oa96sb .oa96sb-btn.is-light:hover { border-color:var(--sb-green) !important; }
body .oa96sb .oa96sb-btn.is-danger { background:var(--sb-red) !important; border-color:var(--sb-red) !important; color:#fff !important; }
body .oa96sb .oa96sb-btn.is-small { padding:.45em .85em !important; font-size:.9em !important; }
body .oa96sb .oa96sb-btn[disabled] { opacity:.5; cursor:not-allowed; }
body .oa96sb .oa96sb-form > p > .oa96sb-btn[type=submit] { width:100%; padding:.9em !important; font-size:1.05em !important; }

/* Verwaltung */
body .oa96sb .oa96sb-msg { padding:.75em 1em; border-radius:6px; margin:0 0 1em; }
body .oa96sb .oa96sb-msg.is-ok { background:#e9f6e2; color:#24521a; }
body .oa96sb .oa96sb-msg.is-err { background:#fde8e8; color:#7a1414; }
body .oa96sb .oa96sb-msg.is-warn { background:var(--sb-amber); color:#6b4b00; }
body .oa96sb .oa96sb-info { background:#2f7fc0; color:#fff; border-radius:6px; padding:.8em 1em; margin:0 0 1em; }
body .oa96sb .oa96sb-nav { display:flex; flex-wrap:wrap; gap:.3em; margin:0 0 1em; }
body .oa96sb .oa96sb-badge { display:inline-block; background:var(--sb-red); color:#fff; border-radius:999px; padding:0 .5em; font-size:.8em; margin-left:.2em; }
body .oa96sb .oa96sb-filters { display:flex; flex-wrap:wrap; gap:.3em; align-items:center; margin:0 0 1em; }
body .oa96sb .oa96sb-filters > .oa96sb-muted { margin-right:.3em; }
body .oa96sb .oa96sb-search { display:flex; gap:.3em; margin:0 0 0 auto; min-width:240px; }
body .oa96sb .oa96sb-search input { font-size:15px !important; padding:.4em .6em !important; }

body .oa96sb .oa96sb-table { width:100%; border-collapse:collapse; background:#fff; margin:0 0 1em; font-size:.95em; }
body .oa96sb .oa96sb-table th { text-align:left; font-weight:600; padding:.6em .7em; border-bottom:2px solid var(--sb-line); background:#fff; }
body .oa96sb .oa96sb-table td { padding:.55em .7em; border-bottom:1px solid #eceef1; vertical-align:top; }
body .oa96sb .oa96sb-table tbody tr:nth-child(even) td { background:#f8f9fa; }
body .oa96sb .oa96sb-table .num { text-align:right; }
body .oa96sb .oa96sb-table a { color:inherit; text-decoration:none; }
body .oa96sb .oa96sb-table a:hover { text-decoration:underline; }
body .oa96sb .oa96sb-table tr.is-dup td:first-child, body .oa96sb .oa96sb-table tr.is-dup td:first-child a { color:var(--sb-red); }
body .oa96sb .oa96sb-table tr.is-mine td { background:#eef7e8 !important; }
body .oa96sb .oa96sb-table td.is-cancel { color:var(--sb-red); }
body .oa96sb .is-future { font-weight:600; }
body .oa96sb .is-past { color:var(--sb-muted); }
body .oa96sb .oa96sb-today { display:inline-block; padding:0 .45em; border-radius:10px; background:#ffe082; font-size:.85em; }
body .oa96sb .oa96sb-member { color:#2e7d32; }
body .oa96sb .oa96sb-pill { display:inline-block; padding:.05em .55em; border-radius:999px; background:#eef0f2; font-size:.82em; color:#333; }

body .oa96sb .oa96sb-edit { background:#fff; border:1px solid var(--sb-line); border-radius:10px; padding:1.2em 1.3em; }
body .oa96sb .oa96sb-visit { border:1px solid var(--sb-line) !important; border-radius:8px; padding:.8em 1em .2em !important; margin:0 0 1em !important; }
body .oa96sb .oa96sb-date { max-width:240px; }
body .oa96sb .oa96sb-actions { display:flex; flex-wrap:wrap; gap:.4em; margin-top:1em; }
body .oa96sb .oa96sb-delete { margin-top:1em; }
body .oa96sb .oa96sb-links { margin:-.4em 0 1em; }

body .oa96sb .oa96sb-dates, body .oa96sb .oa96sb-follow { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:.8em; }
body .oa96sb .oa96sb-date-card { background:#fff; border:1px solid var(--sb-line); border-radius:8px; padding:.8em 1em; }
body .oa96sb .oa96sb-date-card.is-blocked { background:#f3f4f6; }
body .oa96sb .oa96sb-date-card.is-alert { border-color:var(--sb-red); }
body .oa96sb .oa96sb-date-card.is-done { opacity:.6; }
body .oa96sb .oa96sb-date-head { display:flex; justify-content:space-between; gap:.5em; align-items:baseline; }
body .oa96sb .oa96sb-names { list-style:none; margin:.4em 0; padding:0; font-size:.92em; }
body .oa96sb .oa96sb-names li.is-cancel { color:var(--sb-muted); text-decoration:line-through; }
body .oa96sb .oa96sb-alert-text { color:var(--sb-red); font-size:.9em; margin:.4em 0; }
body .oa96sb .oa96sb-inline { display:flex; flex-wrap:wrap; gap:.3em; align-items:center; margin-top:.6em; }
body .oa96sb .oa96sb-inline input[type=text] { flex:1 1 120px; font-size:14px !important; padding:.4em .6em !important; width:auto !important; }
body .oa96sb .oa96sb-inline .oa96sb-btn { margin:0; }

/* Handy: Tabellen als Karten */
@media (max-width: 760px) {
	body .oa96sb .oa96sb-card { padding:1.1em 1em; }
	body .oa96sb .oa96sb-search { margin:0; width:100%; }
	body .oa96sb .oa96sb-table thead { display:none; }
	body .oa96sb .oa96sb-table, body .oa96sb .oa96sb-table tbody, body .oa96sb .oa96sb-table tr, body .oa96sb .oa96sb-table td { display:block; width:100%; }
	body .oa96sb .oa96sb-table tr { border:1px solid var(--sb-line); border-radius:8px; margin:0 0 .6em; background:#fff; padding:.3em 0; }
	body .oa96sb .oa96sb-table tbody tr:nth-child(even) td { background:transparent; }
	body .oa96sb .oa96sb-table td { border:0; padding:.2em .8em; }
	body .oa96sb .oa96sb-table td[data-l]::before { content:attr(data-l) ": "; color:var(--sb-muted); font-size:.85em; }
	body .oa96sb .oa96sb-table td[data-l="Name"]::before { content:none; }
	body .oa96sb .oa96sb-table td[data-l="Name"] { font-size:1.05em; }
	body .oa96sb .oa96sb-table td.is-empty { display:none; }
	body .oa96sb .oa96sb-stats tr { display:flex; justify-content:space-between; }
	body .oa96sb .oa96sb-stats td { width:auto; }
}
