:root{--ink:#163c43;--muted:#506469;--bg:#f4f7f5;--line:#d4e0dc;--accent:#23665b;--pale:#e8f1ed;--warn:#fff2dc;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#12594b;text-underline-offset:3px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:10px 16px;min-height:46px;text-decoration:none;display:inline-block}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);border-color:var(--accent);color:white}.secondary{background:var(--pale)}button:hover,.button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c17518;outline-offset:3px}[hidden]{display:none!important}.top{background:var(--white);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px max(24px,calc((100vw - 1240px)/2))}.brand{font-size:23px;font-weight:750;text-decoration:none;white-space:nowrap}.brand>span{font-size:36px;vertical-align:middle}.brand small{display:block;margin-left:42px;font-size:14px;font-weight:500;color:var(--muted)}.top-actions{display:flex;gap:20px;align-items:center;font-size:16px}main{max-width:1240px;margin:auto;padding:34px 24px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:10px;background:white;z-index:10}h1,h2,h3{line-height:1.18;margin:0 0 18px}h1{font-size:clamp(32px,4vw,48px);font-weight:730;letter-spacing:-1.2px}h2{font-size:27px}h3{font-size:21px}p{margin:0 0 18px}.lead{font-size:22px}.eyebrow{font-size:13px;font-weight:800;letter-spacing:1.6px;display:block;margin-bottom:15px;color:var(--accent)}.small,small{font-size:14px;color:var(--muted)}.auth-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;min-height:65vh}.intro{padding:20px 0}.card{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:27px;margin-bottom:22px;box-shadow:0 3px 10px #163c4305}.two-col,.three-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.three-col{grid-template-columns:repeat(3,1fr)}label{display:block;font-size:16px;font-weight:650;margin-bottom:18px}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:11px 12px;margin-top:7px;border:1px solid #a8bbb5;border-radius:9px;background:white;color:var(--ink);font-size:18px;min-width:0}textarea{resize:vertical;min-height:94px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:450}.check input{width:21px;height:21px;flex:none;margin-top:4px}.hero,.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.safety{background:var(--warn);border-left:5px solid #ba7421;border-radius:9px;padding:18px 22px;margin-bottom:22px;font-size:16px}.safety strong{display:block;margin-bottom:5px}.notice{background:var(--pale);border:1px solid var(--line);padding:17px 20px;border-radius:10px;margin-bottom:23px}.notice.error{background:#ffeded;color:#752c2c}.tabs{display:flex;gap:7px;overflow-x:auto;margin:26px 0 30px;padding-bottom:8px;border-bottom:1px solid var(--line)}.tabs button{white-space:nowrap;border-color:transparent;background:transparent}.tabs .selected{background:var(--ink);color:white}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric{padding:20px;border-radius:13px;border:1px solid var(--line);background:#fff}.metric strong{display:block;font-size:32px;line-height:1.2}.metric span{font-size:14px;line-height:1.4;color:var(--muted);display:block;margin-top:8px}.record{border-left:4px solid #80a395}.record h3{margin-bottom:10px;overflow-wrap:anywhere}.record .meta{font-size:14px;color:var(--muted);margin-bottom:14px}.record .body{white-space:pre-wrap;overflow-wrap:anywhere}.record-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.record-actions button{font-size:14px;min-height:40px;padding:6px 12px}.badge{display:inline-block;border-radius:30px;background:var(--pale);padding:3px 9px;font-size:13px;margin:0 6px 6px 0;vertical-align:middle}.empty{color:var(--muted);border:1px dashed #adbfba;border-radius:12px;padding:22px;margin:15px 0}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.calendar-head h3{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:28px}.calendar-day{min-height:90px;background:white;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:15px}.calendar-day.today{border:2px solid var(--accent)}.calendar-day.outside{opacity:.45}.weekday{text-align:center;font-size:13px;font-weight:700}.calendar-dot{display:block;border-radius:4px;background:var(--pale);font-size:11px;line-height:1.35;padding:4px;margin-top:4px;overflow:hidden;overflow-wrap:anywhere}.audit-row{font-size:13px;border-bottom:1px solid var(--line);padding:8px 0;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);margin-top:42px;padding-top:22px;font-size:13px;color:var(--muted)}footer p{margin-bottom:9px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}dialog{border:0;border-radius:18px;max-width:780px;width:calc(100% - 28px);max-height:90vh;padding:28px;box-shadow:0 18px 70px #14372f33;color:var(--ink)}dialog::backdrop{background:#12332f88}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.dialog-head h2{margin:0}details summary{cursor:pointer;font-weight:700}.guide{max-width:850px}.guide .hero{display:block}.guide h1{max-width:720px}.guide p{max-width:70ch}.guide .number{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--accent)}.source-links{font-size:14px}.nowrap{white-space:nowrap}.print-only{display:none}@media(max-width:850px){.auth-grid{grid-template-columns:1fr;gap:20px}.two-col{grid-template-columns:1fr;gap:0}.three-col{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.hero,.section-head{align-items:flex-start;flex-direction:column}.top{padding:14px 18px}.top-actions{font-size:14px;gap:12px}.brand{font-size:20px}.calendar-day{min-height:78px;padding:5px}.calendar-dot{font-size:10px}main{padding:26px 16px}.card{padding:22px}.tabs{margin-top:20px}.guide .card h2{font-size:25px}}@media(max-width:420px){.brand small{font-size:12px}.top-actions>a{max-width:80px;line-height:1.3}.calendar-day{min-height:68px}.calendar-dot{max-height:30px}.metrics{gap:10px}.metric{padding:15px}}@media print{body{background:white;color:black;font-size:12pt}.top,.hero,.safety,.tabs,.notice,.panel,footer,button,dialog{display:none!important}#workspace,#panel-summary,#summary{display:block!important}main{padding:0;max-width:none}.card{border:0;box-shadow:none;padding:0}.record{break-inside:avoid;padding:12px 0}.record-actions{display:none!important}a{color:black;text-decoration:none}.small,small{font-size:10pt}}

/* INFINITY FAMILY · FUTURE R5 · visual layer inspired by INFINITY Dental */
.family-shell{
  --ink:#eaf8ff;--muted:#8db6ca;--bg:#04101c;--line:#155486;--accent:#25d6ff;--pale:#0b2942;
  --warn:#3b2a12;--white:#0a2844;--panel:#071b2f;--panel-2:#0a2742;--cyan:#25d6ff;--blue:#2878ff;
  min-height:100vh;background:
    radial-gradient(circle at 78% -10%,#0e3d69 0,#082746 28%,transparent 50%),
    radial-gradient(circle at 0 20%,#0b3552 0,transparent 36%),
    linear-gradient(180deg,#06182b 0,#04101c 100%);
  color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;position:relative;isolation:isolate;
}
.family-shell::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:
  linear-gradient(#31cfff0a 1px,transparent 1px),linear-gradient(90deg,#31cfff0a 1px,transparent 1px);
  background-size:44px 44px;mask-image:linear-gradient(to bottom,#000 0,transparent 78%)}
.family-shell a{color:#8feaff}.family-shell a:hover{color:#c9f7ff}
.family-shell .top{height:74px;padding:0 max(22px,calc((100vw - 1420px)/2));background:#061729e8;border-bottom:1px solid #17496e;
  backdrop-filter:blur(18px);position:sticky;top:0;z-index:40;box-shadow:0 12px 38px #00111f55}
.family-shell .brand{color:#f4fbff;font-weight:900;letter-spacing:.025em;font-size:22px}
.family-shell .brand>span{color:var(--cyan);text-shadow:0 0 22px #21d8ff88}
.family-shell .brand small{color:#80b8d2;font-weight:600;letter-spacing:.04em}
.family-shell .top-actions{font-size:14px}.family-shell .top-actions>a{color:#9acde1;text-decoration:none}.family-shell .top-actions>a:hover{color:#d8f8ff}
.family-shell main{max-width:1420px;padding:28px 24px 46px}
.family-shell h1,.family-shell h2,.family-shell h3{color:#f3fbff}.family-shell h1{font-weight:850;letter-spacing:-1.5px}
.family-shell .lead{color:#afd1e0}.family-shell .eyebrow{color:#55deff;letter-spacing:1.9px}
.family-shell .small,.family-shell small{color:#7fa8bd}
.family-shell button,.family-shell .button{border:1px solid #1b5b88;background:linear-gradient(180deg,#0d3252,#0a2742);color:#eaf8ff;
  border-radius:10px;box-shadow:inset 0 1px #55dfff18,0 7px 22px #00111f40;transition:.18s ease}
.family-shell button:hover,.family-shell .button:hover{filter:none;border-color:#2baee1;transform:translateY(-1px);box-shadow:0 0 24px #0fbfff28,0 10px 24px #00111f55}
.family-shell .primary{background:linear-gradient(135deg,#168ed0,#256dff);border-color:#38c8ff;box-shadow:0 0 26px #0dbfff34,0 8px 24px #00111f55}
.family-shell .secondary{background:#0b2a45;color:#bfefff}
.family-shell button:focus-visible,.family-shell a:focus-visible,.family-shell input:focus-visible,.family-shell textarea:focus-visible,.family-shell select:focus-visible{outline:2px solid #4fe3ff;outline-offset:3px}
.family-shell .hero{padding:22px 24px;margin:0 0 18px;border:1px solid #185d8c;border-radius:18px;background:
  linear-gradient(100deg,#0a2a48f5,#071c31ee 64%,#0b3150dd);box-shadow:0 22px 72px #00111f55,inset 0 1px #6de4ff18}
.family-shell .hero h1{font-size:clamp(30px,4vw,46px);margin-bottom:8px}.family-shell .hero .eyebrow{margin-bottom:8px}
.family-shell .safety{background:linear-gradient(100deg,#352510e8,#1d2230e8);border:1px solid #805b24;border-left:4px solid #ffc15b;color:#ffedc5;
  box-shadow:0 14px 42px #0008;border-radius:12px}.family-shell .safety a{color:#ffd483}
.family-shell .notice{background:linear-gradient(180deg,#0b2c48,#08243b);border:1px solid #194f76;color:#c8e7f3;box-shadow:inset 0 1px #5de7ff12}
.family-shell .notice.error{background:#401a24;border-color:#813246;color:#ffd7df}
.family-shell .tabs{position:sticky;top:74px;z-index:32;padding:10px;margin:0 0 24px;background:#051728e8;border:1px solid #133e5d;border-radius:14px;
  backdrop-filter:blur(16px);box-shadow:0 12px 34px #00111f44;gap:6px}
.family-shell .tabs button{background:transparent;border:1px solid transparent;color:#8eb9cf;min-height:42px;padding:8px 13px;box-shadow:none}
.family-shell .tabs button:hover{transform:none;background:#0a2a45;border-color:#164e75;color:#d7f5ff;box-shadow:none}
.family-shell .tabs .selected{background:linear-gradient(135deg,#0e547c,#147fd2);border-color:#33ccff;color:#fff;box-shadow:0 0 22px #14c7ff31}
.family-shell .panel{animation:familyFade .22s ease}@keyframes familyFade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.family-shell .card,.family-shell .metric{background:linear-gradient(180deg,rgba(10,40,68,.97),rgba(6,27,48,.97));border:1px solid #155486;
  box-shadow:0 20px 68px #00111f55,inset 0 1px #45d9ff16;border-radius:16px}
.family-shell .card{padding:24px}.family-shell .record{border-left:3px solid #25d6ff}
.family-shell .metric{position:relative;overflow:hidden}.family-shell .metric::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;
  right:-34px;top:-38px;background:#25d6ff0d;box-shadow:0 0 40px #25d6ff16}.family-shell .metric strong{color:#4ee3ff;text-shadow:0 0 18px #22cfff30}
.family-shell .metric span,.family-shell .record .meta{color:#85aec2}
.family-shell .badge{background:#0a3150;border:1px solid #175c87;color:#9ee7ff}
.family-shell .empty{color:#82aabc;border-color:#225879;background:#071b2e}
.family-shell input:not([type=checkbox]),.family-shell select,.family-shell textarea{background:#071c30;border:1px solid #1c5276;color:#e9f8ff;box-shadow:inset 0 1px 8px #00111f55}
.family-shell input::placeholder,.family-shell textarea::placeholder{color:#648da2}
.family-shell select option{background:#071c30;color:#eaf8ff}
.family-shell label{color:#c6e2ee}
.family-shell .calendar-head h3{color:#dff7ff}.family-shell .calendar-day{background:#071d31;border-color:#154c72;color:#d7f4ff}
.family-shell .calendar-day.today{border-color:#2ddcff;box-shadow:0 0 18px #20d8ff2e}.family-shell .calendar-dot{background:#0a3150;color:#a9e9fb}
.family-shell .weekday{color:#78a8bf}.family-shell .audit-row{border-color:#163f5d;color:#91b6c8}
.family-shell hr,.family-shell footer{border-color:#153f5e}.family-shell footer{color:#6f99ad}
.family-shell dialog{background:linear-gradient(180deg,#0a2a48,#06192d);color:#eaf8ff;border:1px solid #1a5f8f;box-shadow:0 30px 90px #000b}
.family-shell dialog::backdrop{background:#020b13c9;backdrop-filter:blur(4px)}
.family-shell details summary{color:#d7f4ff}
.family-shell #panel-wellbeing>.section-head{padding:22px 24px;border:1px solid #1a618a;border-radius:16px;background:
  radial-gradient(circle at 92% 0,#0f5d6b55,transparent 34%),linear-gradient(135deg,#0a3048,#071c31);box-shadow:0 18px 55px #00111f55}
.family-shell #panel-wellbeing .card h3{color:#71e6ff}.family-shell #panel-wellbeing .notice strong{color:#e7fbff}
.family-shell #panel-wellbeing ul{padding-left:22px}.family-shell #panel-wellbeing li{margin-bottom:8px}
.family-shell .auth-grid .intro{padding:42px 20px}.family-shell #auth>.card{box-shadow:0 24px 90px #00111f88,0 0 0 1px #26cfff0b}
@media(max-width:850px){
  .family-shell main{padding:18px 12px 32px}.family-shell .top{height:auto;min-height:66px;padding:10px 14px}.family-shell .tabs{top:66px;border-radius:12px}
  .family-shell .hero{padding:18px}.family-shell .card{padding:19px}.family-shell .top-actions{gap:9px}
}
@media(max-width:560px){
  .family-shell .top-actions>a{display:none}.family-shell .hero-actions{width:100%}.family-shell .hero-actions button{flex:1}
  .family-shell .tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.family-shell .tabs button{white-space:normal;min-height:46px}
  .family-shell .metrics{grid-template-columns:1fr 1fr}
}
@media print{
  .family-shell{background:#fff!important;color:#000!important}.family-shell .card{background:#fff!important;border-color:#bbb!important;color:#000!important;box-shadow:none!important}
}

/* INFINITY FAMILY · WARM R6 · optional user-selectable view */
.family-shell .theme-switcher{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;color:#8eb9cf}
.family-shell .theme-switcher span{white-space:nowrap}
.family-shell .theme-switcher select{width:auto;min-width:158px;margin:0;padding:7px 30px 7px 10px;min-height:38px;font-size:13px;border-radius:999px}

.family-shell.family-theme-warm{
  --ink:#fff3f0;--muted:#c7aeb8;--bg:#0f0f20;--line:#5a3b5f;--accent:#ff826f;--pale:#30223b;
  --warn:#4a3219;--white:#1b1830;--panel:#151329;--panel-2:#211a38;--cyan:#53e6dd;--blue:#8676ff;
  background:
    radial-gradient(circle at 82% -8%,#743e5c66 0,#31223f55 28%,transparent 48%),
    radial-gradient(circle at 8% 28%,#0f716c44 0,transparent 33%),
    linear-gradient(180deg,#17142a 0,#0f1020 58%,#0d111d 100%);
}
.family-shell.family-theme-warm::before{opacity:.13;background-image:linear-gradient(#ff9a840b 1px,transparent 1px),linear-gradient(90deg,#5ce9df09 1px,transparent 1px)}
.family-shell.family-theme-warm a{color:#80e7df}.family-shell.family-theme-warm a:hover{color:#c9fffa}
.family-shell.family-theme-warm .top{background:#151329ed;border-bottom-color:#563552;box-shadow:0 12px 38px #07061170}
.family-shell.family-theme-warm .brand>span{color:#55e5dc;text-shadow:0 0 24px #4de3d77a}
.family-shell.family-theme-warm .brand small{color:#c5a7b6}
.family-shell.family-theme-warm .top-actions>a{color:#c8aebe}.family-shell.family-theme-warm .top-actions>a:hover{color:#ffe1dc}
.family-shell.family-theme-warm .theme-switcher{color:#ccb2bf}
.family-shell.family-theme-warm .theme-switcher select{background:#211a38;border-color:#654360;color:#fff2ef}
.family-shell.family-theme-warm h1,.family-shell.family-theme-warm h2,.family-shell.family-theme-warm h3{color:#fff6f3}
.family-shell.family-theme-warm .lead{color:#dac1c8}.family-shell.family-theme-warm .eyebrow{color:#ff9d87}
.family-shell.family-theme-warm .small,.family-shell.family-theme-warm small{color:#b99eac}
.family-shell.family-theme-warm button,.family-shell.family-theme-warm .button{border-color:#64435f;background:linear-gradient(180deg,#2a2142,#211a38);color:#fff3ef;box-shadow:inset 0 1px #ffd4ca12,0 8px 24px #09071255}
.family-shell.family-theme-warm button:hover,.family-shell.family-theme-warm .button:hover{border-color:#f58b7c;box-shadow:0 0 22px #ff806c25,0 10px 26px #07061170}
.family-shell.family-theme-warm .primary{background:linear-gradient(135deg,#f06f64,#9b62d5);border-color:#ff9e8b;box-shadow:0 0 28px #ff7b682c,0 9px 28px #07061170}
.family-shell.family-theme-warm .secondary{background:#28203d;color:#f1ccd0}
.family-shell.family-theme-warm button:focus-visible,.family-shell.family-theme-warm a:focus-visible,.family-shell.family-theme-warm input:focus-visible,.family-shell.family-theme-warm textarea:focus-visible,.family-shell.family-theme-warm select:focus-visible{outline-color:#ffb29f}
.family-shell.family-theme-warm .hero{border-color:#6b4565;background:radial-gradient(circle at 92% 10%,#ff7e6431,transparent 30%),radial-gradient(circle at 76% 70%,#59dfd829,transparent 32%),linear-gradient(105deg,#211a3b,#17142d 66%,#29203b);box-shadow:0 22px 72px #08061170,inset 0 1px #ffd3c418}
.family-shell.family-theme-warm .safety{background:linear-gradient(100deg,#49301d,#292032);border-color:#8d5a3d;border-left-color:#ffad66;color:#ffe1bd;box-shadow:0 14px 42px #07061188}
.family-shell.family-theme-warm .safety a{color:#ffd090}
.family-shell.family-theme-warm .notice{background:linear-gradient(180deg,#29203c,#201a34);border-color:#63435f;color:#ead5d8;box-shadow:inset 0 1px #ffe0d610}
.family-shell.family-theme-warm .tabs{background:#131225ed;border-color:#50354f;box-shadow:0 12px 34px #08061166}
.family-shell.family-theme-warm .tabs button{color:#bca2b0}.family-shell.family-theme-warm .tabs button:hover{background:#271f3b;border-color:#64435f;color:#ffe2dc}
.family-shell.family-theme-warm .tabs .selected{background:linear-gradient(135deg,#e96e64,#875fd0);border-color:#ff9a85;color:#fff;box-shadow:0 0 24px #ff806932}
.family-shell.family-theme-warm .card,.family-shell.family-theme-warm .metric{background:linear-gradient(180deg,rgba(34,27,55,.98),rgba(22,20,42,.98));border-color:#5a3c5a;box-shadow:0 20px 68px #07061166,inset 0 1px #ffd4c814}
.family-shell.family-theme-warm .record{border-left-color:#ff8d78}
.family-shell.family-theme-warm .metric::after{background:#ff8d7810;box-shadow:0 0 42px #ff8d7818}
.family-shell.family-theme-warm .metric strong{color:#65e5dc;text-shadow:0 0 18px #62e5db28}
.family-shell.family-theme-warm .metric span,.family-shell.family-theme-warm .record .meta{color:#b79dab}
.family-shell.family-theme-warm .badge{background:#35253d;border-color:#6a4663;color:#ffc0b2}
.family-shell.family-theme-warm .empty{color:#b79dab;border-color:#60435c;background:#18162a}
.family-shell.family-theme-warm input:not([type=checkbox]),.family-shell.family-theme-warm select,.family-shell.family-theme-warm textarea{background:#17152a;border-color:#5c3e59;color:#fff4f1;box-shadow:inset 0 1px 8px #07061170}
.family-shell.family-theme-warm input::placeholder,.family-shell.family-theme-warm textarea::placeholder{color:#8f7584}
.family-shell.family-theme-warm select option{background:#18162b;color:#fff4f1}
.family-shell.family-theme-warm label{color:#e6cbd1}
.family-shell.family-theme-warm .calendar-day{background:#18162b;border-color:#51384f;color:#f8e6e8}
.family-shell.family-theme-warm .calendar-day.today{border-color:#ff957f;box-shadow:0 0 18px #ff8e782d}
.family-shell.family-theme-warm .calendar-dot{background:#35253d;color:#ffc7bb}
.family-shell.family-theme-warm .weekday{color:#b89cab}.family-shell.family-theme-warm .audit-row{border-color:#4d354d;color:#bca4af}
.family-shell.family-theme-warm hr,.family-shell.family-theme-warm footer{border-color:#4c344a}.family-shell.family-theme-warm footer{color:#a68b99}
.family-shell.family-theme-warm dialog{background:linear-gradient(180deg,#28203e,#17142c);border-color:#684562;box-shadow:0 30px 90px #07050dcc}
.family-shell.family-theme-warm #panel-wellbeing>.section-head{border-color:#744a69;background:radial-gradient(circle at 90% 0,#ff7f6540,transparent 32%),radial-gradient(circle at 72% 82%,#5adfd62a,transparent 34%),linear-gradient(135deg,#2a2140,#17152d);box-shadow:0 18px 55px #07061170}
.family-shell.family-theme-warm #panel-wellbeing .card h3{color:#ffac98}
.family-shell.family-theme-warm #panel-wellbeing .notice strong{color:#fff3ef}
@media(max-width:850px){.family-shell .theme-switcher span{display:none}.family-shell .theme-switcher select{min-width:132px;max-width:150px}}
@media(max-width:560px){.family-shell .theme-switcher{margin-left:auto}.family-shell .theme-switcher select{min-width:118px;max-width:128px;font-size:12px;padding-left:8px}}

/* INFINITY FAMILY HEALTH R7 · operational + visual components */
.family-shell .today-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px;margin-bottom:20px;border:1px solid #1b608d;border-radius:18px;background:radial-gradient(circle at 88% 5%,#25d6ff20,transparent 30%),linear-gradient(135deg,#0a3048,#071b2f);box-shadow:0 20px 62px #00111f55}
.family-shell.family-theme-warm .today-hero{border-color:#744a69;background:radial-gradient(circle at 88% 5%,#ff8a732b,transparent 32%),radial-gradient(circle at 72% 85%,#55e3da20,transparent 34%),linear-gradient(135deg,#2a2140,#17152d)}
.family-shell .today-actions{display:flex;gap:10px;flex-wrap:wrap}.family-shell .today-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px;margin-bottom:20px}.family-shell .today-grid .card{margin-bottom:0}
.family-shell .inspiration-strip{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:24px;overflow:hidden;padding:0!important;align-items:stretch}.family-shell .inspiration-strip img{width:100%;height:100%;min-height:220px;object-fit:cover}.family-shell .inspiration-strip>div{padding:26px 28px;align-self:center}
.family-shell .wellbeing-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 24px}.family-shell .photo-card{position:relative;overflow:hidden;border-radius:16px;min-height:230px;border:1px solid #245f82;background:#071b2f;box-shadow:0 18px 52px #00111f55}.family-shell .photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.family-shell .photo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#03111de8 100%)}.family-shell .photo-card>div{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.family-shell .photo-card strong{display:block;font-size:18px;color:#fff}.family-shell .photo-card span{font-size:13px;color:#d6edf6}
.family-shell.family-theme-warm .photo-card{border-color:#744a69}.family-shell.family-theme-warm .photo-card::after{background:linear-gradient(180deg,transparent 20%,#160f1ee8 100%)}
.family-shell .dose-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #164766}.family-shell .dose-row:last-child{border-bottom:0}.family-shell .dose-row strong,.family-shell .dose-row span{display:block}.family-shell.family-theme-warm .dose-row{border-color:#563a52}
.family-shell .timeline{position:relative;margin-left:6px}.family-shell .timeline::before{content:"";position:absolute;left:128px;top:8px;bottom:8px;width:2px;background:linear-gradient(#28d7ff,#875fd0)}.family-shell .timeline-item{display:grid;grid-template-columns:108px 20px 1fr;gap:12px;align-items:flex-start;margin:0 0 18px}.family-shell .timeline-item time{font-size:13px;color:#84aec2;text-align:right;padding-top:8px}.family-shell .timeline-dot{width:13px;height:13px;border-radius:50%;margin-top:8px;background:#25d6ff;box-shadow:0 0 16px #25d6ff88;z-index:2}.family-shell.family-theme-warm .timeline::before{background:linear-gradient(#ff8b76,#55e3da)}.family-shell.family-theme-warm .timeline-dot{background:#ff927e;box-shadow:0 0 16px #ff8c7980}.family-shell .timeline-item>div:last-child{padding:14px 18px;border:1px solid #184e73;border-radius:14px;background:#071c30}.family-shell.family-theme-warm .timeline-item>div:last-child{border-color:#5a3c58;background:#1b172f}
.family-shell .calendar-day[role=button]{cursor:pointer;transition:.15s ease}.family-shell .calendar-day[role=button]:hover{transform:translateY(-2px);border-color:#2bd8ff;box-shadow:0 8px 20px #00111f55}.family-shell.family-theme-warm .calendar-day[role=button]:hover{border-color:#ff957f}.family-shell .calendar-fab{position:fixed;right:28px;bottom:28px;z-index:45;width:58px;height:58px;border-radius:50%;padding:0;font-size:30px;line-height:1}
.family-shell .summary-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap;padding:16px 18px;margin:16px 0 20px;border:1px solid #184e73;border-radius:14px;background:#071c30}.family-shell .summary-toolbar label{margin:0;min-width:210px}.family-shell.family-theme-warm .summary-toolbar{border-color:#5a3c58;background:#1b172f}
.family-shell .public-inspiration{max-width:900px}.family-shell.guide{background:transparent}.family-shell .guide{max-width:980px}.family-shell .guide .hero{padding:30px}.family-shell .guide .card{margin-top:18px}
@media(max-width:980px){.family-shell .today-grid{grid-template-columns:1fr 1fr}.family-shell .today-grid .card:first-child{grid-column:1/-1}.family-shell .wellbeing-gallery{grid-template-columns:1fr 1fr}.family-shell .photo-card:last-child{grid-column:1/-1}.family-shell .inspiration-strip{grid-template-columns:1fr}.family-shell .inspiration-strip img{max-height:280px}.family-shell .timeline::before{left:18px}.family-shell .timeline-item{grid-template-columns:28px 1fr}.family-shell .timeline-item time{grid-column:2;text-align:left;padding:0;color:#8fb2c4}.family-shell .timeline-dot{grid-column:1;grid-row:1/3}.family-shell .timeline-item>div:last-child{grid-column:2}}
@media(max-width:620px){.family-shell .today-hero{align-items:flex-start;flex-direction:column}.family-shell .today-actions{width:100%}.family-shell .today-actions button{flex:1}.family-shell .today-grid,.family-shell .wellbeing-gallery{grid-template-columns:1fr}.family-shell .today-grid .card:first-child,.family-shell .photo-card:last-child{grid-column:auto}.family-shell .photo-card{min-height:210px}.family-shell .calendar-fab{right:16px;bottom:16px}.family-shell .summary-toolbar .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.family-shell .summary-toolbar button{width:100%}}

.family-shell{overflow-x:hidden}.family-shell .dose-check{font-size:12px;min-height:34px;padding:5px 9px;margin-top:6px}.family-shell .dose-dot{border-left:2px solid #ffb25d}

html{overflow-x:hidden}
@media(max-width:620px){.family-shell button:focus-visible,.family-shell a:focus-visible,.family-shell input:focus-visible,.family-shell textarea:focus-visible,.family-shell select:focus-visible{outline-offset:1px}}

/* INFINITY FAMILY R8 · planner, filters, navigation */
.family-shell .top-private-link{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #1c5276;border-radius:999px;background:#09233a;color:#bfeeff!important;white-space:nowrap}
.family-shell.family-theme-warm .top-private-link{border-color:#64435f;background:#241c38;color:#ffd9d0!important}
.family-shell .actionable-card{cursor:pointer}.family-shell .card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.family-shell .guidance-row{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid #164766}.family-shell .guidance-row:last-child{border-bottom:0}.family-shell .guidance-row.compact{padding:9px 0}.family-shell .guidance-row button{justify-self:start;margin-top:3px;font-size:13px;min-height:36px;padding:6px 10px}
.family-shell.family-theme-warm .guidance-row{border-color:#563a52}
.family-shell .planner-datebar{display:grid;grid-template-columns:auto minmax(180px,320px) auto;justify-content:center;align-items:center;gap:10px;margin:10px 0 16px}.family-shell .planner-datebar input{margin:0;text-align:center}
.family-shell .planner-quick{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:0 0 20px}.family-shell .planner-quick button{min-width:140px}
.family-shell .day-schedule{display:grid;gap:10px;margin-bottom:22px}.family-shell .schedule-row,.family-shell .plan-row{display:grid;grid-template-columns:78px 1fr;gap:13px;align-items:center;padding:13px 16px;border:1px solid #174c70;border-radius:13px;background:#071c30}.family-shell .schedule-row time,.family-shell .plan-time{font-weight:800;color:#5be1ff}.family-shell .schedule-row strong,.family-shell .plan-row strong{display:block;color:#f1fbff}.family-shell .schedule-row span,.family-shell .plan-row span{display:block}
.family-shell.family-theme-warm .schedule-row,.family-shell.family-theme-warm .plan-row{border-color:#5b3c58;background:#1a172e}.family-shell.family-theme-warm .schedule-row time,.family-shell.family-theme-warm .plan-time{color:#ffac98}
.family-shell .planner-support{margin-top:20px}.family-shell .planner-support .card{margin-bottom:0}
.family-shell .calendar-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.family-shell .calendar-filters button{min-height:38px;padding:7px 12px;font-size:13px;background:#071c30;color:#8fb8cb}.family-shell .calendar-filters button.selected{background:linear-gradient(135deg,#0e547c,#147fd2);border-color:#33ccff;color:#fff;box-shadow:0 0 18px #14c7ff28}
.family-shell.family-theme-warm .calendar-filters button{background:#1a172e;color:#bea3b0;border-color:#54384f}.family-shell.family-theme-warm .calendar-filters button.selected{background:linear-gradient(135deg,#e96e64,#875fd0);border-color:#ff9a85;color:#fff}
.family-shell .appointment-dot{border-left:2px solid #4bd5ff}.family-shell .meal-dot{border-left:2px solid #ffb45f}.family-shell .exercise-dot{border-left:2px solid #72e0a5}.family-shell .wellbeing-dot{border-left:2px solid #c58cff}
.family-shell #calendar-agenda-list{margin-top:18px}.family-shell #calendar-agenda-list .card{padding:18px}
.family-shell #planner-medicine-guidance .guidance-row,.family-shell #today-med-schedule .guidance-row{grid-template-columns:1fr}.family-shell #planner-suggestions p{margin-bottom:10px}
.family-shell .inspiration-strip img{filter:saturate(1.08) contrast(1.02);object-position:center 32%}.family-shell .inspiration-strip>div{background:radial-gradient(circle at 90% 10%,#30d7d91a,transparent 33%)}
.family-shell.family-theme-warm .inspiration-strip>div{background:radial-gradient(circle at 90% 10%,#ff947c1c,transparent 33%)}
@media(max-width:720px){.family-shell .planner-datebar{grid-template-columns:auto 1fr auto}.family-shell .planner-quick{display:grid;grid-template-columns:1fr 1fr}.family-shell .planner-quick button{min-width:0}.family-shell .schedule-row,.family-shell .plan-row{grid-template-columns:64px 1fr}.family-shell .calendar-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.family-shell .calendar-filters button{white-space:nowrap}.family-shell .top-private-link{font-size:12px;padding:6px 9px}}
@media(max-width:440px){.family-shell .planner-quick{grid-template-columns:1fr}.family-shell .planner-datebar{grid-template-columns:44px 1fr 44px}.family-shell .schedule-row,.family-shell .plan-row{grid-template-columns:1fr}.family-shell .schedule-row time,.family-shell .plan-time{margin-bottom:-5px}}

.family-shell .space-explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.family-shell .space-explainer article{display:grid;gap:6px;padding:15px 16px;border:1px solid #184e73;border-radius:13px;background:#071c30}.family-shell .space-explainer strong{color:#f1fbff}.family-shell .space-explainer span{font-size:13px;color:#93b9cb}.family-shell .space-explainer a{font-size:13px}
.family-shell.family-theme-warm .space-explainer article{border-color:#5a3c58;background:#1b172f}.family-shell.family-theme-warm .space-explainer span{color:#c4a9b5}
@media(max-width:820px){.family-shell .space-explainer{grid-template-columns:1fr}}

/* INFINITY FAMILY R9 · reminders and WhatsApp */
.family-shell .notification-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:10px 0 16px}
.family-shell #notification-provider-status,.family-shell #notification-link-status{padding:12px 0;border-bottom:1px solid #174c70}
.family-shell.family-theme-warm #notification-provider-status,.family-shell.family-theme-warm #notification-link-status{border-color:#563a52}
.family-shell #notification-code-box{margin-top:14px}.family-shell #notification-code-text{font:800 20px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;user-select:all}
@media(max-width:620px){.family-shell .notification-categories{grid-template-columns:1fr}}

/* INFINITY FAMILY R10 · mobile command dock */
.family-shell .mobile-dock,.family-shell .mobile-more-menu{display:none}
@media(max-width:760px){
  .family-shell main{padding-bottom:92px}
  .family-shell .mobile-dock{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:80;padding:7px;border:1px solid #20597f;border-radius:18px;background:#071827f2;backdrop-filter:blur(18px);box-shadow:0 18px 48px #00111faa}
  .family-shell.family-theme-warm .mobile-dock{border-color:#69455f;background:#171329f2}
  .family-shell .mobile-dock button{display:grid;justify-items:center;gap:2px;min-width:0;min-height:54px;padding:6px 4px;border:0;background:transparent;box-shadow:none;font-size:19px}
  .family-shell .mobile-dock button span{font-size:10px;font-weight:700;color:#9abfd0}
  .family-shell .mobile-dock button.selected{background:#0d3550;border-radius:12px;color:#65e4ff}
  .family-shell.family-theme-warm .mobile-dock button.selected{background:#33203d;color:#ff9d87}
  .family-shell .mobile-more-menu{display:grid;position:fixed;right:12px;bottom:82px;z-index:85;width:min(290px,calc(100vw - 24px));padding:10px;border:1px solid #20597f;border-radius:16px;background:#071827f8;backdrop-filter:blur(18px);box-shadow:0 20px 54px #00111fcc}
  .family-shell.family-theme-warm .mobile-more-menu{border-color:#69455f;background:#171329f8}
  .family-shell .mobile-more-menu[hidden]{display:none}
  .family-shell .mobile-more-menu button{width:100%;text-align:left;justify-content:flex-start;margin:2px 0}
  .family-shell .tabs{display:none}
  .family-shell .top{padding-left:12px;padding-right:12px}
  .family-shell .top-actions{gap:6px}
  .family-shell .top-private-link{display:none}
}

.family-shell .e2e-test-box{margin-top:14px;border-left:3px solid #52dfd6}
.family-shell .test-command{font:800 20px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;user-select:all;overflow-wrap:anywhere}
.family-shell.family-theme-warm .e2e-test-box{border-left-color:#ff9a85}
