:root{
      --primary:#ec6f98;--primary2:#f49ab5;--blue:#2f9bd3;--blue2:#8fd4f3;
      --ink:#294157;--muted:#6c7f91;--bg:#fff8fb;--card:#fff;--border:#f0dce5;
      --danger:#c84862;--success:#24836a;--warning:#b77b17;
      --shadow:0 14px 38px rgba(66,96,128,.12);--soft-shadow:0 8px 22px rgba(236,111,152,.12)
    }
    *{box-sizing:border-box}
    html{min-height:100%}
    body{min-height:100vh;margin:0;display:flex;flex-direction:column;background:
      radial-gradient(circle at 6% 8%,rgba(244,154,181,.20),transparent 23rem),
      radial-gradient(circle at 95% 16%,rgba(143,212,243,.22),transparent 26rem),
      linear-gradient(180deg,#fffafd 0%,#f7fbff 100%);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.48}
    a{color:#247fae;text-decoration:none}
    a:hover{text-decoration:none;color:var(--primary)}
    .topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;min-height:88px;padding:8px 28px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(236,111,152,.20);box-shadow:0 5px 20px rgba(52,108,145,.07)}
    .brand{display:flex;align-items:center;flex:0 0 auto;color:var(--ink)!important;text-decoration:none!important}
    .brand-logo{display:block;width:230px;max-width:32vw;height:67px;object-fit:contain;object-position:left center}
    .topbar nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px;flex:1}
    .topbar nav a{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border-radius:13px;font-size:13px;font-weight:750;color:#446176;transition:.18s ease}
    .topbar nav a:hover{background:linear-gradient(135deg,#fff0f5,#edf9ff);color:var(--primary);transform:translateY(-1px)}
    .nav-icon{font-size:16px;line-height:1}
    .userbox{display:flex;align-items:flex-end;flex-direction:column;gap:1px;font-size:12px;min-width:150px}
    .userbox strong{color:var(--blue)}
    .userbox form{margin:0}
    .link-button,.danger-link{border:0;background:none;padding:0;color:#247fae;cursor:pointer;font:inherit}
    .danger-link{color:var(--danger)}
    .container{width:100%;max-width:1500px;margin:0 auto;padding:30px;flex:1}
    footer{margin-top:auto;text-align:center;color:#71869a;font-size:12px;padding:21px 18px;background:rgba(255,255,255,.75);border-top:1px solid rgba(47,155,211,.13)}
    footer strong{color:var(--primary)}
    .page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
    .page-header h1{margin:0;color:#2d5772;font-size:clamp(1.6rem,2.6vw,2.35rem);letter-spacing:-.025em}
    .page-header p{margin:6px 0 0;color:var(--muted)}
    .eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
    .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.actions form{margin:0}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:linear-gradient(135deg,var(--primary),#f38cad);color:#fff!important;padding:10px 17px;border-radius:999px;font-weight:800;cursor:pointer;font-size:14px;text-decoration:none!important;box-shadow:0 7px 16px rgba(236,111,152,.24);transition:.18s ease}
    .button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(236,111,152,.30)}
    .button.secondary{background:#fff;color:#2583b3!important;border:1px solid #bfe2f3;box-shadow:none}
    .button.danger{background:linear-gradient(135deg,#c84862,#e86f7f)}
    .card{position:relative;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:22px;padding:23px;box-shadow:var(--shadow);overflow:hidden}
    .card:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-48px;top:-48px;background:linear-gradient(135deg,rgba(244,154,181,.18),rgba(143,212,243,.15));pointer-events:none}
    .card h2{margin-top:0;color:#315f79}.card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f3e6ec;padding-bottom:12px;margin-bottom:8px}.card-header h2{margin:0}
    .two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.full-width{grid-column:1/-1}
    .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}
    .stat{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fff8fb);border:1px solid var(--border);border-radius:21px;padding:21px;box-shadow:var(--soft-shadow);display:grid;grid-template-columns:auto 1fr;gap:13px;text-decoration:none!important;transition:.18s ease}
    .stat:hover{transform:translateY(-3px);border-color:#c8e8f6}.stat-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:16px;background:linear-gradient(135deg,#ffe8f0,#e5f6fe);font-size:24px}.stat strong{display:block;font-size:24px;color:#2a87b5}.stat span{color:var(--muted);font-size:13px}
    .list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 6px;border-bottom:1px solid #f1e4ea;color:var(--ink);text-decoration:none!important;border-radius:10px}.list-row:last-child{border-bottom:0}.list-row:hover{background:linear-gradient(90deg,#fff4f8,#f0faff)}
    .empty{color:var(--muted);font-style:italic}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#eaf2f6;font-size:12px;white-space:nowrap;font-weight:700}.status-confirmed,.status-paid,.status-completed{background:#dcf5eb;color:#1f6d54}.status-requested,.status-draft{background:#fff0cc;color:#805b11}.status-cancelled,.status-overdue{background:#fbe0e6;color:#8c2940}.status-issued,.status-part_paid{background:#e1f2fb;color:#285e8a}
    .message{padding:13px 16px;border-radius:15px;margin-bottom:16px;background:#e9f5fb;border:1px solid #c9e8f7}.message.success{background:#e1f6ee;color:#185a3f}.message.error{background:#fbe1e7;color:#7d253a}.message.warning{background:#fff3d8;color:#73500b}
    .form-card{max-width:1120px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 23px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:800;font-size:13px;color:#3a5a70}.field input,.field select,.field textarea,.search input,.service-picker select,.auth-card input,.auth-card select,.auth-card textarea,.form-control{width:100%;padding:11px 12px;border:1px solid #c9dce6;border-radius:13px;background:#fff;font:inherit;color:var(--ink);outline:none;transition:.15s ease}.field input:focus,.field select:focus,.field textarea:focus,.form-control:focus{border-color:var(--blue2);box-shadow:0 0 0 4px rgba(143,212,243,.22)}.field input[type=checkbox],.form-check-input{width:auto;accent-color:var(--primary)}.checkbox-field{justify-content:end}.field small{color:var(--muted)}.field-error,.errorlist{color:var(--danger);font-size:13px}.error-box{background:#fbe1e7;color:#7d253a;padding:12px;border-radius:13px;margin-bottom:15px}.form-card>.actions{margin-top:22px;border-top:1px solid var(--border);padding-top:17px}
    .auth-card{max-width:560px;margin:38px auto}.auth-card h1{color:#2d759b}.auth-card p label{display:block;font-weight:800;margin-bottom:4px}.auth-card .helptext{display:block;color:var(--muted);font-size:12px}.auth-intro{text-align:center;margin-bottom:20px}.auth-intro .mini-logo{width:260px;max-width:100%;height:auto}
    .practice-logo{max-width:250px;max-height:120px;object-fit:contain}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #f1e5eb;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#617b8f;background:#f5fbfe}tfoot th{font-size:15px;color:var(--ink)}tr.clickable{cursor:pointer}tr.clickable:hover{background:#fff5f8}.nowrap{white-space:nowrap}.inline{display:inline}dl{display:grid;grid-template-columns:155px 1fr;gap:10px 15px}dt{font-weight:800;color:#536f82}dd{margin:0}.search{display:flex;gap:8px;margin-top:10px;max-width:550px}.public-header{text-align:center;max-width:800px;margin:0 auto 20px}.booking-card{max-width:780px;margin:0 auto}.service-picker{display:grid;gap:7px}.invoice-meta{display:flex;flex-wrap:wrap;gap:25px;margin-bottom:15px}.totals{display:grid;grid-template-columns:1fr auto;gap:8px 20px;border-top:1px solid var(--border);margin-top:15px;padding-top:15px}.hash{word-break:break-all;display:block;background:#f2f8fb;padding:10px;border-radius:9px;font-size:11px}
    .shift-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.shift-day-chip{background:#fff0c8;color:#8a650e}.shift-night-chip{background:#e5e9ff;color:#4d5597}.shift-custom-chip{background:#e5f5fb;color:#28738f}.meta-line{font-size:12px;color:var(--muted)}.section-icon{font-size:23px;margin-right:6px}.hint-box{padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#fff1f6,#edf9ff);border:1px solid #eedde6;color:#526b7d;margin-bottom:18px}
    #calendar{min-height:760px}.fc .fc-button-primary{background:var(--blue);border-color:var(--blue);border-radius:10px}.fc .fc-button-primary:hover{background:#2585b8}.fc .absence{background:rgba(200,72,98,.18)!important}.fc .oncall{background:rgba(183,123,23,.20)!important}.fc .availability.shift-day{background:rgba(255,204,85,.18)!important}.fc .availability.shift-night{background:rgba(92,111,210,.18)!important}.fc .availability.shift-custom{background:rgba(47,155,211,.16)!important}
    @media(max-width:1160px){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar nav{order:3;width:100%}.stats{grid-template-columns:repeat(2,1fr)}.three-column{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.brand-logo{max-width:250px}}
    @media(max-width:680px){.container{padding:18px}.page-header{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.topbar{padding:9px 16px}.brand-logo{width:190px;max-width:65vw;height:56px}.userbox{display:none}.topbar nav a{font-size:12px;padding:7px 8px}.card{padding:16px}dl{grid-template-columns:1fr}dd{margin-bottom:8px}}

/* Hilfe und Onboarding */
.help-heading{align-items:flex-end}.help-notice{margin-bottom:18px;padding:14px 17px;border:1px solid #f0dce5;border-radius:16px;background:linear-gradient(135deg,#fff1f6,#edf9ff);color:#526b7d}.help-toc{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px;padding:16px 20px;margin-bottom:30px}.help-toc:before{display:none}.help-toc a{padding:7px 11px;border-radius:999px;background:#f4faff;font-size:13px;font-weight:800}.help-section{scroll-margin-top:120px;margin:38px 0 54px}.help-section-title{display:flex;align-items:center;gap:15px;margin-bottom:19px}.help-section-title h2{margin:0;color:#2d5772;font-size:clamp(1.45rem,2.2vw,2rem)}.help-section-title p{margin:4px 0 0;color:var(--muted)}.help-section-number,.help-step-number{display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:linear-gradient(135deg,#ffe6ef,#e4f6fe);color:var(--primary);font-weight:900}.help-section-number{width:52px;height:52px;font-size:25px;box-shadow:var(--soft-shadow)}.help-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:19px}.help-step{display:flex;align-items:flex-start;gap:15px;padding:20px}.help-step:before{display:none}.help-step-number{width:38px;height:38px;font-size:18px}.help-step h3{margin:2px 0 7px;color:#315f79}.help-step p{margin:5px 0;color:#526b7d}.help-step ul{margin:8px 0;padding-left:20px}.help-path{display:inline-block!important;margin-top:9px!important;padding:6px 10px;border-radius:10px;background:#f2f9fc;color:#247fae!important;font-size:12px;font-weight:800}.help-screenshot{margin:20px 0 25px;padding:13px}.help-screenshot:before{display:none}.help-screenshot img{display:block;width:100%;height:auto;border-radius:15px;border:1px solid #e4edf2}.help-screenshot figcaption{padding:10px 4px 1px;color:var(--muted);font-size:13px;text-align:center}.workflow-line{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:22px;padding:15px;border:1px dashed #efcddd;border-radius:18px;background:rgba(255,255,255,.72)}.workflow-line span{padding:8px 12px;border-radius:999px;background:#fff;box-shadow:0 4px 12px rgba(66,96,128,.08);font-weight:800}.workflow-line b{color:var(--primary)}.help-comparison h3{margin-top:0}.help-comparison ol{padding-left:21px}.help-comparison li{margin:9px 0}.checklist{display:flex;flex-direction:column;gap:9px}.checklist h3{margin:0 0 5px}.checklist label{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:11px;background:#f8fbfd}.checklist input{accent-color:var(--primary)}.help-faq{display:grid;gap:12px}.help-faq details{padding:0}.help-faq details:before{display:none}.help-faq summary{cursor:pointer;padding:17px 20px;font-weight:850;color:#315f79;list-style:none}.help-faq summary::-webkit-details-marker{display:none}.help-faq summary:after{content:"＋";float:right;color:var(--primary)}.help-faq details[open] summary:after{content:"–"}.help-faq details p{margin:0;padding:0 20px 18px;color:#526b7d}.help-finish{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff0f5,#edf9ff);margin-top:35px}.help-finish:before{display:none}.help-finish>div{display:grid;grid-template-columns:auto 1fr;column-gap:14px}.help-finish-icon{grid-row:1/3;font-size:40px}.help-finish h2{margin:0}.help-finish p{margin:5px 0 0;color:#526b7d}
@media(max-width:1050px){.help-steps{grid-template-columns:1fr 1fr}}@media(max-width:680px){.help-steps{grid-template-columns:1fr}.help-screenshot{padding:7px}.help-finish{align-items:flex-start;flex-direction:column}.help-toc{align-items:flex-start;flex-direction:column}.workflow-line b{transform:rotate(90deg)}}

/* V1.6 Sprachumschaltung und Abrechnungen */
.header-tools{display:flex;align-items:center;gap:.8rem;margin-left:auto}.language-switcher{display:flex;align-items:center;gap:.25rem;padding:.3rem;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 4px 14px rgba(86,80,120,.12)}.flag-button{border:0;background:transparent;border-radius:50%;width:2.15rem;height:2.15rem;font-size:1.3rem;line-height:1;cursor:pointer;filter:saturate(.7);transition:.2s}.flag-button:hover,.flag-button.active{background:#fff;box-shadow:0 2px 8px rgba(80,70,120,.2);filter:saturate(1.1);transform:translateY(-1px)}.summary-card{background:linear-gradient(145deg,#fff6fa,#f2f8ff);border:1px solid #f3c6d8}.statement-status{display:inline-flex;align-items:center;gap:.35rem}.document-actions{display:flex;flex-wrap:wrap;gap:.6rem}.attachment-preview{max-width:160px;max-height:120px;border-radius:12px;border:1px solid #dde4f1}.email-status-failed{color:#a22542}.email-status-sent{color:#20734a}.email-status-pending{color:#826400}.customer-group{margin:1.25rem 0}.customer-group h3{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-radius:14px;background:#f9eef7;color:#5b4562}.payment-choice{font-weight:700;color:#664b69}@media(max-width:900px){.topbar{flex-wrap:wrap}.header-tools{width:100%;justify-content:flex-end}.language-switcher{order:1}.userbox{order:2}}

/* V1.6 – ÖGK-Prüfung, Korrekturen und Abrechnungsstatus */
.review-open{background:#eef3f8;color:#526477}.review-accepted{background:#e5f7ed;color:#207144}.review-rejected{background:#fde8ec;color:#a33855}.correction-note{display:inline-block;margin-top:.45rem;padding:.35rem .65rem;border-radius:999px;background:#eef4ff;color:#47618f;font-weight:700}.warning-box{margin-top:1rem;padding:1rem;border-left:5px solid #d66785;border-radius:12px;background:#fff0f3;color:#7d2c44}.customer-group .danger-link{white-space:nowrap}.customer-group small{color:#697681}.status-cancelled{background:#f4e6ea;color:#8b4055}.status-rejected{background:#ffe6ea;color:#9d2f4b}.status-accepted{background:#e1f7ec;color:#1d6f43}.status-paid{background:#dff4ff;color:#226987}


/* MamaPlan 1.6.1 – Abstände, Kennzahlen und öffentliche Buchung */
.help-toc{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 20px;margin-bottom:30px}
.help-toc .button{margin:0;white-space:nowrap}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}
.stat-card{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;min-height:92px;padding:20px 22px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,#fff,#fff7fa);box-shadow:var(--soft-shadow);text-decoration:none!important;transition:.18s ease}
.stat-card:hover{transform:translateY(-3px);border-color:#c8e8f6}
.stat-card>span{font-size:27px}.stat-card>strong{font-size:25px;color:#2a87b5}.stat-card>small{font-size:15px;color:var(--muted)}
.public-booking-nav{background:linear-gradient(135deg,#eefaff,#fff3f7)!important;border-color:#bfe2f3!important}
@media(max-width:900px){.stat-grid{grid-template-columns:1fr}.help-toc{align-items:stretch}.help-toc .button{width:100%}}


/* Öffentliche Buchung: verständlicher Zustand ohne freie Termine */
.booking-no-slots {
    margin-top: 1.25rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(239, 116, 155, 0.35);
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(255, 238, 245, 0.96), rgba(235, 247, 255, 0.96));
}

.booking-no-slots p {
    margin: 0.35rem 0 0;
}

/* MamaPlan 1.6.3 – leistungsbezogene Buchungszeiten und nächster freier Termin */
.next-slot-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 18px;margin:20px 0;padding:20px 22px;border:1px solid #bfe2f3;border-radius:20px;background:linear-gradient(135deg,#fff2f7,#eef9ff);box-shadow:var(--soft-shadow)}
.next-slot-card .eyebrow{grid-column:1/-1;margin:0}.next-slot-card strong{font-size:1.25rem;color:#2d5772}.next-slot-card>span:not(.eyebrow){color:#2a87b5;font-size:1.1rem;font-weight:850}.next-slot-card .button{grid-column:2;grid-row:2/4}.slot-field{margin-top:8px;padding-top:15px;border-top:1px solid var(--border)}
.badge.success{background:#dcf5eb;color:#1f6d54}.custom-booking-time{transition:.15s ease}
@media(max-width:680px){.next-slot-card{grid-template-columns:1fr}.next-slot-card .button{grid-column:1;grid-row:auto;margin-top:8px}.next-slot-card>span:not(.eyebrow){margin-bottom:4px}}

/* V1.7 Datenschutz- und Nachweisverwaltung */
.privacy-confirmation label{display:flex;align-items:flex-start;gap:.7rem;font-weight:600}.privacy-confirmation input{margin-top:.2rem;flex:0 0 auto}.privacy-confirmation small{display:block;margin-left:1.8rem}.legal-dashboard{margin-bottom:1.25rem}.legal-columns{align-items:start}.legal-columns>div{min-width:0}.legal-record{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border,#e1e5ea)}.legal-record:last-child{border-bottom:0}.legal-record.compact{align-items:flex-start;padding:.75rem 0}.legal-record code{font-size:.72rem;overflow-wrap:anywhere}.legal-record .actions{justify-content:flex-end;flex-wrap:wrap}.legal-summary{margin:1rem 0}.legal-summary>div{padding:1rem;border:1px solid var(--border,#e1e5ea);border-radius:12px;background:#fff}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:#edf0f3;font-size:.78rem}.badge.success{background:#e6f7ed;color:#176b3a}.badge.danger{background:#fde8ec;color:#9b2340}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.filter-grid .actions{grid-column:1/-1}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.7rem;border-bottom:1px solid var(--border,#e1e5ea);vertical-align:top;text-align:left}.data-table th{white-space:nowrap}.data-table pre{white-space:pre-wrap;max-width:36rem;font-size:.75rem}.message.error{background:#fde8ec;border-color:#ef9bb1;color:#7d1832}button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}.legal-record{flex-direction:column;align-items:stretch}.legal-record .actions{justify-content:flex-start}}
@media(max-width:600px){.filter-grid{grid-template-columns:1fr}.privacy-confirmation small{margin-left:0}}

/* V1.7.2: registration privacy notice */
.legal-registration-box {
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(54, 130, 196, .28);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(234,244,252,.9), rgba(252,234,243,.75));
}
.legal-registration-box p { margin: .45rem 0 .8rem; }
.privacy-confirmation {
  margin: 1rem 0;
  padding: .85rem 1rem;
  border-radius: 12px;
  background: #f7f8fa;
}
.privacy-confirmation label { display: flex; gap: .65rem; align-items: flex-start; cursor: pointer; }
.privacy-confirmation input[type="checkbox"] { margin-top: .2rem; flex: 0 0 auto; }

/* MamaPlan 1.8 – Kalender, öffentliche Terminauswahl und Praxisverwaltung */
.calendar-card{padding:16px;overflow:hidden}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1rem}.fc .fc-toolbar{gap:.75rem;flex-wrap:wrap}.fc .fc-toolbar-title{font-size:1.35rem;color:#315f79}.fc .fc-button-primary{background:#2f8cbb;border-color:#2f8cbb}.fc .fc-button-primary:hover,.fc .fc-button-primary:focus{background:#287ba4;border-color:#287ba4}.fc .fc-daygrid-day-number{font-weight:750;color:#365f77}.fc .duty-event{border-width:1px!important;font-weight:750;opacity:.88}.fc .shift-day{background:#fff1b7!important;border-color:#e6c95a!important;color:#745f00!important}.fc .shift-night{background:#dce4ff!important;border-color:#8298dc!important;color:#33457d!important}.fc .shift-custom{background:#dff3f7!important;border-color:#7fbcc7!important;color:#285d68!important}.fc-list-event.duty-event td{background:rgba(235,246,250,.8)}
.booking-view-switch{display:flex;gap:.55rem;flex-wrap:wrap;margin:.65rem 0 1rem}.booking-view-switch .button{min-width:120px}.booking-view-switch .button.active{background:linear-gradient(135deg,#e8f7ff,#fff0f5);border-color:#78bddf;color:#285d7a;box-shadow:0 3px 11px rgba(66,96,128,.14)}.booking-slot-panel[hidden]{display:none!important}.booking-calendar-help{margin:.2rem 0 .85rem;color:var(--muted);font-size:.92rem}.public-slot-selector #public-slot-calendar{border:1px solid var(--border);border-radius:16px;padding:10px;background:#fff}.public-slot-selector .fc .fc-toolbar-title{font-size:1.15rem}.public-slot-selector .fc .fc-event{cursor:pointer;background:#dff4ff;border-color:#5aaad2;color:#245e7c;font-weight:800}.public-slot-selector .fc .fc-event.selected-free-slot{background:#f7d9e7!important;border-color:#cf6590!important;color:#7e2f50!important;box-shadow:0 0 0 2px rgba(207,101,144,.22)}.selected-slot-summary{min-height:1.5rem;margin:.75rem 0 0;padding:.7rem .9rem;border-radius:12px;background:#eef8fd;color:#315f79;font-weight:800}.public-error-page{max-width:680px;margin:5vh auto;text-align:center;padding:38px 32px;background:linear-gradient(145deg,#fff,#fff4f8)}.public-error-page .practice-logo{margin:0 auto 18px}.public-error-icon{font-size:4rem;margin-bottom:.4rem}.public-error-page h1{margin:.4rem 0 1rem;color:#315f79}.public-error-page>p{max-width:540px;margin:0 auto 1.4rem;color:#526b7d;font-size:1.05rem}.public-contact-box{display:inline-block;margin:0 auto 1.4rem;padding:14px 20px;border:1px solid #d7e9f2;border-radius:14px;background:#f6fbfe}.practice-admin-grid .card{min-width:0}.editable-list-row{align-items:flex-start;gap:1rem}.compact-actions{margin-left:auto;justify-content:flex-end}.compact-actions form{margin:0}.button.small{padding:.45rem .7rem;font-size:.83rem;border-radius:10px}.button.danger{background:#fff0f3;border-color:#e8a4b6;color:#9a2f4b}.button.danger:hover{background:#ffe4eb}.public-booking-nav{white-space:nowrap}
@media(max-width:760px){.calendar-card{padding:8px}.fc .fc-toolbar{align-items:stretch;flex-direction:column}.fc .fc-toolbar-chunk{display:flex;justify-content:center;flex-wrap:wrap}.public-error-page{margin:1rem;padding:28px 20px}.editable-list-row{flex-direction:column}.compact-actions{margin-left:0;justify-content:flex-start}.public-slot-selector #public-slot-calendar{padding:4px}.public-slot-selector .fc .fc-toolbar{gap:.35rem}.public-slot-selector .fc .fc-toolbar-title{font-size:1rem}}

/* MamaPlan 1.8.2 – Auswahlzustände, Checkboxen und Kundinnenfoto */
.button.danger{
  background:linear-gradient(135deg,#a82f4d,#c84862)!important;
  border:1px solid #8f2943!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(168,47,77,.24)!important;
}
.button.danger:hover,.button.danger:focus{
  background:linear-gradient(135deg,#8f2943,#b43b58)!important;
  border-color:#762137!important;
  color:#fff!important;
}
.checkbox-field{
  grid-column:1/-1;
  justify-content:flex-start!important;
  align-self:start;
}
.checkbox-inline{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.65rem;
  width:max-content;
  max-width:100%;
  cursor:pointer;
}
.checkbox-inline input[type="checkbox"]{
  flex:0 0 auto;
  width:1.2rem!important;
  height:1.2rem;
  margin:0!important;
}
.checkbox-inline span{display:inline-block;line-height:1.35}
.checkbox-field small{margin-left:1.85rem}
.public-slot-selector .fc .fc-event.selected-free-slot{
  background:linear-gradient(135deg,#cf3f78,#a92f61)!important;
  border:2px solid #81224a!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(207,63,120,.28),0 5px 12px rgba(92,31,59,.22)!important;
}
.public-slot-selector .fc .fc-event.selected-free-slot .fc-event-main,
.public-slot-selector .fc .fc-event.selected-free-slot .fc-event-title,
.public-slot-selector .fc .fc-event.selected-free-slot .fc-event-time{
  color:#fff!important;
}
.customer-heading{display:flex;align-items:center;gap:1rem;min-width:0}
.customer-photo{width:92px;height:92px;flex:0 0 92px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 5px 16px rgba(66,96,128,.18);background:#eef7fb}
.customer-photo-placeholder{display:grid;place-items:center;font-size:2.4rem;color:#7794a7;background:linear-gradient(135deg,#fff0f5,#e8f7ff)}
@media(max-width:680px){.customer-heading{align-items:flex-start}.customer-photo{width:72px;height:72px;flex-basis:72px}.checkbox-field small{margin-left:0}}

.public-slot-selector .fc .fc-event.selected-free-slot .fc-event-title:before{content:"✓ ";font-weight:950}

/* MamaPlan 1.9 - öffentliches Hebammenverzeichnis und Kundinnenportal */
.public-hero{padding:34px;background:linear-gradient(135deg,#fff3f8,#edf9ff);margin-bottom:24px}.public-hero h1{font-size:clamp(2rem,4vw,3.4rem);margin:.3rem 0 .8rem}.public-hero p{max-width:780px;font-size:1.08rem}.public-directory-section{scroll-margin-top:1rem}.midwife-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}.midwife-card{display:flex;flex-direction:column;gap:14px}.midwife-card .actions{margin-top:auto}.midwife-card-head{display:flex;align-items:center;gap:16px}.midwife-card-head h3{margin:0 0 4px}.midwife-card-head p{margin:2px 0}.midwife-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 7px 18px rgba(58,93,116,.16);background:#edf7fc;flex:0 0 96px}.midwife-photo.large{width:130px;height:130px;flex-basis:130px}.midwife-photo-placeholder{display:grid;place-items:center;font-size:2.8rem}.service-chips{display:flex;flex-wrap:wrap;gap:8px}.service-chips span{padding:6px 10px;border-radius:999px;background:#eef8fd;border:1px solid #cde8f5;color:#315f79;font-size:.86rem;font-weight:750}.midwife-intro{color:var(--muted)}.customer-register-card{max-width:760px}.customer-booking-account-note{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 16px;border:1px solid #d8eaf3;border-radius:14px;background:#f6fbfe}.customer-prefill-note a{margin-left:.5rem}.appointment-portal-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}.appointment-portal-row:last-child{border-bottom:0}.public-midwife-header{align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.form-grid>.actions,.form-grid>.checkbox-field{grid-column:1/-1}.form-grid .field{margin:0}.auth-card .actions{flex-wrap:wrap}
@media(max-width:760px){.midwife-card-head{align-items:flex-start}.midwife-photo{width:78px;height:78px;flex-basis:78px}.midwife-photo.large{width:96px;height:96px;flex-basis:96px}.form-grid{grid-template-columns:1fr}.customer-booking-account-note{align-items:flex-start;flex-direction:column}}
