:root{--ink:#183c46;--muted:#667982;--line:#dce5e7;--paper:#f5f7f8;--green:#b9edc7;--teal:#1c655e;--red:#a43948;--white:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none;background:var(--paper);font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #409caa;outline-offset:3px}a{color:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-size:2.1rem;letter-spacing:-1.2px;line-height:1.18;margin-bottom:10px}h2{font-size:1.25rem;letter-spacing:-.4px}h3{font-size:1rem}p{line-height:1.65}small,.small{font-size:.875rem}svg{vertical-align:middle}.muted{color:var(--muted)}.eyebrow{font-size:.8rem;letter-spacing:1.8px;font-weight:750;text-transform:uppercase}.serif{font-family:Georgia,serif;font-weight:400}.brand{display:flex;align-items:center;gap:12px;font-size:1.12rem;font-weight:750;line-height:1.1;letter-spacing:-.4px}.brand em{font-size:.8rem;font-style:normal;font-weight:450;display:block;margin-top:5px;letter-spacing:.8px}.brandmark{display:grid;place-items:center;background:var(--green);color:var(--ink);width:42px;height:46px;border-radius:12px 12px 12px 3px;font-family:Georgia,serif;font-size:2.35rem;font-weight:400}.btn{border:1px solid transparent;border-radius:10px;min-height:44px;padding:10px 18px;background:var(--ink);color:white;display:inline-flex;gap:9px;align-items:center;justify-content:center;font-weight:650;text-decoration:none;font-size:.94rem}.btn:hover{filter:brightness(1.1)}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.light{background:var(--green);color:var(--ink)}.btn.danger{background:#fff1f2;color:var(--red);border-color:#edcdd1}.btn.ghost{background:transparent;color:var(--muted);padding:8px 10px}.btn.small{min-height:36px;padding:6px 11px;font-size:.875rem}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.spacer{flex:1}.mb{margin-bottom:24px}.hidden{display:none!important}.notice{padding:15px 18px;border-radius:10px;background:#eef5f6;border:1px solid #d7e6e8;color:#3e6570;font-size:.9rem;line-height:1.6}.notice.warn{background:#fff8e9;border-color:#eedfbf;color:#806024}.notice.danger{background:#fff1f2;border-color:#f1d7db;color:var(--red)}.tag{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;border-radius:6px;font-size:.8rem;font-weight:650;background:#eef3f4;color:#536e76;white-space:nowrap}.tag.green{background:#e2f5e8;color:#246743}.tag.orange{background:#fff0d7;color:#8c6120}.tag.red{background:#fce8eb;color:#a04051}.tag.blue{background:#e4eff9;color:#386b91}.tag.purple{background:#f0eaf8;color:#77599b}.dot{width:7px;height:7px;background:currentColor;border-radius:100%;display:inline-block}.loading{min-height:70vh;display:grid;place-items:center;color:var(--muted)}
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:var(--ink);color:white;padding:60px 11%;display:flex;flex-direction:column;justify-content:space-between;position:relative}.auth-story h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.5rem,4.5vw,4.8rem);letter-spacing:-2px;line-height:1.13;margin:50px 0 24px}.auth-story h1 em{color:var(--green);font-weight:400}.auth-story p{color:#b8cfd3;max-width:390px}.auth-story .eyebrow{color:#a4cece;margin-top:40px}.auth-steps{margin:24px 0 45px;border-top:1px solid #3e6169}.auth-step{display:flex;align-items:center;gap:18px;padding:19px 0;border-bottom:1px solid #3e6169}.auth-step span{color:#9ac2be;font-family:Georgia,serif}.auth-pane{display:flex;align-items:center;justify-content:center;padding:48px}.auth-form{width:100%;max-width:410px}.auth-form h2{font-size:1.8rem;margin-bottom:8px}.auth-form .btn[type=submit]{width:100%;margin-top:8px}.auth-footer{margin-top:26px;text-align:center;font-size:.875rem}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:.875rem;font-weight:650}.field input,.field select,.field textarea,.search input{width:100%;border:1px solid #cddadd;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);min-height:44px}.field textarea{resize:vertical;min-height:90px;line-height:1.5}.field input[type=checkbox]{width:18px;min-height:18px}.check{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;line-height:1.55;margin:10px 0 18px}.check input{margin-top:5px}.error{color:var(--red);font-size:.9rem;line-height:1.5;margin:12px 0}.error:empty{display:none}
.shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 21px;z-index:20}.sidebar .brand{margin:0 8px 40px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{display:flex;align-items:center;gap:13px;padding:13px 15px;text-align:left;background:transparent;border:0;border-radius:10px;color:#647780;font-size:.95rem;font-weight:550;min-height:48px}.nav button.active{background:#e7f3ed;color:#185343;font-weight:750}.nav button:hover{background:#f0f5f5}.nav button svg{width:21px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:22px}.sidebar-bottom p{font-size:.8rem;line-height:1.5;color:var(--muted);margin:14px 8px}.sidebar-bottom .btn{width:100%;justify-content:flex-start}.workspace{grid-column:2;min-width:0}.topbar{height:88px;padding:0 44px;display:flex;gap:22px;align-items:center;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line)}.child-switch{border:0;background:transparent;color:var(--ink);font-weight:700;max-width:240px}.avatar{width:42px;height:42px;border-radius:15px;background:#e9e8f5;color:#716491;display:grid;place-items:center;font-size:1.2rem;font-family:Georgia,serif;font-weight:700;flex-shrink:0}.avatar.large{width:66px;height:66px;border-radius:22px;font-size:1.9rem}.avatar.user{width:36px;height:36px;border-radius:50%;font-size:.9rem;background:#deebe9;color:var(--teal)}.search{display:flex;align-items:center;gap:10px;max-width:320px;flex:1;color:#90a0a6}.search input{border:0;background:transparent;padding:7px 0;outline-offset:0}.topbar-date{font-size:.875rem;color:var(--muted)}main{max-width:1320px;padding:36px 44px 70px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading p{margin:0;color:var(--muted);font-size:.95rem}.page-heading h1{font-size:1.95rem}.welcome{background:var(--ink);color:#fff;border-radius:18px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:25px}.welcome h2{font-family:Georgia,serif;font-size:1.9rem;font-weight:400;margin:10px 0}.welcome p{color:#bdd5d7;font-size:.93rem;margin-bottom:0}.welcome .eyebrow{color:#a2d7bb;font-size:.75rem}.welcome .btn{flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);padding:21px;border-radius:12px}.stat .label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.stat strong{font-size:1.75rem;font-weight:650;letter-spacing:-1px;display:block;margin:13px 0 6px}.stat strong small{font-size:.85rem;font-weight:500;letter-spacing:0;color:var(--muted)}.stat p{font-size:.8rem;margin:0;color:var(--muted)}.columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;min-width:0}.card h2{margin-bottom:20px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.card-head h2{margin:0}.care-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #edf1f2;align-items:center}.care-item:last-child{border-bottom:0;padding-bottom:0}.date-tile{width:49px;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f0f5f5;border-radius:9px;flex-shrink:0}.date-tile strong{font-size:1.2rem}.date-tile span{font-size:.68rem;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.care-info{flex:1;min-width:0}.care-info h3{margin:0 0 5px;line-height:1.45}.care-info p{font-size:.825rem;margin:0;color:var(--muted)}.timeline{position:relative}.timeline-item{display:flex;gap:16px;padding:16px 0;position:relative;border-bottom:1px solid #edf1f2}.timeline-item:last-child{border-bottom:0}.event-icon{background:#eaf2f3;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;color:#41707a}.event-icon.measurement{background:#e3f4e9;color:#427959}.event-icon.milestone{background:#f4eaf7;color:#9163a6}.event-icon.vaccine{background:#e6effa;color:#5983ad}.event-icon.emergency,.event-icon.allergy{background:#f9e9ec;color:#ac5766}.event-body{flex:1;min-width:0}.event-body h3{margin:4px 0 5px;font-size:.95rem}.event-body p{margin:0;color:var(--muted);font-size:.86rem;white-space:pre-wrap;overflow-wrap:anywhere}.event-body time{font-size:.8rem;color:var(--muted)}.event-actions{display:flex;gap:3px;align-items:flex-start}.event-actions button{border:0;background:transparent;padding:6px;color:var(--muted);border-radius:6px}.empty{padding:32px 14px;text-align:center;color:var(--muted)}.empty svg{color:#88a7ac;width:35px;height:35px;margin-bottom:14px}.empty h3{color:var(--ink);font-size:1rem;margin:0 0 8px}.empty p{max-width:380px;margin:0 auto 16px;font-size:.9rem}.empty.compact{padding:18px 8px}.consult-card{background:#ecf3ed;border-color:#d7e5d9}.consult-card p{color:#5a7865;font-size:.9rem}.consult-card h2{font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.quick-link{padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px;text-align:left;display:flex;gap:12px;align-items:center;color:var(--ink);font-size:.9rem;font-weight:650}.quick-link:hover{border-color:#8ab4ad}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 24px}.tabs button{border:1px solid transparent;border-radius:8px;color:var(--muted);padding:9px 14px;background:transparent;font-size:.875rem;min-height:40px}.tabs button.active{background:#fff;border-color:var(--line);color:var(--ink);font-weight:650}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.health-tile{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:154px;padding:23px;text-align:left;color:var(--ink);transition:transform .15s}.health-tile:hover{transform:translateY(-2px);border-color:#80a89c}.health-tile .event-icon{margin-bottom:16px}.health-tile h3{margin:0 0 7px}.health-tile p{color:var(--muted);font-size:.8rem;margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:var(--muted);font-size:.8rem;font-weight:600;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:15px 12px;border-bottom:1px solid #edf1f2;line-height:1.5}tr:last-child td{border-bottom:0}.chart{width:100%;height:auto;max-height:290px;margin:8px 0}.chart text{font-family:inherit;fill:#71868d;font-size:13px}.chart-label{font-size:.86rem;color:var(--muted)}.metric-switch{display:flex;gap:6px}.metric-switch button{border:0;background:#eef3f3;border-radius:6px;padding:7px 10px;color:var(--muted);font-size:.8rem}.metric-switch button.active{background:var(--ink);color:white}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin:0}.detail-list dt{color:var(--muted);font-size:.8rem;margin-bottom:5px}.detail-list dd{margin:0;font-size:.92rem;overflow-wrap:anywhere}.pill-group{display:flex;gap:8px;flex-wrap:wrap}.emergency-head{background:#a43d4e;color:#fff;padding:26px;border-radius:13px;margin-bottom:20px}.emergency-head h2{font-size:1.7rem;margin-bottom:7px}.emergency-head p{margin:0;color:#fae0e6}.question{padding:16px;border-left:3px solid #7eb09a;background:#f3f7f4;margin-bottom:12px;border-radius:0 8px 8px 0}.question p{margin:0}.document{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.document:last-child{border-bottom:0}.document h3{margin:0 0 6px;overflow-wrap:anywhere}.document p{font-size:.8rem;color:var(--muted);margin:0}.onboarding{max-width:670px;margin:40px auto;text-align:center}.onboarding h1{font-family:Georgia,serif;font-size:2.7rem;font-weight:400}.onboarding .card{margin-top:25px;text-align:left;padding:32px}.onboarding .brandmark{margin:0 auto 25px;width:64px;height:70px;font-size:3rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .full{grid-column:1/-1}dialog{border:0;border-radius:17px;padding:0;width:min(680px,calc(100% - 30px));max-height:90vh;color:var(--ink);box-shadow:0 25px 100px #0d303444}dialog::backdrop{background:#132e4266;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:23px 27px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.modal-head h2{margin:0;font-size:1.25rem}.modal-body{padding:26px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid var(--line);margin-top:12px}.register-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.register-option{display:flex;align-items:center;gap:12px;padding:14px 12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);text-align:left;font-size:.93rem}.register-option:hover{background:#eff7f3}.register-option .event-icon{width:33px;height:33px}.legal{max-width:760px;margin:auto;padding:40px 24px}.legal h1{margin:30px 0}.code-input{font-family:ui-monospace,monospace!important;font-size:.85rem;min-height:180px!important}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(100px);background:#163f49;color:white;padding:14px 23px;border-radius:10px;box-shadow:0 8px 30px #163f4933;z-index:100;transition:transform .2s;max-width:90%;font-size:.92rem}#toast.show{transform:translateX(-50%) translateY(0)}.account-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.section-divider{margin:26px 0;border:0;border-top:1px solid var(--line)}.mobile-brand{display:none}.legal-link{border:0;background:none;color:var(--teal);padding:0;text-decoration:underline;font-size:inherit}
.event-title{background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;font-weight:inherit;line-height:1.5}.event-title:hover{text-decoration:underline}.event-notes{white-space:pre-wrap;overflow-wrap:anywhere}.health-grid+.consult-card{margin-top:24px}.avatar.user{border:0}
@media(min-width:1450px){main{padding-top:45px}.columns{gap:28px}.welcome{padding:35px 38px}}
@media(max-width:1100px){.sidebar{width:205px;padding:28px 13px}.shell{grid-template-columns:205px minmax(0,1fr)}main{padding:30px 26px}.topbar{padding:0 26px;gap:15px}.topbar-date{display:none}.stats{gap:10px}.stat{padding:17px}.columns{grid-template-columns:1fr}.health-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.auth{grid-template-columns:1fr}.auth-story{padding:26px 28px}.auth-story h1{font-size:2.3rem;margin:28px 0 12px;letter-spacing:-1px}.auth-story .auth-steps,.auth-story>p,.auth-story .eyebrow{display:none}.auth-story .brand{font-size:1rem}.auth-story .brandmark{width:34px;height:37px;font-size:1.8rem}.auth-story p{margin-bottom:0;font-size:.9rem}.auth-pane{padding:32px 24px}.shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:76px;padding:5px 4px max(6px,env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);display:block}.sidebar>.brand,.sidebar-bottom{display:none}.nav{flex-direction:row;gap:0;justify-content:space-around}.nav button{flex:1;flex-direction:column;gap:4px;padding:7px 2px;border-radius:9px;font-size:.65rem;min-height:58px;justify-content:center}.nav button svg{width:21px;height:21px}.topbar{height:72px;padding:0 18px;gap:10px}.topbar .search{display:none}.topbar .avatar{width:35px;height:35px;border-radius:11px;font-size:1rem}.child-switch{max-width:165px;font-size:.92rem}.user-name{display:none}main{padding:25px 18px 105px}.page-heading{margin-bottom:22px;align-items:flex-start;gap:12px}.page-heading h1{font-size:1.7rem}.page-heading p{font-size:.86rem}.page-heading .btn{padding:10px 12px;font-size:.85rem}.welcome{padding:25px 23px;display:block;border-radius:14px}.welcome h2{font-size:1.65rem}.welcome .btn{margin-top:20px;min-height:40px}.welcome p{font-size:.85rem}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:21px}.stat{padding:18px}.stat strong{font-size:1.6rem}.stat .label{font-size:.8rem}.stat p{font-size:.75rem}.columns{gap:18px}.card{padding:21px}.quick-links{grid-template-columns:1fr;gap:9px;margin-top:18px}.quick-link{padding:15px}.health-grid{grid-template-columns:1fr 1fr;gap:12px}.health-tile{padding:18px;min-height:145px}.health-tile h3{font-size:.9rem}.profile-grid{grid-template-columns:1fr;gap:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-heading .row{gap:6px}.tabs{gap:3px;margin-bottom:18px}.tabs button{padding:8px 10px;font-size:.8rem}.event-actions{flex-direction:column}.card-head h2{font-size:1.12rem}.modal-body{padding:21px}.modal-head{padding:20px}.register-option{font-size:.84rem;padding:12px 9px}.register-grid{gap:8px}.register-option .event-icon{width:28px;height:32px}.onboarding{margin-top:20px}.onboarding h1{font-size:2.1rem}.onboarding .card{padding:24px}#toast{bottom:92px;width:max-content;max-width:90%}.emergency-head{padding:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.page-heading button,.event-actions,.btn{display:none!important}.shell{display:block}main{padding:0}.card{break-inside:avoid}.workspace{width:100%}}
.btn.google{background:#fff;color:#1f1f1f;border:1px solid #c8ced2;width:100%;font-weight:600}
.btn.google .g{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:#4285f4;font-weight:800;margin-right:4px}
.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;margin:18px 0}
.or-divider::before,.or-divider::after{content:"";flex:1;border-top:1px solid var(--line)}
