:root{--bg:#f3f6fb;--card:#fff;--ink:#172033;--muted:#657087;--line:#e3e8f1;--primary:#4757c9;--primary2:#7456d8;--ok:#237b5d;--warn:#9a651e;--danger:#a53e52;--shadow:0 12px 32px rgba(28,39,71,.08);--radius:20px}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}.portal-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.side{position:sticky;top:0;height:100vh;background:#151b2f;color:#d8def2;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:18px;padding:8px}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#76d4c3,#7381f5)}.side-user{margin:18px 8px;padding:13px;border:1px solid #2b3554;border-radius:14px;background:#1d2540}.side-user strong,.side-user small{display:block}.side-user small{color:#aeb8d4;margin-top:2px}.side nav{display:grid;gap:5px}.side nav a{padding:10px 12px;border-radius:11px;text-decoration:none;color:#c8d0e9}.side nav a:hover,.side nav a.active{background:#252e4d;color:#fff}.side-bottom{margin-top:auto;display:grid;gap:7px}.side-bottom a{color:#b5bfdc;text-decoration:none;padding:8px}.content{min-width:0;padding:26px 30px 40px}.content-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}.content-top h1{font-size:30px;margin:2px 0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.trust-pill{padding:9px 12px;background:#e9f7f1;color:#1d694f;border-radius:999px;font-size:12px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.metric b{font-size:29px;display:block;margin-top:8px}.muted{color:var(--muted)}.small{font-size:12px}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef0ff;color:#4351b4;font-size:12px}.tag.ok{background:#e7f7f0;color:#247257}.tag.warn{background:#fff3df;color:#8a5a18}.tag.danger{background:#fdecef;color:#9c3b4b}.btn,button{border:0;border-radius:12px;padding:10px 13px;background:#eef1f7;color:var(--ink);font:inherit;cursor:pointer;text-decoration:none;display:inline-block}.btn.primary,button.primary{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2))}.btn.danger,button.danger{background:#fdecef;color:#983a4b}.actions{display:flex;gap:8px;flex-wrap:wrap}.form{display:grid;gap:11px}.form label{font-weight:700;font-size:13px}.form input,.form select,.form textarea,input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff;color:var(--ink);font:inherit}.form textarea{min-height:100px;resize:vertical}.row{display:flex;gap:10px;align-items:center}.row>*{min-width:0}.row.grow>*{flex:1}.alert{padding:12px 14px;border-radius:13px;border:1px solid var(--line);margin:0 0 16px}.alert.success{background:#eaf8f2;color:#236a52}.alert.warn{background:#fff7e8;color:#79541f}.alert.danger{background:#fff0f2;color:#8b3345}.list{display:grid;gap:10px}.list-item{padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.list-item h3{margin:0 0 4px;font-size:15px}.list-item p{margin:0;color:var(--muted)}.list-item .meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted)}.progress{height:9px;background:#edf0f6;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#6270e9,#6ec9b4)}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:25px 2px 11px}.section-head h2{margin:0}.empty{padding:24px;border:1px dashed var(--line);border-radius:15px;text-align:center;color:var(--muted)}.hero{background:linear-gradient(135deg,#eef1ff,#f8f1ff 55%,#eaf9f4);padding:24px;border-radius:25px;border:1px solid #e2e6f7}.hero h2{font-size:23px;margin:0 0 8px}.hero p{max-width:760px;color:#566078}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.quick-grid a{background:#fff;border:1px solid var(--line);padding:13px;border-radius:14px;text-decoration:none}.quick-grid b,.quick-grid small{display:block}.quick-grid small{color:var(--muted);margin-top:3px}.portal-footer{margin-top:28px;padding:16px 18px;border:1px solid var(--line);border-radius:15px;color:var(--muted);background:#fbfcfe;font-size:12px}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eff3ff,#f7f2ff,#edf9f6)}.auth-card{width:min(540px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px;box-shadow:var(--shadow)}.auth-brand{text-align:center;font-size:24px;font-weight:800;margin-bottom:18px}.auth-card h1{margin:0 0 7px}.auth-card .legal{font-size:12px;color:var(--muted)}.chat-layout{display:grid;grid-template-columns:240px 1fr;gap:14px;height:650px}.chat-rooms,.chat-main{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.chat-rooms{padding:12px}.chat-room{width:100%;text-align:left;margin-bottom:6px}.chat-room.active{background:#e9ecff;color:#3846ac}.chat-main{display:grid;grid-template-rows:auto 1fr auto}.chat-head{padding:14px 16px;border-bottom:1px solid var(--line)}.chat-stream{padding:16px;overflow:auto;background:#f9fafc}.msg{max-width:75%;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);margin-bottom:10px}.msg.mine{margin-left:auto;background:#edf0ff}.msg .who{font-size:11px;font-weight:800;color:#536078}.msg .time{font-size:10px;color:#9097a8}.msg p{margin:4px 0;white-space:pre-wrap}.msg button{font-size:10px;padding:3px 6px}.chat-compose{display:flex;gap:9px;padding:12px;border-top:1px solid var(--line)}.chat-compose textarea{min-height:48px;max-height:120px}.source-card{border-left:4px solid #6b78e8}.privacy-box{border:1px solid #cfe7dd;background:#eef9f4;border-radius:16px;padding:16px}.download-card{display:flex;gap:13px;align-items:flex-start}.download-card .icon{font-size:28px}.download-card h3{margin:0 0 5px}.download-card p{margin:0 0 10px;color:var(--muted)}@media(max-width:980px){.portal-shell{display:block}.side{position:static;height:auto}.side nav{display:flex;overflow:auto}.side nav a{white-space:nowrap}.side-bottom{display:none}.content{padding:20px}.grid.three,.grid.four{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.chat-layout{grid-template-columns:1fr;height:auto}.chat-rooms{display:flex;overflow:auto}.chat-room{white-space:nowrap}.chat-main{height:620px}}@media(max-width:650px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.content-top{flex-direction:column}.quick-grid{grid-template-columns:1fr}.row.grow{display:grid}.trust-pill{display:none}.msg{max-width:90%}}
/* FamilienKompass 2.2 Produktivsystem */
.admin-shell{grid-template-columns:285px 1fr}.admin-side{background:#10172a}.admin-side nav{overflow:auto;padding-right:2px}.admin-side nav a{display:flex;align-items:center;gap:7px}.nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#a53e52;color:#fff;display:inline-grid;place-items:center;font-size:11px}.admin-content{max-width:1600px;width:100%;margin:auto}.admin-subtitle{margin:6px 0 0;max-width:780px}.admin-access-banner{display:flex;gap:12px;align-items:flex-start;background:#eef4ff;border:1px solid #dbe4ff;border-radius:17px;padding:15px 17px;margin-bottom:17px}.admin-access-banner strong{display:block}.admin-module{position:relative;overflow:hidden}.admin-module>a.stretch{position:absolute;inset:0;text-indent:-9999px}.admin-module .module-icon{font-size:27px}.admin-module .module-count{font-size:25px;font-weight:800;margin-top:7px}.admin-module p{color:var(--muted);margin:5px 0 0}.admin-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.admin-toolbar label{min-width:170px;font-weight:700;font-size:12px}.admin-toolbar .grow{flex:1;min-width:230px}.sensitive-row{background:#fffafd}.admin-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-detail-head h2{margin-bottom:5px}.admin-kpi-note{font-size:12px;color:var(--muted);margin-top:6px}.admin-section-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.admin-section-nav a{text-decoration:none}.code-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-word}.nowrap{white-space:nowrap}.danger-zone{border-color:#f1cbd3;background:#fff9fa}.admin-table-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-table-actions .btn,.admin-table-actions button{padding:7px 9px;font-size:12px}.admin-table td{max-width:420px}.admin-table .clip{display:block;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-family-card .metric-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.admin-family-card h3{margin-bottom:3px}.admin-security-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:#237b5d;margin-right:5px}.admin-warning-dot{background:#9a651e}@media(max-width:1100px){.admin-shell{grid-template-columns:250px 1fr}}@media(max-width:980px){.admin-shell{display:block}.admin-side{height:auto}.admin-side nav{display:flex}.admin-content{padding:18px}.admin-toolbar{align-items:stretch}.admin-toolbar>*{width:100%}}

/* 2.2 produktive Arbeitsbereiche */
details > summary{cursor:pointer;color:var(--ink);padding:4px 0}
.done-item{opacity:.68}
.done-item h3{text-decoration:line-through}
.partner-side .side-user{border-color:rgba(255,255,255,.16)}
.resource-status{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* FamilienKompass 2.3 – Stabilität, Partner-Werkzeuge & FIRSTWAY */
.progress span{display:block;height:100%;background:linear-gradient(90deg,#6270e9,#6ec9b4)}
.firstway-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);line-height:1.5}
.firstway-note a{font-weight:700;color:#4452b8}
.list.compact{gap:7px}.list.compact .list-item{padding:10px 12px}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tool-callout{border-left:4px solid #6674df}
.partner-score{display:flex;align-items:center;gap:12px}.partner-score strong{font-size:28px}
.system-ok{border-left:4px solid var(--ok)}.system-warn{border-left:4px solid var(--warn)}.system-danger{border-left:4px solid var(--danger)}
@media(max-width:850px){.tool-grid{grid-template-columns:1fr}}

/* FamilienKompass 2.4 – Pädagogik, Therapiewissen & transparente Angebote */
.knowledge-hero{background:linear-gradient(135deg,#edf9f3,#f3f4ff 58%,#fff7e8)}
.solution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.solution-card{border-left:4px solid #6b78e8}.solution-card h3{margin-bottom:6px}.solution-card .first-step{background:#eef9f4;border-radius:13px;padding:11px 13px;margin:10px 0}
.knowledge-card{position:relative}.knowledge-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.knowledge-icon,.module-icon{font-size:28px}.practice-box,.soft-panel,.source-box,.honesty-box,.warn-panel,.danger-panel{border-radius:14px;padding:13px 14px;margin:12px 0}.practice-box{background:#edf8f3;border:1px solid #d0eadd}.soft-panel{background:#f5f7fb;border:1px solid var(--line)}.source-box{background:#f0f3ff;border:1px solid #dce2ff}.honesty-box{background:#fff7e8;border:1px solid #f0ddb9}.warn-panel{background:#fff7e8;border:1px solid #efd8af}.danger-panel{background:#fff0f2;border:1px solid #efcbd2}.support-plan-form{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.knowledge-card ul{padding-left:20px}.knowledge-card li{margin:5px 0}.source-box p,.honesty-box p,.soft-panel p{margin:6px 0}.quality-strip{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.quality-strip .tag{font-weight:700}
@media(max-width:800px){.solution-grid{grid-template-columns:1fr}.knowledge-head{display:block}}

/* FamilienKompass 2.5 – freundliches Produktivdesign, Fokuslogik & Vertrauenskommunikation */
:root{
  --bg:#f6f8ff;--card:#ffffff;--ink:#14213d;--muted:#66738d;--line:#e5e9f4;
  --primary:#5267df;--primary2:#7a5be3;--mint:#63cdb4;--mint-soft:#eaf9f4;
  --sun:#f4c85b;--sun-soft:#fff7df;--coral:#f47f78;--coral-soft:#fff0ef;
  --sky:#67b7ef;--sky-soft:#eef8ff;--lilac:#9b82e8;--lilac-soft:#f4efff;
  --ok:#24755a;--warn:#93631d;--danger:#a43f50;--shadow:0 16px 42px rgba(35,49,89,.09);--radius:22px
}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at 88% 8%,rgba(154,130,232,.10),transparent 25%),radial-gradient(circle at 72% 78%,rgba(99,205,180,.08),transparent 27%),var(--bg)}
a,button,input,select,textarea{outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(82,103,223,.36)}
.content{padding:28px 32px 46px}.content-top{align-items:center;margin-bottom:14px}.content-top h1{font-size:clamp(28px,3vw,38px);line-height:1.08;letter-spacing:-.025em}.eyebrow{color:#637094;font-weight:850;letter-spacing:.1em}.trust-pill{font-weight:800;border:1px solid #cfe9df;box-shadow:0 5px 16px rgba(40,105,82,.05)}.trust-pill.trust-warn{background:#fff4df;color:#80551d;border-color:#f0dbb2}
.card{border-color:#e5e9f3;border-radius:24px;box-shadow:0 12px 34px rgba(38,54,97,.065);transition:box-shadow .18s ease,transform .18s ease}.card:hover{box-shadow:0 16px 40px rgba(38,54,97,.095)}
.card h2{letter-spacing:-.015em}.card h3{letter-spacing:-.008em}.metric{position:relative;overflow:hidden}.metric>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--lilac-soft);font-size:21px}.grid.four>.metric:nth-child(4n+1)>span:first-child{background:var(--mint-soft)}.grid.four>.metric:nth-child(4n+2)>span:first-child{background:var(--lilac-soft)}.grid.four>.metric:nth-child(4n+3)>span:first-child{background:var(--sun-soft)}.grid.four>.metric:nth-child(4n)>span:first-child{background:var(--sky-soft)}
.btn,button{border-radius:14px;font-weight:750;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover,button:hover{transform:translateY(-1px)}.btn.primary,button.primary{box-shadow:0 8px 20px rgba(82,103,223,.20)}.btn.primary:hover,button.primary:hover{box-shadow:0 11px 25px rgba(82,103,223,.27)}
.form input,.form select,.form textarea,input,select,textarea{border-radius:14px;border-color:#dfe5f0}.form input:focus,.form select:focus,.form textarea:focus,input:focus,select:focus,textarea:focus{border-color:#99a7ee;box-shadow:0 0 0 4px rgba(82,103,223,.09)}
.alert{border-radius:16px}.privacy-box{border-radius:18px}.empty{background:linear-gradient(135deg,#fbfcff,#f6f8ff);border:1px dashed #cfd7ea;border-radius:18px;padding:27px}.list-item{border-radius:18px}.tag{font-weight:750}
.hero{position:relative;overflow:hidden;border-radius:30px;padding:28px;background:linear-gradient(135deg,#eef5ff 0%,#f5efff 46%,#ebfaf4 100%);border-color:#dee5f7}.hero:after{content:"";position:absolute;width:190px;height:190px;right:-65px;top:-75px;border-radius:50%;background:rgba(255,255,255,.55);pointer-events:none}.hero>*{position:relative;z-index:1}.hero h2{font-size:clamp(23px,2.5vw,32px);letter-spacing:-.025em}.hero p{font-size:16px;line-height:1.65}.dashboard-hero{background:linear-gradient(135deg,#e9faf4,#eef4ff 52%,#fff3ec)}.partner-hero{background:linear-gradient(135deg,#e8faf5,#eff8ff 58%,#f7f2ff)}
.quick-grid{gap:12px}.quick-grid a{position:relative;border-radius:18px;padding:15px 16px;box-shadow:0 7px 20px rgba(35,49,89,.045);transition:transform .15s ease,border-color .15s ease}.quick-grid a:hover{transform:translateY(-2px);border-color:#bec8ef}.quick-grid a.quick-focus{background:linear-gradient(135deg,#24304f,#35436c);color:#fff;border-color:transparent}.quick-grid a.quick-focus small{color:#d8e0f7}
.section-head{margin-top:30px}.section-head h2{font-size:22px;letter-spacing:-.02em}

/* Contextual guide: every working area explains purpose and safe next step */
.workspace-guide{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:start;margin:0 0 20px;padding:17px 19px;border:1px solid #dce4f5;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(244,247,255,.94));box-shadow:0 9px 26px rgba(35,49,89,.055)}
.workspace-guide-icon{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint-soft),var(--lilac-soft));font-size:23px}.workspace-guide h2{font-size:17px;margin:1px 0 4px}.workspace-guide p{margin:0;color:var(--muted);max-width:980px}.workspace-guide small{display:inline-block;margin-top:7px;font-weight:800;color:#4c5ca5}.admin-guide{background:#f7f9fd}.partner-guide{background:linear-gradient(135deg,#effaf6,#f3f9ff)}

/* Focus board */
.focus-board{margin:18px 0 22px;border-radius:28px;padding:22px;background:#16223f;color:#fff;box-shadow:0 20px 46px rgba(21,34,63,.16);overflow:hidden;position:relative}.focus-board:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-130px;background:rgba(116,214,190,.12)}.focus-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.focus-head h2{margin:4px 0;font-size:24px}.focus-head p{margin:0;color:#c8d2e9;max-width:820px}.focus-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#91ead4}.focus-rule{white-space:nowrap;border:1px solid #354464;background:#202f50;border-radius:999px;padding:7px 10px;color:#d9e0f0;font-size:11px}.focus-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.focus-item{display:grid;grid-template-columns:auto 1fr;gap:11px;align-content:start;padding:15px;border:1px solid #344462;border-radius:19px;background:#202e4c;min-width:0}.focus-item .focus-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#2c3a5b;font-size:20px}.focus-copy{min-width:0}.focus-copy h3{margin:0 0 5px;font-size:15px}.focus-copy p{margin:0;color:#c8d1e4;font-size:13px;line-height:1.5}.focus-copy small{display:block;margin-top:5px;color:#9eabc7}.focus-action{grid-column:1/-1;text-align:center;background:#fff;color:#18223b;padding:9px 11px}.focus-item.focus-urgent{border-color:#8b4957;background:#36283a}.focus-item.focus-urgent .focus-icon{background:#523141}.focus-item.focus-attention{border-color:#73603f;background:#322f35}.focus-item.focus-attention .focus-icon{background:#4b4234}.focus-item.focus-calm{border-color:#3d6c62;background:#203c3c}.focus-item.focus-calm .focus-icon{background:#285248}.focus-item.focus-info .focus-icon{background:#2c3f67}
.safe-promise{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;background:linear-gradient(135deg,#f1f8ff,#f4fbf8)}.safe-promise p{margin-bottom:0;color:var(--muted)}
.accent-card{border-top:4px solid #cbd4ef}.accent-mint{border-top-color:var(--mint)}.accent-sun{border-top-color:var(--sun)}.accent-lilac{border-top-color:var(--lilac)}.accent-blue{border-top-color:var(--sky)}.accent-red{border-top-color:var(--coral)}

/* Navigation: friendly for families, restrained for admin */
.family-portal .side{background:linear-gradient(180deg,#1b2850,#18213d 62%,#121a31)}.family-portal .brand span{background:linear-gradient(135deg,#ffd36e,#ff9587 45%,#7ed8c2)}.family-portal .side nav a.active{background:linear-gradient(90deg,#344773,#3a4d7d);box-shadow:inset 3px 0 #ffd36e}.family-portal .side nav a:hover{background:#29385f}.family-portal .side-user{background:#223157;border-color:#354a78}
.partner-area .side,.partner-portal .side{background:linear-gradient(180deg,#143b40,#142f3b 60%,#12273a)}.partner-area .brand span,.partner-portal .brand span{background:linear-gradient(135deg,#6dd6bc,#74bfe9)}.partner-area .side nav a.active,.partner-portal .side nav a.active{background:#24535a;box-shadow:inset 3px 0 #82e1c9}
.admin-area .admin-side{background:linear-gradient(180deg,#10172a,#121b31 65%,#0d1425)}.admin-area .brand span{background:linear-gradient(135deg,#6cc8d8,#7888ee)}.admin-area .side nav a.active{background:#273354;box-shadow:inset 3px 0 #8a9bff}.admin-access-banner{border-radius:21px;background:linear-gradient(135deg,#eef4ff,#f4f1ff)}
.side{padding-top:19px}.brand{font-size:19px}.brand span{width:42px;height:42px;border-radius:15px;box-shadow:0 8px 20px rgba(0,0,0,.12)}.side-user{border-radius:18px;padding:15px}.side nav a{border-radius:13px;padding:10px 12px}.side nav a.active{font-weight:800}

/* Footer trust architecture */
.portal-footer{border-radius:22px;padding:18px 20px;background:#fff}.footer-trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.footer-trust-row span{padding:6px 9px;border-radius:999px;background:#f1f4fb;color:#53617d;font-weight:750}.firstway-note{background:#f7f4ff;border:1px solid #e7defd;padding:12px 14px;border-radius:14px;margin-top:13px}.firstway-note a{color:#4658c2}

/* Tables and admin working density */
.admin-table tr:hover td{background:#fafbfe}.admin-module{border-top:4px solid #d7def2}.admin-module:nth-child(4n+1){border-top-color:var(--mint)}.admin-module:nth-child(4n+2){border-top-color:var(--sky)}.admin-module:nth-child(4n+3){border-top-color:var(--lilac)}.admin-module:nth-child(4n){border-top-color:var(--sun)}
.admin-module .module-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#f2f5fb}.admin-module .module-count{letter-spacing:-.03em}.admin-toolbar{border-radius:20px}

/* Auth: welcoming but explicit about protected access */
.auth{background:radial-gradient(circle at 16% 18%,#e6faf3,transparent 28%),radial-gradient(circle at 84% 14%,#eeeaff,transparent 30%),linear-gradient(135deg,#f6f9ff,#f8f5ff)}.auth-card{border-radius:30px;padding:31px;box-shadow:0 22px 60px rgba(35,49,89,.12)}.auth-brand{font-size:26px}.auth-brand:before{content:"🧭";display:grid;place-items:center;width:56px;height:56px;margin:0 auto 10px;border-radius:19px;background:linear-gradient(135deg,#75d6bf,#8290ef);box-shadow:0 10px 26px rgba(82,103,223,.16)}

/* Community: calmer, safer conversation surface */
.chat-layout{height:700px}.chat-rooms,.chat-main{border-radius:24px}.chat-room{border-radius:14px}.chat-room.active{background:linear-gradient(135deg,#eaf0ff,#f3eeff);color:#3848ae}.chat-stream{background:linear-gradient(180deg,#fbfcff,#f6f9ff)}.msg{border-radius:18px;box-shadow:0 5px 14px rgba(35,49,89,.04)}.msg.mine{background:#eef1ff}.chat-compose{background:#fff}

/* Knowledge and downloads */
.knowledge-hero{background:linear-gradient(135deg,#eaf9f3,#f3f0ff 54%,#fff5df)}.download-card{border-top:4px solid #dbe1f5}.download-card:nth-child(4n+1){border-top-color:var(--mint)}.download-card:nth-child(4n+2){border-top-color:var(--lilac)}.download-card:nth-child(4n+3){border-top-color:var(--sun)}.download-card:nth-child(4n){border-top-color:var(--sky)}

@media(max-width:1180px){.focus-grid{grid-template-columns:1fr 1fr}.focus-item:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:980px){.workspace-guide{margin-top:5px}.focus-head{display:block}.focus-rule{display:inline-block;margin-top:10px}.portal-shell .side{border-radius:0}.family-portal .side nav,.partner-area .side nav,.admin-area .side nav{padding-bottom:5px}}
@media(max-width:690px){.content{padding:18px 15px 34px}.workspace-guide{grid-template-columns:44px 1fr;padding:14px}.workspace-guide-icon{width:42px;height:42px;border-radius:14px}.focus-board{padding:17px;border-radius:22px}.focus-grid{grid-template-columns:1fr}.focus-item:last-child:nth-child(odd){grid-column:auto}.focus-rule{white-space:normal}.hero{padding:21px;border-radius:23px}.card{border-radius:20px}.footer-trust-row{display:grid;grid-template-columns:1fr 1fr}.chat-layout{height:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.auth-trust{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0 17px}.auth-trust span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f1f5fb;color:#58657f;font-size:11px;font-weight:800}.auth-card>.muted{line-height:1.6}
.service-quality{margin:12px 0;padding:12px 13px;border-radius:16px;background:#f7f9fd;border:1px solid var(--line)}.service-quality small{display:block;margin-top:7px}.service-quality .progress{height:8px}
.reply-helper{padding:11px 12px;border-radius:15px;background:#f7f9fd;border:1px solid var(--line)}.reply-helper small{display:block;margin-bottom:7px;color:var(--muted);font-weight:750}.reply-helper button{padding:7px 9px;font-size:12px}

/* 2.7.0 - Druckhilfen & Kommunikationskarten */
.printables-hero{background:linear-gradient(135deg,#eafaf3,#edf5ff 52%,#fff2e8)}
.printable-grid{align-items:stretch}.printable-card{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;border-top:4px solid var(--mint)}.printable-card:nth-child(4n+2){border-top-color:var(--sky)}.printable-card:nth-child(4n+3){border-top-color:var(--sun)}.printable-card:nth-child(4n){border-top-color:var(--lilac)}.printable-card.featured{grid-column:1/-1;background:linear-gradient(135deg,#effcf7,#f2f6ff)}.printable-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#f1f5ff;font-size:26px}.printable-card h3{margin:0 0 7px}.printable-card p{margin:0 0 10px;color:var(--muted)}.meta-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.meta-row span{font-size:11px;padding:5px 8px;border-radius:999px;background:#f1f4f8;color:#526078}.card-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card-choice{position:relative;border:1px solid var(--line);border-radius:18px;padding:14px 11px;background:#fff;display:grid;justify-items:center;text-align:center;gap:4px;cursor:pointer;min-height:145px}.card-choice:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.card-choice input{position:absolute;top:9px;right:9px;width:20px;height:20px}.choice-symbol{width:54px;height:54px;border-radius:17px;background:#eef5ff;display:grid;place-items:center;font-size:30px}.card-choice b{font-size:13px}.card-choice small{color:var(--muted);line-height:1.3}.card-choice:has(input:checked){border-color:#7182e8;background:#f5f6ff;box-shadow:0 0 0 2px rgba(91,108,220,.10)}
@media(max-width:980px){.card-choice-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:690px){.printable-card,.printable-card.featured{grid-column:auto;grid-template-columns:44px 1fr}.printable-icon{width:42px;height:42px}.card-choice-grid{grid-template-columns:repeat(2,1fr)}.card-choice{min-height:135px}}

/* FamilienKompass 2.8 – hochwertige Kommunikationskarten */
.premium-card-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:22px;align-items:center;overflow:hidden}.premium-card-hero-art{background:#fff;border:1px solid var(--line);border-radius:28px;padding:8px;box-shadow:0 14px 34px rgba(38,51,94,.08)}.premium-card-hero-art svg{display:block;width:100%;max-height:210px}.premium-card-builder .eyebrow,.premium-card-hero .eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:11px;color:#68748a}.premium-card-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.identity-options{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin:14px 0}.identity-options fieldset{border:1px solid var(--line);border-radius:20px;padding:14px;background:#fbfcff}.identity-options legend{font-weight:850;padding:0 5px;color:#34415e}.skin-options,.hair-options{display:flex;flex-wrap:wrap;gap:9px}.skin-options label,.hair-options label{position:relative;cursor:pointer}.skin-options input,.hair-options input{position:absolute;opacity:0;pointer-events:none}.skin-options label>span{display:block;width:48px;height:48px;border-radius:16px;background:var(--skin);border:3px solid #fff;box-shadow:0 0 0 1px #d8e0ea,0 5px 12px rgba(31,45,82,.08)}.skin-options label>b{display:block;text-align:center;font-size:10px;margin-top:5px;color:#657088}.skin-options input:checked+span{box-shadow:0 0 0 3px #5569ce,0 7px 17px rgba(57,75,151,.16)}.hair-options label>span{display:grid;place-items:center;min-width:74px;height:48px;padding:0 12px;border-radius:15px;background:#fff;border:1px solid var(--line);font-weight:800;color:#48566f}.hair-options input:checked+span{border-color:#5569ce;background:#eef1ff;color:#3445a0;box-shadow:0 0 0 2px rgba(85,105,206,.10)}.premium-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.premium-choice{min-height:210px;padding:11px;border-top:4px solid #5066c7}.premium-choice.needs{border-top-color:#2b78c5}.premium-choice.core{border-top-color:#7a5ac8}.premium-choice.feeling{border-top-color:#d76582}.premium-choice.learning{border-top-color:#2a9b78}.premium-choice.boundary{border-top-color:#c54a44}.premium-choice-art{display:block;width:100%;height:110px;margin:3px 0}.premium-choice-art svg{width:100%;height:100%;display:block}.premium-choice b{font-size:12px;letter-spacing:.015em}.premium-choice small{min-height:30px}.fk-card-svg{display:block;width:100%;height:100%}
@media(max-width:1050px){.premium-card-settings{grid-template-columns:repeat(2,1fr)}.premium-choice-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.premium-card-hero{grid-template-columns:1fr}.premium-card-hero-art{max-width:320px}.identity-options{grid-template-columns:1fr}.premium-choice-grid{grid-template-columns:repeat(2,1fr)}.premium-choice{min-height:190px}.premium-card-settings{grid-template-columns:1fr}}
@media(max-width:430px){.premium-choice-grid{grid-template-columns:1fr}.premium-choice{min-height:178px}.premium-choice-art{height:100px}}

/* 2.9.0 · TeamKompass & Partnernetzwerk */
.team-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(82,103,223,.08);font-weight:700;font-size:.86rem}
.coordination-callout{border-left:5px solid #5267df;background:linear-gradient(135deg,#f6f8ff,#fff);padding:16px 18px;border-radius:16px}
.partner-area .card .meta,.family-portal .card .meta,.professional-portal .card .meta{flex-wrap:wrap}

/* 2.9.2 · Professionelle Vorlagenbibliothek */
.template-library-hero{background:radial-gradient(circle at 88% 14%,rgba(255,216,106,.28),transparent 24%),linear-gradient(135deg,#edf9f4,#eef3ff 54%,#fff4e7)}
.template-library-hero .eyebrow{font-weight:900;letter-spacing:.1em;color:#52627c}.template-library-hero h2{max-width:780px;font-size:28px}.template-benefits{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.template-benefits span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid rgba(89,103,216,.10);font-size:12px;font-weight:800;color:#4e5d77;box-shadow:0 5px 14px rgba(35,49,89,.04)}
.template-filter-card{margin-top:16px}.template-search-form{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end}.template-search-form label{display:block;font-size:12px;font-weight:850;margin-bottom:5px}.template-category-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.template-category-chips a{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border-radius:999px;background:#f2f5fa;border:1px solid #e3e8f1;text-decoration:none;color:#56647b;font-size:12px;font-weight:750}.template-category-chips a.active{background:#25345e;color:#fff;border-color:#25345e}.template-category-chips b{font-size:10px;opacity:.8}
.template-pro-grid{align-items:stretch}.template-pro-card{position:relative;overflow:hidden;border-top:5px solid var(--template-accent,#5967d8);display:flex;flex-direction:column;min-height:100%}.template-pro-card:after{content:"";position:absolute;right:-45px;top:-45px;width:130px;height:130px;border-radius:50%;background:var(--template-soft,#f2f4ff);z-index:0}.template-pro-card>*{position:relative;z-index:1}.template-pro-top{display:grid;grid-template-columns:56px 1fr;gap:13px;align-items:start}.template-pro-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:var(--template-soft,#f2f4ff);font-size:27px}.template-pro-card h3{font-size:18px;margin:3px 0 7px}.template-category{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--template-soft,#f2f4ff);color:#4f5e78;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.template-pro-card>p{color:var(--muted);margin:11px 0 12px}.template-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.template-meta span{padding:5px 8px;border-radius:10px;background:#f7f9fc;border:1px solid var(--line);font-size:10px;color:#5c687c;font-weight:750}.template-contains{padding:12px;border-radius:14px;background:#fafbfd;border:1px solid #e7ebf1;margin-bottom:14px}.template-contains b{display:block;margin-bottom:7px;font-size:11px}.template-contains span{display:block;color:#657086;font-size:11px;padding:4px 0;border-top:1px solid #edf0f4}.template-contains span:first-of-type{border-top:0}.template-pro-card .actions{margin-top:auto}.template-quality-note{background:linear-gradient(135deg,#fff,#f8fbff)}
@media(max-width:760px){.template-search-form{grid-template-columns:1fr}.template-pro-top{grid-template-columns:46px 1fr}.template-pro-icon{width:44px;height:44px;border-radius:14px;font-size:23px}.template-library-hero h2{font-size:24px}}

/* FamilienKompass 2.9.3 - einheitliches Markenlogo */
.brand{min-height:54px}.brand .brand-logo{display:block;width:48px;height:48px;object-fit:contain;border-radius:15px;background:#fff;padding:3px;box-shadow:0 8px 20px rgba(7,15,38,.18)}
.brand .brand-word{display:flex;flex-direction:column;line-height:1.08}.brand .brand-word b{font-size:17px}.brand .brand-word small{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#9facca;margin-top:4px}
.portal-brand-mark{width:42px;height:42px;object-fit:contain;border-radius:13px;background:#fff;padding:2px;box-shadow:0 7px 18px rgba(21,31,62,.13)}
.auth-brand{display:flex;flex-direction:column;align-items:center;gap:7px;margin-bottom:18px}.auth-brand:before{display:none!important;content:none!important}.auth-brand img{display:block;width:min(330px,86%);max-height:155px;object-fit:contain}.auth-brand .auth-context{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:850}
.portal-footer{position:relative;padding-left:88px}.portal-footer .footer-brand-logo{position:absolute;left:18px;top:18px;width:52px;height:52px;object-fit:contain;border-radius:14px;background:#fff;padding:2px;border:1px solid var(--line)}
@media(max-width:650px){.portal-footer{padding-left:18px}.portal-footer .footer-brand-logo{position:static;display:block;margin-bottom:10px}.brand .brand-word small{display:none}}

/* FamilienKompass 3.0 · Familienzeit, Schule, Urlaub & Listen */
.calendar-hero,.school-hero,.timetable-hero,.vacation-hero,.shopping-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:radial-gradient(circle at 92% 12%,rgba(255,206,92,.28),transparent 26%),linear-gradient(135deg,#eefbf6,#eef4ff 54%,#fff4e8)}
.calendar-hero>div:first-child,.school-hero>div:first-child,.timetable-hero>div:first-child,.vacation-hero>div:first-child,.shopping-hero>div:first-child{max-width:850px}.calendar-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.calendar-toolbar,.vacation-filter{display:grid;grid-template-columns:180px 220px repeat(3,auto);gap:10px;align-items:end;margin-top:16px}.calendar-toolbar label,.vacation-filter label,.school-child-switch label{font-size:12px;font-weight:850}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;margin-top:16px}.calendar-side{display:grid;gap:16px;align-content:start}.calendar-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.calendar-title h2{font-size:27px}.calendar-legend{display:flex;gap:7px;flex-wrap:wrap}.calendar-legend span{padding:5px 8px;background:#f6f8fb;border:1px solid var(--line);border-radius:999px;font-size:10px;font-weight:800}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;font-size:11px;font-weight:900;color:#657086;padding:6px}.calendar-day{min-height:118px;border:1px solid #e5eaf2;border-radius:15px;background:#fff;padding:7px;overflow:hidden}.calendar-day.other-month{opacity:.42;background:#f8fafc}.calendar-day.today{box-shadow:inset 0 0 0 2px #586ddd;background:#f8f9ff}.day-number{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.day-number b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#f4f6fa}.today .day-number b{background:#5267df;color:#fff}.holiday-dot{color:#ef9445}.mini-event{font-size:9.5px;line-height:1.22;padding:4px 5px;border-radius:7px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f2f4f8;border-left:3px solid #8792a5}.holiday-event{background:#fff4e4;border-left-color:#f0a13e}.school-holiday{background:#eaf8f1;border-left-color:#37a778}.event-blue{background:#edf4ff;border-left-color:#4e82dc}.event-violet{background:#f0edff;border-left-color:#7a5ee0}.event-mint,.event-teal,.event-green{background:#e9f8f2;border-left-color:#2f9c78}.event-sky{background:#eaf8ff;border-left-color:#43a6cd}.event-sun{background:#fff5d8;border-left-color:#e2aa32}.event-coral{background:#fff0ed;border-left-color:#df755f}.event-pink{background:#fff0f7;border-left-color:#d9679d}.compact-list .list-item{padding:11px}.mini-button{padding:4px 7px;font-size:10px;margin-top:7px}
.school-child-switch{margin-top:16px;max-width:420px}.school-reference{margin-top:16px;background:linear-gradient(135deg,#fff,#f8fbff)}.holiday-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.holiday-strip article{display:grid;grid-template-columns:38px 1fr;gap:2px 9px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}.holiday-strip article>span{grid-row:1/3;font-size:25px}.holiday-strip b{font-size:13px}.holiday-strip small{color:var(--muted)}.school-event-card{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}.school-event-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#f0f4ff;font-size:22px}.school-event-card p,.school-event-card small{margin:2px 0;color:var(--muted)}
.timetable-print-card{margin-top:16px}.timetable-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.timetable-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.timetable-day{background:#f8faff;border:1px solid #e4eaf4;border-radius:18px;padding:10px}.timetable-day h3{text-align:center;font-size:14px}.lesson-card{position:relative;display:grid;grid-template-columns:56px 1fr auto;gap:9px;padding:10px;background:#fff;border:1px solid #e4e8f0;border-radius:13px;margin-top:8px}.lesson-time{font-size:12px;font-weight:900;color:#4e5fb9}.lesson-time small{display:block;font-size:9px;color:#8992a5}.lesson-card b{font-size:13px}.lesson-card p,.lesson-card small{margin:2px 0;color:var(--muted);font-size:10px}.timetable-empty{padding:18px;text-align:center;color:#8791a4;font-size:11px}.timetable-form{grid-template-columns:repeat(4,minmax(120px,1fr));align-items:end}.timetable-form .wide{grid-column:span 2}
.vacation-filter{grid-template-columns:160px 220px 100px 170px auto}.vacation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vacation-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:19px;box-shadow:var(--shadow);overflow:hidden}.vacation-card.top-pick{border-color:#bcded1;background:linear-gradient(135deg,#f1fff9,#fff)}.vacation-card.top-pick:before{content:'TOP';position:absolute;right:12px;top:12px;font-size:9px;font-weight:950;letter-spacing:.1em;background:#237b5d;color:#fff;padding:5px 7px;border-radius:999px}.vacation-score{display:inline-grid;padding:8px 11px;border-radius:14px;background:#edf4ff;margin-bottom:12px}.vacation-score b{font-size:24px;color:#4058b4}.vacation-score small{font-size:9px;color:#68758c}.vacation-card h3{font-size:19px;margin:7px 0 12px}.leave-date-list{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px}.leave-date-list b{width:100%;font-size:11px}.leave-date-list span{padding:5px 7px;border-radius:9px;background:#fff3df;color:#79541f;font-size:10px;font-weight:800}.holiday-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.holiday-list>div{display:grid;grid-template-columns:54px 1fr auto;gap:8px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:13px}.holiday-list time{font-weight:900;color:#5267b8}.holiday-list b{font-size:12px}
.shopping-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;margin-top:16px}.shopping-list-nav{display:grid;gap:7px;margin-bottom:16px}.shopping-list-nav a{display:flex;justify-content:space-between;gap:8px;text-decoration:none;padding:10px;border-radius:12px;background:#f7f9fc;border:1px solid var(--line)}.shopping-list-nav a.active{background:#25345e;color:#fff;border-color:#25345e}.shopping-list-nav small{opacity:.7}.shopping-progress{display:grid;grid-template-columns:100px 100px 1fr;gap:10px;align-items:center;padding:12px;border-radius:15px;background:#f7f9fc;margin:12px 0}.shopping-progress>div:not(.progress){display:flex;align-items:baseline;gap:5px}.shopping-progress b{font-size:24px}.shopping-progress small{color:var(--muted)}.shopping-add{display:grid;grid-template-columns:minmax(220px,1fr) 110px 150px auto;gap:8px;margin:12px 0}.shopping-items{display:grid;gap:7px}.shopping-item{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.shopping-item.done{opacity:.55;background:#f4f7f5}.shopping-item.done b{text-decoration:line-through}.shopping-check button{width:36px;height:36px;border-radius:50%;padding:0;font-size:20px;background:#eef5ff;color:#4c5dc0}.shopping-item p,.shopping-item small{margin:1px 0;color:var(--muted)}.starter-list-card{padding:16px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,#fff,#f9fbff)}.starter-list-card h3{margin:0 0 5px}.starter-list-card p{color:var(--muted)}
@media(max-width:1180px){.calendar-layout{grid-template-columns:1fr}.calendar-side{grid-template-columns:repeat(2,1fr)}.timetable-grid{grid-template-columns:repeat(3,1fr)}.vacation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.calendar-hero,.school-hero,.timetable-hero,.vacation-hero,.shopping-hero{display:grid}.calendar-toolbar,.vacation-filter{grid-template-columns:1fr 1fr}.month-grid{min-width:760px}.calendar-main{overflow:auto}.calendar-side{grid-template-columns:1fr}.holiday-strip{grid-template-columns:repeat(2,1fr)}.timetable-grid{grid-template-columns:1fr 1fr}.timetable-form{grid-template-columns:1fr 1fr}.vacation-grid{grid-template-columns:1fr}.holiday-list{grid-template-columns:1fr 1fr}.shopping-shell{grid-template-columns:1fr}.shopping-add{grid-template-columns:1fr 100px}.shopping-add button{grid-column:span 2}}
@media(max-width:560px){.calendar-toolbar,.vacation-filter,.holiday-strip,.timetable-grid,.holiday-list,.timetable-form{grid-template-columns:1fr}.timetable-form .wide{grid-column:auto}.shopping-add{grid-template-columns:1fr}.shopping-add button{grid-column:auto}.vacation-card{padding:16px}}
@media print{
  body{background:#fff!important;color:#111!important;font-size:11pt}.side,.content-top,.workspace-guide,.portal-footer,.no-print,.trust-pill,.alert{display:none!important}.portal-shell{display:block!important}.content{padding:0!important;max-width:none!important}.card,.hero{box-shadow:none!important;border:1px solid #ccd3df!important;break-inside:avoid}.hero{padding:12px!important}.month-grid{min-width:0!important;gap:3px}.calendar-day{min-height:92px!important;border-radius:8px!important;padding:4px!important}.mini-event{font-size:7pt!important}.calendar-layout{display:block!important}.calendar-side{display:none!important}.timetable-grid{grid-template-columns:repeat(5,1fr)!important;gap:5px!important}.timetable-day{padding:5px!important}.lesson-card{grid-template-columns:43px 1fr!important;padding:6px!important}.lesson-card form{display:none!important}.vacation-grid{grid-template-columns:repeat(2,1fr)!important}.shopping-shell{display:block!important}.shopping-sidebar{display:none!important}.shopping-item{break-inside:avoid}.shopping-item form{display:none!important}.brand-print-watermark{display:block!important}
}
.compact-edit{margin-top:7px}.compact-edit summary{font-size:11px;font-weight:800;color:#53617b}.compact-form{margin-top:8px;padding:9px;border-radius:12px;background:#f8faff}.compact-form label{font-size:10px}.compact-form input,.compact-form textarea{padding:7px;border-radius:9px;font-size:11px}.compact-form textarea{min-height:65px}

/* v3.1 – Strukturierte Navigation & Live-Systemprüfung */
.side nav .side-section{margin:16px 10px 5px;padding:0 5px;color:#8da0c8;font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.side nav .side-section:first-child{margin-top:5px}
.side nav a{position:relative}
.system-audit-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#f6f9ff,#f0fff9)}
.audit-score{display:flex;gap:9px;flex-wrap:wrap}.audit-score>span{min-width:82px;padding:12px 14px;border-radius:17px;text-align:center;border:1px solid var(--line);background:#fff}
.audit-score b{display:block;font-size:25px}.audit-score small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.audit-score .audit-ok b{color:#237b5d}.audit-score .audit-warn b{color:#b87818}.audit-score .audit-error b{color:#bd4a43}
.system-audit-group{margin-top:14px}.audit-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.audit-check{padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.audit-check h3{font-size:13px}.audit-check p{margin:6px 0 2px;font-size:11px;color:#4e5b73;word-break:break-word}.audit-check small{display:block;color:var(--muted);line-height:1.4}
.audit-check.audit-error{border-color:#efc2bf;background:#fff8f7}.audit-check.audit-warn{border-color:#f0d9a9;background:#fffbf2}.audit-check.audit-ok{border-color:#cce6da;background:#fbfffd}
button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1000px){.audit-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-audit-hero{display:grid}}
@media(max-width:620px){.audit-check-grid{grid-template-columns:1fr}.audit-score{display:grid;grid-template-columns:repeat(3,1fr)}}

/* v3.1.1 – Admin-2FA mit lokalem QR-Code */
.security-2fa-card{overflow:hidden}.security-card-head{display:flex;gap:13px;align-items:flex-start}.security-card-head h2{margin-bottom:4px}.security-step-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#e9f8f3,#edf2ff);font-size:23px;flex:0 0 auto}.security-setup-steps{display:grid;gap:12px;margin:16px 0}.security-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.security-step>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#25345e;color:#fff;font-weight:900}.security-step b,.security-step small{display:block}.security-step small{color:var(--muted);margin-top:2px}.totp-qr-shell{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:18px;align-items:center;padding:17px;border:1px solid #dfe6f3;background:linear-gradient(135deg,#f8fbff,#f7fffb);border-radius:20px}.totp-qr{aspect-ratio:1/1;width:100%;max-width:300px;background:#fff;border:1px solid #d8deea;border-radius:18px;padding:13px;display:grid;place-items:center;box-shadow:0 8px 24px rgba(27,42,78,.08)}.totp-qr svg{display:block;width:100%;height:auto;max-width:100%;background:#fff}.qr-loading{color:var(--muted);font-size:12px;text-align:center}.totp-qr-meta{display:flex;gap:7px;flex-wrap:wrap}.totp-qr-meta p{width:100%;margin:8px 0 0}.manual-secret{margin:14px 0;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fbfcff}.manual-secret summary{cursor:pointer;font-weight:800}.secret-key{margin:10px 0;padding:12px;border-radius:12px;background:#111a31;color:#f5f7ff;font-size:15px;letter-spacing:.11em;word-break:break-all}.otp-input{text-align:center!important;font-size:25px!important;font-weight:900!important;letter-spacing:.28em!important;font-variant-numeric:tabular-nums;padding-left:calc(11px + .28em)!important}.security-flow{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:17px 0}.security-flow>div{min-width:100px;text-align:center;padding:11px;border-radius:14px;background:#f6f8fc;border:1px solid var(--line)}.security-flow>div b,.security-flow>div span{display:block}.security-flow>div b{font-size:18px;color:#4356b8}.security-flow i{font-style:normal;color:#8994aa}.security-disable{margin-top:18px;padding:14px;border-style:solid}.security-disable summary{cursor:pointer;font-weight:800;color:#8b3345}.security-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}.security-feature-list>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}.security-feature-list span,.security-feature-list b,.security-feature-list small{display:block}.security-feature-list span{font-size:22px}.security-feature-list b{margin:5px 0 2px}.security-feature-list small{color:var(--muted);font-size:10px;line-height:1.45}.auth-card-secure{max-width:560px}.auth-card-secure .security-step-icon{margin:0 0 10px}.security-help{margin-top:16px;padding:12px 13px;border-radius:14px;background:#f7f9fd;border:1px solid var(--line)}.security-help b,.security-help span{display:block}.security-help span{font-size:11px;color:var(--muted);margin-top:2px}
@media(max-width:720px){.totp-qr-shell{grid-template-columns:1fr}.totp-qr{margin:auto}.security-feature-list{grid-template-columns:1fr}.security-flow i{display:none}}

.footer-legal-links{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);line-height:1.8}.footer-legal-links a{font-weight:750;color:#4658c2}.auth-card label a{color:#4658c2;font-weight:800}.big-number{font-size:32px;font-weight:900;letter-spacing:-.03em;margin:4px 0}

/* v3.3 – Haushaltsbuch & Familienfinanzen */
.household-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#eaf9f2,#f6fbff 52%,#fff7e7)}
.household-hero h2{font-size:28px}.household-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.household-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0;flex-wrap:wrap}.month-switch{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid var(--line);border-radius:15px;background:#fff}.month-switch a{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;text-decoration:none;background:#f4f7fb;font-size:20px}.month-switch b{min-width:150px;text-align:center}.household-tabs{display:flex;gap:6px;flex-wrap:wrap}.household-tabs a{padding:9px 11px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:#fff;font-size:12px;font-weight:800}.household-tabs a.active{background:#173b36;color:#fff;border-color:#173b36}
.household-kpis .metric{position:relative;overflow:hidden}.household-kpis .metric:after{content:"";position:absolute;right:-24px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:currentColor;opacity:.04}.finance-income b{color:#237b5d}.finance-expense b,.finance-negative b{color:#a53e52}.finance-balance b{color:#4059bd}
.household-dashboard-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#f0fbf6,#fff);border-color:#d8ece3}.household-dashboard-strip h3{margin:2px 0 4px;font-size:19px}
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.finance-account{padding:13px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,#fff,#f8fbff)}.finance-account>div:first-child{display:grid;grid-template-columns:30px 1fr;column-gap:7px}.finance-account>div:first-child span{grid-row:span 2;font-size:22px}.finance-account>div:first-child small{color:var(--muted)}.finance-account>strong{display:block;font-size:20px;margin:10px 0 5px}.finance-account.is-muted{opacity:.55}
.budget-list{display:grid;gap:11px}.budget-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center}.budget-row>div:first-child b,.budget-row>div:first-child small{display:block}.budget-row>div:first-child small{color:var(--muted)}.budget-row .progress{grid-column:1/-1}.budget-pct{font-size:11px;font-weight:900;padding:5px 7px;border-radius:999px;background:#eaf7f1;color:#237b5d}.budget-pct.warn,.tag.warn{background:#fff3df;color:#8a5a18}.budget-pct.danger,.tag.danger{background:#fdecef;color:#9c3b4b}.budget-pct.attention,.tag.attention{background:#fff6e5;color:#8a5a18}.budget-card{padding:13px;border:1px solid var(--line);border-radius:15px}.budget-card h3{margin:0}.budget-card p{margin:5px 0}.budget-card small{display:block;margin-top:6px;color:var(--muted)}
.spend-bars{display:grid;gap:10px}.spend-bars>div{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.spend-bars .progress{grid-column:1/-1}.spend-bars span{font-weight:700}.spend-bars b{font-size:12px}
.household-links a{padding:15px;border:1px solid var(--line);border-radius:16px;text-decoration:none;background:linear-gradient(135deg,#fff,#f9fbff)}.household-links b,.household-links small{display:block}.household-links small{margin-top:4px;color:var(--muted)}
.household-tx-layout{grid-template-columns:minmax(300px,.75fr) minmax(0,1.6fr)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px}.segmented label{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f8fafc}.segmented input,.checkline input{width:auto;margin-right:6px}.checkline{display:flex!important;align-items:center;gap:6px}.transaction-list{display:grid;gap:7px}.transaction-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff}.transaction-row.income{border-left:4px solid #3a9475}.transaction-row.expense{border-left:4px solid #cf6475}.tx-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f4f7fb;font-size:20px}.transaction-row b,.transaction-row small{display:block}.transaction-row small,.transaction-row p{color:var(--muted)}.transaction-row p{margin:3px 0 0;font-size:11px}.transaction-row>strong{white-space:nowrap;font-size:15px}.transaction-row.income>strong{color:#237b5d}.transaction-row.expense>strong{color:#9b4052}.tx-actions{display:flex;gap:5px}.tx-actions .btn,.tx-actions button{padding:7px 9px;font-size:11px}
.recurring-item.is-muted{opacity:.55}.saving-grid{display:grid;gap:11px}.saving-card{padding:15px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,#fff,#f7fbf9)}.saving-card.done{background:linear-gradient(135deg,#eaf9f2,#fff)}.saving-card h3{margin:0}.saving-card>.progress{margin:10px 0 5px}.saving-adjust{display:grid;grid-template-columns:1fr 130px auto;gap:6px;margin:10px 0}.saving-adjust input,.saving-adjust select{padding:8px}.saving-card p{color:var(--muted);margin:4px 0}
.year-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.year-finance-grid a{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:15px;text-decoration:none;background:#fff}.year-finance-grid span{font-size:11px;font-weight:900;color:#5e6a80}.year-finance-grid .inc{color:#237b5d}.year-finance-grid .exp{color:#a53e52}.year-finance-grid small{color:#4059bd}.year-finance-grid small.negative{color:#a53e52}
.review-sheet{background:linear-gradient(180deg,#fff,#fbfcff)}.review-metric{padding:13px;border-radius:14px;background:#f5f8fc;border:1px solid var(--line)}.review-metric span,.review-metric b{display:block}.review-metric span{font-size:11px;color:var(--muted)}.review-metric b{font-size:20px;margin-top:4px}.review-form{margin-top:16px}.review-form label>small{display:block;font-weight:400;color:var(--muted);margin:3px 0 7px}.household-disclaimer{margin-top:18px;background:#f8fafc}.shopping-costs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid #dfe8e4;border-radius:14px;background:#f2faf6;margin:0 0 12px}.shopping-costs span{font-size:12px}.shopping-costs b{margin-left:3px}.price-line{display:block;margin-top:4px;color:#247a68!important}.price-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;margin-top:5px}.price-edit input{padding:7px}.shopping-add{grid-template-columns:minmax(190px,1fr) 90px 105px 130px auto}
@media(max-width:1100px){.household-tx-layout{grid-template-columns:1fr}.year-finance-grid{grid-template-columns:repeat(3,1fr)}.account-grid{grid-template-columns:1fr}.shopping-add{grid-template-columns:1fr 90px 105px}.shopping-add button{grid-column:auto}}
@media(max-width:750px){.household-hero{display:grid}.household-hero-actions{justify-content:flex-start}.household-tabs{overflow:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}.household-tabs a{white-space:nowrap}.transaction-row{grid-template-columns:40px 1fr auto}.tx-actions{grid-column:2/-1}.year-finance-grid{grid-template-columns:repeat(2,1fr)}.saving-adjust{grid-template-columns:1fr}.price-edit{grid-template-columns:1fr}.shopping-add{grid-template-columns:1fr 1fr}.shopping-add button{grid-column:1/-1}}
@media(max-width:480px){.year-finance-grid{grid-template-columns:1fr}.transaction-row{grid-template-columns:38px 1fr}.transaction-row>strong{grid-column:2}.tx-actions{grid-column:2}.month-switch{width:100%;justify-content:space-between}.shopping-add{grid-template-columns:1fr}}
@media print{.household-toolbar{display:block}.household-tabs{display:none!important}.household-hero-actions{display:none!important}.household-tx-layout{display:block!important}.household-tx-layout>section:first-child{display:none!important}.transaction-row{break-inside:avoid}.tx-actions{display:none!important}.year-finance-grid{grid-template-columns:repeat(3,1fr)!important}.household-disclaimer{display:block!important}.household-links{display:none!important}.review-form textarea{min-height:90px}.shopping-costs .btn{display:none!important}}


/* FamilienKompass 3.4 – Familienalltag */
.day-hero{background:linear-gradient(135deg,#edf9ff,#fff7e8 55%,#f6efff)}
.day-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.today-progress{background:#fff;border:1px solid #e2e9f5;border-radius:22px;padding:16px 18px;margin:0 0 16px;box-shadow:0 12px 35px rgba(39,54,92,.07)}.today-progress>div:first-child{display:flex;justify-content:space-between;gap:16px;align-items:end}.today-progress b{font-size:1.35rem}.today-progress span,.today-progress small{color:#667085}.today-progress .progress{height:10px;background:#edf1f8;border-radius:99px;overflow:hidden;margin:10px 0 6px}.today-progress .progress i{display:block;height:100%;background:linear-gradient(90deg,#5b74e8,#48b98a);border-radius:inherit}.day-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.day-summary{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #e4eaf4;border-radius:18px;padding:16px;text-decoration:none;color:inherit;box-shadow:0 10px 30px rgba(39,54,92,.05)}.day-summary b{font-size:1.35rem}.day-summary span{color:#667085;font-size:.92rem}.day-summary.warn{background:#fff8ea}.timeline{display:grid;gap:9px}.timeline article{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:12px;border:1px solid #e7ebf4;border-radius:14px;background:#fbfcff}.timeline time{font-weight:800;color:#4f62ce}.timeline article.school{background:#f2f7ff}.timeline article.money{background:#f5fbf5}.timeline p,.day-item p{margin:4px 0 0;color:#667085}.day-items,.routine-today{display:grid;gap:9px;margin-top:12px}.day-item,.routine-today-item{display:flex;align-items:flex-start;gap:10px;border:1px solid #e6eaf2;background:#fff;border-radius:15px;padding:11px}.day-item>div,.routine-today-item>div{flex:1}.day-check,.routine-today-item>button{width:38px;height:38px;border-radius:50%;font-size:1.15rem;padding:0}.done-item{opacity:.62}.done-item b{text-decoration:line-through}.meal-today{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meal-today>div{border:1px solid #ece7dd;border-radius:14px;padding:12px;background:#fffbf4}.meal-today span{display:block;color:#7a6e5b;font-size:.83rem}.meal-today b{display:block;margin-top:4px}.week-shortcuts{display:flex;justify-content:space-between;gap:20px;align-items:center}.weekday-checks{display:flex;gap:8px;flex-wrap:wrap}.weekday-checks label{display:flex;gap:5px;align-items:center;background:#f5f7fb;border:1px solid #e1e6f1;border-radius:10px;padding:8px 10px}.weekday-checks input{width:auto}.routine-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.routine-template,.routine-card{border:1px solid #e3e8f2;border-radius:16px;padding:14px;background:#fff}.routine-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.routine-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px}.routine-card.is-paused{opacity:.55}.meal-week{display:grid;grid-template-columns:repeat(7,minmax(250px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.meal-day{min-width:250px}.meal-day>header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.meal-day>header span{font-weight:800;font-size:.92rem}.meal-slot{border:1px solid #e7e8ee;border-radius:13px;margin:8px 0;background:#fff}.meal-slot summary{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:11px;cursor:pointer}.meal-slot .form,.meal-slot .actions{padding:0 11px 11px}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inventory-card{border:1px solid #e2e8f1;border-radius:16px;padding:14px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.inventory-card.low{border-color:#f0c75e;background:#fffaf0}.inventory-card.expired{border-color:#e7a1a1;background:#fff6f6}.stock-adjust{display:flex;gap:5px}.stock-adjust input{max-width:70px}.stock-adjust button{padding:7px 10px}.week-focus-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.week-board{display:grid;grid-template-columns:repeat(7,minmax(220px,1fr));gap:10px;overflow-x:auto;margin:14px 0}.week-day{background:#fff;border:1px solid #e3e8f2;border-radius:17px;min-width:220px;overflow:hidden}.week-day.today{border:2px solid #6678e8;box-shadow:0 10px 28px rgba(73,91,194,.12)}.week-day header{display:flex;justify-content:space-between;gap:8px;padding:12px;background:#f7f9fd}.week-day header b,.week-day header small{display:block}.week-day header small{color:#6b7280;margin-top:3px}.week-day-list{padding:10px}.week-day-list p{margin:7px 0;font-size:.9rem}.today-dashboard-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,#eef8ff,#fff9ed);border:1px solid #dfe8f3}.today-dashboard-progress{text-align:center}.today-dashboard-progress b{font-size:1.6rem;display:block}.today-dashboard-progress small{color:#667085}.tip-list p{padding:10px 0;border-bottom:1px solid #edf0f5}.tip-list p:last-child{border:0}
@media(max-width:1100px){.day-summary-grid{grid-template-columns:1fr 1fr}.routine-board,.inventory-grid{grid-template-columns:1fr 1fr}.week-focus-form{grid-template-columns:1fr 1fr}.week-focus-form button{grid-column:span 2}.meal-week,.week-board{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(250px,80vw)}}
@media(max-width:700px){.day-summary-grid,.routine-board,.inventory-grid,.routine-template-grid,.meal-today,.week-focus-form{grid-template-columns:1fr}.week-focus-form button{grid-column:auto}.week-shortcuts,.today-dashboard-strip{align-items:stretch;flex-direction:column}.timeline article{grid-template-columns:62px 1fr}.day-layout{grid-template-columns:1fr!important}}
@media print{.day-summary-grid{grid-template-columns:repeat(4,1fr)}.week-board{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible}.meal-week{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible}.week-day,.meal-day{min-width:0;break-inside:avoid}.routine-board,.inventory-grid{grid-template-columns:repeat(2,1fr)}}


/* FamilienKompass 3.5 · Kochbücher, Portionen & intelligenter Einkaufscheck */
.cookbook-hero,.cookbook-shopping-hero,.recipe-edit-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:radial-gradient(circle at 88% 12%,rgba(255,199,101,.28),transparent 28%),linear-gradient(135deg,#fff8eb,#eefaf4 56%,#eef3ff)}
.cookbook-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px}.cookbook-books{align-self:start;position:sticky;top:14px}.cookbook-book-nav{display:grid;gap:6px;margin:10px 0 14px}.cookbook-book-nav a{display:flex;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:12px;text-decoration:none;background:#f7f9fc;border:1px solid #e6eaf1}.cookbook-book-nav a.active{background:#eef3ff;border-color:#aebcf2;color:#3249ad}.cookbook-book-nav small{color:#7b8494}.compact-form{margin-top:10px}.ghost-button{width:100%;margin-top:10px}
.recipe-filter-form{display:grid;grid-template-columns:minmax(240px,1fr) 220px auto auto;gap:10px;align-items:end}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-card{border:1px solid #e4e9f1;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(39,54,92,.05)}.recipe-card-main{display:grid;grid-template-columns:110px 1fr;text-decoration:none;color:inherit}.recipe-cover{min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;background:linear-gradient(145deg,#fff4da,#eef9f3);font-size:38px}.recipe-cover small{font-size:10px;color:#667085;text-align:center;padding:0 8px}.recipe-copy{padding:16px}.recipe-copy h3{font-size:19px;margin:4px 0 10px}.recipe-meta{display:flex;gap:7px;flex-wrap:wrap}.recipe-meta span{padding:5px 8px;border-radius:999px;background:#f6f8fb;font-size:10px;font-weight:800;color:#596579}.recipe-meta.large span{font-size:11px;padding:7px 9px}.recipe-card-actions{display:flex;gap:6px;padding:11px;border-top:1px solid #edf0f4}.recipe-card-actions form{margin:0}.recipe-empty{grid-column:1/-1}.cookbook-explain{margin-top:16px}.cookbook-dashboard-strip{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff7e9,#effaf4);border:1px solid #ebe4d3}
.recipe-editor{display:grid;gap:14px}.ingredient-table-head,.ingredient-row{display:grid;grid-template-columns:minmax(150px,1.3fr) 90px 100px minmax(170px,1fr) minmax(180px,1.3fr) 38px;gap:7px;align-items:start}.ingredient-table-head{padding:0 4px 6px;font-size:10px;font-weight:900;color:#6b7485;text-transform:uppercase;letter-spacing:.04em}.ingredient-row{padding:9px;border:1px solid #e7ebf2;border-radius:14px;background:#fbfcfe;margin-bottom:7px}.ingredient-extra{display:grid;grid-template-columns:1fr;gap:6px}.ingredient-remove{width:36px;height:36px;padding:0;border-radius:50%}.recipe-instructions{min-height:220px}.sticky-form-actions{position:sticky;bottom:10px;z-index:6;display:flex;gap:8px;justify-content:flex-end;padding:11px;border:1px solid #dce3ef;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 38px rgba(28,41,77,.13);backdrop-filter:blur(12px)}
.recipe-detail-hero{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;padding:19px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fff8e9,#f0fbf6)}.recipe-detail-badge{width:82px;height:82px;display:grid;place-items:center;border-radius:24px;background:#fff;font-size:40px;box-shadow:0 10px 28px rgba(52,64,96,.09)}.recipe-detail-title h2{font-size:30px;margin:4px 0 10px}.recipe-detail-grid{display:grid;grid-template-columns:minmax(350px,.9fr) minmax(0,1.4fr);gap:16px;margin-top:16px}.recipe-ingredient-list{display:grid;gap:7px}.recipe-ingredient-list h3{margin:12px 0 2px;font-size:13px;color:#4c5bbc}.recipe-ingredient{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:8px;padding:9px;border-bottom:1px solid #edf0f4}.recipe-ingredient b{color:#394fb2}.recipe-ingredient em{font-size:10px;color:#34785f;font-style:normal}.recipe-instruction-text{white-space:normal;line-height:1.65}.recipe-note{margin-top:15px;padding:13px;border-radius:14px;background:#fff8e9;border:1px solid #f0dfba}.recipe-serving-switch{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:10px;margin:10px 0 13px;border-radius:14px;background:#f6f9ff;border:1px solid #e0e7f6}.recipe-serving-switch label{max-width:180px}.recipe-serving-switch small{color:#667085}.recipe-history{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.recipe-history article{padding:12px;border:1px solid #e5e9f1;border-radius:14px;background:#fff}.recipe-history b,.recipe-history span,.recipe-history small{display:block}.recipe-history p{margin:5px 0}.recipe-safety{margin-top:16px;background:#f8fafc}
.recipe-people-settings{margin-top:16px}.recipe-people-settings .inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.recipe-people-settings label{max-width:220px}.recipe-selection-form{display:grid;gap:12px}.recipe-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.recipe-picker{display:grid;gap:9px;padding:12px;border:1px solid #e4e8f0;border-radius:16px;background:#fff;transition:.15s}.recipe-picker.selected{border-color:#7890e5;background:#f4f7ff;box-shadow:0 8px 22px rgba(69,87,177,.09)}.recipe-picker>div{display:grid;grid-template-columns:auto 38px 1fr;gap:8px;align-items:center}.recipe-picker>label{font-size:10px}.recipe-picker-icon{font-size:24px}.recipe-picker small{display:block;color:#6d7788;margin-top:3px}.shopping-review-card{margin-top:16px}.recipe-shopping-table{display:grid;gap:5px;overflow-x:auto}.recipe-shopping-head,.recipe-shopping-row{display:grid;grid-template-columns:78px minmax(175px,1.25fr) 105px minmax(150px,1fr) minmax(140px,1fr) minmax(140px,1fr);gap:8px;align-items:center;min-width:900px}.recipe-shopping-head{padding:8px 10px;font-size:10px;font-weight:900;color:#687286;text-transform:uppercase}.recipe-shopping-row{padding:10px;border:1px solid #e6eaf1;border-radius:13px;background:#fff}.recipe-shopping-row.at-home{background:#f2fbf6;opacity:.78}.ingredient-name-edit{font-weight:800}.recipe-shopping-row small{display:block;color:#6d7788;margin-top:3px}.qty-with-unit{display:flex;align-items:center;gap:6px}.qty-with-unit input{min-width:90px}.qty-with-unit span{font-size:11px;font-weight:800;color:#536076}.tiny-check{display:flex;align-items:flex-start;gap:5px;font-size:9px!important;font-weight:600!important;color:#697386;margin-top:4px}.tiny-check input{width:auto;margin-top:1px}.recipe-cart-target{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(200px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:16px;padding:15px;border-radius:18px;background:linear-gradient(135deg,#eef8ff,#fff8e9);border:1px solid #dfe7ee}.recipe-cart-target h3{margin:0 0 4px}.recipe-cart-target p{margin:0;color:#667085}.recipe-workflow-note{margin-top:16px}.cookbook-shopping-hero .actions{justify-content:flex-end}
@media(max-width:1150px){.cookbook-layout{grid-template-columns:1fr}.cookbook-books{position:static}.recipe-picker-grid{grid-template-columns:1fr 1fr}.recipe-cart-target{grid-template-columns:1fr 1fr}.recipe-cart-target>div{grid-column:1/-1}.ingredient-table-head{display:none}.ingredient-row{grid-template-columns:1fr 100px 100px}.ingredient-row select:nth-of-type(2),.ingredient-extra{grid-column:span 2}.recipe-detail-grid{grid-template-columns:1fr}.recipe-history{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.cookbook-hero,.cookbook-shopping-hero,.recipe-edit-hero{display:grid}.recipe-grid,.recipe-picker-grid{grid-template-columns:1fr}.recipe-card-main{grid-template-columns:80px 1fr}.recipe-cover{min-height:130px}.recipe-filter-form{grid-template-columns:1fr}.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-row>input:first-child,.ingredient-row select:nth-of-type(2),.ingredient-extra{grid-column:1/-1}.recipe-detail-hero{grid-template-columns:65px 1fr}.recipe-detail-badge{width:60px;height:60px;font-size:30px}.recipe-detail-hero>.actions{grid-column:1/-1}.recipe-history{grid-template-columns:1fr}.recipe-cart-target{grid-template-columns:1fr}.recipe-cart-target>div{grid-column:auto}.cookbook-dashboard-strip{align-items:stretch;flex-direction:column}}
@media print{.cookbook-layout{display:block}.cookbook-books,.recipe-filter,.recipe-card-actions,.recipe-serving-switch{display:none!important}.recipe-grid{grid-template-columns:repeat(2,1fr)}.recipe-detail-hero{grid-template-columns:70px 1fr}.recipe-detail-grid{grid-template-columns:1fr 1fr}.recipe-shopping-table{overflow:visible}.recipe-shopping-head,.recipe-shopping-row{min-width:0;grid-template-columns:50px 1.2fr 90px 110px 100px 1fr}.cookbook-shopping-hero{display:block}.recipe-cart-target{display:none!important}}


/* 3.6.0 · Admin-Familienmodus & Sicherheits-/Unterstützungsplan */
.admin-family-banner{margin:0 0 18px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#fff8d9,#e9fff5);border:1px solid #edd98a;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 28px rgba(40,54,99,.08)}
.admin-family-banner b{display:block;font-size:1.05rem;margin-bottom:4px}.admin-family-banner span{display:block;color:#5b6477;max-width:760px}.admin-family-welcome{padding:26px;border-radius:28px;background:linear-gradient(135deg,#18224a,#3f55c7 58%,#36b78b);color:white;display:flex;gap:20px;align-items:center;justify-content:space-between;box-shadow:0 20px 55px rgba(34,47,104,.18)}.admin-family-welcome h2{font-size:clamp(1.45rem,3vw,2.15rem);margin:5px 0 8px}.admin-family-welcome p{max-width:760px;color:#eef3ff}.admin-family-welcome .btn{background:#fff;color:#24305d;border:0}.selftest-card{min-height:230px}.selftest-card .module-icon{font-size:1.7rem}.safety-hero{background:linear-gradient(135deg,#eefaff,#fff6e2 48%,#f2ecff)}.safety-hero h2{max-width:880px}.admin-family-mode .side{box-shadow:8px 0 30px rgba(55,98,180,.08)}
@media(max-width:850px){.admin-family-banner,.admin-family-welcome{align-items:flex-start;flex-direction:column}}
@media print{.admin-family-banner{display:none!important}.safety-hero{box-shadow:none;border:1px solid #ddd}}

/* FamilienKompass 3.7 – Ausflugsplaner & Live-Reisevergleich */
.excursion-hero,.travel-hero{background:linear-gradient(135deg,#effdf8 0%,#eef5ff 48%,#fff8e7 100%);border:1px solid #dcebe7}
.travel-search-form{display:grid;gap:16px}.form-grid{display:grid;gap:12px}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid{display:flex;flex-wrap:wrap;gap:8px}.check-pill,.check-card{border:1px solid var(--line,#dfe6e9);border-radius:15px;background:#fff;padding:10px 12px}.check-pill{display:inline-flex!important;align-items:center;gap:7px}.check-card{display:flex!important;align-items:flex-start;gap:10px}.check-card input,.check-pill input{width:auto!important;margin-top:3px}.check-card span{display:grid;gap:3px}.check-card small{color:var(--muted,#667085)}
.provider-strip,.travel-provider-status{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.status-card{display:grid;gap:2px;padding:11px 14px;border-radius:15px;border:1px solid #e2e8f0;background:#fff}.status-card.ok{background:#effcf6;border-color:#b9ead2}.status-card.warn{background:#fff8e8;border-color:#f2dba6}.status-card span{font-size:.82rem;color:#667085}
.excursion-grid,.travel-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:14px 0 22px}.excursion-card,.travel-result-card{position:relative;border:1px solid #dfe8e7;background:#fff;border-radius:24px;padding:20px;box-shadow:0 10px 30px rgba(28,54,68,.06);overflow:hidden}.excursion-card:hover,.travel-result-card:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(28,54,68,.10)}.score-badge,.value-score{position:absolute;top:14px;right:14px;min-width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eefaf6;border:1px solid #cde7dd;font-weight:800;color:#176b55}.value-score{height:auto;border-radius:14px;padding:7px 10px;text-align:center}.value-score small{display:block;font-size:.62rem;font-weight:600}.why-card{background:#f8fafc;border-radius:16px;padding:12px 14px;margin:12px 0}.why-card ul,.reason-list{margin:8px 0 0;padding-left:20px}.why-card li,.reason-list li{margin:4px 0}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.travel-price{font-size:1.65rem;font-weight:850;color:#17233b;margin:8px 0}.travel-price small{display:block;font-size:.72rem;font-weight:500;color:#667085}.travel-result-card.featured{background:linear-gradient(145deg,#fff 0%,#f2fbff 60%,#fff9eb 100%);border-color:#cde1ed}.flight-box{border:1px dashed #cbd5e1;border-radius:18px;padding:14px}.provider-test-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.provider-test-card{border:1px solid #e2e8f0;border-radius:18px;padding:14px;display:grid;gap:10px;background:#fff}.compact-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f2}.compact-list>div:last-child{border-bottom:0}.compact-list small{display:block;color:#667085;margin-top:3px}
@media(max-width:1050px){.excursion-grid,.travel-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-4,.provider-test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.excursion-grid,.travel-result-grid,.form-grid.cols-4,.form-grid.cols-3,.form-grid.cols-2,.provider-test-grid{grid-template-columns:1fr}.travel-price{font-size:1.35rem}.score-badge,.value-score{position:static;display:inline-grid;margin-bottom:8px}.compact-list>div{align-items:flex-start;flex-direction:column}}
@media print{.excursion-card,.travel-result-card{break-inside:avoid;box-shadow:none}.travel-search-form,.travel-provider-status .btn{display:none!important}}

/* 3.8.0 – robuste, ruhige Navigation auf langen Familien-/Adminmenüs */
.side{overflow:hidden;min-height:0}
.side nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:5px;scroll-behavior:smooth}
.side nav::-webkit-scrollbar{width:9px}.side nav::-webkit-scrollbar-thumb{background:#445170;border-radius:20px;border:2px solid #151b2f}.side nav::-webkit-scrollbar-track{background:transparent}
.side-bottom{flex:0 0 auto;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.side nav a{transition:background-color .16s ease,color .16s ease,transform .16s ease}.side nav a:hover{transform:translateX(2px)}
.content{background:linear-gradient(180deg,#f5f8fc 0,#f1f5fa 100%)}
.card{box-shadow:0 10px 28px rgba(32,48,79,.065)}
@media(max-width:980px){.side{overflow:visible}.side nav{flex:0 0 auto;display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto;padding-bottom:7px}.side nav .side-section{display:none}.side nav a{flex:0 0 auto}.side-bottom{border-top:0}}
/* 3.8.0 – beruhigende, klarere visuelle Hierarchie */
:root{--bg:#f4f7fb;--ink:#15223a;--muted:#66758a;--line:#dfe7f0;--primary:#4968c8;--primary2:#6a63cf;--shadow:0 10px 26px rgba(34,52,84,.06)}
.side{background:linear-gradient(180deg,#15233c 0%,#111b31 100%);color:#eef3fb}
.side nav a{color:#dfe8f6;border:1px solid transparent}.side nav a:hover{background:#203252;border-color:#2c436b}.side nav a.active{background:linear-gradient(135deg,#2a416d,#344f83);color:#fff;border-color:#456398;box-shadow:0 7px 18px rgba(0,0,0,.12)}
.side nav .side-section{color:#9db0ce}.side-user{background:#1b2c4b;border-color:#2d456f}.side-user small{color:#becbe0}
.workspace-guide{border-radius:20px}.alert{line-height:1.55}.btn,button{font-weight:650}.card{border-color:#e1e8f0}
/* Kalender: Monatsraster bleibt lesbar und scrollbar statt Inhalte zu quetschen */
.calendar-main{min-width:0}.month-grid{min-width:760px}.calendar-main{overflow-x:auto}.calendar-day{min-width:96px}.calendar-toolbar{overflow-x:auto}
@media(max-width:760px){.calendar-layout{grid-template-columns:1fr}.calendar-main{padding:14px}.calendar-toolbar{grid-template-columns:1fr 1fr;align-items:end}.calendar-toolbar .btn,.calendar-toolbar button{width:100%;text-align:center}.month-grid{min-width:720px}}

/* FamilienKompass 3.9 – freie Rezeptsuche */
.open-recipe-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:radial-gradient(circle at 90% 10%,rgba(94,203,167,.22),transparent 30%),linear-gradient(135deg,#f7fbff,#fffaf0 55%,#effbf5)}
.open-recipe-search{margin-top:16px}.open-recipe-search-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}.quick-searches{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px;align-items:center}.quick-searches a{padding:7px 10px;border-radius:999px;background:#f1f5ff;border:1px solid #dbe4fb;text-decoration:none;font-size:12px;font-weight:800;color:#465b9a}
.open-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.open-recipe-card{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:15px;border-radius:18px;border:1px solid #e2e8ef;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 8px 22px rgba(36,54,87,.05)}.open-recipe-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#fff0c9,#e7f8f0);font-size:27px}.open-recipe-card h3{margin:3px 0 7px}.open-recipe-card p{color:#657186;margin:0 0 10px}.open-recipe-card .actions{display:flex;gap:7px;flex-wrap:wrap}
.open-recipe-preview{margin-top:16px}.open-recipe-ingredient-preview{display:grid;gap:7px}.open-recipe-ingredient-preview>div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:9px 11px;border-radius:12px;background:#f8fafc;border:1px solid #e9edf2}.open-recipe-instructions{padding:14px;border-radius:14px;background:#fbfcfe;border:1px solid #e7ebf1;line-height:1.65;max-height:520px;overflow:auto}.open-recipe-import-form{margin-top:16px}.open-license-box{padding:14px 16px;border-radius:16px;background:#f0f8f5;border:1px solid #cfe9dd;color:#294e40}.open-license-box p{margin:5px 0}.open-recipe-ethics{margin-top:16px}.cookbook-open-source{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:14px 0;background:linear-gradient(135deg,#f0faf6,#fff9eb);border-color:#dbeae2}.recipe-source-card{margin-top:16px;background:linear-gradient(135deg,#f7fbff,#f5fbf7)}
@media(max-width:900px){.open-recipe-grid{grid-template-columns:1fr}.open-recipe-hero,.cookbook-open-source{display:grid}.open-recipe-search-form{grid-template-columns:1fr}}
@media(max-width:620px){.open-recipe-card{grid-template-columns:42px 1fr}.open-recipe-icon{width:42px;height:42px;font-size:22px}.open-recipe-ingredient-preview>div{grid-template-columns:82px 1fr}}
@media print{.open-recipe-search,.open-recipe-grid,.open-recipe-ethics{display:none!important}.recipe-source-card a.btn{display:none!important}}

/* FamilienKompass 4.0 – Familienkochbuch & Web-Rezeptfinder */
.cookbook-hero-v4{background:radial-gradient(circle at 88% 15%,rgba(255,184,92,.20),transparent 30%),linear-gradient(135deg,#fffaf2 0%,#f4fbf8 52%,#f3f6ff 100%);border:1px solid #e9e5d9}
.cookbook-webfinder{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:22px;align-items:center;margin:14px 0 18px;background:linear-gradient(135deg,#f4f9ff,#f4fbf8 60%,#fff9ec);border:1px solid #dce7e3;overflow:hidden;position:relative}
.cookbook-webfinder:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-80px;background:radial-gradient(circle,rgba(92,115,224,.12),transparent 70%);pointer-events:none}
.cookbook-inline-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:14px}.cookbook-inline-search input{background:#fff}
.cookbook-finder-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cookbook-finder-steps span{display:flex;align-items:center;gap:8px;padding:12px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid #e2e8ef;font-size:12px;font-weight:800;color:#46536a}.cookbook-finder-steps b{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#eef3ff;color:#445fc8}
.recipe-finder-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:radial-gradient(circle at 86% 15%,rgba(255,188,91,.22),transparent 30%),linear-gradient(135deg,#fff9ef,#effaf6 58%,#eef4ff)}
.recipe-finder-search,.recipe-url-capture,.recipe-finder-workflow{margin-top:16px}.recipe-finder-query{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.recipe-search-engines{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #e8edf3}.recipe-search-engines>b{font-size:11px;color:#647086;margin-right:4px}
.web-recipe-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.web-recipe-result{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;border:1px solid #e2e8ef;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 8px 26px rgba(37,55,88,.05)}.web-recipe-result h3{margin:4px 0 7px;font-size:18px}.web-recipe-result p{color:#667085;margin:0;line-height:1.5}.web-recipe-result .actions form{margin:0}
.recipe-url-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.web-recipe-preview{margin-top:16px;background:linear-gradient(180deg,#fff,#fbfcff)}.web-ingredient-preview{display:grid;gap:7px}.web-ingredient-preview>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;align-items:center;padding:9px 11px;border-radius:12px;background:#f7faf9;border:1px solid #e3ebe7}.web-ingredient-preview b{color:#315a48}.web-instruction-policy{padding:15px;border-radius:16px;background:#fffaf0;border:1px solid #eee2c5;line-height:1.6}.web-instruction-policy details{margin:10px 0;padding:10px;border-radius:12px;background:#fff;border:1px solid #e8e1d4}.web-recipe-pin-form{margin-top:18px;padding-top:18px;border-top:1px solid #e7ebf1}.web-source-instructions{background:#f8fbff;border:1px dashed #cfdced;padding:18px;border-radius:16px}.recipe-source-card{border-left:4px solid #5f78d8}.recipe-source-card small{display:block;color:#788296;margin-top:10px}
.recipe-card .recipe-copy .eyebrow{line-height:1.35}.recipe-card:has(.recipe-copy .eyebrow){transition:transform .16s ease,box-shadow .16s ease}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(39,54,92,.08)}
@media(max-width:900px){.cookbook-webfinder,.recipe-finder-hero{grid-template-columns:1fr;display:grid}.web-recipe-result-grid{grid-template-columns:1fr}.cookbook-finder-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.cookbook-inline-search,.recipe-finder-query,.recipe-url-form{grid-template-columns:1fr}.cookbook-finder-steps{grid-template-columns:1fr 1fr}.recipe-search-engines .btn{flex:1 1 140px}.web-ingredient-preview>div{grid-template-columns:86px minmax(0,1fr)}}
@media print{.cookbook-webfinder,.recipe-finder-search,.recipe-url-capture,.recipe-finder-workflow{display:none!important}}

/* FamilienKompass 4.0.1 – klarer Kochbuch-Einstieg & private Rezeptbilder */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cookbook-hero-book{flex:0 0 210px;min-height:150px;border-radius:26px;padding:22px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#354b87,#24365f);color:#fff;box-shadow:0 18px 38px rgba(37,54,96,.18);border:1px solid rgba(255,255,255,.2)}.cookbook-hero-book span{font-size:54px;line-height:1}.cookbook-hero-book b{font-size:18px;line-height:1.25;margin-top:6px}
.cookbook-action-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 16px}.cookbook-action{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 17px;border-radius:20px;border:1px solid #dfe6ef;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 8px 24px rgba(35,52,86,.06);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.cookbook-action:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(35,52,86,.10);border-color:#bbc8eb}.cookbook-action.primary{background:linear-gradient(135deg,#344f91,#4f69bd);color:#fff;border-color:transparent}.cookbook-action-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#eef3ff;font-size:27px;font-weight:800;color:#344e97}.cookbook-action.primary .cookbook-action-icon{background:rgba(255,255,255,.16);color:#fff}.cookbook-action span:nth-child(2){display:grid;gap:3px}.cookbook-action b{font-size:16px}.cookbook-action small{color:#6f7a8c;line-height:1.35}.cookbook-action.primary small{color:#e7ecff}.cookbook-action strong{font-size:12px;white-space:nowrap}
.digital-cookbook{margin:16px 0;background:linear-gradient(180deg,#fffdf8,#f8fafc);overflow:hidden}.digital-cookbook .section-head{align-items:flex-start}.digital-book-shelf{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:14px;padding:8px 2px 6px}.digital-book{position:relative;min-height:175px;border-radius:10px 22px 22px 10px;padding:24px 16px 16px 25px;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;text-decoration:none;color:#fff;background:linear-gradient(145deg,#3e568e,#263962);box-shadow:8px 12px 24px rgba(33,48,79,.14),inset -8px 0 18px rgba(255,255,255,.06);border:1px solid rgba(29,42,71,.2);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}.digital-book:nth-child(3n+2){background:linear-gradient(145deg,#68774a,#41512f)}.digital-book:nth-child(3n+3){background:linear-gradient(145deg,#8a594b,#5b382e)}.digital-book:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:10px 17px 28px rgba(33,48,79,.18)}.digital-book.active{outline:3px solid #f0b654;outline-offset:3px}.digital-book-spine{position:absolute;left:9px;top:0;bottom:0;width:8px;background:rgba(0,0,0,.16);box-shadow:2px 0 0 rgba(255,255,255,.08)}.digital-book:after{content:"";position:absolute;inset:9px 8px 9px auto;width:4px;border-radius:99px;background:rgba(255,255,255,.14)}.digital-book-icon{font-size:34px;margin-bottom:auto}.digital-book b{font-size:15px;line-height:1.2}.digital-book small{color:rgba(255,255,255,.78)}
.recipe-cover{position:relative;overflow:hidden}.recipe-cover img{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}.recipe-cover:has(img):after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(0,0,0,.22));pointer-events:none}
.recipe-image-upload{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);gap:18px;align-items:center}.recipe-image-preview,.recipe-image-placeholder{height:225px;border-radius:20px;overflow:hidden;border:1px solid #dfe6ef;background:linear-gradient(145deg,#fff8ea,#edf8f3)}.recipe-image-preview img{width:100%;height:100%;object-fit:cover;display:block}.recipe-image-placeholder{display:grid;place-items:center;align-content:center;text-align:center;gap:7px;padding:20px;color:#657086}.recipe-image-placeholder span{font-size:45px}.recipe-image-placeholder small{max-width:260px}.recipe-image-controls{display:grid;gap:12px}.recipe-image-controls input[type=file]{background:#fff}.recipe-image-controls>small{color:var(--muted);line-height:1.5}
.recipe-detail-hero:has(.recipe-detail-media){grid-template-columns:190px minmax(0,1fr) auto}.recipe-detail-media{width:190px;height:145px;border-radius:22px;overflow:hidden;background:#eef2f7;box-shadow:0 10px 28px rgba(52,64,96,.10)}.recipe-detail-media img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1100px){.cookbook-action-hub{grid-template-columns:1fr}.digital-book-shelf{grid-template-columns:repeat(3,minmax(135px,1fr))}.recipe-detail-hero:has(.recipe-detail-media){grid-template-columns:150px 1fr}.recipe-detail-media{width:150px;height:125px}.recipe-detail-hero>.actions{grid-column:1/-1}}
@media(max-width:720px){.cookbook-hero-book{display:none}.cookbook-action{grid-template-columns:48px minmax(0,1fr);padding:14px}.cookbook-action strong{grid-column:2}.cookbook-action-icon{width:46px;height:46px;font-size:24px}.digital-book-shelf{grid-template-columns:repeat(2,minmax(120px,1fr))}.digital-book{min-height:155px}.recipe-card-main{grid-template-columns:105px minmax(0,1fr)}.recipe-cover img{min-height:150px}.recipe-image-upload{grid-template-columns:1fr}.recipe-image-preview,.recipe-image-placeholder{height:210px}.recipe-detail-hero:has(.recipe-detail-media){grid-template-columns:1fr}.recipe-detail-media{width:100%;height:220px}.recipe-detail-title,.recipe-detail-hero>.actions{grid-column:1}}
@media(max-width:460px){.digital-book-shelf{grid-template-columns:1fr 1fr;gap:10px}.digital-book{min-height:140px;padding:20px 13px 13px 22px}.recipe-card-main{grid-template-columns:92px minmax(0,1fr)}}
@media print{.cookbook-action-hub{display:none!important}.recipe-detail-media{width:145px;height:110px}.recipe-cover img{min-height:120px}}

/* FamilienKompass 4.1.0 – freiwillige Familien-Standortfreigabe */
.location-intro{overflow:hidden}.location-privacy-badge{min-width:240px;max-width:300px;padding:16px 18px;border:1px solid rgba(82,103,223,.22);border-radius:18px;background:linear-gradient(135deg,rgba(82,103,223,.09),rgba(72,190,160,.08));display:grid;gap:4px}.location-privacy-badge b{font-size:1.05rem}.location-privacy-badge span{font-size:.9rem;color:var(--muted,#667085)}
.location-invite-card{border:1px solid rgba(52,168,122,.35);box-shadow:0 12px 32px rgba(52,168,122,.08)}.location-copy-row{display:flex;gap:10px;align-items:center}.location-copy-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.location-member-card{display:grid;gap:10px}.location-last-box{padding:12px 14px;border-radius:14px;background:rgba(82,103,223,.06);font-size:.92rem}.location-status-live{background:#e6f8ef!important;color:#176b47!important}.location-status-recent{background:#edf6ff!important;color:#245f91!important}.location-status-waiting,.location-status-pending{background:#fff5dc!important;color:#805b00!important}.location-status-stale,.location-status-revoked,.location-status-paused{background:#f3f4f6!important;color:#596273!important}
.location-admin-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid rgba(80,93,118,.13)}.location-admin-actions form{margin:0}.location-admin-actions .check{max-width:430px}.location-details{display:inline-block}.location-details>summary{list-style:none;cursor:pointer}.location-details>summary::-webkit-details-marker{display:none}.location-details[open]{display:block;width:100%}.form.compact{margin-top:10px;padding:12px;border:1px solid rgba(80,93,118,.12);border-radius:14px;background:rgba(250,251,253,.86)}
.location-consent-check{align-items:flex-start!important;padding:14px;border:1px solid rgba(82,103,223,.18);border-radius:14px;background:rgba(82,103,223,.05)}.location-consent-check input{margin-top:3px}.location-steps{padding-left:22px;display:grid;gap:8px}.hidden{display:none!important}
.location-share-page{min-height:100vh;background:radial-gradient(circle at top right,rgba(82,103,223,.14),transparent 38%),#f6f8fc;color:#172033}.location-share-shell{width:min(760px,calc(100% - 28px));margin:0 auto;padding:28px 0 42px}.location-share-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.location-share-brand img{width:46px;height:46px;object-fit:contain}.location-share-brand div{display:grid}.location-share-brand b{font-size:1.08rem}.location-share-brand span{font-size:.86rem;color:#667085}.location-share-card{padding:clamp(20px,5vw,36px)}.location-share-card h1{font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.08}.location-share-who{font-weight:700;font-size:1.05rem}.location-permission-box{margin:18px 0;padding:16px 18px;border-radius:16px;background:#f5f7ff;border:1px solid rgba(82,103,223,.18)}.location-permission-box h2{margin-top:0}.location-permission-box ul{margin-bottom:0;padding-left:20px}.location-device-status{margin:16px 0;padding:14px 16px;border-radius:14px;background:#f3f4f6;font-weight:700}.location-device-status[data-kind="ok"]{background:#e6f8ef;color:#176b47}.location-device-status[data-kind="error"]{background:#fff0f0;color:#9a2f2f}.location-device-status[data-kind="working"]{background:#edf6ff;color:#245f91}.location-share-footer{text-align:center;font-size:.84rem;color:#667085}.location-share-footer a{color:inherit}
@media(max-width:700px){.location-copy-row{align-items:stretch;flex-direction:column}.location-copy-row .btn{width:100%}.location-admin-actions{display:grid}.location-admin-actions form,.location-admin-actions button{width:100%}.location-actions{display:grid}.location-actions>.btn,.location-actions>details,.location-actions summary{width:100%;box-sizing:border-box}.location-share-shell{width:min(100% - 18px,760px);padding-top:16px}}

/* FamilienKompass 4.1.1 – produktive Familien-Standortübersicht */
.location-product-hero{display:grid;gap:18px}.location-product-copy{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.location-product-copy>div:first-child{max-width:820px}.location-product-copy h2{margin:10px 0 8px}.location-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.location-summary-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(80,93,118,.13);border-radius:16px;background:#fff}.location-summary-item>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(82,103,223,.08);font-size:20px}.location-summary-item.live>span{color:#24a36a;background:#e8f8f0}.location-summary-item div{display:grid}.location-summary-item small{color:var(--muted,#667085)}.location-summary-item b{font-size:1.35rem}.location-freshness-legend{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding-top:3px;font-size:.86rem}.location-freshness-legend>span{display:inline-flex;gap:6px;align-items:center}.location-freshness-legend .dot{width:9px;height:9px;border-radius:50%;display:inline-block}.location-freshness-legend .dot.live{background:#28a86d;box-shadow:0 0 0 4px rgba(40,168,109,.12)}.location-freshness-legend .dot.recent{background:#4f8fca}.location-freshness-legend .dot.stale{background:#a1a8b4}
.location-invite-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.location-invite-head h2{margin:8px 0}.location-invite-icon{font-size:38px;white-space:nowrap}.location-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.location-copy-row input{min-height:44px}
.location-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:18px;align-items:start}.location-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.location-section-head h2{margin:8px 0 4px}.location-refresh-box{display:grid;justify-items:end;gap:7px;white-space:nowrap}.location-refresh-box span{font-size:.8rem;color:var(--muted,#667085)}.location-member-grid{display:grid;gap:14px}.location-person-card{border:1px solid rgba(80,93,118,.14);border-radius:20px;padding:17px;background:linear-gradient(180deg,#fff,#fbfcfe);box-shadow:0 8px 24px rgba(37,49,77,.045);display:grid;gap:13px}.location-person-card[data-status-key="live"]{border-color:rgba(40,168,109,.28);box-shadow:0 9px 28px rgba(40,168,109,.07)}.location-person-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.location-avatar{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#6478e7,#4a5bd0);color:#fff;font-weight:800;font-size:1.15rem;box-shadow:0 7px 18px rgba(82,103,223,.18)}.location-person-id h3{margin:0 0 2px}.location-person-id p{margin:0;color:var(--muted,#667085);font-size:.86rem}.location-status{white-space:nowrap}.location-status-live{position:relative;padding-left:24px!important}.location-status-live:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#28a86d;left:10px;top:50%;transform:translateY(-50%);box-shadow:0 0 0 4px rgba(40,168,109,.12)}
.location-signal-card{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border-radius:15px;background:#f6f8fb;border:1px solid rgba(80,93,118,.08)}.location-signal-main{display:flex;gap:10px;align-items:center}.location-signal-main>div,.location-signal-time{display:grid}.location-signal-main small,.location-signal-time small,.location-metric small{color:var(--muted,#667085);font-size:.77rem}.location-signal-time{text-align:right}.location-signal-dot{width:13px;height:13px;border-radius:50%;background:#a5acb8;box-shadow:0 0 0 5px rgba(165,172,184,.12)}.location-signal-dot.live{background:#28a86d;box-shadow:0 0 0 5px rgba(40,168,109,.12)}.location-signal-dot.recent{background:#4f8fca;box-shadow:0 0 0 5px rgba(79,143,202,.12)}.location-signal-dot.waiting,.location-signal-dot.pending{background:#dfa92c;box-shadow:0 0 0 5px rgba(223,169,44,.12)}
.location-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.location-metric{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(80,93,118,.10);border-radius:14px;background:#fff}.location-metric>span{font-size:20px}.location-metric>div{display:grid}.accuracy-excellent{color:#16764d}.accuracy-good{color:#2d6c98}.accuracy-medium{color:#896500}.accuracy-rough{color:#9a4937}.accuracy-unknown{color:var(--muted,#667085)}.location-primary-actions{display:flex;gap:9px;flex-wrap:wrap}.location-inline-alert{margin:0!important;font-size:.88rem}.location-manage{border-top:1px solid rgba(80,93,118,.12);padding-top:10px}.location-manage>summary{cursor:pointer;font-weight:700;color:#4e5b72;list-style:none}.location-manage>summary::-webkit-details-marker{display:none}.location-manage>summary:after{content:"▾";float:right}.location-manage[open]>summary:after{content:"▴"}.location-manage-body{display:grid;gap:12px;padding-top:10px}.location-admin-actions{display:grid;gap:9px}.location-admin-actions form{display:grid;gap:8px}.location-admin-actions .btn{justify-self:start}.location-setup-panel{position:sticky;top:18px}.location-setup-panel h2{margin:8px 0}.location-setup-steps{margin-top:18px;padding:15px;border-radius:17px;background:#f6f8fb}.location-setup-steps h3{margin-top:0}.location-setup-steps ol{display:grid;gap:10px;margin:0;padding-left:22px}.location-setup-steps li span{display:block;color:var(--muted,#667085);font-size:.84rem}.location-empty{display:grid;gap:5px;padding:28px!important;text-align:center}
.location-share-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.location-live-pill{min-width:150px;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(80,93,118,.13);border-radius:15px;background:#fff}.location-live-pill>div{display:grid}.location-live-pill small{color:#667085}.location-live-pill b[data-state="ok"]{color:#17724b}.location-live-dot{width:12px;height:12px;border-radius:50%;background:#a5acb8;box-shadow:0 0 0 5px rgba(165,172,184,.12)}.location-live-pill:has(b[data-state="ok"]) .location-live-dot{background:#28a86d;box-shadow:0 0 0 5px rgba(40,168,109,.13)}.location-device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.location-device-metric{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid rgba(80,93,118,.12);border-radius:15px;background:#fff}.location-device-metric>span{font-size:23px}.location-device-metric>div{display:grid;min-width:0}.location-device-metric small{font-size:.76rem;color:#667085}.location-device-metric b{font-size:.9rem;overflow-wrap:anywhere}.location-share-actions{display:flex;gap:9px;flex-wrap:wrap}.location-running-note{padding:13px 15px;border-radius:14px;background:#f8fafc;border:1px solid rgba(80,93,118,.1);font-size:.9rem;line-height:1.5}
@media(max-width:1100px){.location-workspace{grid-template-columns:1fr}.location-setup-panel{position:static}.location-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.location-product-copy,.location-section-head,.location-invite-head,.location-share-head{display:grid}.location-privacy-badge{max-width:none}.location-copy-row{grid-template-columns:1fr}.location-copy-row .btn{width:100%}.location-refresh-box{justify-items:stretch}.location-refresh-box .btn{width:100%}.location-person-top{grid-template-columns:auto minmax(0,1fr)}.location-person-top .location-status{grid-column:1/-1;justify-self:start}.location-signal-card{display:grid}.location-signal-time{text-align:left;padding-left:23px}.location-metrics,.location-device-grid{grid-template-columns:1fr}.location-primary-actions{display:grid}.location-primary-actions .btn{width:100%;box-sizing:border-box}.location-share-actions{display:grid}.location-share-actions>*{width:100%}}
@media(max-width:460px){.location-summary{grid-template-columns:1fr}.location-person-card{padding:14px}.location-avatar{width:42px;height:42px}.location-freshness-legend{display:grid;gap:8px}}

/* FamilienKompass 4.1.2 – getrennte Zustimmung/GPS-Diagnose */
.location-share-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 16px}.location-share-step{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:15px;border:1px solid rgba(80,93,118,.13);background:#fff}.location-share-step>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef1f5;color:#596273;font-weight:800}.location-share-step>div{display:grid;min-width:0}.location-share-step small{font-size:.75rem;color:#667085}.location-share-step b{font-size:.88rem;overflow-wrap:anywhere}.location-share-step[data-state="working"]{background:#f3f8ff;border-color:#cbdcf2}.location-share-step[data-state="working"]>span{background:#dfeeff;color:#245f91}.location-share-step[data-state="ok"]{background:#effaf4;border-color:#c6ead7}.location-share-step[data-state="ok"]>span{background:#d8f3e5;color:#176b47}.location-share-step[data-state="error"]{background:#fff4f4;border-color:#f0cece}.location-share-step[data-state="error"]>span{background:#ffe2e2;color:#9a2f2f}.location-inline-alert[data-alert-kind="waiting"]{background:#fff8e8;border-color:#efdfb5}.location-inline-alert[data-alert-kind="stale"]{background:#fff8e8;border-color:#efdfb5}
@media(max-width:720px){.location-share-progress{grid-template-columns:1fr}.location-share-step{padding:11px 12px}}

/* FamilienKompass 4.2.0 – produktiver Schulstundenplan */
.timetable-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.tt-summary-card{background:#fff;border:1px solid #dfe6f1;border-radius:18px;padding:16px;display:grid;gap:3px}.tt-summary-card span,.tt-summary-card small{color:var(--muted);font-size:11px}.tt-summary-card b{font-size:20px}.tt-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.tt-view-tabs a{padding:9px 12px;border:1px solid #dce3ee;border-radius:999px;text-decoration:none;background:#fff;font-size:12px;font-weight:800}.tt-view-tabs a.active{background:#263b80;color:#fff;border-color:#263b80}.tt-table-wrap,.tt-import-table-wrap{overflow:auto}.tt-week-table{width:100%;min-width:920px;border-collapse:separate;border-spacing:7px;table-layout:fixed}.tt-week-table th,.tt-week-table td{vertical-align:top}.tt-week-table thead th{padding:9px;text-align:center;font-size:13px}.tt-week-table thead small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.tt-week-table tbody>tr>th{width:80px;background:#f2f5fb;border-radius:13px;padding:10px;text-align:center}.tt-week-table tbody>tr>th b{display:block;font-size:15px}.tt-week-table tbody>tr>th small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.tt-week-table td{background:#f8faff;border:1px solid #e6ebf3;border-radius:14px;padding:6px;min-height:76px}.tt-cell-entry{position:relative;background:#fff;border:1px solid #dfe6f1;border-left:4px solid #6b7fe8;border-radius:11px;padding:9px 26px 9px 9px;margin-bottom:5px;min-height:58px}.tt-cell-entry.is-free{border-left-color:#8a96a8;background:#f4f6f9}.tt-entry-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.tt-cell-entry b{font-size:12px}.tt-cell-entry small,.tt-cell-entry p{font-size:9px;color:var(--muted);margin:3px 0 0}.tt-week-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:7px;font-size:9px;font-weight:900}.tt-week-badge.a{background:#e7f8ee;color:#13683d}.tt-week-badge.b{background:#fff1d8;color:#805400}.tt-delete{position:absolute;right:4px;top:5px}.tt-empty-cell{display:block;text-align:center;color:#b7bfcd;padding:20px 0}.tt-cycle-card{display:flex;justify-content:space-between;gap:22px;align-items:end}.tt-cycle-card>div{max-width:720px}.tt-cycle-form{display:flex;gap:10px;align-items:end;min-width:390px}.tt-cycle-form label{flex:1}.tt-actions-card,.tt-alternate-card,.timetable-scan-card{margin-top:16px}.tt-alternate-card{border-color:#e5d9b8;background:linear-gradient(180deg,#fffdf8,#fff)}.timetable-scan-card{border-color:#cfdcf4}.tt-scan-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(320px,1.15fr);gap:18px;margin-top:14px}.tt-scan-controls{display:grid;gap:12px;align-content:start}.tt-file-drop{display:grid;gap:6px;border:2px dashed #9db0d6;border-radius:18px;padding:22px;background:#f8fbff;cursor:pointer}.tt-file-drop>span{color:var(--muted);font-size:11px}.tt-file-drop input{margin-top:8px}.tt-scan-image{min-height:320px;background:#eef2f8;border:1px solid #dce3ed;border-radius:18px;display:flex;align-items:center;justify-content:center;overflow:hidden}.tt-scan-image img{display:block;max-width:100%;max-height:520px;object-fit:contain}.tt-scan-image>div{text-align:center;font-size:42px;color:#8590a4}.tt-scan-image small{font-size:11px}.tt-progress{height:9px;background:#e5eaf1;border-radius:999px;overflow:hidden}.tt-progress>div{height:100%;width:0;background:linear-gradient(90deg,#6479d7,#2f9c78);transition:width .2s}.tt-scan-status{padding:11px 12px;border-radius:12px;background:#f2f5f9;color:#536075;font-size:11px}.tt-scan-status.ok{background:#ebf8f1;color:#176443}.tt-scan-status.warn{background:#fff5df;color:#76520d}.tt-scan-status.error{background:#fff0f0;color:#8b2f2f}.tt-import-preview{margin-top:22px;border-top:1px solid #e3e8f0;padding-top:18px}.tt-import-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tt-import-head h3{margin:0}.tt-import-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:5px;table-layout:fixed}.tt-import-table th,.tt-import-table td{background:#f8faff;border:1px solid #e1e7f0;border-radius:11px;padding:7px;vertical-align:top}.tt-import-table thead th{text-align:center;font-size:11px}.tt-import-table tbody th{width:130px}.tt-import-table tbody th label{display:grid;grid-template-columns:25px 1fr;gap:4px;align-items:center;font-size:9px;color:var(--muted);margin-top:5px}.tt-import-table input,.tt-import-table select{font-size:10px;padding:7px;margin:2px 0}.tt-import-table td{min-width:180px}.tt-import-table .tt-cell-mode{font-weight:800}.tt-cell-b{border-color:#dfbd6d!important;background:#fffaf0!important}.tt-import-help{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px;font-size:10px;color:var(--muted)}.tt-import-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:15px;padding:14px;border-radius:14px;background:#f5f8fc}.tt-import-form label{min-width:280px}.tt-import-form small{flex-basis:100%;color:var(--muted)}
@media(max-width:900px){.timetable-summary{grid-template-columns:1fr}.tt-cycle-card{display:grid}.tt-cycle-form{min-width:0;display:grid}.tt-scan-layout{grid-template-columns:1fr}.tt-scan-image{min-height:220px}.tt-import-head{display:grid}.tt-import-form{display:grid}.tt-import-form label{min-width:0}}
@media print{.tt-view-tabs{display:none!important}.tt-week-table{min-width:0!important;border-spacing:3px!important}.tt-week-table td{padding:3px!important}.tt-cell-entry{padding:5px!important;min-height:0!important}.tt-week-table tbody>tr>th{padding:5px!important}}

/* FamilienKompass 4.3 – lokaler Smart Controller */
.smart-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px;align-items:center;background:radial-gradient(circle at 88% 12%,rgba(82,184,255,.18),transparent 30%),linear-gradient(135deg,#f7fbff,#f4fbf7 55%,#fffaf0)}
.smart-hero h2{font-size:clamp(25px,3vw,38px);margin:10px 0}.smart-hero p{max-width:850px;color:#59687b;line-height:1.65}
.smart-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.smart-kpis>div{padding:15px;border-radius:18px;background:rgba(255,255,255,.84);border:1px solid #dfe8ef;display:grid;gap:3px}.smart-kpis b{font-size:26px;color:#253d78}.smart-kpis span{font-size:12px;color:#6a7688;font-weight:700}
.smart-setup-grid{margin-top:14px}.smart-protocols{display:grid;gap:10px}.smart-protocols>div{display:grid;gap:4px;padding:13px 14px;border-radius:15px;border:1px solid #e1e8ef;background:#f9fbfd}.smart-protocols span{font-size:13px;color:#667386;line-height:1.45}
.smart-token-box{border:2px solid #d2dcf6;background:linear-gradient(135deg,#f7f9ff,#fff)}.smart-token-box code{display:block;padding:14px;border-radius:12px;background:#17233b;color:#f3f6ff;overflow-wrap:anywhere;font-size:13px}.smart-token-box pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border-radius:12px;background:#f1f4f9;border:1px solid #dfe6ef;font-size:12px;line-height:1.55}
.smart-bridge-list{display:grid;gap:10px}.smart-bridge{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid #e1e7ee;border-radius:16px;background:#fff}.smart-bridge>div:first-child{display:grid;gap:5px}.smart-bridge small{color:#6b7788}.smart-bridge .tag{margin-left:8px}
.smart-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.smart-device{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;padding:16px;border:1px solid #dfe7ef;border-radius:19px;background:linear-gradient(145deg,#fff,#f9fbfd);box-shadow:0 8px 22px rgba(35,52,84,.045)}.smart-device.pending{border-style:dashed;background:linear-gradient(145deg,#fffdf7,#fff)}.smart-device-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#edf4ff,#eefaf3);font-size:27px}.smart-device-main{min-width:0}.smart-device h3{margin:2px 0 5px}.smart-device p{margin:0 0 6px;color:#58677a}.smart-device small{display:block;color:#788395;line-height:1.45;margin-top:3px;overflow-wrap:anywhere}.smart-device>.actions,.smart-device>details{grid-column:2}.smart-device details{margin-top:2px;padding-top:8px;border-top:1px solid #edf0f4}.smart-device details summary{cursor:pointer;font-weight:700;color:#53627a}.smart-state{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:9px 0}.smart-state b{padding:5px 9px;border-radius:999px;background:#edf7f1;color:#286148}.smart-state span{font-size:12px;color:#6c7888}.smart-controls{margin-top:9px}.smart-readonly{padding:8px 10px;border-radius:11px;background:#f6f7f9}.smart-inbox{border-color:#eadfae}.form.compact{margin-top:10px}.form.compact label{margin:0}
@media(max-width:940px){.smart-hero{grid-template-columns:1fr}.smart-device-grid{grid-template-columns:1fr}}
@media(max-width:650px){.smart-kpis{grid-template-columns:1fr 1fr}.smart-bridge{display:grid}.smart-device{grid-template-columns:46px minmax(0,1fr);padding:13px}.smart-device-icon{width:46px;height:46px;font-size:23px}.smart-device>.actions,.smart-device>details{grid-column:1/-1}.smart-setup-grid{grid-template-columns:1fr!important}}

/* FamilienKompass 4.4.0+ – Mobile PWA / installierbare Web-App */
html{min-height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;min-height:100dvh;overscroll-behavior-y:auto}img{max-width:100%;height:auto}button,.btn,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}button,.btn{min-height:44px;touch-action:manipulation}.fk-mobile-topbar,.fk-mobile-dock,.fk-side-overlay{display:none}.fk-pwa-toast{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));z-index:1200;transform:translate(-50%,24px);opacity:0;pointer-events:none;width:min(620px,calc(100% - 24px));padding:12px 14px;border-radius:16px;background:#17233c;color:#fff;box-shadow:0 18px 55px rgba(12,22,44,.28);display:flex;align-items:center;gap:9px;transition:.2s ease}.fk-pwa-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}.fk-pwa-toast span{flex:1}.fk-pwa-toast button{min-height:38px;padding:8px 11px;background:#fff;color:#17233c;font-weight:800}.is-offline .fk-mobile-topbar:after{content:'Offline';position:absolute;right:14px;bottom:-18px;background:#fff3df;color:#805817;padding:3px 8px;border-radius:0 0 9px 9px;font-size:10px;font-weight:900}
@media(max-width:900px){
  :root{--radius:17px;--fk-mobile-dock-space:112px;--fk-viewport-height:100dvh}html{height:auto!important;min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-padding-bottom:var(--fk-mobile-dock-space)}body{height:auto!important;min-height:100svh;min-height:100dvh;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;touch-action:pan-y}.portal-shell{display:block;min-height:0!important;height:auto!important;overflow:visible!important}.content{min-height:0!important;height:auto!important;padding:18px 14px calc(var(--fk-mobile-dock-space) + env(safe-area-inset-bottom));overflow:visible!important;contain:none!important}.content:after{content:'';display:block;height:16px;pointer-events:none}.content-top{margin:8px 0 16px}.content-top h1{font-size:clamp(24px,7vw,30px);line-height:1.15}.hero,.card{padding:16px}.workspace-guide{margin-top:0}.section-head{align-items:flex-start}.section-head .actions{width:100%}
  .fk-mobile-topbar{display:flex;position:sticky;top:0;z-index:1000;height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;align-items:center;gap:8px;background:rgba(21,35,60,.97);color:#fff;box-shadow:0 8px 24px rgba(14,27,52,.16);backdrop-filter:blur(16px)}.fk-mobile-topbar button{min-width:44px;background:rgba(255,255,255,.1);color:#fff}.fk-mobile-brand{min-width:0;flex:1;display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none}.fk-mobile-brand img{width:34px;height:34px;border-radius:10px}.fk-mobile-brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.fk-install-btn{font-size:12px;font-weight:900;white-space:nowrap}
  .side{position:fixed!important;z-index:1100;left:0;top:0;width:min(86vw,340px);height:var(--fk-viewport-height,100dvh)!important;max-height:var(--fk-viewport-height,100dvh)!important;min-height:0!important;padding:calc(16px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 55px rgba(8,17,35,.25);overflow:hidden!important;display:flex!important;flex-direction:column!important}.fk-nav-open .side{transform:translateX(0)}.side nav{display:grid!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;padding-bottom:24px!important}.side nav .side-section{display:block!important}.side nav a{white-space:normal!important;min-height:44px;display:flex;align-items:center}.side-bottom{display:grid!important;flex:0 0 auto!important;margin-top:8px!important;padding-top:8px!important;padding-bottom:max(4px,env(safe-area-inset-bottom));background:inherit}.fk-side-overlay{position:fixed;display:block;z-index:1090;inset:0;background:rgba(6,14,29,.48);border:0;border-radius:0;opacity:0;pointer-events:none;transition:opacity .2s}.fk-nav-open .fk-side-overlay{opacity:1;pointer-events:auto}.fk-nav-open{overflow:hidden!important;touch-action:none}.fk-nav-open .side,.fk-nav-open .side nav{touch-action:pan-y!important}
  .fk-mobile-dock{display:grid;position:fixed;z-index:1000;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);min-height:64px;padding:6px;border:1px solid rgba(213,222,237,.9);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 14px 45px rgba(25,39,72,.16);backdrop-filter:blur(18px)}.fk-mobile-dock a,.fk-mobile-dock button{display:grid;place-items:center;align-content:center;gap:1px;min-width:0;min-height:50px;padding:4px;border-radius:14px;background:transparent;text-decoration:none;color:#556078}.fk-mobile-dock span{font-size:20px;line-height:1}.fk-mobile-dock small{font-size:9px;font-weight:850;white-space:nowrap}.fk-mobile-dock a:active,.fk-mobile-dock button:active{background:#eef1ff;color:#3449b5}
  .table-wrap,.tt-table-wrap,.tt-import-table-wrap,.calendar-main{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.actions{align-items:stretch}.actions>.btn,.actions>button,.actions>form{max-width:100%}.auth{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom))}.auth-card{padding:20px 16px;border-radius:20px}.auth-card .actions{display:grid}.auth-card .actions .btn{width:100%;text-align:center}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.row:not(.no-mobile-stack){align-items:stretch;flex-wrap:wrap}.row:not(.no-mobile-stack)>*{flex:1 1 100%}
}
@media(max-width:420px){.content{padding-left:10px;padding-right:10px}.card,.hero{padding:14px;border-radius:16px}.fk-mobile-topbar{padding-left:7px;padding-right:7px}.fk-install-btn{padding:7px 8px}.fk-mobile-dock{left:6px;right:6px;bottom:max(5px,env(safe-area-inset-bottom));border-radius:18px}.fk-mobile-dock small{font-size:8px}.fk-pwa-toast{bottom:calc(82px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto}.fk-pwa-toast span{grid-column:1/-1}}
@media(display-mode:standalone){body{user-select:auto}.fk-install-btn{display:none!important}.fk-mobile-topbar{padding-top:env(safe-area-inset-top)}}

@media(max-width:900px){.auth-card label.row{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start}.auth-card label.row>input[type="checkbox"]{width:auto!important;min-width:18px;margin-top:3px}.auth-card label.row>span{min-width:0}}

/* FamilienKompass 4.5 · FamilienNetzwerk, Hilfeplan & sichere Zusammenarbeit */
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.permission-item{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.permission-item input{width:auto;margin-top:3px}.permission-item b,.permission-item span{display:block}.permission-item span{font-size:12px;color:var(--muted);margin-top:2px}.permission-on{border-color:#b9ddcf;background:#f1faf6}.permission-off{background:#fafbfc;color:var(--muted)}.support-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.feature-link{display:block;text-decoration:none;transition:transform .15s ease,border-color .15s ease}.feature-link:hover{transform:translateY(-2px);border-color:#c9cfef}.feature-link .icon{font-size:28px}.muted-card{background:#f8f9fc;box-shadow:none}.message-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:16px;align-items:start}.message-sidebar{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto}.message-thread-link{display:block;text-decoration:none}.message-thread-link.active{border-color:#bcc4f2;background:#f0f2ff}.message-main{min-width:0}.message-stream{display:grid;gap:10px;max-height:60vh;overflow:auto;padding:10px 2px;margin:12px 0}.network-message{max-width:82%;padding:11px 13px;border:1px solid var(--line);border-radius:15px;background:#f7f8fb}.network-message.mine{margin-left:auto;background:#edf0ff;border-color:#d8dcf6}.network-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.network-message-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.message-compose{border-top:1px solid var(--line);padding-top:14px}.network-dashboard-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;border-color:#ced5f6;background:linear-gradient(135deg,#f7f8ff,#eff9f5)}.network-dashboard-strip h3{margin:3px 0 4px}.partner-area .side-user small{line-height:1.35}
@media(max-width:900px){.message-layout{grid-template-columns:1fr}.message-sidebar{position:static;max-height:none}.support-plan-grid{grid-template-columns:1fr}.permission-grid{grid-template-columns:1fr}.network-dashboard-strip{align-items:flex-start;flex-direction:column}.network-message{max-width:94%}}
@media(max-width:520px){.network-message-head{display:grid;gap:2px}.message-stream{max-height:none}.permission-item{padding:12px}.feature-link{min-height:0}}

/* FamilienKompass 4.5.1 – produktive Ausflugs-Livesuche */
.excursion-form-head,.excursion-filter-head{margin-bottom:0}.excursion-filter-head{margin-top:2px}.excursion-filter-head h3{margin:3px 0 0}.excursion-live-search-button{min-height:52px;font-size:1rem;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:9px}.excursion-live-search-button[disabled]{opacity:.72;cursor:wait}.excursion-live-status{display:flex;align-items:center;gap:12px;border:1px solid #cfe0fb;background:#f4f8ff;border-radius:17px;padding:12px 14px;color:#203a68}.excursion-live-status small{display:block;color:#66748e;margin-top:2px}.excursion-live-status.is-error{border-color:#f1c8c8;background:#fff6f6;color:#7b2525}.excursion-spinner{width:21px;height:21px;flex:0 0 21px;border:3px solid #c9d9f2;border-top-color:#315fa8;border-radius:50%;animation:fk-excursion-spin .8s linear infinite}.excursion-live-status.is-error .excursion-spinner{display:none}@keyframes fk-excursion-spin{to{transform:rotate(360deg)}}
.excursion-search-error p{margin:5px 0}.excursion-search-state{margin-top:16px}.excursion-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.excursion-status-grid .status-card{min-width:0}.excursion-status-grid .status-card span{overflow-wrap:anywhere}.excursion-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.excursion-provider-step{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.excursion-provider-step small{display:block;margin-top:3px;color:#667085;line-height:1.35}.provider-step-icon{width:29px;height:29px;flex:0 0 29px;border-radius:50%;display:grid;place-items:center;background:#eef2f7;font-weight:900}.excursion-provider-step.ok{border-color:#cfe9d9;background:#f6fcf8}.excursion-provider-step.ok .provider-step-icon{background:#dff3e6;color:#17643a}.excursion-provider-step.error{border-color:#f1cccc;background:#fff7f7}.excursion-provider-step.error .provider-step-icon{background:#fbe2e2;color:#9a2828}.excursion-provider-step.empty{border-color:#eadfbf;background:#fffaf0}.excursion-provider-step.empty .provider-step-icon{background:#f8edcb;color:#815d00}.excursion-provider-step.disabled{opacity:.8}.excursion-search-state .provider-strip{margin-top:12px}.excursion-results-head{margin-top:22px}
.excursion-empty-state{display:grid;grid-template-columns:66px minmax(0,1fr);gap:18px;align-items:start;margin:18px 0 22px;border:1px solid #dce6f3;background:linear-gradient(135deg,#fbfdff,#f7fafc)}.excursion-empty-icon{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;background:#edf4ff;font-size:28px}.excursion-empty-state h2{margin:4px 0 8px}.excursion-empty-state p{margin:0 0 12px}.excursion-empty-state>div>small{display:block;margin-top:12px;color:#667085}.excursion-empty-hints{display:flex;flex-wrap:wrap;gap:8px}.excursion-details{margin:10px 0;padding:10px 12px;border:1px solid #e7ebf0;border-radius:14px;background:#fbfcfd}.excursion-details summary{font-weight:800;cursor:pointer}.excursion-details p{margin:8px 0 3px}.provider-diagnostic-list{margin:8px 0 0;padding-left:18px}.provider-diagnostic-list li{margin:4px 0}
@media(max-width:1050px){.excursion-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.excursion-provider-grid{grid-template-columns:1fr}}
@media(max-width:680px){.excursion-status-grid{grid-template-columns:1fr}.excursion-empty-state{grid-template-columns:1fr}.excursion-empty-icon{width:52px;height:52px;border-radius:17px}.excursion-empty-hints{display:grid;grid-template-columns:1fr}.excursion-empty-hints .btn{width:100%;justify-content:center}.excursion-live-search-button{width:100%}.excursion-search-state .section-head{align-items:flex-start}.excursion-provider-step{padding:11px}.excursion-live-status{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.excursion-spinner{animation:none}.excursion-card:hover{transform:none}}
.excursion-live-status[hidden]{display:none!important}

/* Sichere Inline-Aktionen: zustandsändernde Admin-Aktionen laufen per POST statt über CSRF-Tokens in URLs. */
.fk-inline-action-form{display:inline-flex;margin:0}.fk-inline-action-form button{margin:0}.side-bottom .fk-inline-action-form{display:block}.side-bottom .side-link-button{width:100%;text-align:left;background:transparent;color:#b5bfdc;padding:8px;border-radius:10px}.side-bottom .side-link-button:hover{background:#252e4d;color:#fff}.fk-quick-form{margin:0;display:flex}.fk-quick-form .quick{width:100%;min-height:100%;text-align:left;background:#fff;border:1px solid var(--line);padding:13px;border-radius:14px;color:inherit}.fk-quick-form .quick b,.fk-quick-form .quick small{display:block}.fk-quick-form .quick small{color:var(--muted);margin-top:3px}

/* 4.7.0 · öffentliche Registrierung & produktive Partnerprüfung */
.partner-register-auth{padding:36px 18px;align-items:flex-start}.partner-register-card{width:min(920px,100%);max-width:920px}.registration-kind-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.registration-kind-switch .btn{white-space:normal;text-align:center}.registration-kind-switch .active{background:linear-gradient(135deg,#5062d6,#8064db);border-color:transparent;color:#fff}.registration-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.registration-flow>div{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#f8fafc}.registration-flow b{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:10px;background:#e8edf7;color:#526078}.registration-flow span{font-size:13px;font-weight:750}.registration-flow .active{border-color:#bcded4;background:#eef9f5}.registration-flow .active b{background:#2f8b72;color:#fff}.registration-flow.compact{margin:14px 0 20px}.registration-login-box{padding:18px;border-radius:19px;background:#f4f6ff;border:1px solid #dfe4fb}.registration-login-box h2{font-size:19px;margin:0 0 3px}.registration-login-box p{margin:0 0 12px;color:var(--muted);font-size:13px}.registration-check{align-items:flex-start}.registration-check input{margin-top:5px}.registration-submit{min-height:50px;font-size:16px}.registration-success{text-align:center}.registration-success-icon{display:grid;place-items:center;width:74px;height:74px;margin:5px auto 14px;border-radius:24px;background:#e5f8f0;color:#237b5d;font-size:39px;font-weight:950}.registration-success .alert{text-align:left}.fk-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.admin-partner-kpis a{text-decoration:none;color:inherit}.admin-partner-kpis .metric{display:flex;gap:12px;align-items:center}.admin-partner-kpis .metric b{display:block;font-size:26px}.admin-partner-kpis .metric small{color:var(--muted)}.admin-partner-card{display:grid;gap:13px}.admin-partner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-partner-head h3{font-size:22px;margin:8px 0 3px}.admin-partner-head p{margin:0;color:var(--muted)}.admin-partner-status{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-partner-progress{display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;align-items:center;gap:15px;padding:12px 14px;border-radius:15px;background:#f7f9fc;border:1px solid #e7eaf1}.admin-partner-progress b,.admin-partner-progress small{display:block}.admin-partner-progress small{color:var(--muted);margin-top:2px}.admin-partner-progress progress{width:100%;height:11px}.admin-partner-details{border-top:1px solid var(--line);padding-top:12px}.admin-partner-details>summary{cursor:pointer;list-style:none;width:max-content}.admin-partner-details>summary::-webkit-details-marker{display:none}.admin-partner-review-grid{padding-top:15px}.admin-partner-review-grid h4{margin-top:0}.admin-partner-decision{padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:760px){.registration-kind-switch,.registration-flow{grid-template-columns:1fr}.partner-register-auth{padding:16px 10px 34px}.partner-register-card{padding:18px}.admin-partner-head{display:grid}.admin-partner-status{justify-content:flex-start}.admin-partner-progress{grid-template-columns:1fr}.admin-partner-decision .actions{display:grid}.admin-partner-decision .actions button{width:100%}}

/* 4.8.x · internes Postfach & SMTP-Verwaltung */
.mail-shell{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;align-items:start}.mail-folders{display:grid;gap:7px}.mail-folders .list-item.active{border-color:#bdc7f1;background:linear-gradient(135deg,#f1f4ff,#f5fbf8);box-shadow:inset 3px 0 0 #5267df}.mail-shell main{min-width:0}.mail-shell .message-stream{scrollbar-gutter:stable}.mail-shell .message-compose{position:relative}.mail-shell select[multiple]{min-height:170px}.mail-shell input[type=file]{padding:10px;background:#f8fafc}.mail-shell .network-message{box-shadow:0 5px 16px rgba(32,48,78,.035)}.mail-shell .network-message.mine{background:linear-gradient(135deg,#edf1ff,#f1f8ff)}
@media(max-width:760px){.mail-shell{grid-template-columns:1fr!important}.mail-folders{grid-template-columns:1fr 1fr;gap:8px}.mail-folders .list-item{margin:0}.mail-shell .message-stream{max-height:none}.mail-shell .message-compose{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.mail-shell select[multiple]{min-height:210px}}
@media(max-width:420px){.mail-folders{grid-template-columns:1fr}.mail-shell .network-message{max-width:100%}}

/* FamilienKompass 4.9 quality layer */
.side-group{margin:2px 0;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.018);overflow:hidden}.side-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;color:#aebbd4;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;user-select:none}.side-group>summary::-webkit-details-marker{display:none}.side-group>summary:hover{color:#fff;background:rgba(255,255,255,.035)}.side-group-chevron{font-size:15px;transition:transform .18s ease}.side-group[open] .side-group-chevron{transform:rotate(180deg)}.side-group-links{display:grid;gap:4px;padding:0 5px 7px}.side-group-links>a{margin:0}.side-group:has(a.active){border-color:rgba(255,211,110,.18);background:rgba(255,255,255,.028)}
.workspace-guide-toggle{margin-top:10px;padding:7px 10px;border:1px solid #dbe3f1;background:#fff;color:#526079;font-size:12px;border-radius:10px}.workspace-guide.is-collapsed{align-items:center;padding-top:12px;padding-bottom:12px}.workspace-guide.is-collapsed p,.workspace-guide.is-collapsed small{display:none}.workspace-guide.is-collapsed h2{margin-bottom:0}.workspace-guide.is-collapsed .workspace-guide-icon{width:42px;height:42px;border-radius:14px}.workspace-guide.is-collapsed .workspace-guide-toggle{margin-top:7px}
.learning-settings-card{border-color:#d9e5f6;background:linear-gradient(145deg,#fff,#f8fbff)}.learning-settings-card h2{margin:3px 0 5px}.learning-settings-card .field-help{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.4}.learning-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-toggle{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer}.learning-toggle input{width:auto;margin-top:4px}.learning-toggle b,.learning-toggle small{display:block}.learning-toggle small{margin-top:3px;color:var(--muted);font-weight:500;line-height:1.4}
.dashboard-priority{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-more{margin-top:14px;border:1px solid rgba(71,87,201,.18);border-radius:17px;background:rgba(255,255,255,.62);overflow:hidden}.dashboard-more>summary{list-style:none;cursor:pointer;padding:13px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:800;color:#35436c}.dashboard-more>summary::-webkit-details-marker{display:none}.dashboard-more>summary span{font-size:12px;color:var(--muted);font-weight:650}.dashboard-more[open]>summary{border-bottom:1px solid var(--line);background:#fff}.dashboard-more .quick-grid{margin:0;padding:13px}.dashboard-section-label{grid-column:1/-1;margin:4px 2px -2px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#657087}
.small{font-size:13px}
@media(max-width:980px){.dashboard-priority{grid-template-columns:repeat(2,minmax(0,1fr))}.side-group{flex:0 0 auto;min-width:210px}.side-group-links{display:grid}.learning-toggle-grid{grid-template-columns:1fr}}
@media(max-width:650px){.dashboard-priority{grid-template-columns:1fr}.dashboard-more>summary{align-items:flex-start;flex-direction:column}.side-group{min-width:0;width:100%}.workspace-guide{grid-template-columns:42px 1fr}.learning-settings-card .row{align-items:flex-start}.learning-settings-card .tag{flex:0 0 auto}}
.child-more-actions{margin-top:10px;border-top:1px solid var(--line);padding-top:9px}.child-more-actions>summary{cursor:pointer;color:#4e5d7c;font-weight:800;font-size:13px;padding:5px 0}.child-more-actions .actions{margin-top:9px}.child-more-actions .btn{font-size:13px}
@media (min-width:901px) and (max-width:980px){.family-portal .side nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.family-portal .side{height:auto;position:static}.family-portal .side-bottom{display:none}.family-portal .side-group{min-width:0}.family-portal .side-group-links{display:grid}}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid rgba(71,87,201,.42);outline-offset:2px}.side :where(a,summary):focus-visible{outline-color:rgba(255,211,110,.72)}button:disabled,.btn[aria-disabled="true"]{cursor:not-allowed;opacity:.64}.card,.hero,.list-item{scroll-margin-top:84px}

/* FamilienKompass 4.9.1 · Portal 2.0 navigation, context, search & favorites */
.content-top-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.top-tool-btn{display:inline-flex;align-items:center;gap:6px;min-height:39px;padding:8px 11px;border:1px solid var(--line);background:#fff;color:#42506a;border-radius:12px;font-weight:750;box-shadow:0 5px 15px rgba(31,45,78,.04)}.top-tool-btn:hover{border-color:#cfd6e5;background:#f9fbff}.top-tool-btn.is-active{background:#fff7dc;border-color:#ead79a;color:#755711}.child-context-form{margin:0}.child-context-form label{display:grid;grid-template-columns:auto minmax(130px,190px);gap:8px;align-items:center;padding:5px 7px 5px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(31,45,78,.04)}.child-context-form label>span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#6c7890;font-weight:850;white-space:nowrap}.child-context-form select{border:0;padding:4px 26px 4px 4px;background-color:transparent;font-weight:800;min-height:28px}.child-context-form select:focus{outline:0}.child-context-strip{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#f4f7ff,#f0fbf7);border-color:#d8e4ee}.child-context-strip h3{margin:5px 0 3px}.child-context-strip p{margin:0}.fk-favorites-card{margin-top:14px}.fk-favorites-card h3{margin:4px 0}.fk-favorites-card p{margin:0}.fk-favorites-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.fk-favorite-link{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fafbfe;text-decoration:none}.fk-favorite-link:hover{background:#fff;border-color:#cfd8ed;box-shadow:0 8px 20px rgba(29,43,78,.06)}.fk-favorite-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef2ff;font-size:20px}.fk-favorite-link b,.fk-favorite-link small{display:block}.fk-favorite-link b{font-size:13px}.fk-favorite-link small{font-size:11px;color:var(--muted);margin-top:2px}
.fk-command-dialog{width:min(680px,calc(100vw - 28px));max-height:min(76vh,720px);padding:0;border:0;border-radius:23px;background:#fff;box-shadow:0 30px 90px rgba(13,25,55,.28);overflow:hidden}.fk-command-dialog::backdrop{background:rgba(10,19,38,.52);backdrop-filter:blur(4px)}.fk-command-shell{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;max-height:min(76vh,720px)}.fk-command-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 19px 10px}.fk-command-head b,.fk-command-head small{display:block}.fk-command-head b{font-size:18px}.fk-command-head small{color:var(--muted);margin-top:3px}.fk-command-head button{font-size:25px;padding:1px 8px;background:transparent;color:#68748a}.fk-command-input{display:grid;grid-template-columns:30px 1fr;align-items:center;margin:0 18px 12px;padding:5px 10px;border:1px solid #cfd8e8;border-radius:14px;background:#f9fbff}.fk-command-input>span{font-size:22px;color:#60708e}.fk-command-input input{border:0;background:transparent;padding:9px 3px;font-size:16px}.fk-command-input input:focus{outline:0}.fk-command-results{padding:0 12px 12px;overflow:auto;display:grid;gap:5px}.fk-command-result{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 12px;border-radius:12px;text-decoration:none;border:1px solid transparent}.fk-command-result:hover,.fk-command-result:focus{background:#f2f5ff;border-color:#dfe5fa}.fk-command-result strong{font-size:14px}.fk-command-result small{color:var(--muted);font-size:11px;text-align:right}.fk-command-empty{padding:28px;text-align:center;color:var(--muted)}.fk-command-foot{display:flex;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--line);background:#fafbfe;color:#7a8498;font-size:11px}
@media(max-width:980px){.content-top-tools{justify-content:flex-start}.fk-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-context-strip{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.content-top-tools{width:100%;display:grid;grid-template-columns:1fr 1fr}.child-context-form{grid-column:1/-1}.child-context-form label{grid-template-columns:auto 1fr}.top-tool-btn{justify-content:center}.content-top-tools .trust-pill{display:none}.fk-favorites-grid{grid-template-columns:1fr}.fk-command-result{align-items:flex-start;flex-direction:column;gap:2px}.fk-command-result small{text-align:left}.fk-command-foot{display:none}}

/* 4.9.2 · Tageszentrale 2.0 */
.day-context-note{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 11px;border:1px solid rgba(79,98,206,.18);border-radius:999px;background:rgba(255,255,255,.74);color:#4f5d78;font-size:13px}.day-summary-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.day-summary.warn{border-color:#eed59a;background:#fff9ec}.timeline a.timeline-link{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #e7ebf4;border-radius:14px;background:#fbfcff;color:inherit;text-decoration:none;transition:.16s ease}.timeline a.timeline-link:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(39,54,92,.07)}.timeline-link time{font-weight:850;color:#4f62ce}.timeline-link p{margin:4px 0 0;color:#667085}.timeline-link.school{background:#f2f7ff}.timeline-link.money{background:#f5fbf5}.timeline-link.appointment{background:#fff7f0}.timeline-link.calendar{background:#fbfcff}.day-task-group{display:grid;gap:8px;margin-top:12px}.day-task-group h3{margin:5px 0 1px;font-size:15px}.day-task{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e4e9f2;border-radius:14px;background:#fff}.day-task.overdue{border-color:#efc0b8;background:#fff7f5}.day-task p{margin:4px 0 0;color:#667085;font-size:13px}.btn.compact{padding:7px 10px;font-size:12px;white-space:nowrap}.day-attention{margin:16px 0}.attention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attention-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start;padding:13px;border:1px solid #e4e9f2;border-radius:15px;background:#fff;color:inherit;text-decoration:none}.attention-item>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef3ff;font-size:21px}.attention-item p{margin:4px 0 0;color:#667085;font-size:13px}.attention-item.attention{background:#fffaf0;border-color:#f0deaf}.attention-item.urgent{background:#fff5f3;border-color:#efc1b9}.attention-item.info{background:#f6f9ff}.household-signals{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.household-signals a,.household-signals>span{padding:9px 11px;border-radius:12px;background:#f7f9fc;border:1px solid #e5e9f1;color:inherit;text-decoration:none;font-size:13px}.tomorrow-preview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr) auto;gap:18px;align-items:center;margin-top:16px;background:linear-gradient(135deg,#f8fbff,#fffaf0)}.tomorrow-preview h2{margin:4px 0}.tomorrow-preview p{margin:0;color:#667085}.tomorrow-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tomorrow-facts span{padding:10px;border:1px solid #e6eaf2;border-radius:13px;background:rgba(255,255,255,.8);font-size:13px}.tomorrow-facts b{display:block;font-size:18px;color:#263b86}@media(max-width:900px){.tomorrow-preview{grid-template-columns:1fr}.attention-grid{grid-template-columns:1fr}}@media(max-width:700px){.day-context-note{border-radius:14px;align-items:flex-start}.timeline a.timeline-link{grid-template-columns:62px 1fr}.day-task{align-items:flex-start;flex-direction:column}.day-task form{width:100%}.day-task .btn.compact{width:100%}.tomorrow-facts{grid-template-columns:1fr 1fr}}

/* 4.9.3 · Kalender & Termine 2.0 */
.calendar-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.calendar-quality-grid .card{padding:16px}.calendar-quality-grid b{display:block;font-size:1.55rem;margin:5px 0}.calendar-quality-grid p{margin:0;color:var(--muted);font-size:.9rem}.calendar-prep-panel{margin:0 0 16px}.calendar-prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calendar-prep-card{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:15px;text-decoration:none;background:#fbfcff;transition:.18s ease}.calendar-prep-card:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(38,52,91,.08)}.calendar-prep-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef1ff;font-size:1.25rem}.calendar-prep-card b,.calendar-prep-card small,.prep-progress{display:block}.calendar-prep-card small{color:var(--muted);margin-top:2px}.prep-progress{margin-top:7px;font-size:.78rem;font-weight:800;color:#8a5a18}.prep-progress.ready{color:#247257}.prep-progress.neutral{color:#667085}.calendar-advanced{border:1px solid var(--line);border-radius:14px;background:#fafbfe;padding:0 12px}.calendar-advanced>summary{cursor:pointer;font-weight:850;padding:12px 0}.calendar-advanced>.form{padding:2px 0 13px}.calendar-event-list{margin-top:16px}.calendar-detailed-list{gap:14px}.calendar-event-detail{border:1px solid var(--line);border-radius:19px;padding:16px;background:#fff;scroll-margin-top:18px}.calendar-event-detail.status-cancelled{opacity:.7;background:#fafafa}.calendar-event-detail.status-cancelled h3{text-decoration:line-through}.calendar-event-detail.status-completed{border-color:#cde7dc;background:#fbfffd}.calendar-event-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.calendar-event-head h3{margin:0 0 4px}.calendar-event-head p{margin:0;color:var(--muted)}.event-big-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eef1ff;font-size:1.25rem;flex:0 0 auto}.event-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.calendar-note,.calendar-outcome{margin-top:12px;padding:12px;border-radius:14px;background:#f8f9fc;border:1px solid #eaedf4}.calendar-note p,.calendar-outcome p{margin:4px 0 0;color:#59657a;white-space:normal}.calendar-outcome{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f7fbf8;border-color:#dcece4}.calendar-check-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.calendar-check-group{border:1px solid #e6eaf2;border-radius:14px;padding:11px;background:#fcfdff}.calendar-check-group h4{margin:0 0 8px;font-size:.9rem}.calendar-check-row{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:5px 0;border-bottom:1px solid #eef1f5}.calendar-check-row:last-child{border-bottom:0}.calendar-check-row form{margin:0}.calendar-check-row.done-item span{text-decoration:line-through;color:#7d8797}.check-button,.icon-button{width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:50%}.icon-button{background:transparent}.calendar-progress{display:grid;grid-template-columns:auto minmax(120px,220px);gap:10px;align-items:center;margin-top:10px}.calendar-progress .progress{margin:0}.calendar-event-actions,.calendar-delete-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.calendar-event-actions form,.calendar-delete-actions form{margin:0}.calendar-inline-form{grid-template-columns:150px minmax(220px,1fr) auto;align-items:end;min-width:min(650px,80vw);padding-top:10px}.calendar-inline-form input,.calendar-inline-form select{margin:0}.calendar-followup{margin-top:12px;padding:12px;border:1px solid #dce9e3;background:#f5fbf7;border-radius:14px}.calendar-followup .row{align-items:end;flex-wrap:wrap}.calendar-followup label{min-width:210px}.calendar-followup .tag.success,.tag.success{background:#e7f7f0;color:#247257}.legacy-calendar-note p{margin-bottom:0;color:var(--muted)}.event-cancelled{text-decoration:line-through;opacity:.62}.mini-event{display:block;text-decoration:none;color:inherit}.calendar-side .card{min-width:0}
@media(max-width:1180px){.calendar-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-prep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.calendar-prep-grid,.calendar-check-groups,.calendar-outcome{grid-template-columns:1fr}.calendar-event-head{display:grid}.event-tags{justify-content:flex-start}.calendar-progress{grid-template-columns:1fr}.calendar-inline-form{grid-template-columns:1fr;min-width:0}.calendar-followup .row{display:grid}.calendar-quality-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.calendar-quality-grid{grid-template-columns:1fr}.calendar-prep-grid{grid-template-columns:1fr}.calendar-event-detail{padding:13px}.calendar-event-actions>*,.calendar-delete-actions>*{width:100%}.calendar-event-actions button,.calendar-delete-actions button{width:100%}}

/* 4.9.4 · Schule & Stundenplan 2.0 */
.school-overview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.school-overview-strip article{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(35,50,86,.04)}.school-overview-strip article.warn{border-color:#efc9a7;background:#fffaf4}.school-overview-strip span,.school-overview-strip small{font-size:12px;color:var(--muted)}.school-overview-strip b{font-size:21px}.school-day-grid,.school-work-grid{margin-top:16px}.school-day-list{display:grid;gap:8px}.school-day-row{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid #e1e7f0;border-radius:16px;background:#fbfcff}.school-day-row time{font-size:12px;font-weight:900;color:#4156a9;padding-top:2px}.school-day-row b,.school-day-row p,.school-day-row small{display:block}.school-day-row p,.school-day-row small{margin:2px 0 0;color:var(--muted);font-size:12px}.school-day-row.cancelled{opacity:.72;background:#f5f6f8;border-style:dashed}.school-day-row.cancelled b{text-decoration:line-through}.school-day-list.compact .school-day-row{padding:10px}.school-change-badge{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;background:#fff1d8;color:#735000;font-size:10px;font-weight:850}.school-task-form{padding:14px;border-radius:16px;background:#f7f9fd;border:1px solid #e5eaf2;margin-bottom:14px}.school-task-list{display:grid;gap:8px}.school-task-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid #e1e7f0;border-radius:15px;background:#fff}.school-task-row.overdue{border-color:#edb9b2;background:#fff9f8}.school-task-row p,.school-task-row small{display:block;margin:3px 0 0;color:var(--muted);font-size:12px}.school-task-check{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cfd7e6;border-radius:12px;background:#f7f9fc;font-size:18px;cursor:pointer}.school-done{margin-top:14px}.school-done summary{cursor:pointer;font-weight:850}.school-done-row{display:flex;align-items:center;gap:9px;margin-top:8px;padding:8px 10px;border-radius:11px;background:#f6f8fb}.school-done-row button{padding:4px 8px}.school-exam-prep{display:grid;grid-template-columns:1fr 220px;gap:10px;align-items:end;padding:12px;border:1px solid #e5eaf2;border-radius:14px;background:#fbfcff}.school-exam-prep>label:first-child{display:flex;gap:8px;align-items:center}.school-exam-prep input[type=checkbox]{width:auto;margin:0}.school-change-list,.tt-change-list{display:grid;gap:8px}.school-change-list article,.tt-change-list article{display:grid;grid-template-columns:44px 1fr auto;gap:11px;align-items:start;padding:12px;border:1px solid #e1e7f0;border-radius:15px;background:#fff}.school-change-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff3dc;font-size:21px}.school-change-list p,.school-change-list small,.tt-change-list p,.tt-change-list small{display:block;margin:3px 0 0;color:var(--muted);font-size:11px}.school-events-list{display:grid;gap:9px}.tt-changes-card{margin-top:16px;border-color:#ead7b4;background:linear-gradient(180deg,#fffdf8,#fff)}.tt-change-list{margin-top:16px}.tt-cell-entry p b{font-size:9px}.school-reference{margin-bottom:18px}
@media(max-width:900px){.school-overview-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.school-exam-prep{grid-template-columns:1fr}.school-change-list article,.tt-change-list article{grid-template-columns:42px 1fr}.school-change-list article>form,.tt-change-list article>form{grid-column:2}}
@media(max-width:560px){.school-overview-strip{grid-template-columns:1fr}.school-day-row{grid-template-columns:64px 1fr}.school-task-row{grid-template-columns:36px 1fr}.school-task-row>form:last-child{grid-column:2}.school-change-list article,.tt-change-list article{grid-template-columns:38px 1fr}}

/* 4.9.5 · Aufgaben, Checklisten & Planung 2.0 */
.planner-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:22px;align-items:center}.planner-context{margin:12px 0 0;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.72);border:1px solid rgba(218,225,239,.9);font-size:13px}.planner-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.planner-summary span{display:grid;gap:2px;padding:12px;border-radius:15px;background:rgba(255,255,255,.82);border:1px solid #e1e7f0;color:#657187;font-size:12px}.planner-summary b{font-size:22px;color:#2d4186}.planner-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px;align-items:start;margin-top:16px}.planner-board{display:grid;gap:14px}.planner-editor{min-width:0}.sticky-card{position:sticky;top:16px}.task-bucket{padding:16px}.task-board-list{display:grid;gap:9px}.planner-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;padding:13px 14px;border:1px solid #e2e7ef;border-radius:16px;background:#fff}.planner-task.overdue{border-color:#ebbbb4;background:#fff9f8}.planner-task.school-task{border-left:4px solid #6d7dde}.planner-task h3{margin:0;font-size:16px}.planner-task p,.planner-task small{display:block;margin:3px 0 0;color:var(--muted);font-size:12px}.planner-task-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.planner-task-actions form{margin:0}.task-title-row{justify-content:space-between;align-items:flex-start}.completed-tasks summary{cursor:pointer}.completed-tasks[open] summary{margin-bottom:12px}.task-steps-editor{margin-top:16px;padding-top:14px;border-top:1px solid #e7ebf2}.task-step-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #eef1f5}.task-step-row:last-child{border-bottom:0}.task-step-row form{margin:0}.done-text{text-decoration:line-through;color:#7c8798}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.decision-grid>div{padding:14px;border:1px solid #e4e9f1;border-radius:15px;background:#f9fbfe}.decision-grid p{margin:5px 0 0;color:var(--muted);font-size:13px}.checklist-card{align-self:start}.checklist-items{margin:10px 0}.checklist-card .actions{margin-top:12px}.task-bucket-overdue .section-head h2{color:#9b433c}.task-bucket-today .section-head h2{color:#384fa4}.task-bucket-tomorrow .section-head h2{color:#27745d}
@media(max-width:1050px){.planner-layout{grid-template-columns:1fr}.sticky-card{position:static}.planner-hero{grid-template-columns:1fr}.planner-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.planner-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-task{grid-template-columns:1fr}.planner-task-actions{justify-content:flex-start}.planner-task-actions>*{flex:1 1 auto}.planner-task-actions button,.planner-task-actions .btn{width:100%}.decision-grid{grid-template-columns:1fr}}

/* 4.9.6 · Kinderprofile & Kinderwelt 2.0 */
.child-profile-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.7fr);gap:16px;align-items:start}.child-profile-list{display:grid;gap:12px}.child-profile-card{scroll-margin-top:90px;padding:18px}.child-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.child-profile-head h3{margin:0}.child-profile-head p{margin:3px 0 0;color:var(--muted)}.child-profile-summary{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.child-positive-summary{padding:11px 13px;border-radius:14px;background:#f6faf8;border:1px solid #e0eee7;margin:9px 0}.child-positive-summary p{margin:3px 0;color:#4f615b}.child-primary-actions{margin-top:12px}.child-profile-settings{margin-top:14px;border:1px solid #dfe5ef;border-radius:16px;background:#fbfcff;overflow:hidden}.child-profile-settings>summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 14px;cursor:pointer;list-style:none}.child-profile-settings>summary::-webkit-details-marker{display:none}.child-profile-settings>summary span{font-size:12px;color:var(--muted)}.child-profile-settings[open]>summary{border-bottom:1px solid #e5eaf2;background:#f5f8fd}.child-profile-settings form{padding:15px}.child-support-fieldset{border:1px solid #e3e8f1;border-radius:15px;padding:12px 13px}.child-support-fieldset legend{padding:0 6px;font-weight:850}.child-support-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.child-support-choice-grid label,.child-world-toggles label{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid #e4e9f2;border-radius:13px;background:#fff;cursor:pointer}.child-support-choice-grid input,.child-world-toggles input{width:auto;margin-top:3px}.child-world-toggles{display:grid;gap:8px}.child-world-toggles span{display:grid;gap:2px}.child-world-toggles small{color:var(--muted);line-height:1.4}.child-create-card{position:sticky;top:16px}.child-more-actions{margin-top:12px}.child-more-actions summary{cursor:pointer;font-weight:800}
@media(max-width:980px){.child-profile-layout{grid-template-columns:1fr}.child-create-card{position:static}.child-support-choice-grid{grid-template-columns:1fr}}

/* 4.9.7 · Förderkompass 2.0 */
.learning-cycle .learning-goal-item{border-left:4px solid var(--primary,#5368da)}
.learning-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.learning-observation-form textarea,.learning-manage-grid textarea{min-height:92px}
.learning-support-fieldset{border:1px solid var(--line,#dfe5ef);border-radius:16px;padding:14px;margin:0}
.learning-support-fieldset legend{font-weight:800;padding:0 7px}
.learning-support-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.learning-support-options label{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid var(--line,#dfe5ef);border-radius:12px;background:var(--surface-soft,#f7f9fc);font-weight:600}
.learning-support-options input{margin-top:3px}
.learning-task-link{display:grid;grid-template-columns:1.4fr .6fr;gap:12px;align-items:end;padding:12px 14px;border:1px solid var(--line,#dfe5ef);border-radius:15px;background:var(--surface-soft,#f7f9fc)}
.learning-support-summary{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.learning-observation-item{border-left:4px solid #7a8be0}
.learning-observation-item details,.learning-goal-item details{margin-top:10px}
@media(max-width:800px){.learning-manage-grid,.learning-task-link{grid-template-columns:1fr}.learning-support-options{grid-template-columns:1fr}}

/* 4.9.8 · Therapie & Therapie-Transfer 2.0 */
.therapy-summary .card{position:relative;overflow:hidden}.therapy-summary .card:after{content:"";position:absolute;right:-26px;bottom:-28px;width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#77cdb9);opacity:.055}.therapy-summary .metric{display:block;font-size:30px;line-height:1.05;margin:8px 0 5px;letter-spacing:-.03em}.therapy-workflow-grid{align-items:start}.therapy-create-panel{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.therapy-create-panel>summary,.therapy-transfer-card details>summary,.therapy-session-card details>summary{cursor:pointer;font-weight:800;color:#3545aa}.therapy-review-strip{margin-top:16px;background:linear-gradient(135deg,#fffaf0,#f8fbff);border-color:#e9dfc9}.therapy-task-link{display:grid;gap:9px;padding:13px;border:1px solid #dce3f2;background:#f7f9fd;border-radius:15px}.therapy-task-link label:first-child{display:flex;gap:8px;align-items:flex-start}.therapy-task-link input[type="checkbox"]{width:auto;margin-top:3px}.therapy-session-card,.therapy-transfer-card,.therapy-exercise-card{display:grid;gap:9px}.therapy-session-card p,.therapy-transfer-card p,.therapy-exercise-card p{margin:0;color:var(--muted)}.therapy-transfer-grid{align-items:start}.therapy-review-result{padding:13px;border:1px solid #d9e9e2;border-radius:15px;background:#f1faf6}.therapy-review-result p{margin-top:8px}.therapy-transfer-card details{border-top:1px solid var(--line);padding-top:9px}.therapy-transfer-card details+details{margin-top:2px}@media(max-width:780px){.therapy-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.therapy-workflow-grid,.therapy-transfer-grid{grid-template-columns:1fr}}@media(max-width:520px){.therapy-summary{grid-template-columns:1fr}.therapy-task-link{padding:11px}}

/* FamilienNetzwerk 2.0 */
details.inline-details{display:inline-block;vertical-align:top}details.inline-details>summary,details.compact-details>summary{cursor:pointer;list-style:none}details.inline-details>summary::-webkit-details-marker,details.compact-details>summary::-webkit-details-marker{display:none}details.inline-details[open]{display:block;width:min(100%,520px);padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(30,45,82,.08)}details.inline-details[open]>summary{margin-bottom:8px}.message-main .network-message .list{margin-top:8px}.message-main .network-message .list-item{background:rgba(255,255,255,.72)}.message-main .actions{align-items:flex-start}.message-sidebar select[multiple],.message-compose select[multiple]{min-height:95px}@media(max-width:680px){details.inline-details[open]{width:100%}.message-main .actions{display:grid;grid-template-columns:1fr}.message-main .actions>.btn,.message-main .actions>form,.message-main .actions>details{width:100%}.message-main .actions button,.message-main .actions .btn{width:100%;justify-content:center}}
/* FamilienKompass 4.10.1 · Familienküche */
.food-center-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.food-center-hero>div:first-child{max-width:820px}.food-kpis{margin:16px 0}.food-meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.food-meal{display:grid;gap:4px;padding:14px;border:1px solid var(--line,#e4e8f2);border-radius:16px;background:var(--surface,#fff)}.food-meal small,.food-meal span{color:var(--muted,#62708b)}.food-signal{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line,#e4e8f2)}.food-signal:last-child{border-bottom:0}.food-signal span{font-size:13px;color:var(--muted,#62708b)}.food-checkout{border:1px solid var(--line,#e4e8f2);border-radius:18px;margin:12px 0;background:#fff;overflow:hidden}.food-checkout>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;background:#f8f9fd}.food-checkout>form{padding:16px}.food-checkout-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.food-checkout-meta label,.food-finance label{display:grid;gap:5px}.food-buy-table small{display:block;color:var(--muted,#62708b);margin-top:3px}.food-qty{display:flex;gap:6px;min-width:210px}.food-qty input{min-width:90px}.food-finance{display:grid;grid-template-columns:1fr minmax(220px,.5fr);gap:14px;align-items:end;margin:14px 0}.food-principles{margin-bottom:18px}@media(max-width:900px){.food-center-hero{display:block}.food-center-hero .actions{margin-top:14px}.food-checkout-meta{grid-template-columns:1fr 1fr}.food-finance{grid-template-columns:1fr}}@media(max-width:620px){.food-checkout-meta{grid-template-columns:1fr}.food-qty{min-width:180px}.food-buy-table{min-width:900px}}

/* FamilienKompass 4.10.2 · Familienfinanzen 2.0 */
.finance-hero{background:linear-gradient(135deg,#eef8f4,#f3f4ff 55%,#fff8e8);border:1px solid #dfe8e5}.finance-monthbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:14px 0}.finance-monthbar form{align-items:flex-end}.finance-monthbar label{min-width:180px}.finance-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.finance-tabs .btn{white-space:nowrap}.finance-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.finance-account{display:grid;gap:5px;padding:14px;border:1px solid var(--line,#e1e7ef);border-radius:16px;background:var(--surface,#fff)}.finance-account span,.finance-account small{color:var(--muted,#667085);font-size:13px}.finance-account strong{font-size:22px}.finance-account.muted-account{opacity:.62}.finance-goal{display:grid;gap:8px;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e5eaf0}.finance-goal>span,.finance-goal>small{color:var(--muted,#667085)}.finance-big-number{font-size:clamp(26px,4vw,40px);font-weight:900;letter-spacing:-.03em;margin:8px 0}.finance-big-number small{font-size:14px;font-weight:700;color:var(--muted,#667085)}.finance-year-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.finance-year-bars>div{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #e6eaf0;border-radius:12px;background:#fafbfc}.finance-year-bars span{font-weight:800;color:#667085}.finance-year-bars b{font-size:13px}.finance-editor-grid{align-items:start}.finance-principles .grid>div{padding:13px;border-radius:14px;background:#f8fafc;border:1px solid #e6eaf0}.finance-principles p{margin-bottom:0;color:#667085}.recurring-row.attention{border-color:#e6b64f;background:#fff9e8}.num{text-align:right;white-space:nowrap}.text-danger{color:#b42318;font-weight:800}.form.compact{gap:8px}.finance-metrics .metric b{font-size:24px}@media(max-width:760px){.finance-monthbar{align-items:stretch;flex-direction:column}.finance-monthbar form{width:100%;align-items:stretch}.finance-monthbar label{min-width:0;flex:1}.finance-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.finance-year-bars{grid-template-columns:repeat(2,1fr)}.finance-account-grid{grid-template-columns:1fr}.finance-metrics.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.finance-metrics.grid.four{grid-template-columns:1fr}.finance-year-bars{grid-template-columns:1fr}}

/* FamilienKompass 4.10.4 – Standortfreigabe 2.0 */
.location-share-active{margin-top:18px;padding:18px;border-radius:18px;border:1px solid rgba(40,168,109,.24);background:linear-gradient(145deg,#effbf5,#f8fffc);position:relative;overflow:hidden}.location-share-active h2{margin:0 0 6px}.location-sharing-pulse{width:13px;height:13px;border-radius:50%;background:#28a86d;box-shadow:0 0 0 0 rgba(40,168,109,.34);animation:fk-location-pulse 2s infinite;margin-bottom:12px}@keyframes fk-location-pulse{0%{box-shadow:0 0 0 0 rgba(40,168,109,.34)}70%{box-shadow:0 0 0 13px rgba(40,168,109,0)}100%{box-shadow:0 0 0 0 rgba(40,168,109,0)}}.location-event-list{display:grid;gap:8px;margin-top:10px}.location-event-list>div{display:grid;grid-template-columns:125px 1fr;gap:10px;padding:9px 11px;border-radius:12px;background:#f7f8fb}.location-event-list b{font-size:.82rem}.location-event-list span{font-size:.84rem;color:var(--muted,#667085)}.location-status-expired{background:#fff1e5!important;color:#8a4e12!important}.location-status-revoked{background:#f5ecec!important;color:#7e3c3c!important}.location-status-paused{background:#f3f4f6!important;color:#596273!important}.location-person-card .danger.ghost{background:transparent;color:#9b3030}.location-person-card button[disabled]{opacity:.5;cursor:not-allowed}.location-share-card .field-help{display:block;margin-top:6px;color:#667085;font-size:.86rem}.location-share-card select,.location-share-card input{width:100%}@media(prefers-reduced-motion:reduce){.location-sharing-pulse{animation:none;box-shadow:0 0 0 5px rgba(40,168,109,.12)}}@media(max-width:620px){.location-event-list>div{grid-template-columns:1fr;gap:2px}.location-summary{grid-template-columns:1fr 1fr}.location-product-copy{display:grid}}

/* FamilienKompass 4.10.5 – Smart Controller 2.0 */
.smart-v2-hero{position:relative;overflow:hidden}.smart-safety-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.smart-safety-line span{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid #dfe8ef;color:#43536a;font-size:11px;font-weight:800}.smart-boundary-card{border-color:#dce5f0;background:linear-gradient(145deg,#fff,#f9fbff)}.smart-guard-list{display:grid;gap:10px;padding:0;list-style:none;counter-reset:smartguard}.smart-guard-list li{counter-increment:smartguard;display:grid;grid-template-columns:36px 1fr;column-gap:10px;padding:11px 12px;border:1px solid #e1e7ef;border-radius:14px;background:#fff}.smart-guard-list li:before{content:counter(smartguard);grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf0ff;color:#304987;font-weight:900}.smart-guard-list b,.smart-guard-list span{grid-column:2}.smart-guard-list span{font-size:12px;color:var(--muted)}.smart-bridge-v2{align-items:start}.smart-bridge-v2 h3{margin:0}.smart-bridge-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.smart-bridge-actions form{margin:0}.smart-bridge-actions details{width:100%;text-align:right}.smart-bridge-actions details summary{cursor:pointer;font-size:12px;font-weight:800;color:#59677c}.smart-bridge-actions details .actions{justify-content:flex-end;margin-top:8px}.smart-live-online{background:#e9f8f0!important;color:#1e714c!important}.smart-live-stale{background:#fff5dc!important;color:#8a650c!important}.smart-live-offline{background:#f3f4f6!important;color:#6e7785!important}.warn-text{color:#9d4a3d!important}.smart-room-list{display:grid;gap:7px;margin-top:12px}.smart-room-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e4e9f0;border-radius:12px;background:#fafcff}.smart-room-list form{margin:0}.smart-brightness-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-top:8px}.smart-brightness-form label{display:grid;gap:4px;min-width:190px}.smart-brightness-form output{font-size:11px;color:var(--muted);font-weight:800}.smart-device .smart-readonly{grid-column:2}.smart-device .smart-controls{grid-column:2}.smart-device .smart-controls form{margin:0}.smart-device .smart-controls .actions{justify-content:flex-start}.smart-device details .actions form{margin:0}.smart-device details .form.compact{display:grid;gap:9px}.smart-device details .form.compact+.actions{margin-top:8px}.smart-token-box label{display:block;margin:12px 0}.smart-token-box label code{margin-top:6px}.smart-token-box .actions{margin:10px 0 12px}.smart-device .privacy-box.small{margin:8px 0}.smart-device form .actions{margin-top:9px}
@media(max-width:900px){.smart-bridge-v2{display:grid}.smart-bridge-actions{justify-content:flex-start}.smart-bridge-actions details{text-align:left}.smart-bridge-actions details .actions{justify-content:flex-start}}
@media(max-width:650px){.smart-safety-line{display:grid}.smart-safety-line span{border-radius:12px}.smart-bridge-actions{display:grid}.smart-bridge-actions>*{width:100%}.smart-bridge-actions button{width:100%}.smart-device .smart-readonly,.smart-device .smart-controls{grid-column:1/-1}.smart-brightness-form{display:grid}.smart-brightness-form label{min-width:0}}
.smart-inbox-actions{grid-column:2;display:grid;gap:8px}.smart-inbox-actions form{margin:0}.smart-inbox-actions .form.compact{display:grid;gap:8px}.smart-inbox-actions .form.compact>button{justify-self:start}
@media(max-width:650px){.smart-inbox-actions{grid-column:1/-1}.smart-inbox-actions .form.compact>button,.smart-inbox-actions>form>button{width:100%}}

/* FamilienKompass 4.10.8 · Design System & UX-Konsistenz */
:root{
  --bg:#f4f7fb;
  --card:#fff;
  --surface:#fff;
  --surface-soft:#f8fafd;
  --ink:#182238;
  --muted:#66738a;
  --line:#dfe6ef;
  --line-strong:#cbd5e2;
  --primary:#4d5fd0;
  --primary2:#7459d8;
  --primary-soft:#eef1ff;
  --ok:#237b5d;
  --ok-soft:#eaf8f2;
  --warn:#8b5d18;
  --warn-soft:#fff6e4;
  --danger:#a13d50;
  --danger-soft:#fff0f3;
  --focus:#6174df;
  --shadow-xs:0 3px 12px rgba(28,39,71,.045);
  --shadow:0 12px 34px rgba(28,39,71,.075);
  --shadow-lg:0 22px 54px rgba(28,39,71,.12);
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:26px;
  --control-h:44px;
}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{font-size:15.5px;line-height:1.56;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.content{width:100%;max-width:1680px;margin-inline:auto}
.content:focus{outline:none}
.content-top{padding:4px 0 2px;align-items:center}
.content-top h1{font-size:clamp(27px,3vw,36px);line-height:1.12;letter-spacing:-.025em;font-weight:850}
.content h2,.content h3{line-height:1.22;letter-spacing:-.012em}.content h2{font-size:clamp(20px,2vw,25px)}.content h3{font-size:17px}
.muted{color:var(--muted)!important}.small{font-size:13px}.eyebrow{font-size:11px;letter-spacing:.095em}
.skip-link{position:fixed;left:16px;top:12px;z-index:10000;transform:translateY(-160%);padding:10px 14px;border-radius:12px;background:#15213e;color:#fff;font-weight:850;text-decoration:none;box-shadow:var(--shadow-lg);transition:transform .15s ease}.skip-link:focus{transform:none}

/* Klare Tastatur- und Eingabefokusse */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(97,116,223,.32);outline-offset:2px}
:where(input,select,textarea).field-invalid{border-color:#c84f61!important;box-shadow:0 0 0 3px rgba(200,79,97,.12)!important}
:where(input,select,textarea):disabled{background:#f1f3f6;color:#8b95a5;cursor:not-allowed}

/* Oberflächen */
.card,.hero,.list-item,.privacy-box{border-color:var(--line);box-shadow:var(--shadow-xs)}
.card{padding:20px;border-radius:var(--radius);background:var(--card)}
.card:hover{border-color:#d5deea}
.hero{border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}
.section-head{margin-top:28px;align-items:flex-end}.section-head h2{letter-spacing:-.018em}.section-head>span,.section-head>small{flex:0 0 auto}
.list{gap:11px}.list-item{border-radius:16px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.list-item:has(a.stretch):hover,.list-item[href]:hover{border-color:#cdd7e6;box-shadow:0 8px 22px rgba(28,39,71,.065)}
.metric{position:relative;overflow:hidden}.metric b{font-size:clamp(26px,3vw,32px);letter-spacing:-.03em}.metric>span:first-child{font-size:20px}

/* Einheitliche Aktionen */
.btn,button{min-height:var(--control-h);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border:1px solid transparent;border-radius:12px;font-weight:760;line-height:1.2;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease;vertical-align:middle}
.btn:not(.primary):not(.danger),button:not(.primary):not(.danger){border-color:var(--line);background:#fff;color:#344158}
.btn:hover,button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(28,39,71,.08);border-color:#c9d3e1}.btn:active,button:active{transform:translateY(0);box-shadow:none}
.btn.primary,button.primary{border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 8px 20px rgba(77,95,208,.18)}
.btn.primary:hover,button.primary:hover{box-shadow:0 11px 25px rgba(77,95,208,.24)}
.btn.danger,button.danger{border-color:#efcbd2;background:var(--danger-soft);color:#933548}.btn.danger:hover,button.danger:hover{border-color:#e6aeb9;background:#ffe7ec}
.btn[disabled],button[disabled],.btn.disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
button.is-submitting,.btn.is-submitting{cursor:progress;opacity:.78}.is-submitting button[type="submit"]{cursor:progress}
.actions{gap:9px;align-items:center}.actions>form{margin:0}.actions>.btn,.actions>button,.actions>form>button{max-width:100%}
.mini-button{min-height:34px!important;padding:6px 9px!important;border-radius:10px!important;font-size:12px!important}

/* Formulare */
.form{gap:14px}.form label,.admin-toolbar label{font-size:13px;font-weight:780;color:#344158}.form label{display:grid;gap:6px}
.form input,.form select,.form textarea,input,select,textarea{border-color:var(--line-strong);border-radius:12px;padding:10px 12px;background:#fff;box-shadow:inset 0 1px 1px rgba(28,39,71,.02);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select{min-height:var(--control-h)}
textarea{line-height:1.5;min-height:108px}
input[type="checkbox"],input[type="radio"]{accent-color:var(--primary)}
input:focus,select:focus,textarea:focus{outline:0;border-color:#8c9bea;box-shadow:0 0 0 3px rgba(97,116,223,.13)}
::placeholder{color:#98a1b1;opacity:1}.field-help,.form small{line-height:1.45}
fieldset{min-width:0;border:1px solid var(--line);border-radius:16px;padding:15px}legend{padding:0 7px;font-weight:850;color:#334158}

/* Hinweise, Status und leere Zustände */
.alert{padding:14px 16px;border-radius:15px;box-shadow:none;line-height:1.52}.alert.success{border-color:#c9e8dc;background:var(--ok-soft);color:#205f4b}.alert.warn{border-color:#ead6aa;background:var(--warn-soft);color:#735019}.alert.danger{border-color:#efc6cf;background:var(--danger-soft);color:#873348}
.tag{min-height:26px;align-items:center;padding:5px 9px;border:1px solid #dce2ff;font-weight:760;line-height:1.1}.tag.ok{border-color:#cce9dc}.tag.warn{border-color:#ecd8ac}.tag.danger{border-color:#efcbd2}
.empty{min-height:92px;display:grid;place-items:center;padding:24px;border:1.5px dashed #ced8e6;border-radius:16px;background:linear-gradient(145deg,#fbfcfe,#f7f9fc);color:#6f7b90;line-height:1.55}.empty:before{content:"✦";display:block;font-size:20px;color:#a5afc0;margin-bottom:2px}.empty>*{max-width:760px}

/* Tabellen */
.table-wrap{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-xs);scrollbar-width:thin;scrollbar-color:#c4cedc transparent}
.table-wrap:focus-visible{outline:3px solid rgba(97,116,223,.22);outline-offset:2px}
table{font-size:14px}th,td{padding:11px 10px}th{font-size:11px;letter-spacing:.055em;font-weight:850;background:#f8fafd;color:#66738a}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfcff}.admin-table td{line-height:1.45}

/* Navigation und Kopfbereich */
.side{box-shadow:12px 0 32px rgba(12,19,39,.08)}.side nav a{min-height:41px;display:flex;align-items:center;gap:8px;font-weight:650}.side nav a.active{font-weight:820}.side-user{box-shadow:inset 0 1px rgba(255,255,255,.03)}
.side-group>summary{min-height:42px}.side-group-links>a{min-height:39px}
.content-top-tools{gap:9px}.top-tool-btn{min-height:42px}.mobile-nav-toggle{display:none}
.child-context-form label{min-height:42px}.trust-pill{min-height:38px;display:inline-flex;align-items:center;border:1px solid #cce6dc;font-weight:760}.trust-warn{background:#fff6e4!important;color:#7d5619!important;border-color:#ead6aa!important}
.workspace-guide{box-shadow:var(--shadow-xs);border-color:#d9e2f0}.workspace-guide h2{letter-spacing:-.012em}

/* Authentifizierung */
.auth-card{border-radius:26px;padding:30px;box-shadow:var(--shadow-lg)}.auth-brand img{max-width:260px;height:auto}.auth-card .form{margin-top:18px}

/* Partner- und Adminbereiche konsistent, aber mit eigener Identität */
.partner-area{--primary:#277d6b;--primary2:#3f89a1;--focus:#3c8c7c}.partner-area .card,.partner-area .hero{border-color:#dce9e5}.partner-area .tag{border-color:#d7e8e1}.partner-area .top-tool-btn{border-color:#d6e5e1}
.admin-area,.admin-portal{--primary:#3b4f91;--primary2:#5e55b8}.admin-module{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.admin-module:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(28,39,71,.09);border-color:#ccd6e5}.admin-access-banner{box-shadow:var(--shadow-xs)}

/* Mobile Drawer für Familie/Fachkonto/Partner – ohne Adminnavigation zu verstecken */
.fk-nav-backdrop{display:none}
@media(max-width:980px){
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal){--fk-mobile-dock-space:24px}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal) .mobile-nav-toggle{display:inline-flex}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal) .portal-shell{display:block}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal) .side{position:fixed!important;inset:0 auto 0 0!important;z-index:1002;width:min(88vw,330px);height:100dvh!important;max-height:100dvh;overflow-y:auto;transform:translateX(-104%);transition:transform .2s ease;padding:18px 14px calc(18px + env(safe-area-inset-bottom));border-radius:0 20px 20px 0;box-shadow:24px 0 60px rgba(11,18,39,.3)}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal).fk-nav-open .side{transform:translateX(0)}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal) .side nav{display:grid!important;overflow:visible!important;padding-bottom:12px}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal) .side-bottom{display:grid!important;margin-top:18px}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal) .side-group{width:100%;min-width:0;flex:none}
  body:is(.family-portal,.professional-portal,.partner-area,.partner-portal) .content{padding:18px 16px 38px}
  .fk-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1001;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(8,14,30,.48);backdrop-filter:blur(2px);box-shadow:none}
  body.fk-nav-open{overflow:hidden!important}
}
@media(max-width:650px){
  .content-top{align-items:stretch}.content-top-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}.mobile-nav-toggle{order:-2}.child-context-form{grid-column:1/-1}.content-top-tools>.trust-pill{display:none}
  .card{padding:16px}.hero{padding:18px}.section-head{display:grid;align-items:start}.section-head>.actions{width:100%}
  .actions{display:grid;grid-template-columns:1fr}.actions>.btn,.actions>button,.actions>form,.actions>form>button{width:100%}
  .row:not(.keep-row){flex-wrap:wrap}.row.grow{display:grid;grid-template-columns:1fr}
  .table-wrap{border-radius:14px}
}
@media(pointer:coarse){.btn,button,.side nav a,summary{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,button,.card,.list-item,.admin-module,.side,.skip-link{transition:none!important}.btn:hover,button:hover,.admin-module:hover{transform:none!important}}


/* 4.10.9 – freiwillige Ersteinrichtung / gespeicherte Familien-Schnellzugriffe */
.fk-onboarding{max-width:1050px;margin-inline:auto;min-width:0}
.fk-onboarding-hero p:last-child{margin-bottom:0}
.fk-onboarding-progress{margin:20px 0}
.fk-onboarding-progress ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fk-onboarding-progress a{display:flex;align-items:center;gap:9px;min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:#fff;font-size:14px;font-weight:650}
.fk-onboarding-progress a span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#eef1f7}
.fk-onboarding-progress a[aria-current="step"]{border-color:var(--primary);background:#eff2ff}
.fk-onboarding-progress a[aria-current="step"] span{background:var(--primary);color:#fff}
.fk-onboarding-step{padding:clamp(18px,3vw,30px)}
.fk-onboarding-step h2{margin-top:0}
.fk-onboarding-step fieldset{border:0;min-width:0;padding:0;margin:8px 0}
.fk-onboarding-step legend{font-weight:700;margin-bottom:12px}
.fk-onboarding-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fk-onboarding-option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;cursor:pointer;min-height:92px;overflow-wrap:anywhere}
.fk-onboarding .fk-onboarding-option input{width:20px;height:20px;padding:0;flex:0 0 20px;margin:2px 0 0;accent-color:var(--primary)}
.fk-onboarding-option span{min-width:0}.fk-onboarding-option b,.fk-onboarding-option small{display:block}
.fk-onboarding-option b{font-size:15px}.fk-onboarding-option small{margin-top:5px;color:var(--muted);font-weight:400;line-height:1.5;font-size:13px}
.fk-onboarding-option:has(input:checked){border-color:var(--primary);background:#f3f5ff}
.fk-onboarding-option:focus-within{outline:3px solid var(--primary);outline-offset:3px}
.fk-onboarding-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}
.fk-onboarding-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;flex-wrap:wrap}
.fk-onboarding-children{list-style:none;padding:0;display:grid;gap:8px;margin:18px 0}
.fk-onboarding-children li{padding:12px 14px;background:#f6f8fc;border-radius:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;overflow-wrap:anywhere}
.fk-onboarding-summary{padding:18px;border-radius:16px;background:#f6f8fc;margin:18px 0;overflow-wrap:anywhere}
.fk-onboarding-summary p{margin:5px 0}
.fk-onboarding-dashboard{margin-bottom:18px;overflow-wrap:anywhere}
.fk-onboarding-dashboard .section-head{margin:0}.fk-onboarding-dashboard .section-head p{margin:6px 0 0}
@media(max-width:700px){.fk-onboarding-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-onboarding-options{grid-template-columns:1fr}.fk-onboarding-dashboard .section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:400px){.fk-onboarding-progress a{font-size:12px;gap:6px;padding:8px}.fk-onboarding-actions>*{width:100%;text-align:center}}


/* 4.11.0 — own-family search, live notices and personal start. */
.fk-center-hero,.fk-center-panel,.fk-center-dashboard{margin-bottom:18px;min-width:0}
.fk-center-hero h2,.fk-center-dashboard h2{margin:8px 0 12px}
.fk-center-hero p{max-width:82ch}
.fk-center-search,.fk-center-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.fk-center-search label,.fk-center-filters label{display:flex;flex-direction:column;gap:6px;flex:1 1 170px;min-width:0}
.fk-center-search .fk-center-query{flex:3 1 260px}
.fk-center-search input,.fk-center-search select,.fk-center-filters select{width:100%;min-width:0}
.fk-center-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 20px}
.fk-center-metrics>div{border:1px solid var(--line,#dbe3ed);border-radius:14px;padding:14px;background:var(--surface,#f7f9fc);display:flex;flex-direction:column;gap:4px}
.fk-center-metrics b{font-size:1.65rem;line-height:1.2}
.fk-center-metrics span{font-size:.875rem;line-height:1.4;overflow-wrap:anywhere}
.fk-center-list{display:grid;gap:0;margin:8px 0 16px}
.fk-center-item{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line,#dbe3ed);min-width:0}
.fk-center-item:last-child{border-bottom:0}
.fk-center-item-icon{font-size:1.35rem;flex:0 0 28px;padding-top:5px}
.fk-center-item-body{min-width:0;flex:1}
.fk-center-item h3{margin:7px 0;font-size:1.04rem;line-height:1.45;overflow-wrap:anywhere}
.fk-center-item h3 a{text-decoration:underline;text-underline-offset:3px}
.fk-center-item p{margin:0;overflow-wrap:anywhere}
.fk-center-item-tags{display:flex;flex-wrap:wrap;gap:6px}
.fk-center-item-tags .tag{white-space:normal;line-height:1.35;text-align:left}
.fk-center-mark{flex:0 0 auto;margin:0;padding-top:5px}
.fk-center-bulk{margin:12px 0}.fk-center-bulk button{white-space:normal;text-align:left}
.fk-center-pagination{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}
.fk-center-pagination form{margin:0}
.fk-center-error{margin:16px 0}
[id^="document-"],[id^="appointment-"]{scroll-margin-top:24px}
[id^="document-"]:target,[id^="appointment-"]:target{outline:3px solid currentColor;outline-offset:5px}
@media(max-width:760px){.fk-center-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-center-item{flex-wrap:wrap;gap:9px}.fk-center-mark{margin-left:37px;padding-top:0}.fk-center-search>button,.fk-center-filters>button{width:100%}.fk-center-item-body{flex-basis:calc(100% - 40px)}}
@media(max-width:380px){.fk-center-metrics{gap:8px}.fk-center-metrics>div{padding:10px}.fk-center-metrics b{font-size:1.4rem}}


/* 4.11.1: account-scoped display preferences, native forms without JS dependency. */
.fk-display-form{margin-top:18px}
.fk-display-fieldset{border:0;padding:0;margin:0;min-width:0}
.fk-display-fieldset legend{font-size:1.2rem;font-weight:800;margin-bottom:8px;padding:0}
.fk-display-fieldset>label:not(.fk-display-check){display:block;font-weight:700;margin-bottom:6px}
.fk-display-fieldset>select{width:100%;max-width:420px}
.fk-display-check{display:flex;gap:12px;align-items:flex-start;padding:16px 0;line-height:1.5;cursor:pointer}
.fk-display-check input[type=checkbox]{width:22px;height:22px;min-width:22px;flex:0 0 22px;margin:2px 0 0}
.fk-display-check span{min-width:0}
.fk-display-check small{display:block;color:var(--muted);margin-top:4px;font-size:.9rem}
.fk-display-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fk-display-grid label{display:grid;gap:6px;font-weight:700;min-width:0}
.fk-display-grid select{width:100%;min-width:0}
.fk-display-save{margin:18px 0}
.fk-display-hidden{margin:16px 0;padding:12px 16px;border:1px solid var(--line);border-radius:12px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:600px){.fk-display-grid{grid-template-columns:1fr}.fk-display-save>*{width:100%;text-align:center}}

/* 4.11.2 – transient search refinements; native details work without JavaScript. */
.fk-search-refined .fk-search-advanced{grid-column:1/-1;min-width:0;border-top:1px solid var(--line,#dfe5ee);padding-top:14px;margin-top:2px}
.fk-search-advanced summary{cursor:pointer;font-weight:700;line-height:1.5;overflow-wrap:anywhere;padding:8px 0}
.fk-search-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}
.fk-search-options label{min-width:0}
.fk-search-options input,.fk-search-options select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.fk-search-summary{padding:14px 16px;margin:12px 0 18px;border:1px solid var(--line,#dfe5ee);border-radius:12px;background:var(--soft,#f5f7fb);overflow-wrap:anywhere}
.fk-search-summary p{margin:0 0 6px}
.fk-search-summary p:last-child{margin-bottom:0}
@media(max-width:1000px){.fk-search-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fk-search-options{grid-template-columns:minmax(0,1fr)}.fk-search-advanced .actions{align-items:stretch}.fk-search-advanced .actions button{width:100%;white-space:normal}}

/* 4.11.3 – notice focus; scoped native controls, no JavaScript dependency. */
.fk-center-filters .fk-notice-advanced{flex:1 0 100%;min-width:0;border-top:1px solid var(--line,#dfe5ee);padding-top:12px}
.fk-notice-advanced summary{cursor:pointer;font-weight:700;line-height:1.5;overflow-wrap:anywhere;padding:8px 0}
.fk-notice-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}
.fk-notice-options label,.fk-notice-options select{min-width:0;max-width:100%}
.fk-notice-advanced p{overflow-wrap:anywhere}
.fk-notice-summary{padding:14px 16px;margin:0 0 18px;border:1px solid var(--line,#dfe5ee);border-radius:12px;background:var(--soft,#f5f7fb);overflow-wrap:anywhere}
.fk-notice-summary p{margin:0 0 6px}.fk-notice-summary p:last-child{margin-bottom:0}
@media(max-width:1000px){.fk-notice-options{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.fk-notice-advanced .actions button{width:100%;white-space:normal}}
.fk-notice-help{margin-top:12px;border-top:1px solid var(--line,#dfe5ee);padding-top:6px;min-width:0}.fk-notice-help summary{cursor:pointer;font-weight:700;line-height:1.5;overflow-wrap:anywhere;padding:8px 0}.fk-notice-help p{overflow-wrap:anywhere}

/* 4.11.4: native start-page actions and linked metrics; no extra JavaScript. */
.fk-center-metrics>a.fk-center-metric-link{border:1px solid var(--line,#dbe3ed);border-radius:14px;padding:14px;background:var(--surface,#f7f9fc);display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none;min-width:0}
.fk-center-metric-link small{display:block;margin-top:6px;font-size:.875rem;text-decoration:underline;text-underline-offset:3px}
.fk-center-metrics>a.fk-center-metric-link:hover{border-color:currentColor}
.fk-start-context{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:18px 0 8px}
.fk-start-context label{display:grid;gap:6px;min-width:0;flex:1 1 220px;max-width:360px}
.fk-start-context select{width:100%;min-width:0}
.fk-start-context-help,.fk-start-action-help{font-size:.9rem;line-height:1.5}
.fk-start-action-help{padding:12px 14px;border-left:3px solid var(--line,#dbe3ed);margin:12px 0}
.fk-start-bulk button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){.fk-start-context label{max-width:none;flex-basis:100%}.fk-start-context>button{width:100%}.fk-start-bulk button{width:100%}}
@media(max-width:380px){.fk-center-metrics>a.fk-center-metric-link{padding:10px}}

/* 4.11.5: compact per-notice reminder deferral controls. */
.fk-center-snooze{display:flex;flex:0 1 360px;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px;margin:0;padding-top:5px}
.fk-center-snooze select,.fk-center-snooze input[type="date"]{width:auto;min-width:0;max-width:150px}
@media(max-width:760px){.fk-center-snooze{flex:1 0 100%;justify-content:flex-start;margin-left:37px;padding-top:0}.fk-center-snooze select,.fk-center-snooze input[type="date"]{max-width:100%}}

/* 4.11.6: keep start-page read and snooze actions readable beside long titles. */
.fk-start-snooze{flex:1 0 100%;justify-content:flex-start;margin-left:42px;padding-top:0}
@media(max-width:760px){.fk-start-snooze{margin-left:37px}.fk-start-snooze select,.fk-start-snooze input[type="date"]{max-width:100%}}

/* 4.11.7 – Wiedervorlage verwalten */
.fk-snooze-select{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600}.fk-snooze-select input{inline-size:1.15rem;block-size:1.15rem}.fk-snooze-bulk{display:grid;grid-template-columns:minmax(10rem,14rem) minmax(10rem,14rem) 1fr;gap:.75rem;align-items:end;margin-top:1rem}.fk-snooze-bulk .actions{margin:0}.fk-snooze-bulk .muted{grid-column:1/-1;margin:.1rem 0 0}@media(max-width:720px){.fk-snooze-bulk{grid-template-columns:1fr}.fk-snooze-bulk .muted{grid-column:auto}}

/* 4.11.8: compact preview for snoozes becoming active again. */
.fk-snooze-return{margin-top:1rem;padding:1rem;border:1px solid var(--border,#d9e0e8);border-radius:14px;background:var(--surface-soft,#f7f9fb)}
.fk-snooze-return h3{margin:0}.fk-snooze-return ul{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.55rem}
.fk-snooze-return li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .75rem;background:var(--surface,#fff);border-radius:10px}
.fk-snooze-return li span{color:var(--muted,#5f6b78);font-size:.92rem;text-align:right}
@media(max-width:640px){.fk-snooze-return li{display:block}.fk-snooze-return li span{display:block;text-align:left;margin-top:.2rem}}

/* 4.11.9: compact attention lanes on the personal start page; read-only grouping. */
.fk-attention-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.fk-attention-strip>a{display:grid;gap:.15rem;padding:.8rem .9rem;border:1px solid var(--line,#dbe3ed);border-radius:12px;background:var(--surface,#fff);color:inherit;text-decoration:none;min-width:0}
.fk-attention-strip strong{font-size:1.35rem;line-height:1.1}.fk-attention-strip span{color:var(--muted,#5f6b78);font-size:.86rem;overflow-wrap:anywhere}
.fk-attention-strip>a:hover{border-color:currentColor}.fk-attention-lane{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line,#dbe3ed)}
.fk-attention-lane.is-now{padding:1rem;border:1px solid #ead8a9;border-radius:14px;background:#fffaf0}.fk-attention-lane.is-now .fk-center-list{margin-top:.7rem}
.fk-attention-lane-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.fk-attention-lane-head h3{margin:.1rem 0 0}.fk-attention-lane>.muted{margin:.35rem 0 .5rem}
@media(max-width:760px){.fk-attention-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.fk-attention-strip{grid-template-columns:1fr}.fk-attention-lane-head{display:grid}.fk-attention-lane.is-now{padding:.75rem}}


/* FamilienKompass 4.12.0 – Familienerlebnis 1.0 */
.fk-family-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.6fr);gap:24px;align-items:center;padding:clamp(24px,4vw,42px);background:linear-gradient(135deg,#fff7ed 0%,#f2f4ff 48%,#eaf9f4 100%);border-color:#e8e3dc}
.fk-family-hero-copy{max-width:820px}.fk-family-hero h2{font-size:clamp(27px,4vw,44px);line-height:1.05;letter-spacing:-.035em;margin:8px 0 12px}.fk-family-hero p{font-size:16px;max-width:760px;color:var(--muted)}
.fk-family-orbit{position:relative;min-height:220px;display:grid;place-items:center}.fk-family-orbit:before{content:"";width:158px;height:158px;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 18px 44px rgba(44,55,92,.1);border:1px solid rgba(255,255,255,.92)}.fk-family-orbit span{position:absolute;font-size:34px;filter:drop-shadow(0 6px 8px rgba(26,34,57,.08))}.fk-family-orbit span:nth-child(1){transform:translate(-68px,-58px)}.fk-family-orbit span:nth-child(2){transform:translate(70px,-42px)}.fk-family-orbit span:nth-child(3){font-size:62px}.fk-family-orbit span:nth-child(4){transform:translate(62px,70px)}
.fk-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.fk-family-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.fk-family-feature{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;min-height:210px;background:linear-gradient(145deg,#fff,#fbfcff)}.fk-family-feature.is-mission{background:linear-gradient(145deg,#fffdf8,#f8fbff)}.fk-family-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff;border:1px solid var(--line);font-size:30px;box-shadow:var(--shadow-xs,0 4px 12px rgba(34,52,84,.05))}.fk-family-feature h2{margin:4px 0 8px}.fk-family-feature p{margin:0 0 12px;color:var(--muted)}
.fk-family-panel{margin-top:16px}.fk-family-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fk-family-actions>a{display:grid;gap:5px;align-content:start;min-height:155px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface,#fff);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.fk-family-actions>a:hover{transform:translateY(-2px);border-color:#cdd6e7;box-shadow:0 10px 24px rgba(34,52,84,.07)}.fk-family-actions>a>span{font-size:28px}.fk-family-actions strong{font-size:15px}.fk-family-actions small{color:var(--muted);line-height:1.45}
.fk-family-children{display:grid;gap:12px}.fk-family-child{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,#fafbff)}.fk-family-child-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#eef9f6;font-size:27px}.fk-family-child h3{margin:0 0 4px}.fk-family-child p{margin:0 0 10px;color:var(--muted)}.fk-family-safety{margin:14px 0 0}
.fk-family-mini{text-align:center;min-height:175px}.fk-family-mini>span{font-size:31px}.fk-family-mini h3{margin:8px 0 6px}.fk-family-mini p{margin:0;color:var(--muted)}
@media(max-width:920px){.fk-family-hero{grid-template-columns:1fr}.fk-family-orbit{display:none}.fk-family-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-family-grid.is-three{grid-template-columns:1fr}}
@media(max-width:640px){.fk-family-grid,.fk-family-actions{grid-template-columns:1fr}.fk-family-feature{grid-template-columns:1fr;min-height:0}.fk-family-child{grid-template-columns:1fr}.fk-family-hero{padding:22px}.fk-family-hero h2{font-size:30px}.fk-family-actions>a{min-height:0}}
@media(prefers-reduced-motion:reduce){.fk-family-actions>a{transition:none}.fk-family-actions>a:hover{transform:none}}

/* 4.12.1 Familienmomente & Mitmachen */
.fk-family-memory{overflow:hidden}.fk-family-memory-form{max-width:900px}.fk-family-memory-list{display:grid;gap:12px;margin-top:18px}.fk-family-memory-card{border:1px solid var(--line,#dfe5ee);border-radius:18px;padding:16px;background:rgba(255,255,255,.72)}.fk-family-memory-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.86rem;color:var(--muted,#667085)}.fk-family-memory-text{font-size:1.05rem;line-height:1.55;margin:10px 0 12px;white-space:pre-wrap}.fk-family-reaction-line{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.fk-family-reaction-line>span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:rgba(246,248,252,.92);border:1px solid var(--line,#dfe5ee)}.fk-family-memory-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fk-family-quick-reactions{display:flex;gap:6px}.fk-family-quick-reactions button{font-size:1.18rem;min-width:42px;min-height:42px;border-radius:999px;border:1px solid var(--line,#dfe5ee);background:#fff;cursor:pointer}.fk-family-quick-reactions button:hover,.fk-family-quick-reactions button:focus-visible{transform:translateY(-1px)}
.kid-family-moments{margin:16px 0;padding:18px;border-radius:24px;background:linear-gradient(135deg,#fff9e8,#f6f1ff);border:1px solid rgba(99,102,241,.12)}.kid-family-moments-head{display:flex;gap:12px;align-items:flex-start}.kid-family-moments-head>span{font-size:2rem}.kid-family-moments-head h2{margin:0}.kid-family-moments-head p{margin:.3rem 0 0}.kid-family-moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.kid-family-moment-card{background:#fff;border-radius:20px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.kid-family-moment-card>p{font-size:1rem;line-height:1.45;margin:0 0 6px}.kid-family-reactions{margin-top:12px}.kid-family-reactions>span{display:block;font-weight:700;margin-bottom:7px}.kid-family-reactions>div{display:flex;gap:7px;flex-wrap:wrap}.kid-family-reactions button{font-size:1.35rem;min-width:46px;min-height:46px;border:0;border-radius:16px;background:#f6f8fc;cursor:pointer}.kid-family-reactions button:focus-visible{outline:3px solid currentColor;outline-offset:2px}@media(max-width:800px){.kid-family-moment-grid{grid-template-columns:1fr}.fk-family-memory-actions{align-items:stretch}.fk-family-quick-reactions{justify-content:space-between;flex:1}.fk-family-memory-actions form:last-child{width:100%}.fk-family-memory-actions form:last-child button{width:100%}}


/* 4.12.2 · Familienrituale & Wochengefühl */
.fk-ritual-today{display:grid;gap:.65rem;margin:.8rem 0}.fk-ritual-today>div{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .8rem;border-radius:16px;background:rgba(255,255,255,.62)}.fk-ritual-today span{font-size:1.45rem}.fk-ritual-today p{margin:0}.fk-ritual-today small{display:block;margin-top:.18rem;color:var(--muted)}
.fk-ritual-form{margin-top:1rem}.fk-ritual-list{display:grid;gap:.75rem;margin-top:1rem}.fk-ritual-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.85rem;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.fk-ritual-list h3,.fk-ritual-list p{margin:0}.fk-ritual-icon{font-size:1.7rem}.is-week-feeling{background:linear-gradient(145deg,rgba(255,250,230,.95),rgba(242,250,255,.95))}.is-ritual{background:linear-gradient(145deg,rgba(250,244,255,.95),rgba(245,255,249,.95))}
@media(max-width:640px){.fk-ritual-list article{grid-template-columns:auto minmax(0,1fr)}.fk-ritual-list article form{grid-column:1/-1}.fk-ritual-list article form .btn{width:100%}}

/* 4.12.3 – Ausflüge, Urlaube & Kurztrips */
.fk-trip-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;background:linear-gradient(135deg,rgba(63,132,113,.13),rgba(240,187,90,.16));}
.fk-trip-hero>div:first-child{max-width:760px}.fk-trip-hero-icons{font-size:clamp(2rem,6vw,4.8rem);letter-spacing:.05em;white-space:nowrap;transform:rotate(-3deg)}
.fk-trip-links .card{min-height:190px}.fk-trip-children{display:flex;flex-wrap:wrap;gap:10px}.fk-trip-children label{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line,#d7dedb);border-radius:999px;background:var(--surface,#fff)}
.fk-trip-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.fk-trip-card{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line,#d7dedb);border-radius:16px;text-decoration:none;color:inherit;background:var(--surface,#fff)}.fk-trip-card:hover,.fk-trip-card:focus-visible{border-color:currentColor}.fk-trip-card.is-active{outline:2px solid currentColor;outline-offset:2px}.fk-trip-card small,.fk-trip-card span{color:var(--muted,#64706b)}.fk-trip-type{font-weight:700}
.fk-trip-detail{margin-top:16px}.fk-trip-items{display:grid;gap:8px;margin-top:12px}.fk-trip-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line,#d7dedb);border-radius:12px}.fk-trip-item>span{display:flex;flex-direction:column;gap:2px}.fk-trip-item small{color:var(--muted,#64706b)}.fk-trip-item.is-done{opacity:.62}.fk-trip-item.is-done .fk-trip-toggle button{text-decoration:line-through}.fk-trip-toggle button{appearance:none;border:0;background:none;padding:6px 0;text-align:left;color:inherit;font:inherit;cursor:pointer}.fk-trip-danger{justify-content:space-between;margin-top:18px}.fk-trip-note{margin-top:16px}.form.compact{padding:12px;border:1px dashed var(--line,#d7dedb);border-radius:14px}.inline{display:flex;gap:8px}.inline input{flex:1}
@media(max-width:700px){.fk-trip-hero{align-items:flex-start;flex-direction:column}.fk-trip-hero-icons{font-size:2.4rem}.fk-trip-detail>.grid.two{grid-template-columns:1fr}.fk-trip-item{align-items:flex-start}.inline{flex-direction:column}.fk-trip-danger{align-items:stretch;flex-direction:column}.fk-trip-danger form,.fk-trip-danger button{width:100%}}


/* 4.12.4 – Reisemodus & Packhilfe */
.fk-trip-mode-launch{align-items:center;margin:1rem 0 1.25rem;gap:.75rem;flex-wrap:wrap}
.fk-trip-pack-help{margin:.65rem 0 1rem;border:1px solid var(--border,#dbe2ea);border-radius:16px;padding:.75rem;background:var(--surface-soft,#f8fafc)}
.fk-trip-pack-help>summary{cursor:pointer;font-weight:700}
.fk-trip-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.8rem 0}
.fk-trip-suggestions label{display:flex;gap:.65rem;align-items:flex-start;padding:.8rem;border:1px solid var(--border,#dbe2ea);border-radius:14px;background:var(--surface,#fff);cursor:pointer}
.fk-trip-suggestions label>span{display:grid;gap:.15rem}
.fk-trip-suggestions small{color:var(--muted,#64748b)}
.fk-travel-mode-hero{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(34,197,94,.09),rgba(250,204,21,.08))}
.fk-travel-mode-hero h2{font-size:clamp(1.8rem,4vw,3rem);margin:.2rem 0}
.fk-travel-mode-lead{font-size:1.08rem}
.fk-travel-mode-badge{font-size:clamp(4rem,10vw,7rem);filter:drop-shadow(0 12px 24px rgba(15,23,42,.12));transform:rotate(4deg)}
.fk-travel-mode-stats article{display:grid;gap:.2rem;align-content:start}
.fk-travel-mode-stats article>strong{font-size:2rem;line-height:1.1}
.fk-travel-mode-grid{align-items:start}
.fk-travel-pack-row{display:block}
.fk-travel-pack-row button{width:100%;text-align:left;border:0;background:transparent;padding:.4rem .2rem;font:inherit;color:inherit;cursor:pointer}
.fk-travel-pack-row.is-done button{text-decoration:line-through;opacity:.68}
@media (max-width:720px){.fk-trip-suggestions{grid-template-columns:1fr}.fk-travel-mode-hero{align-items:flex-start}.fk-travel-mode-badge{font-size:3.6rem}.fk-travel-mode-stats{grid-template-columns:1fr}.fk-travel-mode-grid{grid-template-columns:1fr}}

/* 4.13.0 Familienzentrale */
.fk-hub-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:20px;align-items:center;background:linear-gradient(135deg,rgba(255,249,235,.96),rgba(239,250,246,.98));border-color:rgba(87,126,111,.22)}
.fk-hub-balance{padding:18px;border-radius:22px;background:rgba(255,255,255,.72);display:grid;gap:6px}.fk-hub-balance strong{font-size:1.15rem}.fk-hub-balance span{color:var(--muted)}
.fk-hub-context{display:flex;align-items:center;justify-content:space-between;gap:18px}.fk-hub-context h2{margin-bottom:4px}.fk-hub-context select{min-width:210px}
.fk-hub-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.fk-hub-metrics a{display:grid;gap:3px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--card);text-decoration:none}.fk-hub-metrics b{font-size:1.05rem}.fk-hub-metrics span{font-size:.82rem;color:var(--muted)}.fk-hub-metrics a.warn{border-color:rgba(190,120,55,.38);background:rgba(255,246,225,.82)}
.fk-hub-main,.fk-hub-secondary{margin-top:14px}.fk-hub-list{display:grid;gap:8px}.fk-hub-list>a{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:11px 12px;border-radius:14px;background:var(--soft);text-decoration:none}.fk-hub-list>a.is-urgent{background:rgba(255,239,232,.82)}.fk-hub-list time,.fk-hub-list>a>span{font-weight:800}.fk-hub-list small{display:block;color:var(--muted);margin-top:2px}
.fk-hub-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.fk-hub-chips span{padding:8px 10px;border-radius:999px;background:var(--soft);font-size:.9rem}.fk-hub-chips small{color:var(--muted)}
.fk-hub-trip{display:grid;gap:3px;padding:12px;margin-top:8px;border-radius:15px;background:var(--soft);text-decoration:none}.fk-hub-trip span{color:var(--muted);font-size:.88rem}.fk-hub-quiet{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,rgba(239,250,246,.92),rgba(248,249,246,.98))}
@media(max-width:980px){.fk-hub-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.fk-hub-hero{grid-template-columns:1fr}}
@media(max-width:620px){.fk-hub-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-hub-context,.fk-hub-quiet{align-items:stretch;flex-direction:column}.fk-hub-context form{display:grid;width:100%}.fk-hub-context select{min-width:0;width:100%}.fk-hub-hero{padding:18px}.fk-hub-balance{padding:14px}}


/* 4.13.1 Familienboard */
.fk-board-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,rgba(255,244,205,.82),rgba(234,246,239,.92));overflow:hidden}.fk-board-count{min-width:150px;text-align:center;padding:18px 22px;border-radius:24px;background:rgba(255,255,255,.78);box-shadow:0 10px 28px rgba(36,52,68,.08)}.fk-board-count strong{display:block;font-size:2.4rem;line-height:1}.fk-board-count span{display:block;margin-top:7px;color:var(--muted)}.fk-board-layout{align-items:start}.fk-board-list{display:grid;gap:12px}.fk-board-note{border:1px solid var(--line);border-radius:18px;padding:15px 16px;background:var(--surface)}.fk-board-note.type-remember{border-left:5px solid #d99b36}.fk-board-note.type-bring{border-left:5px solid #6295c7}.fk-board-note.type-wish{border-left:5px solid #c47e9f}.fk-board-note.type-note{border-left:5px solid #70a27e}.fk-board-note-head,.fk-board-note-foot{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.fk-board-note-head{font-size:.86rem;color:var(--muted)}.fk-board-note p{font-size:1.04rem;line-height:1.55;margin:12px 0}.fk-board-note-foot small{color:var(--muted)}.fk-board-principles p{margin:.35rem 0 0;color:var(--muted)}
@media(max-width:720px){.fk-board-hero{align-items:flex-start;flex-direction:column}.fk-board-count{width:100%;min-width:0}.fk-board-note-foot{align-items:flex-start}}

/* 4.13.2 · Familienküche 3.0 */
.fk-food-family-hero{background:linear-gradient(135deg,rgba(255,248,232,.96),rgba(239,250,244,.96));}
.fk-food-family-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;}
.fk-food-family-stats>a{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);text-decoration:none;color:inherit;}
.fk-food-family-stats b{font-size:1.12rem}.fk-food-family-stats span{font-size:.84rem;color:var(--muted)}
.fk-food-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;overflow-x:auto;padding-bottom:4px;}
.fk-food-day{min-width:135px;border:1px solid var(--border);border-radius:16px;padding:11px;background:var(--surface-soft,#f8fafc);display:flex;flex-direction:column;gap:8px;}
.fk-food-day.today{outline:2px solid rgba(46,125,90,.25);background:rgba(236,250,243,.8)}
.fk-food-day>header{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);padding-bottom:7px}.fk-food-day>header span{color:var(--muted);font-size:.82rem}
.fk-food-meal{display:flex;flex-direction:column;gap:2px;padding:6px 0}.fk-food-meal small{color:var(--muted)}.fk-food-meal a{font-size:.82rem}
.fk-food-favorites{display:flex;flex-direction:column;gap:12px}.fk-food-favorites>article{border:1px solid var(--border);border-radius:16px;padding:12px;display:grid;gap:10px}.fk-food-favorites small{display:block;color:var(--muted);margin-top:2px}
.fk-food-quick-plan{display:grid;grid-template-columns:1.3fr 1fr .7fr auto;gap:8px;align-items:end}.fk-food-quick-plan input,.fk-food-quick-plan select{min-width:0}
.fk-food-principles{margin-top:14px}
@media(max-width:900px){.fk-food-family-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-food-week-grid{grid-template-columns:repeat(7,145px)}.fk-food-quick-plan{grid-template-columns:1fr 1fr}.fk-food-quick-plan button{grid-column:1/-1}}
@media(max-width:520px){.fk-food-family-stats{grid-template-columns:1fr 1fr}.fk-food-quick-plan{grid-template-columns:1fr}.fk-food-quick-plan button{grid-column:auto}}

/* 4.13.3 – Routinen & Kinderbeteiligung */
.fk-routine-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(226,244,239,.96),rgba(248,244,225,.92))}.fk-routine-hero>div{max-width:760px}.fk-routine-layout{align-items:start}.fk-routine-list,.fk-routine-manage{display:grid;gap:10px}.fk-routine-card,.fk-routine-manage>article{border:1px solid var(--border,#dde4ea);border-radius:16px;padding:14px;display:flex;gap:14px;justify-content:space-between;align-items:center;background:var(--surface,#fff)}.fk-routine-card.is-done{opacity:.72;background:rgba(229,245,237,.6)}.fk-routine-card h3,.fk-routine-manage h3{margin:4px 0}.fk-weekday-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.fk-weekday-checks label{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid var(--border,#dce2e8);border-radius:999px;background:var(--surface,#fff)}.fk-routine-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fk-routine-principles>div{display:grid;gap:4px}.kid-routine-card.is-done{opacity:.7}.kid-routine-action{margin-top:10px}.kid-routine-action .btn{min-height:44px}
@media(max-width:760px){.fk-routine-hero,.fk-routine-card,.fk-routine-manage>article{align-items:stretch;flex-direction:column}.fk-routine-principles{grid-template-columns:1fr}.fk-weekday-checks label{flex:1 0 72px;justify-content:center}}


/* 4.14.0 Reisen & Ausflüge 2.0 */
.fk-trip-advanced{margin-top:1.25rem;align-items:start}.fk-trip-budget-summary{display:flex;gap:.75rem;flex-wrap:wrap;margin:.5rem 0 1rem}.fk-trip-budget-summary span{padding:.65rem .8rem;border-radius:var(--radius-sm,12px);background:var(--surface-2,#f6f7f8)}.fk-trip-travel-ready{margin-top:1rem}.fk-trip-check-hints{margin:.75rem 0;padding-left:1.25rem}.fk-trip-check-hints li+li{margin-top:.4rem}.fk-trip-return{margin-top:1rem}.fk-trip-return h2{margin-top:.2rem}@media(max-width:720px){.fk-trip-budget-summary{display:grid;grid-template-columns:1fr 1fr}.fk-trip-advanced.grid.two,.fk-trip-travel-ready.grid.two{grid-template-columns:1fr}}


/* FamilienKompass 5.0 – rollenbezogener Kompass */
.fk-milestone-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:10px 14px;border:1px solid rgba(30,77,129,.18);border-radius:14px;background:rgba(255,255,255,.72);font-weight:700}.fk-milestone-banner a{text-decoration:none}.fk-compass-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f3f8ff 58%,#fff5d9 100%)}.fk-compass-hero.partner{background:linear-gradient(135deg,#fff 0%,#eef9f5 60%,#f6fbff 100%)}.fk-compass-mark{display:grid;place-items:center;width:116px;height:116px;border-radius:32px;background:#173761;color:#fff;font-size:32px;font-weight:900;box-shadow:0 18px 40px rgba(20,52,92,.18)}.fk-compass-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.fk-compass-card{display:flex;flex-direction:column;min-height:280px}.fk-compass-icon{font-size:38px}.fk-compass-card h2{margin:.45rem 0}.fk-compass-links{display:grid;gap:8px;margin-top:auto;padding-top:14px}.fk-compass-links a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(24,58,101,.06);text-decoration:none;font-weight:700}.fk-compass-principles{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);gap:22px;align-items:center;margin-top:18px}.fk-compass-pills{display:flex;flex-wrap:wrap;gap:8px}.fk-compass-pills span{padding:8px 10px;border-radius:999px;background:rgba(30,77,129,.08);font-weight:700;font-size:.92rem}@media(max-width:900px){.fk-compass-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-compass-principles{grid-template-columns:1fr}}@media(max-width:620px){.fk-compass-hero{grid-template-columns:1fr}.fk-compass-mark{width:82px;height:82px;border-radius:24px;font-size:24px}.fk-compass-grid{grid-template-columns:1fr}.fk-compass-card{min-height:0}.fk-milestone-banner{align-items:flex-start;flex-direction:column}}

/* 5.0.1 – rollenbezogener Schnellstart und ausschließlich browserlokale letzte Wege */
.fk-compass-now{margin:18px 0}.fk-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.fk-section-head h2{margin:.2rem 0}.fk-section-head p{margin:.25rem 0 0;color:var(--muted,#64748b)}.fk-compass-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.fk-compass-action{display:flex;gap:14px;padding:17px;border:1px solid rgba(41,72,110,.14);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,250,255,.92))}.fk-compass-action-icon{font-size:1.65rem;line-height:1}.fk-compass-action h3{margin:0 0 6px;font-size:1rem}.fk-compass-action p{margin:0 0 9px;color:var(--muted,#64748b);line-height:1.5}.fk-compass-action a{font-weight:750;text-decoration:none}.fk-compass-recent{margin:18px 0}.fk-compass-recent-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.fk-compass-recent-link{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:13px 14px;border:1px solid rgba(41,72,110,.14);border-radius:15px;text-decoration:none;background:rgba(248,250,252,.9)}.fk-compass-recent-link strong{grid-column:1}.fk-compass-recent-link small{grid-column:1;color:var(--muted,#64748b)}.fk-compass-recent-link>span{grid-column:2;grid-row:1/3;font-size:1.2rem}.fk-compass-recent-link:hover,.fk-compass-recent-link:focus-visible{border-color:rgba(48,103,178,.45);background:#fff}.fk-compass-recent[hidden]{display:none!important}
@media(max-width:820px){.fk-compass-action-grid{grid-template-columns:1fr}.fk-compass-recent-list{grid-template-columns:1fr 1fr}.fk-section-head{align-items:stretch}.fk-section-head .btn{align-self:flex-start}}
@media(max-width:520px){.fk-compass-recent-list{grid-template-columns:1fr}.fk-compass-action{padding:14px}.fk-section-head{display:block}.fk-section-head .btn{margin-top:10px}}

/* 5.0.2 – tageszeitbezogener Familienstart */
.fk-compass-daypart{position:relative;overflow:hidden}.fk-compass-daypart:before{content:"";position:absolute;right:-70px;top:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.35);pointer-events:none}.fk-compass-daypart[data-fk-daypart="morning"]{background:linear-gradient(145deg,#fffaf0,#fff,#f2f8ff)}.fk-compass-daypart[data-fk-daypart="midday"]{background:linear-gradient(145deg,#fff,#f7fbff,#fff9e8)}.fk-compass-daypart[data-fk-daypart="afternoon"]{background:linear-gradient(145deg,#fff,#f4fbf7,#fff8ee)}.fk-compass-daypart[data-fk-daypart="evening"]{background:linear-gradient(145deg,#f8f7ff,#fff,#f6fbff)}.fk-compass-daypart[data-fk-daypart="quiet"]{background:linear-gradient(145deg,#f5faf7,#fff,#f8fafc)}.fk-compass-daypart-badge{display:grid;place-items:center;min-width:56px;width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(26,55,88,.08);font-size:1.8rem}.fk-compass-privacy-note{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(41,72,110,.12);color:var(--muted,#64748b);font-size:.9rem}.fk-compass-daypart .fk-compass-action{background:rgba(255,255,255,.84);backdrop-filter:blur(5px)}@media(max-width:620px){.fk-compass-daypart-badge{display:none}.fk-compass-privacy-note{font-size:.84rem}}


/* 5.0.3 – persönliche Schnellwege & temporärer Fokusmodus */
.fk-compass-pinned{margin:18px 0;border-color:rgba(238,171,45,.28);background:linear-gradient(145deg,#fffdf7,#fff)}
.fk-compass-pinned-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.fk-compass-pinned-link{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:13px 14px;border:1px solid rgba(41,72,110,.14);border-radius:15px;text-decoration:none;background:#fff}
.fk-compass-pinned-link strong{grid-column:1}.fk-compass-pinned-link small{grid-column:1;color:var(--muted,#64748b)}.fk-compass-pinned-link>span{grid-column:2;grid-row:1/3;font-size:1.2rem}
.fk-compass-pin{appearance:none;border:0;background:transparent;color:#b47500;font-size:1.25rem;line-height:1;cursor:pointer;padding:5px;border-radius:8px;vertical-align:middle;margin-left:4px}
.fk-compass-pin:hover,.fk-compass-pin:focus-visible{background:rgba(238,171,45,.12);outline:2px solid rgba(180,117,0,.28);outline-offset:1px}
.fk-compass-links a+.fk-compass-pin,.fk-compass-action a+.fk-compass-pin{align-self:center}
.fk-focus-note{margin-top:18px;background:linear-gradient(145deg,#f4faf6,#fff);border-color:rgba(44,122,80,.2)}
.fk-focus-note h2{margin:.25rem 0}.fk-focus-note p{margin-bottom:0;color:var(--muted,#64748b)}
@media(max-width:820px){.fk-compass-pinned-list{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fk-compass-pinned-list{grid-template-columns:1fr}.fk-compass-pin{min-width:38px;min-height:38px}}

/* 5.1.0 · App-Erlebnis & PWA 1.0 */
@media(max-width:980px){
  body:is(.family-portal,.partner-area,.partner-portal,.professional-portal){padding-top:0}
  .fk-mobile-topbar{display:flex}
  .fk-mobile-dock{display:grid}
  .fk-mobile-dock [aria-current="page"]{background:#eef1ff;color:#3449b5;font-weight:900}
  .fk-mobile-brand b{max-width:min(48vw,270px)}
  .content-top .mobile-nav-toggle{display:none!important}
  body.is-offline .fk-mobile-topbar{box-shadow:0 8px 24px rgba(154,101,30,.18)}
}
@media(max-width:390px){
  .fk-mobile-dock{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:5px}
  .fk-mobile-dock a,.fk-mobile-dock button{min-height:52px;padding:3px 2px}
  .fk-mobile-dock small{max-width:100%;overflow:hidden;text-overflow:ellipsis}
}
@media(display-mode:standalone){
  .content{padding-bottom:calc(var(--fk-mobile-dock-space,112px) + env(safe-area-inset-bottom))}
  a,button{-webkit-touch-callout:none}
}


/* 5.1.1 – Mobile-UX-Praxissprint */
.fk-mobile-backtop,.fk-mobile-formbar{display:none}
@media(max-width:760px){
  :root{--fk-mobile-formbar-space:0px}
  html{scroll-padding-top:76px;scroll-padding-bottom:calc(var(--fk-mobile-dock-space) + var(--fk-mobile-formbar-space))}
  [id]{scroll-margin-top:76px}
  .content{padding-bottom:calc(var(--fk-mobile-dock-space) + var(--fk-mobile-formbar-space) + env(safe-area-inset-bottom))}
  .content-top-tools .top-tool-btn span{font-size:11px}
  .workspace-guide{border-radius:16px;padding:12px 14px}
  .workspace-guide.is-collapsed{padding-top:10px;padding-bottom:10px}
  .section-head{gap:10px}.section-head h2{line-height:1.2}
  .form>label,.form>.field,.form-grid>label{min-width:0}
  .form input,.form select,.form textarea{width:100%;max-width:100%}
  .actions>.btn,.actions>button{justify-content:center;text-align:center}
  .fk-mobile-backtop{display:grid;position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:1004;place-items:center;width:46px;height:46px;min-height:46px;border-radius:50%;border:1px solid rgba(213,222,237,.95);background:rgba(255,255,255,.97);color:#173761;box-shadow:0 10px 30px rgba(20,43,78,.18);font-size:22px;font-weight:900;backdrop-filter:blur(14px)}
  .fk-mobile-backtop[hidden]{display:none!important}
  .fk-mobile-formbar{display:grid;position:fixed;left:10px;right:10px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:1003;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px 9px 13px;border:1px solid rgba(213,222,237,.96);border-radius:17px;background:rgba(255,255,255,.98);box-shadow:0 14px 42px rgba(20,43,78,.18);backdrop-filter:blur(18px)}
  .fk-mobile-formbar[hidden]{display:none!important}
  .fk-mobile-formbar-info{overflow:hidden;color:#526078;font-size:12px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}
  .fk-mobile-formbar button{min-height:44px;max-width:52vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.fk-mobile-formbar-visible{--fk-mobile-formbar-space:64px}
  body.fk-keyboard-open .fk-mobile-dock,body.fk-keyboard-open .fk-mobile-backtop,body.fk-keyboard-open .fk-mobile-formbar{opacity:0;pointer-events:none;transform:translateY(120%)}
  body.fk-keyboard-open .content{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  body.fk-keyboard-open .fk-mobile-topbar{box-shadow:0 3px 14px rgba(14,27,52,.11)}
  .fk-mobile-dock,.fk-mobile-formbar,.fk-mobile-backtop{transition:opacity .16s ease,transform .16s ease}
}
@media(max-width:420px){
  .fk-mobile-formbar{left:6px;right:6px;bottom:calc(77px + env(safe-area-inset-bottom));border-radius:15px}
  .fk-mobile-formbar-info{display:none}.fk-mobile-formbar{grid-template-columns:1fr}.fk-mobile-formbar button{width:100%;max-width:none}
  .fk-mobile-backtop{right:10px;bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.fk-mobile-dock,.fk-mobile-formbar,.fk-mobile-backtop{transition:none}}

/* 5.1.2 · Mobile Kernabläufe 2.0 */
.fk-mobile-quickbar{display:none}
@media(max-width:760px){
  body.fk-mobile-core-flow .content{scroll-padding-top:118px}
  .fk-mobile-quickbar{display:block;position:sticky;top:calc(env(safe-area-inset-top) + 54px);z-index:37;margin:-2px -2px 12px;padding:7px 2px;background:linear-gradient(to bottom,rgba(248,250,253,.98),rgba(248,250,253,.92));backdrop-filter:blur(12px);border-bottom:1px solid rgba(29,55,88,.1)}
  .fk-mobile-quickbar[hidden]{display:none!important}
  .fk-mobile-quickbar-inner{display:flex;gap:7px;overflow-x:auto;padding:0 2px 3px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .fk-mobile-quickbar-inner::-webkit-scrollbar{display:none}
  .fk-mobile-quickaction{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;border:1px solid rgba(41,72,110,.16);border-radius:999px;background:#fff;color:var(--text,#1f2b3a);font-weight:800;text-decoration:none;box-shadow:0 4px 14px rgba(35,62,94,.05)}
  .fk-mobile-quickaction.primary{background:#173761;color:#fff;border-color:#173761}
  .fk-mobile-core-flow :is(#task-form,#planner-open,#planner-checklists,#board-new,#board-current,#routines-today,#routines-new,#routines-all,#food-week,#food-favorites,#mitentscheiden,#food-plan,#food-stock,#food-shopping,#trip-detail,#trip-dayplan,#trip-pack,#trip-more){scroll-margin-top:120px}
  .planner-task-actions,.fk-routine-card>.actions,.fk-trip-item{gap:8px}
  .planner-task-actions .btn,.planner-task-actions button{min-height:44px}
  .fk-trip-item>.fk-trip-toggle{min-width:0;flex:1}
  .fk-trip-item>.fk-trip-toggle button{width:100%;text-align:left;min-height:44px}
  .fk-food-quick-plan button,.fk-routine-card form button,.fk-board-note-foot form button{min-height:44px}
}

/* 5.3.0: persistent update choice, never covering an active form. */
.fk-pwa-update{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;margin:0 0 16px;border:1px solid #c6d7eb;border-radius:14px;background:#edf5ff;color:#15233c;overflow-wrap:anywhere}
.fk-pwa-update[hidden]{display:none!important}
.fk-pwa-update p{flex:1 1 240px;margin:0;line-height:1.5}
.fk-pwa-update button{min-height:44px;white-space:normal}
@media(max-width:480px){.fk-pwa-update{padding:12px}.fk-pwa-update p{flex-basis:100%}.fk-pwa-update button{flex:1 1 110px}}
@media print{.fk-pwa-update{display:none!important}}
