:root{
  --lps-orange:#f97316;
  --lps-orange-soft:#fff3e7;
  --lps-blue:#0047AB;
  --lps-blue-soft:#edf4ff;
  --lps-ink:#172033;
  --lps-muted:#64748b;
  --lps-line:#e5e7eb;
  --lps-bg:#f8fafc;
  --lps-card:#ffffff;
  --lps-radius:18px;
  --lps-shadow:0 18px 45px rgba(15,23,42,.08);
}
.lps-krb-app,.lps-krb-wrap{font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--lps-ink)}
.lps-krb-app{max-width:1180px;margin:0 auto;padding:clamp(10px,2vw,24px)}
.lps-krb-section,.lps-krb-panel{background:var(--lps-card);border:1px solid var(--lps-line);border-radius:var(--lps-radius);box-shadow:var(--lps-shadow);padding:clamp(16px,2.5vw,28px);margin:0 0 22px}
.lps-krb-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.lps-krb-section h2,.lps-krb-panel h2{margin:0 0 8px;color:var(--lps-blue);font-weight:800;letter-spacing:-.02em}
.lps-krb-section h3,.lps-krb-panel h3{margin:12px 0 8px;color:var(--lps-ink)}
.lps-krb-section p,.lps-krb-panel p{color:var(--lps-muted);margin-top:0}
.lps-krb-admin-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:22px;align-items:start}
.lps-krb-wide-panel{grid-column:1 / -1}
.lps-krb-accent-panel{background:linear-gradient(135deg,var(--lps-blue-soft),#fff)}
.lps-krb-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.lps-krb-admin-card{border:1px solid var(--lps-line);border-radius:16px;padding:16px;background:#fff}
.lps-krb-admin-card h3 small{display:block;color:var(--lps-muted);font-weight:500;margin-top:4px}
.lps-krb-shortcode{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:14px;align-items:start;border:1px solid var(--lps-line);border-radius:14px;padding:14px;margin:10px 0;background:var(--lps-bg)}
.lps-krb-shortcode code{background:var(--lps-blue);color:#fff;border-radius:10px;padding:8px 10px;display:inline-block;white-space:normal;line-height:1.45}
.lps-krb-shortcode span{color:var(--lps-muted)}
.lps-krb-selector-group{margin:16px 0}
.lps-krb-card-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.lps-krb-pick-card{display:flex;flex-direction:column;gap:5px;min-height:72px;border:2px solid var(--lps-line);border-radius:18px;padding:16px;text-decoration:none!important;background:#fff;color:var(--lps-ink);transition:.16s ease;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.lps-krb-pick-card:hover{transform:translateY(-1px);border-color:var(--lps-orange);box-shadow:0 14px 28px rgba(249,115,22,.14)}
.lps-krb-pick-card.is-active{border-color:var(--lps-blue);background:linear-gradient(135deg,var(--lps-blue-soft),#fff)}
.lps-krb-pick-card span{font-weight:800;font-size:1rem}
.lps-krb-pick-card small{color:var(--lps-muted)}
.lps-krb-date-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.lps-krb-date-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0}
.lps-krb-btn,.lps-krb-submit{appearance:none;border:none;border-radius:999px;background:#fff;border:1px solid var(--lps-line);color:var(--lps-ink);font-weight:800;padding:11px 16px;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;line-height:1.2}
.lps-krb-btn:hover{border-color:var(--lps-blue);color:var(--lps-blue)}
.lps-krb-btn-primary,.lps-krb-submit{background:var(--lps-blue);border-color:var(--lps-blue);color:#fff!important}
.lps-krb-btn-primary:hover,.lps-krb-submit:hover{background:#003b90;color:#fff!important}
.lps-krb-btn-secondary{background:var(--lps-orange);border-color:var(--lps-orange);color:#fff!important}
.lps-krb-table-scroll{overflow:auto;border-radius:16px;border:1px solid var(--lps-line)}
.lps-krb-week-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px;background:#fff}
.lps-krb-week-table th{position:sticky;top:0;background:var(--lps-blue);color:#fff;padding:12px 10px;text-align:left;z-index:1}
.lps-krb-week-table th:first-child{border-top-left-radius:14px}
.lps-krb-week-table th:last-child{border-top-right-radius:14px}
.lps-krb-week-table td{border-top:1px solid var(--lps-line);border-right:1px solid var(--lps-line);padding:10px;vertical-align:top;min-width:140px;font-size:.92rem}
.lps-krb-week-table td:last-child{border-right:none}
.lps-krb-time-cell{font-weight:800;color:var(--lps-blue);background:var(--lps-bg);min-width:94px!important}
.lps-krb-free{color:#0f766e;background:#f0fdf4;font-weight:700;text-align:center}
.lps-krb-busy{background:var(--lps-orange-soft);border-left:4px solid var(--lps-orange)}
.lps-krb-busy-pending{background:#fff7ed;border-left-color:#fb923c}
.lps-krb-busy-approved{background:#eff6ff;border-left-color:var(--lps-blue)}
.lps-krb-busy strong{display:block;color:var(--lps-ink);line-height:1.25}
.lps-krb-busy small{display:block;color:var(--lps-muted);margin-top:4px}
.lps-krb-free-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.lps-krb-free-day{border:1px solid var(--lps-line);border-radius:16px;padding:14px;background:var(--lps-bg)}
.lps-krb-free-slot{display:inline-flex;margin:4px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #bbf7d0;color:#166534;text-decoration:none!important;font-weight:700}
.lps-krb-free-slot:hover{border-color:var(--lps-orange);color:var(--lps-orange)}
.lps-krb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lps-krb-span-2{grid-column:1 / -1}
.lps-krb-form label,.lps-krb-panel label,.lps-krb-admin-card label{display:flex;flex-direction:column;gap:6px;font-weight:750;color:var(--lps-ink);margin:0 0 12px}
.lps-krb-form input,.lps-krb-form textarea,.lps-krb-panel input,.lps-krb-panel textarea,.lps-krb-panel select,.lps-krb-admin-card input,.lps-krb-admin-card textarea,.lps-krb-admin-card select,.lps-krb-date-form input{width:100%;max-width:100%;border:1px solid var(--lps-line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--lps-ink);box-sizing:border-box;min-height:42px}
.lps-krb-form input:focus,.lps-krb-form textarea:focus,.lps-krb-panel input:focus,.lps-krb-panel select:focus,.lps-krb-panel textarea:focus{outline:3px solid rgba(0,71,171,.14);border-color:var(--lps-blue)}
.lps-krb-submit{font-size:1rem;margin-top:14px;padding:13px 22px}
.lps-krb-series-box{margin:16px 0;padding:14px;border:1px solid var(--lps-line);border-radius:16px;background:var(--lps-bg)}
.lps-krb-series-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
.lps-krb-check{flex-direction:row!important;align-items:center!important;gap:10px!important;margin:8px 0!important;font-weight:750!important}
.lps-krb-check input{width:auto!important;min-height:auto!important}
.lps-krb-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.lps-krb-chip{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;border:1px solid var(--lps-line);border-radius:999px;background:#fff;padding:8px 12px;margin:0!important;cursor:pointer}
.lps-krb-chip input{width:auto!important;min-height:auto!important}
.lps-krb-label{font-weight:800;color:var(--lps-ink);margin:10px 0 8px}
.lps-krb-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lps-krb-filter-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.lps-krb-filter-form label{min-width:160px;margin:0!important}
.lps-krb-table{border-radius:14px;overflow:hidden}
.lps-krb-admin-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.lps-krb-admin-actions form{margin:0;display:inline-block}
.lps-krb-inline-edit{margin-top:12px;padding:12px;border:1px solid var(--lps-line);border-radius:14px;background:var(--lps-bg)}
.lps-krb-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-weight:800;font-size:.82rem}
.lps-krb-status-pending{background:#fff7ed;color:#9a3412}
.lps-krb-status-approved{background:#eff6ff;color:#1d4ed8}
.lps-krb-status-rejected{background:#fee2e2;color:#991b1b}
.lps-krb-message{border-radius:14px;padding:12px 16px;font-weight:800;margin:0 0 16px;border:1px solid transparent}
.lps-krb-message-ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.lps-krb-message-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
@media(max-width:760px){
  .lps-krb-admin-grid,.lps-krb-form-grid,.lps-krb-series-options,.lps-krb-time-grid{grid-template-columns:1fr}
  .lps-krb-section-head{flex-direction:column}
  .lps-krb-shortcode{grid-template-columns:1fr}
  .lps-krb-date-nav,.lps-krb-date-form{align-items:stretch}
  .lps-krb-btn,.lps-krb-submit{width:100%}
  .lps-krb-card-picker{grid-template-columns:1fr}
  .lps-krb-filter-form label{width:100%}
}
@media print{
  .lps-krb-app{padding:0;max-width:none}
  .lps-krb-section{box-shadow:none;border:none;margin:0;padding:0}
  .lps-krb-section-head{margin-bottom:10px}
  .lps-krb-date-nav,.lps-krb-selector-group,.lps-krb-btn,.lps-krb-form,.lps-krb-message{display:none!important}
  .lps-krb-table-scroll{overflow:visible;border:1px solid #bbb}
  .lps-krb-week-table{min-width:0;font-size:10px}
  .lps-krb-week-table th{position:static;background:#e8eef8!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .lps-krb-week-table td{padding:5px;min-width:auto;font-size:10px}
  .lps-krb-free{background:#fff!important;color:#333!important}
  .lps-krb-busy{background:#f3f4f6!important;border-left:3px solid #000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.lps-krb-shortcode{grid-template-columns:minmax(220px,360px) auto 1fr}
.lps-krb-copy-shortcode{white-space:nowrap;align-self:center}
.lps-krb-source-tag{display:inline-flex;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800;padding:6px 10px;font-size:.82rem}
.lps-krb-import-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:12px 14px;font-weight:750}
.lps-krb-edit-details{display:inline-block}
.lps-krb-edit-details summary{cursor:pointer;list-style:none}
.lps-krb-booking-edit{min-width:min(720px,calc(100vw - 80px))}
.lps-krb-required{display:inline-flex;align-items:center;gap:3px}
.lps-krb-required:after{content:"*";color:#dc2626;font-weight:900}
.lps-krb-required-note{font-size:.9rem;color:var(--lps-muted);margin:8px 0 0!important}
.lps-krb-slot-link{display:block;color:inherit;text-decoration:none!important;min-height:44px}
.lps-krb-slot-link:hover strong,.lps-krb-slot-link:hover{color:var(--lps-blue)}
.lps-krb-slot-link em{display:inline-flex;margin-top:6px;font-style:normal;font-weight:800;font-size:.78rem;color:var(--lps-orange)}
.lps-krb-slot-free{color:#0f766e;text-align:center}
.lps-krb-slot-free small{display:block;color:#166534;font-weight:700;margin-top:2px}
@media(max-width:760px){.lps-krb-shortcode{grid-template-columns:1fr}.lps-krb-copy-shortcode{width:100%}.lps-krb-booking-edit{min-width:0}}
@media print{.lps-krb-slot-link em{display:none!important}.lps-krb-slot-link{color:#000!important}}

/* v1.0.2: übersichtlichere Shortcode-Karten und Sperrzeiten */
.lps-krb-shortcode{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px 14px!important}
.lps-krb-shortcode code{width:100%;box-sizing:border-box;white-space:nowrap;overflow:auto}
.lps-krb-shortcode span{grid-column:1 / -1;line-height:1.45;max-width:760px}
.lps-krb-status-cancelled{background:#f3f4f6;color:#374151}
.lps-krb-blocked{background:#f8fafc;border-left:4px solid #64748b;color:#334155;font-weight:800}
.lps-krb-blocked strong{display:block;color:#334155;line-height:1.25}
.lps-krb-blocked small{display:block;color:#64748b;margin-top:4px;font-weight:700}
.lps-krb-scope-row{margin-bottom:12px}
@media(max-width:760px){.lps-krb-shortcode{grid-template-columns:1fr!important}.lps-krb-shortcode code{white-space:normal}.lps-krb-shortcode span{grid-column:auto}}
@media print{.lps-krb-blocked{background:#f3f4f6!important;border-left:3px solid #777!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.lps-krb-past{opacity:.78}
.lps-krb-past strong{color:#475569}
.lps-krb-past small{color:#64748b}

/* Erweiterungen ab 1.0.5 */
.lps-krb-legend{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px;font-size:13px;color:#334155}.lps-krb-legend span{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px}.lps-krb-legend i{display:inline-block;width:10px;height:10px;border-radius:999px}.lps-krb-dot-free{background:#dcfce7}.lps-krb-dot-busy{background:#0047AB}.lps-krb-dot-import{background:#8b5cf6}.lps-krb-dot-pending{background:#f97316}.lps-krb-dot-blocked{background:#64748b}.lps-krb-dot-past{background:#cbd5e1}.lps-krb-imported,.lps-krb-day-entry.lps-krb-imported{outline:2px dashed #8b5cf6;outline-offset:-3px}.lps-krb-day-slots{display:grid;gap:10px}.lps-krb-day-slot{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:stretch}.lps-krb-day-time{font-weight:800;color:#0f172a;background:#eff6ff;border:1px solid #dbeafe;border-radius:16px;padding:12px}.lps-krb-day-entry{display:block;border-radius:16px;padding:12px;text-decoration:none}.lps-krb-day-entry strong{display:block}.lps-krb-day-entry small,.lps-krb-day-entry em{display:block;margin-top:4px}.lps-krb-submit-summary{background:#fff7ed;border:1px solid #fed7aa;border-left:6px solid #f97316;border-radius:16px;padding:14px;margin:12px 0}.lps-krb-series-preview{margin-top:12px}.lps-krb-preview-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.lps-krb-preview-table th,.lps-krb-preview-table td{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left}.lps-krb-preview-table tr.is-ok td{background:#f0fdf4}.lps-krb-preview-table tr.is-skip td{background:#f8fafc;color:#64748b}.lps-krb-preview-table tr.is-conflict td{background:#fff7ed}.lps-krb-log-pre{white-space:pre-wrap;max-height:340px;overflow:auto;background:#0f172a;color:#e2e8f0;padding:12px;border-radius:12px}.lps-krb-inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:14px}.lps-krb-inline-form label{display:flex;flex-direction:column;gap:4px}.lps-krb-month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:16px}.lps-krb-month-day{border:1px solid #e2e8f0;border-radius:16px;background:#fff;padding:10px;min-height:90px}.lps-krb-month-entry{margin-top:6px;border-left:4px solid #0047AB;background:#eff6ff;padding:6px;border-radius:8px;font-size:12px}.lps-krb-month-entry.is-import{border-left-color:#8b5cf6;background:#f5f3ff}@media(max-width:700px){.lps-krb-day-slot{grid-template-columns:1fr}.lps-krb-inline-form{display:block}.lps-krb-inline-form label{margin-bottom:10px}}


/* v1.0.6: fester Kalenderfeed-Button */
.lps-krb-feed-widget{position:fixed;right:22px;bottom:22px;z-index:9999;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}
.lps-krb-feed-toggle{border:none;border-radius:999px;background:linear-gradient(135deg,var(--lps-orange),#fb923c);color:#fff;font-weight:900;font-size:15px;box-shadow:0 18px 38px rgba(249,115,22,.32);padding:14px 18px;cursor:pointer;min-height:52px}
.lps-krb-feed-toggle:hover{transform:translateY(-1px);box-shadow:0 22px 46px rgba(249,115,22,.38)}
.lps-krb-feed-panel{position:absolute;right:0;bottom:64px;width:min(340px,calc(100vw - 36px));background:#fff;border:1px solid var(--lps-line);border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.22);padding:16px;color:var(--lps-ink)}
.lps-krb-feed-panel strong{display:block;color:var(--lps-blue);font-size:16px;margin-bottom:8px}
.lps-krb-feed-panel p{margin:0 0 12px;color:var(--lps-muted);line-height:1.45}
.lps-krb-feed-panel .lps-krb-btn{width:100%;justify-content:center;margin:5px 0;box-sizing:border-box;text-align:center}
.lps-krb-feed-panel small{display:block;margin-top:10px;color:var(--lps-muted);line-height:1.35}
@media(max-width:760px){.lps-krb-feed-widget{right:14px;bottom:14px}.lps-krb-feed-toggle{font-size:14px;padding:12px 15px}.lps-krb-feed-panel{bottom:58px}}
@media print{.lps-krb-feed-widget{display:none!important}}

/* Version 1.0.8: Tooltip für belegte Termine */
.lps-krb-floating-tooltip{
  position:fixed;
  z-index:999999;
  max-width:min(340px,calc(100vw - 28px));
  background:#0f172a;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 18px 38px rgba(15,23,42,.28);
  font-size:13px;
  line-height:1.42;
  white-space:pre-line;
  pointer-events:none;
}
@media print{.lps-krb-floating-tooltip{display:none!important}}
