:root{--ink:#253a36;--muted:#788782;--green:#23675b;--green2:#dcece5;--cream:#f6f4ee;--card:#fff;--orange:#ef8e68;--orange2:#fff0e6;--line:#e4e7e1;--shadow:0 12px 30px rgba(48,73,65,.09)}
*{box-sizing:border-box}body{margin:0;background:#e8ece8;color:var(--ink);font-family:"Yu Gothic UI","Hiragino Sans",system-ui,sans-serif}.app-shell{width:min(100%,480px);min-height:100dvh;margin:auto;background:var(--cream);position:relative;box-shadow:0 0 40px rgba(31,52,45,.14)}button,input,textarea{font:inherit}.topbar{height:82px;padding:16px 20px 10px;display:flex;align-items:center;gap:12px;background:rgba(246,244,238,.94);position:sticky;top:0;z-index:5}.topbar h1{font-size:21px;margin:0}.eyebrow{color:var(--green);font-weight:700;font-size:11px;letter-spacing:.1em;margin:0 0 2px}.avatar,.icon-button,.round-add{border:0;background:var(--green);color:white;border-radius:50%;width:42px;height:42px;font-weight:700}.icon-button{margin-left:auto;background:white;color:var(--ink);box-shadow:var(--shadow);position:relative}.dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--orange);right:8px;top:7px}.screen{display:none;padding:12px 18px 112px;min-height:calc(100dvh - 82px)}.screen.active{display:block}.hello{padding:13px 4px 20px;display:flex;justify-content:space-between;align-items:end}.hello p{margin:0;color:var(--muted);font-size:13px}.hello h2{font-size:25px;line-height:1.45;margin:4px 0 0}.hello span{font-size:48px}.record-card{width:100%;border:0;padding:18px;border-radius:22px;background:var(--green);color:white;display:flex;align-items:center;gap:14px;text-align:left;box-shadow:0 13px 30px rgba(35,103,91,.22)}.record-card .mic-circle{background:rgba(255,255,255,.18);display:grid;place-items:center;width:54px;height:54px;border-radius:50%;font-size:25px}.record-card strong{display:block;font-size:18px}.record-card small{display:block;opacity:.78;margin-top:4px}.record-card b{margin-left:auto;font-size:30px;font-weight:300}.section-head{display:flex;justify-content:space-between;align-items:center;margin:27px 2px 12px}.section-head h3{margin:0;font-size:17px}.section-head button{border:0;background:none;color:var(--green);font-weight:700;font-size:12px}.schedule-card{background:var(--card);border-radius:18px;padding:14px;margin-bottom:10px;display:flex;gap:13px;align-items:center;box-shadow:var(--shadow);border-left:4px solid}.accent-green{border-color:#65a879}.accent-orange{border-color:var(--orange)}.date-tile,.time-tile{width:45px;text-align:center}.date-tile strong{font-size:24px;display:block}.date-tile small,.time-tile small{color:var(--muted)}.time-tile strong{font-size:14px;display:block}.grow{flex:1}.tag{display:inline-block;border-radius:12px;padding:3px 8px;font-size:10px;font-weight:700}.tag.green{color:#35744d;background:#e6f3e8}.tag.orange{color:#a65c3f;background:var(--orange2)}.schedule-card h4{margin:5px 0 2px;font-size:14px}.schedule-card p{margin:0;color:var(--muted);font-size:11px}.person{background:#e3d9f4;color:#694f8f;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.timeline-card{position:relative;background:white;border-radius:18px;padding:15px 15px 15px 50px;margin-bottom:10px;box-shadow:var(--shadow)}.timeline-icon{position:absolute;left:13px;top:14px;background:var(--green2);width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.timeline-card strong{font-size:13px}.timeline-card p{font-size:12px;line-height:1.6;margin:5px 0;color:#52635e}.timeline-card small{color:var(--muted)}
[hidden]{display:none!important}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);height:82px;padding:9px max(13px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));background:#fff;display:grid;grid-template-columns:repeat(5,1fr);z-index:20;box-shadow:0 -8px 30px rgba(57,76,70,.08)}.bottom-nav button{border:0;background:transparent;color:#8b9692;font-size:10px;display:flex;flex-direction:column;gap:4px;align-items:center}.bottom-nav button span{font-size:20px}.bottom-nav button.active{color:var(--green);font-weight:700}.bottom-nav .center-record span{width:52px;height:52px;margin-top:-27px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;border:5px solid var(--cream);box-shadow:0 5px 15px rgba(35,103,91,.25)}
.page-title{display:flex;justify-content:space-between;align-items:center;padding:9px 2px 20px}.page-title h2{margin:0;font-size:25px}.round-add{font-size:26px;font-weight:300}.month-switch{background:white;border-radius:16px;display:flex;align-items:center;justify-content:space-between;padding:12px 8px;box-shadow:var(--shadow)}.month-switch button{border:0;background:none;color:var(--green);font-size:24px}.week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.week{font-size:11px;color:var(--muted);padding:16px 0 6px}.calendar-grid{gap:3px}.day{height:48px;border:0;background:transparent;border-radius:12px;color:var(--ink);position:relative}.day.dim{color:#bdc3c0}.day.selected{background:var(--green);color:white;font-weight:700}.day.has-care:after,.day.has-family:before{content:"";position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%}.day.has-care:after{background:#67aa7b;left:43%}.day.has-family:before{background:var(--orange);left:55%}.day.selected:after,.day.selected:before{background:white}.legend{display:flex;justify-content:center;gap:18px;font-size:11px;color:var(--muted);margin:13px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.lg-care{background:#67aa7b}.lg-family{background:var(--orange)}.date-heading{font-size:16px;margin:23px 2px 12px}.event-row{display:flex;gap:12px;background:white;padding:15px;border-radius:17px;margin-bottom:9px;box-shadow:var(--shadow)}.event-time{color:var(--green);font-weight:700;width:45px;font-size:13px}.event-row h4{margin:0 0 4px;font-size:14px}.event-row p{margin:0;color:var(--muted);font-size:11px}.progress-card{background:var(--green);color:white;padding:18px;border-radius:20px;box-shadow:0 12px 25px rgba(35,103,91,.18)}.progress-card div:first-child{display:flex;justify-content:space-between;align-items:end}.progress-card strong{font-size:24px}.progress-card span{font-size:12px;opacity:.8}.progress{height:7px;margin-top:12px;background:rgba(255,255,255,.2);border-radius:5px;overflow:hidden}.progress i{display:block;width:40%;height:100%;background:#fff;border-radius:5px}.filter-row{display:flex;gap:8px;margin:18px 0}.chip{border:1px solid var(--line);padding:8px 15px;background:white;border-radius:18px;font-size:12px;color:var(--muted)}.chip.active{background:var(--green2);border-color:transparent;color:var(--green);font-weight:700}.shopping-item{display:flex;gap:12px;align-items:center;padding:14px;background:white;border-radius:16px;margin-bottom:9px;box-shadow:var(--shadow)}.shopping-item input{appearance:none;width:25px;height:25px;border:2px solid #b8c3bf;border-radius:50%;display:grid;place-items:center}.shopping-item input:checked{background:var(--green);border-color:var(--green)}.shopping-item input:checked:after{content:"✓";color:white;font-weight:700}.shopping-item div{flex:1}.shopping-item strong{display:block;font-size:14px}.shopping-item small{color:var(--muted)}.shopping-item.done strong{text-decoration:line-through;color:#909995}.owner{font-size:10px;background:var(--orange2);color:#a05d45;padding:5px 8px;border-radius:12px}.voice-mini,.invite-wide{width:100%;border:1.5px dashed #83aa9f;color:var(--green);background:transparent;border-radius:17px;padding:15px;margin-top:10px;font-weight:700}.family-hero{display:flex;align-items:center;gap:15px;background:linear-gradient(135deg,#dcece5,#f0e7d6);padding:22px;border-radius:22px}.big-avatar{width:62px;height:62px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-weight:700}.family-hero strong,.family-hero span{display:block}.family-hero span{font-size:12px;color:var(--muted);margin-top:5px}.list-label{font-size:14px;margin:24px 3px 10px}.member{display:flex;align-items:center;gap:12px;background:white;border-radius:16px;padding:13px;margin-bottom:8px;box-shadow:var(--shadow)}.member-avatar{width:42px;height:42px;border-radius:50%;background:#e8def4;color:#765c94;display:grid;place-items:center;font-size:11px;font-weight:700}.member-avatar.care{background:var(--green2);color:var(--green)}.member div{flex:1}.member strong,.member small{display:block}.member strong{font-size:13px}.member small{color:var(--muted);margin-top:3px}.member button{border:0;background:var(--green2);color:var(--green);padding:7px 10px;border-radius:12px;font-size:11px}
dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(22,39,34,.48);backdrop-filter:blur(2px)}.sheet{width:min(100%,480px);max-width:none;margin:auto 0 0 calc(50% - min(50%,240px));}.sheet-inner{background:var(--cream);border-radius:28px 28px 0 0;padding:14px 22px calc(24px + env(safe-area-inset-bottom));position:relative;max-height:92dvh;overflow:auto}.grabber{width:40px;height:4px;border-radius:3px;background:#c7ceca;margin:0 auto 19px}.close{position:absolute;right:18px;top:17px;border:0;background:white;width:32px;height:32px;border-radius:50%;font-size:20px}.sheet h2{margin:4px 0 18px;font-size:23px}.wave{height:70px;display:flex;align-items:center;justify-content:center;gap:5px}.wave i{height:13px;width:5px;border-radius:4px;background:#b6c4c0}.wave.listening i{background:var(--green);animation:wave .8s infinite alternate}.wave i:nth-child(2),.wave i:nth-child(6){animation-delay:.2s}.wave i:nth-child(3),.wave i:nth-child(5){animation-delay:.4s}.wave i:nth-child(4){animation-delay:.6s}@keyframes wave{to{height:55px}}.timer{text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}textarea,input{width:100%;border:1px solid var(--line);background:white;border-radius:13px;padding:12px;color:var(--ink)}textarea{resize:vertical;min-height:100px;line-height:1.6}.support-note{text-align:center;font-size:11px;color:var(--muted)}.record-main,.primary{width:100%;border:0;border-radius:15px;padding:15px;font-weight:700;margin-top:8px}.record-main{background:var(--green);color:white}.record-main.recording{background:#d95e52}.primary{background:var(--ink);color:white}.primary:disabled{opacity:.35}.organized label,#simpleFields label{display:block;font-size:11px;color:var(--muted);margin:12px 0}.organized label input,.organized label textarea,#simpleFields input{margin-top:5px}.organized textarea{min-height:80px}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,30px);background:var(--ink);color:white;padding:11px 18px;border-radius:20px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:50;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){body{padding:18px 0}.app-shell{min-height:calc(100dvh - 36px);border-radius:26px;overflow:hidden}.bottom-nav{bottom:18px;border-radius:0 0 26px 26px}.sheet{margin-bottom:18px}.sheet-inner{border-radius:28px}}
@media(max-width:360px){.screen{padding-inline:13px}.topbar{padding-inline:14px}.hello h2{font-size:22px}}
.timeline-date{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;margin-top:7px}.timeline-date span:first-child{font-weight:600;color:#647771}
.mother-updates{margin:-8px 0 14px}.mother-update{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #d9e9df;border-radius:16px;padding:13px 14px;margin-bottom:8px;box-shadow:var(--shadow)}.mother-update>span{width:30px;height:30px;border-radius:50%;background:var(--green2);display:grid;place-items:center}.mother-update div{flex:1}.mother-update strong,.mother-update small{display:block}.mother-update strong{font-size:13px;line-height:1.6}.mother-update small{color:var(--muted);font-size:10px;margin-top:4px}.mother-update button{border:0;background:transparent;color:var(--muted);font-size:10px;padding:5px}
.quick-update-form{display:flex;align-items:center;gap:8px;margin:-9px 0 3px}.quick-update-form input{flex:1;min-width:0;height:48px;padding:11px 14px;background:white;box-shadow:var(--shadow)}.quick-update-form button{flex:0 0 48px;width:48px;height:48px;border:0;border-radius:50%;background:var(--green);color:white;font-size:21px;box-shadow:0 8px 18px rgba(35,103,91,.2)}.quick-update-form button.listening{background:#d95e52;animation:pulse 1s infinite}.quick-update-status{margin:0 4px 14px;color:var(--muted);font-size:10px}@keyframes pulse{50%{transform:scale(.94);opacity:.78}}
.member-edit{min-width:50px;font-weight:700}.empty-members,.empty-events{margin:0;padding:18px;text-align:center;color:var(--muted);font-size:12px}.member-fields label{display:block;font-size:11px;color:var(--muted);margin:12px 0}.member-fields input,.member-fields select,#simpleFields select{width:100%;margin-top:5px;border:1px solid var(--line);background:white;border-radius:13px;padding:12px;color:var(--ink)}.event-row{border-left:4px solid #65a879;align-items:center}.event-row.family-event{border-left-color:var(--orange)}.event-row>div:nth-child(2){flex:1}.event-delete{border:0;background:#f4ece8;color:#a65c3f;border-radius:11px;padding:7px 9px;font-size:10px}
.family-hero-info{flex:1;min-width:0}.family-hero .member-edit{border:0;background:rgba(255,255,255,.75);color:var(--green);padding:7px 10px;border-radius:12px;font-size:11px;font-weight:700}
.member-avatar.hospital{background:#e4ebf7;color:#45658e}
.bottom-nav{grid-template-columns:repeat(5,1fr);padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
.share-source-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 12px;scrollbar-width:none}.share-source-tabs::-webkit-scrollbar{display:none}.share-source-tabs button{flex:0 0 auto;border:1px solid var(--line);background:white;color:var(--muted);border-radius:18px;padding:9px 13px;font-size:11px;font-weight:700}.share-source-tabs button.active{border-color:var(--green);background:var(--green);color:white}.empty-shares{background:white;border-radius:18px;padding:28px 16px;text-align:center;color:var(--muted);font-size:12px;box-shadow:var(--shadow)}
body[data-demo-theme="blue"]{--green:#315f78;--green2:#dceaf1;--orange:#d88a5f;--orange2:#fff0e6}body[data-demo-theme="plum"]{--green:#765268;--green2:#eee2e9;--orange:#c77758;--orange2:#fbece5}
.avatar{padding:0;overflow:hidden}.avatar img,.big-avatar{width:100%;height:100%;object-fit:cover;display:block}.family-hero .big-avatar{flex:0 0 62px;width:62px;height:62px;border-radius:50%}
.demo-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:-8px 0 7px}.demo-switcher button{border:1px solid var(--line);background:white;color:var(--muted);padding:10px 6px;border-radius:13px;font-size:12px;font-weight:800;box-shadow:0 5px 14px rgba(48,73,65,.05)}.demo-switcher button.active{background:var(--green);border-color:var(--green);color:white}.fiction-note{margin:0 3px 13px;color:var(--muted);font-size:9px;text-align:center}
.patient-story{background:white;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:18px}.patient-story>img{width:100%;height:180px;object-fit:cover;object-position:center 36%;display:block}.patient-story-body{padding:16px}.patient-story-status{display:flex;gap:6px;margin-bottom:8px}.patient-story-status span{background:var(--green2);color:var(--green);font-size:10px;font-weight:800;padding:5px 8px;border-radius:12px}.patient-story h3{font-size:19px;margin:0}.patient-story h3 small{font-size:12px;color:var(--muted);font-weight:500}.patient-story p{font-size:12px;line-height:1.7;color:#52635e;margin:8px 0}.patient-story .patient-diagnosis{color:var(--ink);font-weight:700}.patient-story dl{margin:13px 0 0;border-top:1px solid var(--line)}.patient-story dl div{display:grid;grid-template-columns:76px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.patient-story dt{font-size:10px;color:var(--muted)}.patient-story dd{font-size:11px;font-weight:700;margin:0;line-height:1.5}
.accent-blue{border-color:#628fa8}.tag.blue{color:#315f78;background:#dceaf1}.family-hero-info small{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.4}.event-row.hospital-event{border-left-color:#628fa8}
