:root{--ink:#183749;--muted:#627986;--teal:#168e85;--bg:#f7faf9;--white:#fff;--line:#e0eae9;--navy:#123c50;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{max-width:1190px;width:calc(100% - 44px);margin:auto}.header{position:sticky;top:0;z-index:10;background:#fffffff0;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:850;letter-spacing:.035em;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.18em;margin-top:6px}.brandmark{width:42px;height:42px;background:var(--teal);display:grid;place-items:center;color:white;border-radius:13px;font-size:28px}.nav nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:650}.nav nav>a:not(.button):hover,.textlink{color:var(--teal)}.menu{display:none;background:none;border:0;font-size:28px}.button,button:not(.menu):not(.mutedbutton){background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:999px;padding:14px 23px;display:inline-block;font-weight:700;transition:transform .2s,background .2s}.button:hover,button:hover{transform:translateY(-2px)}.smallbtn{padding:10px 17px}.button.outline{border-color:#b9d5d1;color:var(--navy);background:transparent}.button.light{border-color:#8ab1b3;color:white}.hero{background:radial-gradient(circle at 76% 28%,#d8eee9 0%,transparent 40%),linear-gradient(135deg,#f8fbfa,#edf6f3);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;min-height:620px;align-items:center;padding:65px 0 85px}.eyebrow{color:var(--teal);font-size:12px;font-weight:850;letter-spacing:.18em}h1,h2,h3{line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(42px,5vw,72px);margin:22px 0}h1 em{color:var(--teal);font-style:normal}h2{font-size:clamp(29px,3.2vw,42px)}h3{font-size:21px;margin:16px 0 8px}.lead{font-size:19px;color:#52707a;max-width:530px}.actions,.trust{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.trust{gap:21px;font-size:12px;color:#5a7d83}.hero-visual{position:relative;min-height:440px}.photo-art{background:linear-gradient(145deg,#6cbab1,#204d61);height:450px;border-radius:46% 46% 28px 28px;box-shadow:25px 30px 0 #d6e9e3;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;position:relative;overflow:hidden}.photo-art:before,.photo-art:after{content:'';position:absolute;border:1px solid #ffffff45;border-radius:50%;width:490px;height:490px}.photo-art:after{width:330px;height:330px}.photo-art>span{font-size:50px;letter-spacing:.16em;font-weight:800;position:relative;z-index:1}.photo-art>p{position:relative;z-index:1}.cross{position:relative;z-index:1;font-size:115px;font-weight:100;line-height:1}.floating{position:absolute;left:-27px;bottom:12px;background:white;padding:18px 24px;border-radius:17px;box-shadow:0 14px 45px #123c5028;display:grid;gap:3px}.floating b{color:var(--teal)}.floating span{font-size:13px;color:var(--muted)}.section{padding-top:85px;padding-bottom:95px}.section-head{margin-bottom:35px}.section-head h2{margin:10px 0}.section-head p{color:var(--muted)}.cards{display:grid;gap:23px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.feature,.panel,.doctor{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:31px;box-shadow:0 8px 30px #153f5107}.feature:hover,.doctor:hover{border-color:#91c7c0;transform:translateY(-3px);transition:.2s}.feature p,.doctor p{color:var(--muted)}.feature b{font-size:13px;color:var(--teal)}.feature-icon{display:grid;place-items:center;width:56px;height:56px;background:#e6f6f2;color:var(--teal);border-radius:18px;font-size:28px}.band{background:var(--navy);color:white;padding:75px 0}.bandgrid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.band p{color:#c5dade}.band .eyebrow{color:#a7e2d1}.quote{font-size:clamp(28px,3vw,44px);font-weight:600;line-height:1.3}.quote small{display:block;font-size:13px;color:#abc9cf;margin-top:20px}.doctor{text-align:center}.avatar{margin:0 auto;width:100%;aspect-ratio:1.25;background:radial-gradient(circle at 65% 30%,#ffffff92,transparent 45%),linear-gradient(135deg,var(--accent),#d8e8e5);border-radius:17px;display:grid;place-items:center;color:white;font-size:60px;font-weight:700}.doctor-wide{display:flex;align-items:center;gap:28px}.doctor-wide .avatar{width:180px;flex-shrink:0;aspect-ratio:1}.narrow{max-width:780px}main.section>h1{font-size:clamp(37px,4vw,55px)}.panel form{display:grid;gap:15px}label{font-weight:650;font-size:14px;display:grid;gap:7px}input,select,textarea{width:100%;background:#fbfdfd;border:1px solid #cbdcdd;border-radius:11px;padding:12px 14px;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #7ecdc1;outline-offset:1px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{display:flex;align-items:center;gap:10px;font-weight:400}.consent input{width:auto}.consent a{color:var(--teal);text-decoration:underline}.trap{position:absolute;left:-10000px}.flash{border-radius:12px;background:#e3f3ec;padding:16px 20px;margin-top:15px}.small{font-size:13px;color:var(--muted)}.error{color:#a12a2a}.install{max-width:600px;padding:55px 0}.install h1{font-size:36px}.ai-answer{margin-top:23px;background:#eff7f6;border-radius:15px;padding:15px 22px}.tablewrap{overflow:auto;background:white;border-radius:15px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:12px}th{background:#edf5f4}.inlineform{display:flex!important;align-items:center;gap:7px}.inlineform select{min-width:120px}.inlineform button{padding:8px!important}.mutedbutton{border:1px solid var(--line);border-radius:20px;padding:8px 14px;background:white}.dashboard-cards{margin-top:35px}.legal h2{font-size:25px;margin-top:36px}footer{background:#102e40;color:white;padding:50px 0 17px}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:35px}.foot p,.disclaimer{color:#b7cbd2;font-size:13px}.footlinks{display:grid;gap:8px}.footlinks a:hover{color:#87d5c9}.credit{align-self:end;color:#d2e1e2;font-size:12px}.credit a{font-size:18px;margin-left:4px}.credit span{color:#70c9bf}.disclaimer{border-top:1px solid #ffffff26;margin-top:28px;padding-top:17px}@media(max-width:950px){.nav nav{gap:11px}.nav{min-height:73px}.hero-grid{gap:25px}.cards.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.menu{display:block}.nav nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:22px;box-shadow:0 15px 30px #153f511e;flex-direction:column;align-items:stretch}.nav nav.shown{display:flex}.hero-grid,.bandgrid,.cards.two,.cards.three{grid-template-columns:1fr}.hero-grid{padding:55px 0;min-height:0}.hero-visual{min-height:300px}.photo-art{height:305px}.photo-art>span{font-size:32px}.floating{left:4px}.section{padding:55px 0}.cards.four{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.doctor-wide{display:block}.doctor-wide .avatar{width:100%;max-width:190px;margin:0}.panel,.feature{padding:22px}.foot{display:grid}.trust{gap:9px}h1{font-size:45px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.avatar{overflow:hidden}.avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;border-radius:inherit}.credit{display:flex;align-items:center;gap:8px}.credit a{display:inline-flex;align-items:center;margin-left:0}.credit img{display:block;width:146px;height:auto}.credit img:hover{opacity:.88}
/* Administration additions: compact, responsive and shared control styles. */
.admin-shell{padding-top:48px}.admin-kicker{font-size:12px;letter-spacing:.12em;color:var(--teal);font-weight:800}.admin-kicker span{letter-spacing:0;color:var(--muted)}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-head h1{font-size:clamp(30px,3.2vw,46px);margin:12px 0}.admin-head form{flex-shrink:0}.admin-tabs,.content-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 24px}.admin-tabs a,.content-tabs a{border:1px solid var(--line);border-radius:30px;padding:9px 13px;font-size:13px;color:var(--ink);background:#fff}.admin-tabs a.active,.content-tabs a.active{background:var(--navy);color:#fff}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.admin-metrics .metric{display:grid;padding:22px;gap:12px}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:40px;color:var(--navy)}.admin-shell>.panel{margin:22px 0}.admin-shell .panel h2{font-size:24px;margin:4px 0 20px}.admin-shell h2{font-size:27px;margin:30px 0 15px}.admin-shell .panel h3{font-size:17px}.admin-shell .filterform{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.admin-shell .filterform label{flex:1;min-width:125px}.admin-shell .filterform button{flex-shrink:0}.admin-shell .compact{margin:0 0 22px}.admin-shell .compact a:not(.button){padding:8px 15px;background:var(--navy);color:white;border-radius:20px;font-size:13px}.admin-shell .compact a.button{margin-left:auto}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:20px 0}.calendar-navigation strong{font-size:15px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;overflow:auto}.calendar-grid.calendar-day{grid-template-columns:1fr}.calendar-column{background:#f5f9f8;border:1px solid var(--line);border-radius:12px;min-height:190px;padding:10px}.calendar-label{display:block;padding:7px 0;font-size:13px;font-weight:700}.calendar-event{display:flex;flex-direction:column;gap:2px;padding:8px;border-left:4px solid #48ad9d;background:white;border-radius:6px;margin:7px 0;font-size:12px;overflow-wrap:anywhere}.calendar-event small{color:var(--muted)}.calendar-event.confirmed{border-color:#3d80af}.calendar-event.cancelled{border-color:#aaa;opacity:.65}.calendar-event strong{font-size:13px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:4px}.month-cell{min-height:95px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px;font-size:12px}.month-cell.month-out{opacity:.45}.month-cell>a:first-child{font-weight:800;display:block}.event-tag{display:block;margin-top:5px;padding:4px;background:#e8f2f0;border-radius:5px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{display:inline-block;border-radius:20px;padding:4px 8px;font-size:12px;background:#eee}.status.requested{background:#fff0cc}.status.confirmed{background:#d9efe9}.status.cancelled{background:#e6e6e6}.admin-shell table form{display:inline-flex;gap:4px;margin:3px}.admin-shell td{vertical-align:top}.admin-shell td small{color:var(--muted)}.admin-shell td>a{color:var(--teal);font-weight:700;margin-right:6px}.editpanel{margin:25px 0}.editpanel form{display:grid;gap:15px}.editpanel .actions{margin:0}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 20px}.schedule-grid{display:grid;gap:5px}.schedule-day{display:grid;grid-template-columns:1fr 135px 135px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0}.schedule-day>label{margin:0}.content-field{margin-bottom:18px}.content-field span{color:var(--teal);font-size:12px;font-family:monospace}.content-field textarea{font-size:14px;line-height:1.5}.admin-shell section.panel{margin-bottom:20px}.admin-shell .cards{margin-bottom:20px}.admin-shell code{background:#edf2f2;color:#174f59;padding:2px 4px;border-radius:4px;overflow-wrap:anywhere}.tiny{font-size:12px;padding:5px 8px!important}.admin-shell .panel input[type=color]{max-width:130px;height:48px;padding:4px}.admin-shell button{max-width:100%}
@media(max-width:1000px){.admin-metrics{grid-template-columns:repeat(2,1fr)}.calendar-grid{grid-template-columns:repeat(7,minmax(115px,1fr))}.calendar-grid.calendar-day{grid-template-columns:1fr}}
@media(max-width:700px){.admin-head{align-items:flex-start}.admin-metrics,.permissions-grid{grid-template-columns:1fr}.schedule-day{grid-template-columns:1fr 1fr}.schedule-day label{grid-column:span 2}.month-grid{grid-template-columns:repeat(7,minmax(44px,1fr));overflow-x:auto}.month-cell{padding:3px;min-height:70px}.event-tag{font-size:9px;padding:2px}.admin-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.admin-tabs a{white-space:nowrap;flex-shrink:0}.admin-shell{padding-top:32px}.calendar-navigation .mutedbutton{padding:7px}.admin-shell .panel{padding:17px}.admin-shell .filterform{display:grid;grid-template-columns:repeat(2,1fr)}.admin-shell .filterform button{grid-column:span 2}}

/* Digitaler Praxisassistent: selbstständiges, schlankes Floating-Widget. */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.praxis-chat{position:fixed;right:22px;bottom:20px;z-index:1050;font-size:14px}
.praxis-chat-trigger{display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;background:#116e72;color:#fff;box-shadow:0 12px 35px #0929364d;font:700 15px/1.2 system-ui,sans-serif;padding:14px 19px;cursor:pointer;min-height:53px}
.praxis-chat-trigger span:first-child{font-size:24px;line-height:1}
.praxis-chat.open .praxis-chat-trigger{background:var(--navy)}
.praxis-chat-panel{position:absolute;bottom:68px;right:0;width:min(390px,calc(100vw - 28px));height:min(560px,calc(100dvh - 108px));min-height:290px;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;border:1px solid #d4e4e2;background:#fff;box-shadow:0 20px 70px #102e4060}
.praxis-chat-panel[hidden]{display:none}
.praxis-chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(115deg,#12354a,#087b79);color:#fff}
.praxis-chat-header strong{display:block;font-size:17px}.praxis-chat-header small{display:block;color:#d4f5ee;font-size:11px;margin-top:3px}
.praxis-chat-close{display:grid;place-items:center;width:33px;height:33px;border:1px solid #ffffff6b;border-radius:50%;background:transparent;color:#fff;font-size:24px;line-height:1;padding:0;cursor:pointer}
.praxis-chat-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:17px 13px;display:flex;flex-direction:column;gap:10px;background:#f5fafa}
.praxis-chat-message{max-width:92%;padding:10px 13px;border-radius:14px;line-height:1.48;overflow-wrap:anywhere;white-space:pre-wrap}
.praxis-chat-message.assistant{align-self:flex-start;background:#fff;border:1px solid #dcebe9;border-bottom-left-radius:4px;color:#193c46}
.praxis-chat-message.visitor{align-self:flex-end;background:#d2eeeb;border-bottom-right-radius:4px;color:#113943}
.praxis-chat-message.loading{opacity:.72}
.praxis-chat-info{padding:10px 14px;background:#edf6f5;color:#3c5961;font-size:11px;line-height:1.45;border-top:1px solid #dcebe9}
.praxis-chat-form{display:flex;align-items:flex-end;gap:8px;padding:11px 12px;background:#fff}
.praxis-chat-form textarea{resize:none;min-height:46px;max-height:95px;padding:11px;font-size:14px;line-height:1.4}
.praxis-chat-form button{flex:0 0 44px;width:44px;height:45px;padding:0;border-radius:13px;background:var(--teal);color:#fff;font-size:22px}
#praxis-chat-close,#praxis-chat-send{display:flex;align-items:center;justify-content:center;padding:0;line-height:0}
.praxis-chat-close svg,.praxis-chat-form button svg{display:block;flex:none}
.praxis-chat-form button:disabled{opacity:.5;cursor:wait}
.praxis-chat-foot{border-top:1px solid #e8eeee;text-align:center;font-size:10px;padding:7px 8px;color:#557078}
@media(max-width:520px){.praxis-chat{right:12px;bottom:12px}.praxis-chat-panel{height:min(585px,calc(100dvh - 96px));bottom:65px}.praxis-chat-trigger{padding:12px 15px}}

/* Funktionsuebersicht: einfache, wiederverwendbare Komponenten */
.nav-features{color:var(--teal)}
.feature-hero-link{display:inline-flex;align-items:center;font-weight:750;color:var(--teal);padding:13px 0}
.feature-hero-link:hover{text-decoration:underline}
.feature-promo{padding-top:20px;padding-bottom:72px}
.feature-promo-card{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:35px 39px;background:linear-gradient(115deg,#e5f5f0,#f7fbf9);border:1px solid #c4e4db;border-radius:var(--radius);transition:border-color .2s,transform .2s}
.feature-promo-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.feature-promo-card h2{font-size:clamp(25px,3vw,35px);margin:8px 0}
.feature-promo-card p{max-width:680px;margin:0;color:var(--muted)}
.feature-promo-go{display:inline-flex;align-items:center;gap:10px;flex:none;border-radius:999px;padding:12px 18px;background:var(--teal);color:#fff;font-weight:750;font-size:14px}
.feature-overview>h1{font-size:clamp(38px,4.5vw,60px)}
.feature-overview>.lead{max-width:800px}
.feature-jump{display:flex;flex-wrap:wrap;gap:9px;margin:32px 0 36px}
.feature-jump a{border:1px solid var(--line);background:#fff;border-radius:100px;padding:8px 13px;font-size:13px;font-weight:650}
.feature-jump a:hover,.feature-jump a:focus-visible{border-color:var(--teal);color:var(--teal)}
.feature-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.feature-detail{scroll-margin-top:108px;display:flex;gap:19px;padding:27px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.feature-detail-num{flex:none;font-size:19px;color:var(--teal);font-weight:850}
.feature-detail h2{font-size:22px;margin:2px 0 13px}
.feature-detail ul{padding-left:19px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.feature-detail li+li{margin-top:7px}
.feature-detail li::marker{color:var(--teal)}
.feature-end{margin-top:25px;background:#eaf5f1}.feature-end h2{margin:0 0 13px}.feature-end p{max-width:760px}
.feature-disclaimer{font-size:13px;color:var(--muted);margin-top:24px}
@media(max-width:820px){.feature-details{grid-template-columns:1fr}.feature-promo-card{flex-direction:column;align-items:flex-start;padding:25px}.feature-jump{gap:7px}}
@media(max-width:520px){.feature-detail{gap:12px;padding:20px}.feature-promo{padding-top:0}.feature-promo-go{font-size:13px}}

/* Terminfreigabe: immer sichtbarer Eingang, unabhängig vom Kalender. */
.pending-appointments{border-color:#a9dcd1!important;background:#f8fffc}.pending-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.pending-head h2{margin:0 0 7px!important}.pending-head p{margin:0 0 17px}.pending-count{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border-radius:100px;background:#d9f1e9;color:#08685c;font-size:16px;vertical-align:middle}.pending-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pending-actions form{display:inline-flex;gap:0}.pending-actions a,.pending-actions button{white-space:nowrap;font-size:12px}.pending-actions .approvebtn{background:#147c62!important;border-color:#147c62!important;padding:8px 11px!important}.pending-pages{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px;font-size:13px}.pending-empty{margin:6px 0;color:var(--muted)}.appointment-focus{background:#eaf9f2}#offene-terminanfragen{scroll-margin-top:105px}
