.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;margin-top:12px;border:1px solid #e8e8dc;border-radius:13px;background:#fbfaf5;color:#83877e;font-size:10px}.demo-banner button{padding:5px 7px;border:0;background:transparent;color:#536f54;font:600 10px inherit;cursor:pointer;white-space:nowrap}
.schedule-note{margin:5px 0 0;color:#899083;font-size:10px}.dialog-hint{margin: -10px 0 14px;color:#858a80;font-size:12px;line-height:1.5}.weekday-picker{display:flex;justify-content:space-between;gap:5px}.app-dialog .weekday-picker label{display:flex;flex-direction:column;align-items:center;gap:6px;margin:4px 0 12px;padding:8px 5px;border:1px solid #e7e6de;border-radius:10px;background:#fbfaf7;font-size:11px}.weekday-picker input{accent-color:#476d52;width:16px;height:16px;margin:0}.app-dialog select{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #e7e6de;border-radius:12px;background:#fbfaf7;color:#252b25;font-family:inherit;font-size:14px;outline:none}
.attendance-options{display:grid;gap:9px}.attendance-options button{width:100%;padding:13px}
.summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 10px;min-height:0;padding:20px 20px 16px}.summary-copy strong{font-size:clamp(32px,9vw,42px)}.family-breakdown{z-index:1;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.family-child-summary{display:flex;min-width:0;flex-direction:column;gap:5px;padding:9px 10px;text-align:left;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.11);color:#fff;font-family:inherit;cursor:pointer}.family-child-summary span{font-size:11px;color:rgba(255,255,255,.76)}.family-child-summary strong{font-size:13px;white-space:nowrap;letter-spacing:-.02em}.family-child-summary.selected{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.38)}
.special-events{margin-top:20px;padding-top:16px;border-top:1px solid #ecebe4}.events-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.events-heading h3{margin:0 0 3px;font-size:14px}.events-heading p{margin:0;color:#92968d;font-size:11px}.events-heading .text-button{font-size:12px;white-space:nowrap}.event-list{display:grid;gap:8px}.event-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #eeede7;border-radius:13px;background:#fbfaf7}.event-item>div{display:grid;gap:3px;min-width:0}.event-item strong{font-size:12px;color:#3d5d44}.event-item span,.event-item small{font-size:10px;color:#82877e}.event-item small{white-space:normal}.event-item button{flex:none;width:28px;height:28px;border:0;border-radius:9px;background:#f1eee8;color:#aa6a4e;font-size:19px;cursor:pointer}.event-empty{margin:0;padding:9px 0;color:#a0a399;font-size:11px}.event-editor{margin-top:10px;padding:12px;border:1px solid #e8e7df;border-radius:14px;background:#f8f7f2}.event-editor[hidden]{display:none}.event-editor label{margin:9px 0;font-size:11px}.event-editor-actions{display:flex;gap:8px}.event-editor-actions button{flex:1;padding:10px 8px;font-size:11px}
.upcoming-card{padding:19px;border:1px solid #e9e8e0;border-radius:22px;background:linear-gradient(135deg,#fffefa 0%,#f0f3e9 100%);box-shadow:var(--shadow)}.upcoming-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.upcoming-heading .eyebrow{margin-bottom:4px}.upcoming-heading h2{margin:0;font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.04em}.calendar-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#e6eddc;color:#476d52;font-size:22px}.upcoming-list{display:grid;gap:8px}.upcoming-item{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;border:1px solid #eeede7;border-radius:14px;background:rgba(255,255,255,.82)}.upcoming-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#e7eedc;color:#476d52;font-size:14px;font-weight:800}.upcoming-item:nth-child(2) .upcoming-avatar{background:#f1e4d8;color:#8c684c}.upcoming-item:nth-child(3) .upcoming-avatar{background:#e8e1ef;color:#735e83}.upcoming-content{min-width:0}.upcoming-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.upcoming-line strong{font-size:12px}.upcoming-time{flex:none;color:#466a4b;font-size:11px;font-weight:700}.upcoming-activity{margin:3px 0 0;color:#535a50;font-size:12px;font-weight:650}.upcoming-place{margin:3px 0 0;color:#92968d;font-size:10px}.upcoming-empty{margin:0;color:#858a80;font-size:12px;line-height:1.5}
.map-link{display:inline-block;margin-top:4px;color:#4c7554;font-size:10px;font-weight:650;text-decoration:none}.map-link:hover{text-decoration:underline}.bring-note,.upcoming-bring{margin:4px 0 0;color:#7d6948;font-size:10px}.upcoming-place a{color:#637b63;text-decoration:none}.upcoming-place a:hover{text-decoration:underline}

:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#252b25;background:#f6f5f1;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#252b25;--muted:#81867e;--green:#476d52;--green-dark:#31533b;--lime:#e5edcf;--paper:#fffefa;--line:#ecebe4;--orange:#d28a56;--shadow:0 10px 28px rgba(45,55,42,.055)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f5f1}.app-shell{width:min(100%,560px);min-height:100vh;margin:0 auto;padding:25px 22px max(30px,env(safe-area-inset-bottom));background:#f6f5f1}.topbar,.section-heading{display:flex;align-items:center;justify-content:space-between}.topbar{margin:4px 0 22px}.eyebrow{margin:0 0 7px;color:#92988e;font-size:10px;font-weight:700;letter-spacing:.16em}.topbar h1{margin:0;font-family:Manrope,sans-serif;font-size:27px;line-height:1.15;letter-spacing:-.055em;font-weight:800}.icon-button{width:43px;height:43px;border:1px solid #e9e8e1;border-radius:15px;background:var(--paper);font-size:18px;letter-spacing:2px;color:#687066;cursor:pointer}.summary-card{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;min-height:155px;padding:24px 26px;border-radius:25px;color:#fff;background:linear-gradient(120deg,#466c50 0%,#628363 100%);box-shadow:0 15px 30px rgba(57,89,62,.16)}.summary-card:after{position:absolute;content:'';width:205px;height:205px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-45px;top:-115px}.summary-copy{display:flex;flex-direction:column;align-items:flex-start;z-index:1}.summary-label{font-size:13px;color:rgba(255,255,255,.77)}.summary-copy strong{font-family:Manrope,sans-serif;font-size:51px;line-height:1.14;letter-spacing:-.065em;margin:6px 0 1px}.summary-foot{font-size:12px;color:rgba(255,255,255,.73)}.summary-orbit{z-index:1;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);font-size:23px;color:#eaf1dd}.children-section{margin-top:28px}.section-heading{margin-bottom:14px}.section-heading h2{margin:0;font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.045em}.text-button{border:0;background:transparent;color:var(--green);font-size:13px;font-weight:700;padding:8px 0;cursor:pointer}.child-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:none}.child-tabs::-webkit-scrollbar{display:none}.child-tab{display:flex;align-items:center;gap:8px;flex:none;border:1px solid #e8e7df;background:#fbfaf7;color:#62685f;border-radius:14px;padding:9px 13px 9px 9px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.18s}.child-tab.active{border-color:#526f54;background:#e7eedc;color:#36553b}.avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:10px;background:#f1d9c3;color:#775b43;font-size:12px;font-weight:700}.child-tab:nth-child(2) .avatar{background:#e8d9ed;color:#755b7e}.child-tab:nth-child(3) .avatar{background:#d6e7ed;color:#507481}.child-tab:nth-child(4n) .avatar{background:#f3e5b8;color:#807042}.activities-section{margin-top:27px}.activity-heading{align-items:end}.add-activity{width:36px;height:36px;border:0;border-radius:13px;background:#e3ebd6;color:#456649;font-size:22px;cursor:pointer}.activity-list{display:grid;gap:12px}.activity-card{padding:16px;border:1px solid #eeede7;border-radius:20px;background:var(--paper);box-shadow:var(--shadow)}.activity-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.activity-name-wrap{display:flex;gap:11px;align-items:center;min-width:0}.activity-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:15px;background:#e8efdd;font-size:21px}.activity-card:nth-child(3n+2) .activity-icon{background:#f7eadd}.activity-card:nth-child(3n+3) .activity-icon{background:#e9e4f1}.activity-title{margin:0 0 3px;font-family:Manrope,sans-serif;font-size:15px;font-weight:750;letter-spacing:-.025em}.activity-subtitle{margin:0;color:var(--muted);font-size:11px}.menu-button{border:0;background:none;color:#a0a49b;font-size:18px;padding:2px 4px;cursor:pointer}.balance-row{display:flex;align-items:center;justify-content:space-between;margin:15px 0 12px}.balance-left{display:flex;align-items:baseline;gap:5px}.balance-left strong{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.05em;color:var(--green-dark)}.balance-left span{color:#8a8e85;font-size:12px}.balance-state{padding:5px 9px;border-radius:20px;background:#eff2e9;color:#61745b;font-size:10px;font-weight:700}.balance-state.low{background:#fff0e4;color:#ae6d39}.progress-track{height:6px;overflow:hidden;background:#f0efe9;border-radius:9px}.progress-fill{height:100%;border-radius:9px;background:#9ab087;transition:width .2s}.activity-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:8px}.price-note{font-size:11px;color:#999d94}.card-actions{display:flex;align-items:center;gap:8px}.history-button{padding:7px 9px;border:0;background:transparent;color:#778075;font-size:11px;font-weight:600;cursor:pointer}.visit-button{display:flex;align-items:center;gap:6px;padding:9px 12px;border:0;border-radius:12px;background:#476d52;color:white;font-size:11px;font-weight:700;cursor:pointer;transition:transform .12s,background .12s}.visit-button:active{transform:scale(.96);background:#31533b}.visit-button:disabled{background:#dde2d8;color:#91998e;cursor:default}.empty-state{text-align:center;padding:30px 18px;border:1px dashed #dcded2;border-radius:20px;color:#83887e;background:#faf9f5}.empty-state strong{display:block;color:#51584e;margin-bottom:6px}.empty-state p{font-size:12px;line-height:1.5;margin:0}.footer-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:26px;color:#a0a399;font-size:10px}.demo-dot{width:6px;height:6px;border-radius:50%;background:#d5a162}.toast{position:fixed;left:50%;bottom:max(25px,env(safe-area-inset-bottom));transform:translate(-50%,18px);padding:11px 16px;border-radius:12px;background:#25392b;color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 6px 20px #0002;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.app-dialog{width:min(calc(100% - 24px),430px);padding:0;border:0;border-radius:25px;background:#fffefa;color:var(--ink);box-shadow:0 24px 90px #17201835}.app-dialog::backdrop{background:rgba(27,34,27,.36);backdrop-filter:blur(3px)}.app-dialog form,.dialog-content{padding:19px 21px 22px}.dialog-handle{width:34px;height:4px;border-radius:4px;background:#dddcd3;margin:0 auto 21px}.app-dialog h2{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.04em;margin:0 0 21px}.app-dialog label{display:block;margin:14px 0;color:#62685f;font-size:12px;font-weight:600}.app-dialog input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #e7e6de;border-radius:12px;background:#fbfaf7;color:#252b25;font-family:inherit;font-size:14px;font-weight:500;outline:none}.app-dialog input:focus{border-color:#87a17c;box-shadow:0 0 0 3px #e9efdf}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.optional{color:#a4a79d;font-weight:400}.dialog-actions{display:flex;gap:10px;margin-top:21px}.dialog-actions button{flex:1}.primary-button,.secondary-button{border:0;border-radius:13px;padding:12px 14px;font-size:13px;font-weight:700;cursor:pointer}.primary-button{background:var(--green);color:white}.secondary-button{background:#f0efe9;color:#6d7269}.history-list{display:grid;gap:8px;max-height:45vh;overflow:auto}.history-row{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:12px;background:#f6f5f1;font-size:12px}.history-row button{border:0;background:transparent;color:#bd7755;font-size:11px;font-weight:700;cursor:pointer}.history-empty{padding:15px;text-align:center;color:#989c92;font-size:12px}.danger-button{color:#b96e50}@media(min-width:700px){body{padding:22px 0}.app-shell{min-height:calc(100vh - 44px);border:1px solid #ecebe4;border-radius:30px;box-shadow:0 20px 55px #2930260b}}
