/* Famiqo: unified component styles; original cascade order retained. */
*{box-sizing:border-box}
body{margin:0}
.app-shell{padding:18px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin:4px 0 20px}
.eyebrow{display:block;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.topbar h1,.hero h2,.budget-head h2{margin:.25rem 0 0}
.avatar{width:44px;height:44px;border-radius:50%;border:0}
.view{display:none}
.view.active{display:block}
.hero{display:flex;gap:18px;justify-content:space-between}
.compact-hero{align-items:flex-start}
.hero h2{line-height:1.15}
.hero p{margin:.7rem 0 0;line-height:1.45}
.primary{border:0;border-radius:14px;background:#fff;color:#171926;padding:12px 16px;font-weight:800;white-space:nowrap}
.section-head{display:flex;justify-content:space-between}
.section-head h2{margin:0}
.pill{border-radius:999px;padding:5px 9px;font-size:.75rem}
.timeline,.card{border:1px solid var(--border);background:var(--panel);border-radius:18px;overflow:hidden}
.event{display:flex;gap:15px;padding:15px 16px;border-bottom:1px solid #282d3b}
.event:last-child{border-bottom:0}
.time{font-weight:800;color:#ab9fff;min-width:50px}
.event strong,.event span{display:block}
.event span{color:var(--muted);font-size:.88rem;margin-top:3px}
.task{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #282d3b}
.task:last-child{border-bottom:0}
.task input{accent-color:var(--accent);width:18px;height:18px}
.task small{color:var(--muted)}
.task.done span{text-decoration:line-through;color:#7f8798}
.grid,.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mini-card,.action-card{text-align:left;border:1px solid var(--border);background:var(--panel);color:#fff;border-radius:18px;padding:16px}
.mini-card{min-height:120px}
.mini-card .icon{display:block;font-size:1.4rem;margin-bottom:14px}
.mini-card strong,.mini-card span:last-child,.action-card strong,.action-card small{display:block}
.mini-card span:last-child,.action-card small{color:var(--muted);margin-top:5px;font-size:.84rem}
.finance-strip article{border:1px solid var(--border)}
.finance-strip span{display:block;color:var(--muted)}
.finance-strip strong{display:block}
.budget-head{display:flex;justify-content:space-between;align-items:end;gap:14px}
.budget-head h2{font-size:1.5rem}
.budget-head input{background:var(--panel);border:1px solid var(--border);color:#fff;border-radius:12px;padding:10px}
.balance-card>span{display:block;font-size:.82rem;opacity:.85}
.balance-card>strong{display:block;margin-top:4px}
.balance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.balance-grid small,.balance-grid b{display:block}
.balance-grid small{opacity:.75;font-size:.72rem}
.balance-grid b{margin-top:3px;font-size:.9rem}
.action-card span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:1.1rem;margin-bottom:12px}
.money-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 16px;border-bottom:1px solid #282d3b}
.money-row:last-child{border-bottom:0}
.money-row strong,.money-row span,.money-row small{display:block}
.money-row small{color:var(--muted);margin-top:4px}
.money-row .amount{text-align:right;font-weight:800}
.amount.income{color:var(--good)}
.amount.expense{color:#ffb0b0}
.row-actions{display:flex;margin-top:7px}
.link-danger{border:0;background:transparent;color:#ff9d9d;font-size:.74rem}
.empty-state{text-align:center;border:1px dashed var(--border);border-radius:20px;padding:36px 20px;color:var(--muted);margin-top:24px}
.empty-state>span{font-size:2rem}
.empty-state h3{color:#fff;margin:12px 0 6px}
.empty-state p{margin:0;line-height:1.5}
.bottom-nav{display:grid;border-top:1px solid var(--border)}
.bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center}
.budget-tab span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#282f41}
dialog{width:min(92vw,470px);padding:18px}
dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.dialog-head h2{margin:.25rem 0 0;font-size:1.15rem}
.dialog-head button{border:0;border-radius:50%;width:34px;height:34px;font-size:1.2rem}
dialog label{display:block;color:#cdd2de;font-size:.8rem;font-weight:700;margin-top:12px}
dialog input,dialog select,dialog textarea{width:100%;margin-top:6px;border:1px solid #343b4c;background:#10141d;color:#fff;border-radius:12px;padding:12px;font:inherit}
dialog textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.submit-btn{width:100%;border:0;border-radius:14px;background:var(--accent);color:#fff;font-weight:800;padding:13px;margin-top:18px}
.hint{color:var(--muted);line-height:1.5;font-size:.86rem}
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);padding:10px 14px;border-radius:12px;font-weight:800;font-size:.82rem;z-index:99}
@media(max-width:520px){
.hero{flex-direction:column}
.primary{width:100%}
.finance-strip{grid-template-columns:1fr}
.finance-strip article{justify-content:space-between;align-items:center}
.finance-strip strong{margin:0}
.balance-grid{grid-template-columns:1fr 1fr}
.balance-grid>div:last-child{grid-column:1/-1}
.form-row{grid-template-columns:1fr}
.budget-head{align-items:flex-start;flex-direction:column}
.budget-head input{width:100%}
}
.hidden{display:none!important}
.auth-gate{place-items:center}
.auth-card{width:min(100%,460px);border:1px solid #303647}
.auth-brand{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;margin-bottom:18px}
.auth-card h1{line-height:1.12;margin:.35rem 0 .7rem}
.auth-card>p{color:var(--muted);line-height:1.5;margin:0 0 18px}
.auth-form label{display:block;color:#cdd2de;font-size:.8rem;font-weight:700;margin-top:12px}
.auth-form input,.auth-form select{width:100%;margin-top:6px;border:1px solid #343b4c;background:#10141d;color:#fff;border-radius:12px;padding:12px;font:inherit}
.auth-actions{display:flex;justify-content:center;gap:14px;margin-top:16px}
.member-card{display:flex;align-items:center;gap:12px;border:1px solid var(--border);background:var(--panel)}
.member-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--member-color);font-weight:900;color:white}
.member-card strong,.member-card span{display:block}
.member-card span{font-size:.8rem;color:var(--muted);margin-top:3px}
.settings-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--border);background:var(--panel);border-radius:18px}
.settings-card p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}
.check-row{width:100%;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid #282d3b;background:transparent;color:#fff;padding:14px 16px}
.check-row:last-child{border-bottom:0}
.checkmark{width:23px;height:23px;border-radius:7px;border:1px solid #4b5265;display:grid;place-items:center;color:#fff;font-size:.75rem}
.check-row.done strong{text-decoration:line-through;color:#7f8798}
.check-row strong,.check-row small{display:block}
.check-row small{color:var(--muted);margin-top:3px}
.event-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #282d3b}
.event-row:last-child{border-bottom:0}
.event-row strong,.event-row small{display:block}
.event-row small{color:var(--muted);margin-top:3px}
.date-chip{width:46px;height:50px;border-radius:12px;display:grid;place-items:center;align-content:center}
.date-chip strong{font-size:1rem}
.date-chip span{font-size:.68rem;color:#a9b0c0;text-transform:uppercase}
.invite-result{margin-top:16px;border:1px dashed #4b5268;border-radius:16px;padding:16px;text-align:center}
.invite-result span,.invite-result strong,.invite-result small{display:block}
.invite-result span,.invite-result small{color:var(--muted)}
.invite-result strong{letter-spacing:.08em;margin:6px 0}
@media(max-width:520px){
.family-grid{grid-template-columns:1fr}
.settings-card{align-items:flex-start;flex-direction:column}
}
.budget-progress{padding:14px 16px;border-bottom:1px solid #282d3b}
.budget-progress:last-child{border-bottom:0}
.budget-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.budget-progress span{color:var(--muted);font-size:.8rem}
.progress{height:8px;background:#282e3c;border-radius:999px;overflow:hidden;margin-top:10px}
.progress i{display:block;height:100%;background:linear-gradient(90deg,#6f5cff,#9f92ff);border-radius:inherit}
.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.goal-card{border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:16px}
.goal-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.goal-top strong,.goal-top span{display:block}
.goal-top span{color:var(--muted);font-size:.8rem;margin-top:4px}
.goal-top b{color:#b9b0ff}
.goal-card .text-btn{padding:10px 0 0}
.list-card:empty:before{display:block;padding:18px;color:var(--muted)}
@media(max-width:520px){
.goal-grid{grid-template-columns:1fr}
}
.activity-feed{display:grid}
.activity-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--panel);padding:13px 14px}
.activity-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#b9b0ff;font-weight:900}
.activity-item strong,.activity-item span{display:block}
.activity-item span{color:var(--muted);font-size:.8rem;margin-top:3px;line-height:1.35}
.today-summary{margin-top:0}
.today-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.today-summary h2{margin:.25rem 0 0}
.compact-primary{padding:10px 14px}
.attention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.attention-card{border:1px solid #343b50;background:rgba(12,15,23,.42);color:#fff;border-radius:15px;padding:13px;text-align:left}
.attention-card span,.attention-card strong{display:block}
.attention-card span{color:#aab2c3;font-size:.72rem}
.attention-card strong{margin-top:4px;font-size:.9rem}
.quick-actions span{margin-bottom:5px}
.view[data-view="today"]>.today-summary{margin-top:0}
@media(max-width:520px){
.attention-grid{grid-template-columns:1fr}
.attention-card{display:flex;justify-content:space-between;align-items:center}
.attention-card strong{margin-top:0}
.quick-actions{grid-template-columns:repeat(4,1fr)}
.quick-actions button{padding:11px 4px}
}
.bank-card{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:16px}
.bank-card strong,.bank-card p{display:block}
.bank-card p{margin:5px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}
.bank-detections{margin-top:10px}
.bank-accept{display:block;margin:6px 0 0 auto;padding:0}
@media(max-width:520px){
.bank-card{align-items:flex-start;flex-direction:column}
.bank-card .primary{width:100%}
}
body{font-size:16px;line-height:1.5}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
button:focus-visible,summary:focus-visible{outline:3px solid #b7acff;outline-offset:3px}
button{min-height:44px}
.text-btn{padding:5px 8px}
.topbar h1{font-size:1.7rem}
.icon-btn{position:relative;width:44px;height:44px;background:var(--panel2);border:1px solid var(--border);border-radius:50%;color:var(--text);font-size:1.4rem}
.badge{position:absolute;right:-4px;top:-6px;min-width:20px;font-size:.7rem;border-radius:20px;padding:1px 4px}
.today-summary .hint{margin:6px 0 0}
.priority-list:empty{display:none}
.priority-row{width:100%;display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff16;text-align:left}
.priority-row>span:nth-child(2){flex:1}
.priority-row strong,.priority-row small{display:block}
.priority-row small{font-size:.83rem}
.priority-row b{font-size:.85rem}
.priority-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:10px}
.priority-row.urgent b,.negative{color:#ffb59f}
.quick-actions button{font-size:.84rem}
.finance-strip article{display:block}
.finance-strip strong{font-size:1rem;margin-top:6px}
.finance-strip span{font-size:.8rem}
.hero{align-items:center;flex-direction:row}
.hero p{font-size:.9rem;margin-top:4px}
.hero .primary{width:auto}
.balance-card>.hint{color:#e1deff}
.balance-grid{margin-top:12px}
.row-actions{justify-content:flex-start;gap:8px;padding:0 12px 6px}
.money-row .row-actions{padding:4px 0 0}
.row-actions button{font-size:.8rem;min-height:36px}
.check-row.overdue .checkmark{border-color:#ffad97}
.check-row.overdue small{color:#ffbba8}
.compact-empty{padding:12px 16px;margin:0;color:var(--muted);font-size:.9rem}
.list-card:empty:before{content:none}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:14px 0}
.calendar-weekday{text-align:center;color:var(--muted);font-size:.8rem}
.calendar-day{color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:7px 0}
.calendar-day small{display:block;color:#c6bdff;white-space:nowrap}
.calendar-day.is-today{border-color:#a99dff;background:#7563ff24}
.section-head input{min-width:0;width:150px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px}
.activity-feed{gap:0}
.activity-item{border:0;border-bottom:1px solid var(--border);border-radius:0}
.activity-item:last-child{border-bottom:0}
.activity-item strong{font-size:.92rem}
.bank-actions{display:flex;align-items:center;gap:8px}
.bank-actions .primary{width:auto}
details{margin-top:14px}
summary{cursor:pointer;color:#c4bbff;padding:10px 0;min-height:44px}
progress{width:100%;height:8px;margin:12px 0;border:0;border-radius:10px;background:var(--panel2)}
progress::-webkit-progress-bar{background:var(--panel2);border-radius:10px}
progress::-webkit-progress-value{background:var(--accent);border-radius:10px}
.invite-result strong{font-size:1.1rem;overflow-wrap:anywhere}
.bottom-nav{grid-auto-columns:1fr;grid-auto-flow:column;grid-template-columns:none}
.bottom-nav button.active{color:#c9c1ff;background:#7563ff19;border-radius:12px}
.auth-actions{flex-wrap:wrap}
.form-error{color:#ffb59f}
.toast{max-width:92vw;text-align:center}
.quick-actions:has([data-finance].hidden){grid-template-columns:repeat(3,1fr)}
@media(max-width:520px){
.app-shell{padding:14px}
.topbar{margin-bottom:14px}
.today-summary-head .primary{width:auto}
.finance-strip article{display:block}
.finance-strip strong{margin-top:4px;font-size:.85rem}
.finance-strip span{font-size:.75rem}
.quick-actions button{font-size:.78rem}
.hero{align-items:flex-start}
.hero .primary{font-size:.82rem;padding:10px;flex-shrink:0}
.hero p{max-width:32ch}
.calendar-day small{font-size:.48rem}
.priority-row b{max-width:82px;text-align:right}
.bank-actions{width:100%;flex-wrap:wrap}
dialog{max-height:88dvh;overflow:auto}
.auth-card{padding:20px}
}
.money-row>div,.event-row>div,.member-card>div,.priority-row>span,.topbar>div:first-child{min-width:0;overflow-wrap:anywhere}
.topbar .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.check-row>span:last-child{min-width:0;overflow-wrap:anywhere}
.auth-form label,dialog label{font-size:.9rem}
.link-danger{padding:8px 0}
.goal-card strong{overflow-wrap:anywhere}
.bottom-nav span{line-height:1.2}
.member-picker,.event-date-fields{border:0;padding:0;margin:18px 0 0;min-width:0}
.member-picker legend,.event-date-fields legend{padding:0;color:var(--text);font-size:1rem;font-weight:750}
.member-choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}
.member-choice{position:relative;display:block;margin:0;cursor:pointer;max-width:100%}
.member-choice input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0}
.member-choice-body{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:2px solid var(--border);border-radius:13px;color:var(--text);overflow-wrap:anywhere}
.member-choice input:checked+.member-choice-body{border-color:var(--member-color)}
.member-choice input:focus-visible+.member-choice-body{outline:3px solid #c3baff;outline-offset:3px}
.member-choice-check{visibility:hidden;margin-left:3px;color:var(--member-color);font-weight:900}
.member-choice input:checked+.member-choice-body .member-choice-check{visibility:visible}
.member-color-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--member-color);flex-shrink:0}
.event-date-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}
.event-date-row label{min-width:0}
.event-date-row input{min-width:0;max-width:100%;min-height:48px;font-size:1rem;appearance:auto;color-scheme:dark}
.calendar-legend-item i{flex-shrink:0}
.calendar-event{border-left:4px solid var(--member-color)}
.calendar-event .date-chip{background:color-mix(in srgb,var(--member-color) 16%,var(--panel2))}
.event-member{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;margin-top:6px;color:#dce2ee}
.calendar-markers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;min-height:10px;margin-top:4px}
.calendar-markers i{display:block;width:7px;height:7px;border-radius:50%}
.calendar-markers b{font-size:.65rem;line-height:1}
.calendar-day{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:69px;gap:1px}
.calendar-day.has-events{border-color:#616985}
.calendar-day small{font-size:.58rem}
.calendar-event .row-actions{padding-left:0}
.event-date-fields .hint{font-weight:400}
@media(max-width:380px){
.event-date-row{grid-template-columns:1fr}
.member-choice-body{padding:9px 10px}
.calendar-day small{font-size:.5rem}
}
.family-today-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-width:0;border:1px solid var(--border);background:var(--panel);color:var(--text)}
.family-today-card:hover{background:var(--panel2)}
.family-today-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-weight:900}
.family-today-card>span:nth-child(2){min-width:0}
.family-today-card strong,.family-today-card small{display:block}
.family-today-card small{margin-top:2px;color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.family-today-arrow{color:var(--accent2);font-size:1.2rem}
.activity-item span:last-child{font-variant-numeric:tabular-nums}
@media(max-width:520px){
.family-today{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:3px}
.family-today-card{min-width:220px;scroll-snap-align:start}
.family-today::-webkit-scrollbar{height:4px}
}
.finance-insights article{border:1px solid var(--border);border-radius:16px;padding:14px}
.finance-insights span,.finance-insights strong{display:block}
.finance-insights span{color:var(--muted);font-size:.76rem}
.finance-insights strong{margin-top:5px;font-size:1rem}
.finance-insights .negative{color:#ffb59f}
@media(max-width:520px){
.finance-insights{grid-template-columns:1fr}
.finance-insights article{display:flex;align-items:center;justify-content:space-between;gap:12px}
.finance-insights strong{margin-top:0}
}
.safety-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.safety-card{border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.safety-card p{margin:5px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}
.member-avatar{overflow:hidden}
.member-avatar img,.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.sos-fab{position:fixed;right:18px;bottom:88px;z-index:35;width:58px;height:58px;border-radius:50%;border:3px solid rgba(255,255,255,.9);background:#d93636;color:#fff;font-weight:1000;letter-spacing:.04em;box-shadow:0 10px 30px rgba(217,54,54,.4)}
.emergency-banner{position:fixed;left:50%;transform:translateX(-50%);top:14px;z-index:80;width:min(94vw,760px);display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff;border:1px solid #ff7979;border-radius:16px;padding:14px 16px}
.emergency-banner strong,.emergency-banner span{display:block}
.emergency-banner span{margin-top:3px;font-size:.82rem;color:#ffe0e0}
.emergency-map,.emergency-resolve{border:1px solid #ff9e9e;background:#fff;color:#7b1111;border-radius:10px;padding:9px 11px;font-weight:800;text-decoration:none}
.priority-row.urgent .priority-icon{font-size:.74rem}
.activity-icon{background:color-mix(in srgb,var(--member-color,#7563ff) 28%,var(--panel2));border:1px solid color-mix(in srgb,var(--member-color,#7563ff) 46%,var(--border))}
@media(max-width:700px){
.safety-grid{grid-template-columns:1fr}
.emergency-banner{top:8px;align-items:flex-start;flex-direction:column}
.sos-fab{right:14px;bottom:82px;width:54px;height:54px}
}
.school-today-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid var(--border);background:var(--panel);color:var(--text)}
.school-today-card>span:nth-child(2){min-width:0}
.school-today-card strong,.school-today-card small{display:block}
.school-today-card small{color:var(--muted);margin-top:3px;font-size:.79rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.school-today-avatar,.school-profile-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--member-color,#7563ff) 24%,var(--panel2));border:1px solid color-mix(in srgb,var(--member-color,#7563ff) 45%,var(--border));font-weight:900}
.school-profile-summary{margin-top:8px}
.school-profile-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:14px}
.school-profile-card strong,.school-profile-card small{display:block}
.school-profile-card small{margin-top:3px;color:var(--muted)}
.school-empty-card{border:1px dashed var(--border);background:var(--panel);border-radius:18px;padding:18px}
.school-empty-card p{color:var(--muted);margin:6px 0 0}
.school-action-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.school-action-grid button{border:1px solid var(--border);border-radius:16px;padding:12px 8px}
.school-action-grid span,.school-action-grid strong,.school-action-grid small{display:block}
.school-action-grid span{font-size:1.3rem}
.school-action-grid strong{margin-top:5px}
.school-action-grid small{margin-top:2px;color:var(--muted);font-size:.7rem}
.timetable-day{display:grid;gap:8px}
.lesson-row{display:grid;grid-template-columns:34px 10px 1fr;gap:10px;align-items:center;border:1px solid var(--border);border-radius:14px;padding:11px 13px}
.lesson-period{font-weight:900;color:var(--muted)}
.subject-dot{width:9px;height:9px;border-radius:50%;background:var(--subject-color,#7563ff);box-shadow:0 0 0 4px color-mix(in srgb,var(--subject-color,#7563ff) 18%,transparent)}
.lesson-row strong,.lesson-row small{display:block}
.lesson-row small{color:var(--muted);font-size:.78rem;margin-top:2px}
.school-list-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid var(--border)}
.school-list-row:last-child{border-bottom:0}
.school-list-row strong,.school-list-row small{display:block}
.school-list-row small{color:var(--muted);font-size:.78rem;margin-top:3px}
.school-list-row.overdue{background:rgba(180,55,55,.08)}
.school-check{width:30px;height:30px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--accent2);font-size:1.1rem}
.school-event-badge{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:.72rem;font-weight:900}
.school-week-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}
.school-week-day{border:1px solid var(--border);border-radius:16px;padding:12px;min-width:160px}
.school-week-day>strong{display:block;margin-bottom:9px}
.school-week-day>div{display:grid;grid-template-columns:9px 1fr;gap:8px;align-items:start;padding:7px 0;border-top:1px solid var(--border)}
.school-week-day b,.school-week-day small{display:block}
.school-week-day small{font-size:.72rem;color:var(--muted);margin-top:2px}
#schoolMemberSelect{max-width:180px}
@media(max-width:700px){
.school-action-grid{grid-template-columns:repeat(3,1fr)}
.school-week-grid{display:flex;scroll-snap-type:x proximity}
.school-week-day{min-width:190px;scroll-snap-align:start}
.school-profile-card{grid-template-columns:auto 1fr}
.school-profile-card .text-btn{grid-column:2;justify-self:start;padding:0}
.school-list-row{grid-template-columns:auto 1fr}
.school-list-row>.link-danger{grid-column:2;justify-self:start}
.school-today-card small{white-space:normal}
}
.shopping-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shopping-insight-card{padding:15px}
.shopping-insight-card>strong{display:block;margin-bottom:10px}
.price-change-row{justify-content:space-between}
.price-change-row strong,.price-change-row small{display:block}
.price-change-row small{margin-top:3px;color:var(--muted);font-size:.75rem}
.price-change-row.price-up>b{color:#ff9f91}
.price-change-row.price-down>b{color:#83d7b2}
textarea{width:100%;resize:vertical;min-height:100px;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px;font:inherit}
.school-entry-card{margin-top:12px}
@media(max-width:700px){
.shopping-insight-grid{grid-template-columns:1fr}
#shoppingSection .section-head{align-items:flex-start}
#shoppingSection .row-actions{flex-wrap:wrap;justify-content:flex-end}
}
.member-card-clickable{cursor:pointer}
.member-dashboard-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.member-dashboard-avatar{width:58px;height:58px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:var(--panel2);font-size:1.35rem;font-weight:900}
.member-dashboard-avatar img{width:100%;height:100%;object-fit:cover}
.member-dashboard-head strong,.member-dashboard-head small{display:block}
.member-dashboard-head small{margin-top:3px;color:var(--muted)}
.member-dashboard-status{padding:11px 12px;border:1px solid var(--border);background:var(--panel2);border-radius:13px;color:var(--muted);font-size:.8rem;line-height:1.5}
.member-dashboard-links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.member-dash-section{margin-top:14px}
.member-dash-section>strong{display:block;margin-bottom:7px}
.member-dash-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding:9px 0;border-top:1px solid var(--border)}
.member-dash-row b,.member-dash-row small{display:block}
.member-dash-row small{margin-top:2px;color:var(--muted);font-size:.76rem}
.shopping-price-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--border)}
.shopping-price-row:first-child{border-top:0}
.shopping-price-row strong,.shopping-price-row small,.shopping-price-row b,.shopping-price-row span{display:block}
.shopping-price-row small{margin-top:3px;color:var(--muted);font-size:.76rem}
.shopping-price-row>div:last-child{text-align:right}
.shopping-price-row.price-up>div:last-child{color:#ff8f82}
.shopping-price-row.price-down>div:last-child{color:#79d8a8}
.shopping-price-row.price-flat>div:last-child{color:var(--muted)}
.shopping-price-row span{font-size:.74rem;margin-top:3px;font-weight:800}
.shopping-compare-head{margin-top:16px}
.hero,.today-summary{background:linear-gradient(135deg,#344157,#414d6f)}
.timeline,.card,.mini-card,.action-card,.finance-strip article,.family-today-card,.settings-card,.member-card,.bank-card,.goal-card,.safety-card,.school-profile-card,.school-empty-card,.school-action-grid button,.lesson-row,.school-week-day,.finance-insights article{background:#2b3647}
.family-today-card:hover,.member-card-clickable:hover{background:#344156}
.bottom-nav{border-top-color:#59677d}
dialog input,dialog select,dialog textarea,.auth-form input,.auth-form select,.budget-head input,.section-head input,textarea{background:#202938;border-color:#5a6981;color:#fff}
.dialog-head button,.icon-btn{background:#3b485c;border-color:#59677c;color:#fff}
.pill,.date-chip,.action-card span,.activity-icon,.school-event-badge{background:#3a465a}
.check-row,.priority-row{color:#f8fafc}
.check-row{border-bottom-color:#465469}
.money-row,.school-list-row,.event-row,.budget-progress{border-bottom-color:#465469}
.member-choice-body{background:#253043;border-color:#59677d}
.member-choice input:checked+.member-choice-body{background:color-mix(in srgb,var(--member-color) 18%,#253043)}
.shopping-suggestions{margin-top:6px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#303c4f;box-shadow:0 14px 30px rgba(8,12,20,.22)}
.shopping-suggestion{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #465469;padding:11px 12px;min-height:0}
.shopping-suggestion:last-child{border-bottom:0}
.shopping-suggestion strong,.shopping-suggestion small{display:block}
.shopping-suggestion small{color:var(--muted);font-size:.75rem;margin-top:2px;line-height:1.35}
.shopping-suggestion>span:last-child{color:var(--accent2);font-size:1.1rem}
.price-change-row{border-top:1px solid var(--border)}
.price-change-row:first-child{border-top:0}
.price-main{min-width:0}
.price-main strong{display:block;font-size:1rem}
.price-pair{display:flex;align-items:center;gap:8px}
.price-main small{display:block}
.price-delta{min-width:82px}
.price-change-row:hover{background:rgba(255,255,255,.025)}
.product-price-hero{border:1px solid var(--border)}
.product-price-hero strong{font-size:1.05rem}
.product-price-grid{margin-top:12px}
.product-price-metric small{line-height:1.35}
@media(max-width:420px){
.product-price-grid{grid-template-columns:1fr}
.price-pair b{font-size:.98rem}
.price-delta{min-width:72px}
}
.price-change-row{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;text-align:left;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:14px 0}
.price-change-row:last-child{border-bottom:0}
.price-main strong,.price-main small,.price-pair{display:block}
.price-pair{margin-top:5px}
.price-pair b{font-size:1rem}
.price-pair i{font-style:normal;color:var(--muted);margin:0 7px}
.price-main small{margin-top:4px;color:var(--muted);font-size:.76rem}
.price-delta{text-align:right}
.price-delta b,.price-delta span{display:block}
.price-delta b{font-size:1rem}
.price-delta span{margin-top:2px;font-weight:800;font-size:.8rem}
.price-change-row.price-up .price-delta{color:#ff8f82}
.price-change-row.price-down .price-delta{color:#79d8a8}
.product-price-hero{border-radius:14px;padding:14px;margin-bottom:12px;background:var(--panel2)}
.product-price-hero span,.product-price-hero strong{display:block}
.product-price-hero span{color:var(--muted);font-size:.78rem}
.product-price-hero strong{margin-top:4px}
.product-price-hero.price-up strong{color:#ff8f82}
.product-price-hero.price-down strong{color:#79d8a8}
.product-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.product-price-metric{border:1px solid var(--border);background:var(--panel2);border-radius:13px;padding:12px}
.product-price-metric span,.product-price-metric strong,.product-price-metric small{display:block}
.product-price-metric span{font-size:.74rem;color:var(--muted)}
.product-price-metric strong{margin-top:4px;font-size:1.02rem}
.product-price-metric small{margin-top:3px;color:var(--muted);font-size:.72rem}
.product-history{margin-top:14px}
.product-history>strong{display:block;margin-bottom:7px}
.product-history-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--border)}
.product-history-row strong,.product-history-row small{display:block}
.product-history-row small{margin-top:2px;color:var(--muted);font-size:.72rem}
.product-history-row>span{font-size:.7rem;color:var(--accent2);font-weight:800}
.shopping-insight-card{overflow:hidden}
@media(max-width:520px){
.product-price-grid{grid-template-columns:1fr}
.price-change-row{grid-template-columns:1fr auto}
.price-main small{max-width:230px}
}
.frequent-shopping{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}
.frequent-chip{min-width:150px;max-width:220px;scroll-snap-align:start;text-align:left;border:1px solid var(--border);border-radius:14px;padding:11px 12px}
.frequent-chip strong,.frequent-chip small{display:block}
.frequent-chip small{margin-top:3px;color:var(--muted);font-size:.72rem}
.frequent-chip:hover{background:var(--panel2)}
#merchantBasketCompare .money-row:first-child{background:color-mix(in srgb,#79d8a8 8%,transparent)}
.loan-summary{margin-bottom:12px}
.loan-list{display:grid;gap:10px}
.loan-card{border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:14px}
.loan-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.loan-card-head strong,.loan-card-head small{display:block}
.loan-card-head small{margin-top:3px;color:var(--muted);font-size:.78rem}
.loan-card-head>b{font-size:1.05rem}
.loan-progress{margin-top:12px}
.loan-progress progress{width:100%;height:8px}
.loan-progress small{display:block;margin-top:4px;color:var(--muted);font-size:.74rem}
.loan-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.loan-meta span{border-radius:12px;padding:10px}
.loan-meta small,.loan-meta b{display:block}
.loan-meta small{color:var(--muted);font-size:.7rem}
.loan-meta b{margin-top:3px;font-size:.84rem}
@media(max-width:560px){
.loan-meta{grid-template-columns:1fr 1fr}
.loan-card-head{align-items:center}
.loan-card-head>b{text-align:right}
}
.bottom-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
.sos-fab{display:none!important}
.sos-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;margin-bottom:12px}
.sos-card>div{display:flex;align-items:center;gap:12px;min-width:0}
.sos-card strong{display:block;font-size:.98rem}
.sos-card p{margin:3px 0 0;font-size:.8rem;line-height:1.4}
.sos-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#d83a46;color:#fff;font-weight:900;font-size:1.15rem;flex:none}
.sos-inline{border:0;border-radius:13px;color:#fff;font-weight:900;padding:11px 14px;min-height:44px;white-space:nowrap}
@media(max-width:520px){
.app-shell{padding-top:calc(22px + env(safe-area-inset-top))}
.topbar{margin-top:0}
.sos-card{align-items:flex-start;flex-direction:column}
.sos-inline{width:100%}
}
.place-suggestions{margin-top:6px;border:1px solid var(--border);border-radius:14px;overflow:hidden;max-height:220px;overflow-y:auto}
.place-suggestion{width:100%;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;text-align:left;border:0;border-bottom:1px solid #ffffff12;padding:11px 12px;min-height:44px}
.place-suggestion:last-child{border-bottom:0}
.place-suggestion:active{background:#ffffff0d}
.place-pin{font-size:1.1rem}
.mini-map,.family-location-map{width:100%;border:1px solid var(--border);margin-top:10px}
.mini-map{height:170px}
.family-location-map{height:220px;margin-top:12px}
.invite-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.app-download-link{display:block;margin-top:10px;font-weight:800;text-decoration:none}
.finance-fold{border:1px solid var(--border);border-radius:17px;background:var(--panel);margin-top:12px}
.finance-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}
.finance-fold>summary::-webkit-details-marker{display:none}
.finance-fold>summary>span:first-child{display:grid}
.finance-fold>summary b{font-size:.96rem}
.finance-fold>summary small{font-size:.76rem;margin-top:2px}
.finance-fold>summary>span:last-child{font-size:1.4rem;transition:transform .2s}
.finance-fold[open]>summary>span:last-child{transform:rotate(90deg)}
.finance-fold>section{margin:0;padding:0 14px 14px}
.finance-fold>section+section{padding-top:4px;border-top:1px solid #ffffff10}
.view[data-view="budget"]>section{margin-top:14px}
.view[data-view="budget"]>.balance-card{padding:16px}
.view[data-view="budget"]>.finance-insights{margin-top:10px}
.quick-actions button,.family-today-card,.school-today-card{background-image:linear-gradient(145deg,rgba(255,255,255,.025),rgba(117,99,255,.055))}
.quick-actions span{display:grid;place-items:center;margin:0 auto 6px}
@media(max-width:520px){
.mini-map{height:145px}
.family-location-map{height:190px}
.finance-fold>section{padding-left:10px;padding-right:10px}
.invite-share-actions{grid-template-columns:1fr}
}
html.native-app body{padding-bottom:92px}
html.native-app .app-shell{padding-left:18px;padding-right:18px}
html.native-app .bottom-nav{padding-bottom:8px;min-height:76px}
@media(max-width:520px){
html.native-app .app-shell{padding-top:18px;padding-left:14px;padding-right:14px}
}
body{color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-shell{width:min(100%,920px);margin:0 auto;padding-left:18px;padding-right:18px}
.famiqo-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 0 14px;margin:0;background:transparent;border:0}
.brand-lockup{display:flex;align-items:center;gap:11px}
.brand-icon{width:50px;height:50px;border-radius:15px}
.brand-lockup>div{display:grid;line-height:1.1}
.brand-lockup span{margin-top:5px}
.header-actions{display:flex;align-items:center;gap:9px}
.icon-btn,.avatar{border:1px solid var(--border)!important;width:45px;height:45px;border-radius:15px!important}
.avatar{font-weight:900;overflow:hidden}
.badge{background:#f33f6b!important;color:#fff!important;border:2px solid #fff}
.page-heading{margin:7px 0 14px}
.page-heading .eyebrow{font-weight:900;text-transform:uppercase}
.page-heading h1{line-height:1.05;margin:4px 0 0}
html[data-view="today"] .page-heading{display:none}
.view>section{margin-top:15px}
.view>section:first-child{margin-top:0}
.section-head{margin:0 0 10px;align-items:center}
.section-head h2,.section-head h3{color:#13193e;letter-spacing:-.025em}
.section-head h3{font-size:.96rem}
.text-btn{font-weight:800;background:transparent!important;border:0!important}
.pill{font-weight:800}
.card,.mini-card,.settings-card,.member-card,.bank-card,.goal-card,.safety-card,
.school-profile-card,.school-empty-card,.lesson-row,.school-week-day,.finance-insights article,
.finance-strip article,.action-card,.family-today-card,.school-today-card,.loan-card,.finance-fold{border:1px solid var(--border)!important}
.hint,.compact-empty,.member-card span,.settings-card p,.bank-card p,.goal-card small,.money-row small,
.check-row small,.event-row small,.school-list-row small,.lesson-row small{color:var(--muted)!important}
.today-summary{position:relative;overflow:hidden;border:1px solid #e2e5fb!important;min-height:170px}
.today-summary:after{content:"";position:absolute;right:-22px;bottom:-28px;width:150px;height:150px;background:url('/icon.svg') center/contain no-repeat;transform:rotate(-5deg);pointer-events:none}
.today-summary-head{position:relative;z-index:1}
.today-summary-head h2{font-size:1.55rem;letter-spacing:-.04em;margin-top:4px}
.today-summary .hint{font-size:.9rem;max-width:78%}
.priority-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
.priority-row{border:1px solid #e5e8f5!important;border-radius:15px!important;padding:10px 11px!important;min-height:58px}
.priority-row .priority-icon{border-radius:10px!important}
.quick-actions{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important}
.quick-actions button{padding:13px 8px!important;font-weight:850!important}
.quick-actions span{width:44px!important;height:44px!important;border-radius:14px!important;font-size:1.2rem!important}
.family-today{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.family-today-card{border-radius:20px!important;padding:13px!important;text-align:left}
.family-today-avatar{background:color-mix(in srgb,var(--member-color) 18%,#fff)!important;color:var(--member-color)!important;border:2px solid color-mix(in srgb,var(--member-color) 44%,#fff)!important}
.school-today{display:grid;gap:9px}
.school-today-card{border-radius:20px!important;padding:13px!important}
.finance-strip{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important}
.finance-strip article{border-radius:17px!important;padding:13px!important}
.activity-feed{border:1px solid var(--border);border-radius:20px;overflow:hidden}
.activity-row{border-color:#edf0f7!important}
html[data-view="today"] .view[data-view="today"]>section:has(#todayBills),
html[data-view="today"] .view[data-view="today"]>section:has(#todayEvents),
html[data-view="today"] .view[data-view="today"]>section:has(#todayTasks),
html[data-view="today"] .view[data-view="today"]>section:has(#todayMeals){display:none}
.hero{position:relative;overflow:hidden;border:1px solid var(--border)!important;padding:20px!important}
.hero:after{content:"";position:absolute;right:-28px;bottom:-38px;width:150px;height:150px;background:url('/icon.svg') center/contain no-repeat}
.hero h2{font-size:1.45rem!important;letter-spacing:-.035em}
.hero p{max-width:72%}
#calendarMonth,#monthPicker,.section-head input{border:1px solid var(--border)!important;border-radius:14px!important;padding:10px 12px!important}
.calendar-legend{gap:8px!important}
.calendar-legend span{border:1px solid var(--border);border-radius:999px;padding:7px 10px}
.calendar-grid{border:1px solid var(--border)!important;border-radius:24px!important;padding:10px!important}
.calendar-grid button,.calendar-day{border-radius:16px!important}
.calendar-grid .today,.calendar-day.today{border-color:transparent!important}
.event-row{background:#fff!important;border-color:#edf0f7!important}
.place-suggestion strong,.place-suggestion small{display:block}
.place-suggestion small{font-size:.73rem;margin-top:2px}
.place-pin{color:#654cff!important}
.mini-map,.family-location-map{border-radius:20px!important}
#shoppingList,.shopping-price-teaser .card{overflow:hidden}
.shopping-suggestion{background:#fff!important;color:#171d43!important;border-color:#edf0f7!important}
.frequent-chip{background:#fff!important;color:#171d43!important;border-color:var(--border)!important;box-shadow:var(--shadow-soft)}
.price-change-row.price-down .price-delta,.shopping-price-row.price-down>div:last-child{color:#15955a!important}
.price-change-row.price-up .price-delta,.shopping-price-row.price-up>div:last-child{color:#db3658!important}
.shopping-insight-card{background:#fff!important}
.product-price-hero,.product-price-metric{background:#f7f8ff!important;border-color:var(--border)!important}
.balance-card{border-radius:24px!important;padding:18px!important}
.balance-card>strong{font-size:2rem!important}
.balance-grid>div{border-radius:14px!important}
.finance-insights{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:9px!important}
.action-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:9px!important}
.action-card{border-radius:18px!important;min-height:105px!important}
.finance-fold{overflow:hidden}
.finance-fold>summary{padding:15px!important}
.family-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.member-card{border-radius:20px!important;padding:14px!important}
.settings-card{padding:15px!important}
.sos-card{border:1px solid #ffd2dc!important;border-radius:20px!important}
.safety-grid{gap:10px!important}
.safety-card{border-radius:20px!important}
.emergency-banner{box-shadow:0 18px 44px rgba(197,34,69,.25)!important}
.member-remove-button{margin-top:14px;width:100%;border:1px solid #ffc9d3;border-radius:13px;padding:11px 13px;font-weight:850}
.school-action-grid button{box-shadow:var(--shadow-soft)!important}
.lesson-row{background:#fff!important}
.school-week-day{background:#fff!important}
dialog{border-radius:24px!important}
dialog input,dialog select,dialog textarea,.auth-form input,.auth-form select,textarea{border:1px solid #dfe4f0!important;border-radius:13px!important}
.app-download-link{color:#654cff!important}
.bottom-nav{border:1px solid #e2e6f1!important;border-bottom:0!important;padding-left:10px!important;padding-right:10px!important}
.bottom-nav button{border-radius:16px!important}
.toast{box-shadow:var(--shadow)}
a{color:#5f48ee}
html.native-app .app-shell{padding-top:14px!important}
@media(max-width:620px){
.page-heading h1{font-size:1.8rem}
.today-summary{min-height:0}
.priority-list{grid-template-columns:1fr 1fr;gap:7px}
.priority-row small{display:none}
.quick-actions button{padding:10px 5px!important;font-size:.83rem}
.quick-actions span{width:40px!important;height:40px!important}
.family-today{grid-template-columns:1fr 1fr!important}
.family-today-card{padding:11px!important}
.family-today-card small{font-size:.71rem!important}
.finance-strip{gap:7px!important}
.finance-strip article{padding:11px!important}
.finance-strip span{font-size:.72rem!important}
.finance-strip strong{font-size:.92rem!important}
.hero{padding:17px!important;border-radius:21px!important}
.hero p{max-width:80%;font-size:.82rem!important}
.calendar-grid{border-radius:20px!important;padding:7px!important}
.finance-insights{grid-template-columns:1fr 1fr!important}
.finance-insights article:last-child{grid-column:1/-1}
.action-grid{grid-template-columns:repeat(2,1fr)!important}
.family-grid{grid-template-columns:1fr!important}
.safety-grid{grid-template-columns:1fr!important}
.bottom-nav{width:100%!important}
.bottom-nav button{font-size:.72rem!important;padding:8px 4px!important}
}
.home-kpis{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px}
.home-kpi{display:flex;align-items:center;gap:9px;padding:10px}
.home-kpi>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:1rem}
.home-kpi strong,.home-kpi small{display:block}
.home-kpi strong{font-size:.95rem}
.home-kpi small{margin-top:2px}
@media(max-width:620px){
.home-kpis{grid-template-columns:repeat(2,1fr)}
.home-kpi>span{width:32px;height:32px}
}
:root{--panel3:#252d3e;--blue:#54a2ff;--green:#45c982;--pink:#ee6a93;--orange:#f0a45d;--danger:#ee5a6f;--shadow:0 12px 28px rgba(4,7,13,.22);--shadow-soft:0 5px 15px rgba(4,7,13,.16);color-scheme:dark}
html,body{background:#111620!important;color:var(--text)!important}
body{background:
 radial-gradient(circle at 90% -10%,rgba(128,102,255,.13),transparent 30rem),
 radial-gradient(circle at -10% 40%,rgba(240,164,93,.045),transparent 25rem),
 linear-gradient(180deg,#111620 0%,#151b27 100%)!important}
.app-shell{background:transparent!important}
.famiqo-topbar{padding-bottom:12px!important}
.brand-lockup strong,.page-heading h1,.section-head h2,.section-head h3{color:var(--text)!important}
.brand-lockup span,.page-heading .eyebrow,.hint,.compact-empty{color:var(--muted)!important}
.brand-icon{box-shadow:none!important;filter:drop-shadow(0 6px 10px rgba(76,56,178,.18))!important}
.icon-btn,.avatar{background:#1d2432!important;border-color:#30394b!important;color:#f5f6fa!important;box-shadow:none!important}
.badge{border-color:#1d2432!important}
.card,.mini-card,.settings-card,.member-card,.bank-card,.goal-card,.safety-card,
.school-profile-card,.school-empty-card,.lesson-row,.school-week-day,.finance-insights article,
.finance-strip article,.action-card,.family-today-card,.school-today-card,.loan-card,.finance-fold{background:#191f2c!important;border-color:var(--border)!important;box-shadow:var(--shadow-soft)!important;color:var(--text)!important}
.card,.settings-card,.member-card,.bank-card,.goal-card,.safety-card,.loan-card,.finance-fold{border-radius:18px!important}
.member-card span,.settings-card p,.bank-card p,.goal-card small,.money-row small,
.check-row small,.event-row small,.school-list-row small,.lesson-row small{color:var(--muted)!important}
.section-head{margin-bottom:9px!important}
.text-btn,a{color:#aa92ff!important}
.pill{background:#28233f!important;color:#c8b8ff!important;border:1px solid #40385d!important}
.today-summary{background:
 linear-gradient(135deg,rgba(128,102,255,.17),rgba(27,33,47,.96) 54%,rgba(240,164,93,.07))!important;border-color:#373f55!important;box-shadow:var(--shadow)!important;border-radius:22px!important}
.today-summary:after{opacity:.055!important}
.today-summary-head h2{color:#fff!important}
.today-summary .eyebrow{color:#b9bfd0!important}
.home-kpi{border-color:#343d50!important;box-shadow:none!important}
.priority-row{background:#202737!important;border-color:#343d50!important;color:#f5f6fa!important;box-shadow:none!important}
.priority-row .priority-icon{background:#30294b!important;color:#c4b1ff!important}
.priority-row small{color:var(--muted)!important}
.priority-row.urgent{background:#302029!important;border-color:#623342!important}
.quick-actions button{border-color:#313a4d!important;box-shadow:var(--shadow-soft)!important}
.quick-actions button:nth-child(2) span{background:#1f3144!important;color:#7fc5ff!important}
.quick-actions button:nth-child(3) span{background:#382d40!important;color:#efb56f!important}
.quick-actions button:nth-child(4) span{background:#392532!important;color:#ef86a7!important}
.family-today-card,.school-today-card{background:#191f2c!important}
.family-today-card:hover,.school-today-card:hover{background:#202737!important}
.finance-strip article{background:#191f2c!important}
.finance-strip article:nth-child(1){background:#172720!important}
.finance-strip article:nth-child(2){background:#2a1d25!important}
.finance-strip article:nth-child(3){background:#211d32!important}
.activity-feed{background:#191f2c!important;border-color:var(--border)!important;box-shadow:var(--shadow-soft)!important}
.activity-row,.activity-item{border-color:#2c3445!important}
.hero{background:linear-gradient(135deg,#1d2432,#201f32)!important;border-color:#343d50!important;box-shadow:var(--shadow-soft)!important;color:var(--text)!important;border-radius:20px!important}
.hero:after{opacity:.045!important}
.hero h2{color:#fff!important}
.hero p{color:var(--muted)!important}
.shopping-hero{background:linear-gradient(135deg,#1a2330,#242036)!important}
.school-hero{background:linear-gradient(135deg,#1b2231,#202638)!important}
#calendarMonth,#monthPicker,.section-head input{background:#1b2230!important;border-color:#333c4f!important;color:#f3f4f8!important}
.calendar-legend span{background:#191f2c!important;border-color:#30394b!important;color:#c9cfdb!important}
.calendar-grid{background:#181e2b!important;border-color:#30394b!important;box-shadow:var(--shadow-soft)!important}
.calendar-grid button,.calendar-day{background:#202737!important;border-color:#313a4d!important;color:#f4f5f8!important}
.calendar-grid .today,.calendar-day.today{background:linear-gradient(135deg,#7a5fff,#664be5)!important;color:#fff!important;box-shadow:0 6px 14px rgba(108,79,235,.24)!important}
.event-row,.money-row,.check-row{background:transparent!important;border-color:#2d3547!important;color:var(--text)!important}
.date-chip{background:#30294b!important;color:#c1afff!important}
.place-suggestions{background:#181e2b!important;border-color:#343d50!important;box-shadow:var(--shadow)!important}
.place-suggestion{background:#181e2b!important;color:#f5f6fa!important;border-bottom-color:#2c3445!important}
.place-suggestion:hover,.place-suggestion:active{background:#202737!important}
.place-suggestion small{color:var(--muted)!important}
.mini-map,.family-location-map{background:#171c27!important;border-color:#343d50!important}
.shopping-suggestion,.frequent-chip,.shopping-insight-card,.product-price-hero,.product-price-metric{background:#191f2c!important;color:#f4f5f8!important;border-color:#313a4d!important}
.shopping-suggestion:hover{background:#202737!important}
.price-change-row,.shopping-price-row{color:#f4f5f8!important;border-color:#2d3547!important}
.balance-card{border-color:#354154!important;box-shadow:var(--shadow)!important}
.balance-grid>div{background:#202737!important}
.finance-insights article{background:#191f2c!important}
.action-card{background:#191f2c!important}
.action-card span{background:#30294b!important;color:#c0adff!important}
.finance-fold>summary{background:#191f2c!important;color:#f5f6fa!important}
.finance-fold>summary small{color:var(--muted)!important}
.finance-fold>section{background:#151b26!important;border-top-color:#2d3547!important}
.loan-meta span{background:#202737!important}
.member-card-clickable:hover{background:#202737!important}
.sos-card{color:#fff!important;box-shadow:var(--shadow-soft)!important}
.sos-card p{color:#d2acb8!important}
.sos-inline{background:linear-gradient(135deg,#e95369,#cb3e56)!important;box-shadow:none!important}
.member-remove-button{background:#2c1c23!important;border-color:#5d2e3b!important;color:#ff8ca2!important}
.emergency-banner{background:#9e2f45!important;border-color:#d8667c!important}
.safety-card{background:#191f2c!important}
.school-action-grid button{background:#191f2c!important;color:#f5f6fa!important;border-color:#313a4d!important}
.lesson-row,.school-week-day{background:#191f2c!important}
.school-event-badge{background:#30294b!important;color:#c1afff!important}
dialog{border-color:#343d50!important;box-shadow:0 26px 70px rgba(0,0,0,.42)!important}
.dialog-head button{background:#202737!important;color:#e9ecf2!important;border-color:#343d50!important}
dialog input,dialog select,dialog textarea,.auth-form input,.auth-form select,textarea{background:#202737!important;border-color:#3a4356!important;color:#f4f5f8!important}
dialog label,.auth-form label{color:#dce1ea!important}
.auth-card{box-shadow:var(--shadow)!important}
.invite-result{background:#201c31!important;border-color:#41375d!important}
.primary:hover,.submit-btn:hover,.compact-primary:hover{filter:brightness(1.05)}
button{transition:background-color .15s ease,border-color .15s ease,transform .12s ease}
button:active{transform:scale(.985)}
.bottom-nav .active{background:#2b2743!important;color:#bca8ff!important}
.bottom-nav .active:after{background:#8b71ff!important}
progress{accent-color:#8066ff}
hr{border-color:#30394b!important}
html.native-app body{background:#111620!important}
@media(max-width:620px){
.app-shell{padding-left:14px!important;padding-right:14px!important}
.quick-actions button{min-height:96px!important}
.home-kpi{padding:9px!important}
.family-today-card{min-height:76px}
.bottom-nav{border-radius:18px 18px 0 0!important}
}
:root{--bg:#24211f!important;--panel:#332f2b!important;--panel2:#403b35!important;--border:#504940!important;--text:#f7f2ea!important;--muted:#c3b8ac!important;--accent:#efb66c!important;--accent2:#f7c98d!important;--good:#aace9d!important;--bad:#f18b79!important}
html{color-scheme:dark;background:#24211f}
body,html.native-app body{background:#24211f!important;color:var(--text)!important}
.app-shell{max-width:840px;padding-top:calc(18px + env(safe-area-inset-top))}
.topbar{background:transparent!important;padding:2px 0 6px;margin-bottom:12px!important}
.brand-lockup strong{font-size:1.45rem!important;letter-spacing:-.05em;text-transform:lowercase;color:#fbf4e9!important}
.brand-lockup span{font-size:.75rem!important;color:#c6b8a6!important}
.page-heading{padding:2px 0 12px!important}
.page-heading .eyebrow{font-size:.7rem!important;letter-spacing:.02em;color:#b9aa97!important}
.page-heading h1{font-size:1.65rem!important;letter-spacing:-.035em;color:#fbf4e9!important}
.icon-btn,.dialog-head button{background:#403b35!important;border-color:#584f46!important;color:#f6ecdc!important}
.avatar{background:#9a775b!important;color:#fff!important}
section{margin-top:18px}
.card,.timeline,.mini-card,.action-card,.family-today-card,.settings-card,.member-card,.bank-card,.goal-card,.safety-card,.school-profile-card,.school-empty-card,.school-action-grid button,.lesson-row,.school-week-day,.finance-insights article,.loan-card{background:#332f2b!important;border:1px solid #504940!important;color:#f7f2ea!important;border-radius:17px!important;box-shadow:none!important}
.hero,.today-summary,.school-hero{background:linear-gradient(145deg,#38322c,#302c28)!important;border:1px solid #554c42!important;border-radius:20px!important;box-shadow:none!important;color:#fff!important}
.today-summary{padding:17px!important}
.today-summary h2{font-size:1.6rem!important;letter-spacing:-.04em}
.today-summary .hint{color:#cdbfb0!important}
.home-kpis{gap:9px!important}
.home-kpi{background:#413a33!important;border:1px solid #594e43!important;border-radius:15px!important;min-height:80px}
.home-kpi>span{background:#5c4d3c!important;color:#fac988!important}
.home-kpi strong{color:#fff4e4!important}
.home-kpi small{color:#d1c4b6!important;font-size:.76rem!important}
.priority-row{border-top-color:#564c42!important}
.priority-icon{background:#5b4b39!important;color:#f6bf79!important}
.priority-row.urgent .priority-icon{background:#63403a!important;color:#ffab98!important}
.quick-actions button{background:#36312c!important;border:1px solid #544b41!important;min-height:79px!important;border-radius:15px!important;color:#f8f1e8!important}
.quick-actions span{background:#524333!important;color:#f2bc79!important}
.section-head h2{color:#f7f2ea!important;font-size:1.06rem!important}
.text-btn{color:#f4c48c!important}
.hint,.compact-empty{color:#c3b8ac!important}
.primary,.submit-btn,.compact-primary{background:#edb66e!important;color:#2d241c!important;border:0!important;border-radius:13px!important;font-weight:800!important;box-shadow:none!important}
.balance-card{background:linear-gradient(135deg,#364338,#302c28)!important;border:1px solid #56614d!important;color:#fff!important}
.balance-card>strong{color:#b9dfab!important}
.balance-grid>div,.finance-insights article,.action-card,.safety-card,.shopping-insight-card{background:#332f2b!important}
.finance-fold,.finance-fold>summary,.finance-fold>section{background:#332f2b!important;border-color:#504940!important;color:#f7f2ea!important}
.finance-fold>summary>span:last-child{color:#efb66c!important}
.check-row,.event-row,.money-row,.school-list-row,.budget-progress,.shopping-price-row,.price-change-row{border-color:#52493e!important;color:#f7f2ea!important}
.date-chip,.pill,.activity-icon,.school-event-badge,.action-card span{background:#4a4036!important;color:#f1c48d!important}
.check-row.done .checkmark{background:#91b88b!important;border-color:#91b88b!important}
.task input,progress{accent-color:#a8c79a!important}
.progress i,progress::-webkit-progress-value{background:#a8c79a!important}
.member-choice-body,.frequent-chip,.shopping-suggestion,.product-price-hero,.product-price-metric{background:#37312b!important;border-color:#594e41!important;color:#f7f2ea!important}
.family-location-map,.mini-map{border-color:#5c5145!important}
.sos-card{background:#55372f!important;border-color:#805147!important}
dialog{background:#302b27!important;border:1px solid #665b4e!important;color:#f7f2ea!important}
dialog input,dialog select,dialog textarea,.auth-form input,.auth-form select,textarea,.section-head input,.budget-head input{background:#262320!important;border:1px solid #61574d!important;color:#fff4e5!important}
dialog input::placeholder,dialog textarea::placeholder{color:#aa9e90!important}
.auth-card{background:#332e29!important;border-color:#5a4e42!important;color:#f7f2ea!important}
.auth-brand{background:#77543b!important;color:#ffd5a3!important}
.bottom-nav{border-color:#51473d!important;box-shadow:0 -8px 20px #130e0b30!important}
.bottom-nav button{color:#c2b7aa!important;font-weight:650!important}
.bottom-nav button span{font-size:1.25rem!important}
.bottom-nav button.active,.bottom-nav .active{background:transparent!important;color:#f5bd73!important}
.bottom-nav button.active:after{background:#f5bd73!important}
.toast{background:#4b4035!important;color:#fff7ea!important}
.more-intro{margin-top:0;padding:20px;background:#38312b;border:1px solid #5b4d40;border-radius:20px}
.more-intro h2{font-size:1.45rem;margin:5px 0}
.more-intro p{color:#c9bcae;margin:0}
.more-menu{display:grid;gap:9px}
.more-menu>button{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;width:100%;text-align:left;padding:14px;background:#332f2b;border:1px solid #504940;color:#f7f2ea;border-radius:16px}
.more-menu-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#584635;color:#ffcc8d;font-size:1.25rem}
.more-menu strong,.more-menu small{display:block}
.more-menu small{color:#c5b6a4;margin-top:3px;font-size:.78rem}
.more-menu b{color:#e7b77d;font-size:1.55rem}
@media(max-width:520px){
.app-shell{padding-left:14px!important;padding-right:14px!important}
.home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.quick-actions button{min-height:72px!important}
.page-heading h1{font-size:1.5rem!important}
.today-summary h2{font-size:1.4rem!important}
.bottom-nav button{font-size:.68rem!important}
.finance-strip article{background:#332f2b!important}
}
.view[data-view="today"].active{display:flex;flex-direction:column;gap:13px}
.view[data-view="today"]>section{margin-top:0!important;min-width:0}
.view[data-view="today"]>.today-summary{order:0}
.view[data-view="today"]>section:has(#todayEvents){order:1}
.view[data-view="today"]>section:has(#todayTasks){order:2}
.view[data-view="today"]>section:has(.quick-actions){order:3}
.view[data-view="today"]>section:has(.finance-strip){order:4}
.view[data-view="today"]>section:has(#todayBills){order:5}
.view[data-view="today"]>#familyTodaySection{order:6}
.view[data-view="today"]>#schoolTodaySection{order:7}
.view[data-view="today"]>section:has(#todayMeals){order:8}
.view[data-view="today"]>section:has(#activityFeed){order:9}
.view[data-view="today"] .section-head{margin-bottom:8px}
.view[data-view="today"] .section-head h2{font-size:1.04rem!important;letter-spacing:-.015em}
.view[data-view="today"] .list-card{border-radius:16px!important}
.view[data-view="today"] .event-row,.view[data-view="today"] .check-row,.view[data-view="today"] .money-row{padding:11px 13px!important}
.view[data-view="today"] .finance-strip{gap:8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.view[data-view="today"] .finance-strip article{padding:11px!important;min-width:0;overflow-wrap:anywhere}
.view[data-view="today"] .finance-strip span{font-size:.74rem!important}
.view[data-view="today"] .finance-strip strong{font-size:.94rem!important;color:#e7d4b8!important}
.view[data-view="today"] .family-today-card{background:#39322b!important;border:1px solid #564b3f!important;padding:11px!important}
.view[data-view="today"] .family-today-avatar{background:#4d4135!important;border:1px solid #75614a!important;color:#f9dfbc!important}
.view[data-view="today"] .activity-feed{border-color:#504940!important}
.view[data-view="today"] .activity-item{background:#332f2b!important;padding:10px 12px!important}
.view[data-view="today"] .priority-list:empty{display:none}
.view[data-view="today"] .today-summary .eyebrow{color:#d7b58b!important}
.view[data-view="today"] .home-kpi{gap:8px}
.view[data-view="today"] .home-kpi>span{flex:none}
.view[data-view="today"] .home-kpi small{line-height:1.2}
.view[data-view="today"] .quick-actions button{min-height:65px!important;padding:9px 4px!important}
.view[data-view="today"] .quick-actions span{width:29px;height:29px;font-size:1.05rem;margin-bottom:3px}
@media(max-width:460px){
.view[data-view="today"].active{gap:12px}
.view[data-view="today"] .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.view[data-view="today"] .home-kpi>span{width:30px;height:30px}
.view[data-view="today"] .finance-strip strong{font-size:.8rem!important}
.view[data-view="today"] .family-today{grid-template-columns:1fr 1fr!important;gap:7px!important}
.view[data-view="today"] .family-today-card small{font-size:.7rem!important;line-height:1.3}
}
@media(max-width:620px){
.app-shell{padding-top:calc(34px + env(safe-area-inset-top))!important}
.famiqo-topbar{min-height:47px!important;padding:0 0 3px!important;margin:0 0 5px!important}
.brand-icon{width:35px!important;height:35px!important;border-radius:11px!important}
.brand-lockup{gap:8px!important}
.brand-lockup span{font-size:.69rem!important;margin-top:2px!important}
.header-actions{gap:6px!important}
.header-actions .icon-btn,.header-actions .avatar{width:37px!important;height:37px!important;border-radius:12px!important}
.page-heading{display:none!important}
.today-summary{padding:12px!important;border-radius:18px!important}
.today-summary:after{display:none!important}
.today-summary-head{align-items:center!important;gap:10px!important}
.today-summary h2{font-size:1.2rem!important;line-height:1.17!important}
.today-summary .eyebrow{font-size:.61rem!important}
.today-summary-head .compact-primary{padding:8px 11px!important;font-size:.78rem!important;min-height:36px!important}
.today-summary .hint{font-size:.76rem!important;line-height:1.2!important;margin:5px 0!important;max-width:100%!important}
.view[data-view="today"] .home-kpis{margin-top:9px!important}
.view[data-view="today"] .home-kpi{gap:7px!important}
.view[data-view="today"] .home-kpi>span{border-radius:9px!important}
.view[data-view="today"] .home-kpi strong{line-height:1.1!important}
.view[data-view="today"] .home-kpi small{margin-top:2px!important}
.priority-list{margin-top:6px!important}
.priority-row{padding:6px 0!important;min-height:39px!important}
.priority-icon{width:27px!important;height:27px!important;font-size:.82rem!important}
.priority-row strong{font-size:.78rem!important}
.priority-row small{font-size:.69rem!important}
.quick-actions{gap:6px!important}
.view[data-view="today"] .quick-actions button{min-height:55px!important;padding:6px 1px!important;font-size:.7rem!important;border-radius:12px!important}
.view[data-view="today"] .quick-actions span{width:25px!important;height:25px!important;margin-bottom:2px!important;font-size:.89rem!important}
.view[data-view="today"] .section-head{margin-bottom:5px!important}
.view[data-view="today"] .section-head h2{font-size:.98rem!important}
.view[data-view="today"] .text-btn{font-size:.8rem!important}
.view[data-view="today"] .finance-strip article{padding:8px!important;border-radius:12px!important}
.view[data-view="today"] .finance-strip span{font-size:.68rem!important}
.view[data-view="today"] .finance-strip strong{font-size:.76rem!important}
.view[data-view="today"] .family-today{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity;gap:7px!important;padding-bottom:3px}
.view[data-view="today"] .family-today-card{flex:0 0 min(64vw,205px)!important;min-height:57px!important;scroll-snap-align:start;padding:7px!important;border-radius:13px!important}
.view[data-view="today"] .family-today-avatar{width:32px!important;height:32px!important;border-radius:10px!important}
.bottom-nav{min-height:calc(65px + max(12px,env(safe-area-inset-bottom)))!important;height:calc(65px + max(12px,env(safe-area-inset-bottom)))!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
.bottom-nav button{gap:1px!important}
.bottom-nav button span{font-size:1.1rem!important}
body{padding-bottom:calc(87px + env(safe-area-inset-bottom))!important}
}
.view[data-view="today"]>.today-summary{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(100deg,#40322a 0%,#3a2b24 52%,#473126 100%)!important;padding:18px!important;min-height:137px}
.view[data-view="today"]>.today-summary:before{content:"";position:absolute;z-index:-1;right:0;bottom:0;width:62%;height:100%;background:url('/famiqo-house.svg') right bottom/cover no-repeat;opacity:.68;pointer-events:none}
.view[data-view="today"]>.today-summary:after{display:none!important}
.view[data-view="today"]>.today-summary .hint{position:relative;z-index:1;text-shadow:0 1px 6px #241b16}
.view[data-view="today"] .today-summary h2{font-size:1.6rem!important}
.view[data-view="today"] .home-kpis{order:1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important;gap:8px!important}
.view[data-view="today"] .home-kpi{position:relative;display:flex!important;align-items:flex-start!important;flex-direction:column!important;justify-content:center!important;min-height:110px!important;padding:13px!important;text-align:left;background:#352f2a!important;border:1px solid #5a4d42!important;color:#f8f1e6!important}
.view[data-view="today"] .home-kpi:nth-child(2){background:#3c3128!important}
.view[data-view="today"] .home-kpi:nth-child(3){background:#2f3931!important}
.view[data-view="today"] .home-kpi:nth-child(4){background:#3b2e36!important}
.view[data-view="today"] .home-kpi>span{width:35px!important;height:35px!important;display:grid!important;place-items:center!important;margin-bottom:8px!important;background:#544235!important}
.view[data-view="today"] .home-kpi>div{display:block!important}
.view[data-view="today"] .home-kpi strong{font-size:1.3rem!important;letter-spacing:-.03em}
.view[data-view="today"] .home-kpi small{font-size:.8rem!important;color:#d7c8b7!important}
.view[data-view="today"] .home-kpi>b{position:absolute;right:10px;top:9px;font-size:1.15rem;color:#c6ab8b}
.view[data-view="today"]>.next-event-section{order:2;border:1px solid #615144;border-radius:18px;padding:13px 15px!important;background:linear-gradient(100deg,#3b3029,#302925)!important;position:relative;overflow:hidden}
.view[data-view="today"]>.next-event-section:after{content:"";position:absolute;right:0;bottom:0;width:35%;height:100%;background:url('/famiqo-house.svg') center/cover;opacity:.12;pointer-events:none}
.next-event-heading{color:#eeb877;font-size:.68rem;font-weight:850;letter-spacing:.13em;margin-bottom:8px}
.next-event-feature{display:flex;align-items:center;gap:13px;position:relative;z-index:1;min-width:0}
.next-event-time{background:#29241f;border:1px solid #655347;border-radius:12px;padding:8px;min-width:67px;text-align:center}
.next-event-time strong,.next-event-time small,.next-event-copy strong,.next-event-copy small{display:block}
.next-event-time strong{font-size:1.2rem}
.next-event-time small,.next-event-copy small{font-size:.75rem;color:#c6b7a6}
.next-event-copy{flex:1;min-width:0}
.next-event-copy strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis}
.next-event-copy small{overflow:hidden;text-overflow:ellipsis}
.next-event-people{display:flex;flex-shrink:0;padding-left:5px}
.next-event-avatar{display:grid;place-items:center;overflow:hidden;width:30px;height:30px;margin-left:-6px;border:2px solid #bfa07c;border-radius:50%;background:var(--member-color);font-size:.72rem;font-weight:800}
.next-event-avatar img{width:100%;height:100%;object-fit:cover}
.next-event-arrow{color:#f5bf79;font-size:1.3rem}
.header-family-avatars{display:flex;align-items:center;margin-right:2px}
.header-family-avatar{width:33px;height:33px;overflow:hidden;display:grid;place-items:center;margin-left:-7px;border:2px solid #bd9b72;border-radius:50%;background:var(--member-color);color:#fff;font-weight:800;font-size:.8rem;padding:0;min-height:0}
.header-family-avatar:first-child{margin-left:0}
.header-family-avatar img{width:100%;height:100%;object-fit:cover}
.view[data-view="today"] .family-today-card .family-today-avatar{border-radius:50%!important;overflow:hidden!important;flex-shrink:0}
.family-today-avatar img{width:100%;height:100%;object-fit:cover}
.view[data-view="today"] .finance-strip article:nth-child(1){background:#25372e!important}
.view[data-view="today"] .finance-strip article:nth-child(2){background:#3a2931!important}
.view[data-view="today"] .finance-strip article:nth-child(3){background:#302d42!important}
@media(max-width:620px){
.view[data-view="today"].active{gap:10px!important}
.view[data-view="today"]>.today-summary{min-height:112px;padding:13px!important}
.view[data-view="today"]>.today-summary:before{width:59%;opacity:.55}
.view[data-view="today"] .today-summary h2{font-size:1.3rem!important}
.view[data-view="today"] .home-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important}
.view[data-view="today"] .home-kpi{min-height:94px!important;padding:8px!important;border-radius:13px!important}
.view[data-view="today"] .home-kpi>span{width:27px!important;height:27px!important;margin-bottom:6px!important;font-size:.9rem!important}
.view[data-view="today"] .home-kpi strong{font-size:1.06rem!important}
.view[data-view="today"] .home-kpi small{overflow-wrap:anywhere}
.view[data-view="today"] .home-kpi>b{font-size:.85rem;right:5px;top:5px}
.view[data-view="today"]>.next-event-section{padding:11px!important}
.next-event-feature{gap:8px}
.next-event-time{min-width:57px;padding:6px}
.next-event-time strong{font-size:1rem}
.next-event-time small{font-size:.64rem}
.next-event-copy strong{font-size:.86rem}
.next-event-people .next-event-avatar{width:26px;height:26px}
.header-family-avatar{width:27px;height:27px;margin-left:-7px}
.brand-lockup{min-width:0}
.brand-lockup strong{font-size:1.14rem!important}
}
@media(max-width:390px){
.header-family-avatar:nth-child(n+3){display:none}
.next-event-people .next-event-avatar:nth-child(n+3){display:none}
.brand-icon{width:30px!important;height:30px!important}
}
.famiqo-picture-hero{min-height:120px!important;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#49372b,#352b26)!important}
.famiqo-picture-hero:after{content:"";position:absolute;inset:0 0 0 35%;z-index:-1;background:url('/famiqo-house.svg') right center/cover no-repeat;opacity:.52}
.tasks-picture-hero:after{opacity:.22;filter:sepia(.65)}
.family-picture-hero:after{opacity:.35}
.famiqo-segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#302a25;border:1px solid #554a3f;padding:5px;border-radius:17px;margin-top:6px}
.famiqo-segmented button{border:0;color:#ddcebc;background:transparent;border-radius:12px;min-height:45px;font-weight:800}
.famiqo-segmented button.selected{background:#efb66c;color:#2c241d}
.view[data-view="calendar"] .calendar-grid{gap:7px}
.view[data-view="calendar"] .calendar-day{background:#38312b;color:#f6ebdc;border:1px solid #605246;border-radius:12px;min-height:60px}
.view[data-view="calendar"] .calendar-day.is-today{background:#604833;border-color:#efb66c}
.view[data-view="calendar"] .calendar-day small{color:#dbb77e}
.view[data-view="calendar"] .event-row{background:#332f2b;border-bottom:1px solid #55493d}
.view[data-view="lists"] .check-row,.view[data-view="shopping"] .check-row{background:#37312c;border:1px solid #564b40;border-radius:13px;margin-bottom:7px}
.view[data-view="lists"] .hero,.view[data-view="shopping"] .hero{min-height:110px}
.family-page-heading h2{font-size:1.7rem;margin:0}
.family-page-heading span{color:#c3b5a4;font-size:.9rem}
.view[data-view="family"] .family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.view[data-view="family"] .member-card{flex-direction:column;align-items:flex-start;padding:12px;min-width:0}
.view[data-view="family"] .member-avatar{height:53px;width:53px;border-radius:50%;overflow:hidden}
.view[data-view="family"] .member-avatar img{width:100%;height:100%;object-fit:cover}
.view[data-view="family"] .safety-grid{gap:10px}
.view[data-view="family"] .safety-card{border-radius:18px!important}
.view[data-view="budget"] .balance-card{background:linear-gradient(130deg,#334134,#3a3028)!important}
.view[data-view="budget"] .finance-insights{gap:9px}
.view[data-view="budget"] .finance-insights article{border:1px solid #554a3f!important;border-radius:14px}
.view[data-view="budget"] .action-card span{background:#665039!important;color:#ffcb8a!important}
.auth-card{border-radius:24px!important;max-width:450px!important;padding:22px!important}
.auth-brand{font-size:1.5rem!important}
.auth-card h1{font-size:1.5rem!important}
.auth-form{display:grid;gap:4px}
.auth-form input{min-height:46px!important}
.auth-card .submit-btn{min-height:48px!important}
.notifications-summary{display:flex;gap:13px;align-items:center;background:#40342a;border:1px solid #65513e;padding:13px;border-radius:16px;margin-bottom:12px}
.notice-bell{background:#775535;color:#f9c78a;display:grid;place-items:center;width:43px;height:43px;flex:none;border-radius:12px;font-size:1.5rem}
.notifications-summary strong,.notifications-summary small{display:block}
.notifications-summary small{color:#d0bfaa;font-size:.8rem;margin-top:2px}
.notifications-list{display:grid;gap:7px;max-height:55dvh;overflow:auto}
.notice-item{display:grid;grid-template-columns:38px 1fr 8px;align-items:center;gap:9px;width:100%;text-align:left;border:1px solid #594e42;border-radius:13px;padding:10px;background:#39312b;color:#f7eee1}
.notice-item-icon{display:grid;place-items:center;background:#5d4835;color:#f1bd7b;border-radius:11px;height:36px;width:36px}
.notice-item strong,.notice-item small{display:block}
.notice-item small{color:#c7b8a9;margin-top:3px}
.notice-item.is-unread i{background:#f4bc72;border-radius:50%;height:7px;width:7px}
.notice-item.is-read{opacity:.66}
.notice-empty{text-align:center;padding:24px 10px;color:#c8b9a9}
.notice-empty strong{color:#f9f0e4}
dialog:has(.notifications-summary){max-height:82dvh!important;overflow:hidden!important}
dialog:has(.notifications-summary) form{display:flex;flex-direction:column;max-height:75dvh}
@media(max-width:650px){
.view[data-view="family"] .family-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.famiqo-picture-hero{min-height:105px!important}
.bottom-nav{background:#29231e!important;backdrop-filter:none!important;box-shadow:0 -5px 18px #18130ecc!important}
.bottom-nav button{background:transparent!important}
}
.calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}
.calendar-legend-item{display:inline-flex;align-items:center;gap:6px;background:#3a332c;border:1px solid #5d4f41;border-radius:999px;padding:5px 9px;font-size:.78rem;color:#f0e1cd}
.calendar-legend-item i{display:block;width:23px;height:23px;overflow:hidden;border-radius:50%;border:1px solid #e4bc8a}
.calendar-legend-item i img{display:block;width:100%;height:100%;object-fit:cover}
.auth-gate{display:block!important;min-height:100dvh!important;padding:0!important;background:#211c18!important}
.auth-gate.hidden{display:none!important}
.landing{width:min(1200px,100%);margin:auto;padding:18px clamp(16px,3vw,34px) 30px}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 0 24px}
.landing-header a,.landing-support a{color:#f5c38b;text-decoration:none}
.landing-logo{display:flex;align-items:center;gap:12px}
.landing-logo img{width:52px;height:52px;border-radius:16px}
.landing-logo strong{font-size:1.65rem;letter-spacing:-.06em}
.landing-logo small{display:block;color:#d1b994;font-size:.74rem}
.landing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:clamp(22px,4vw,55px)}
.landing-story{position:relative;min-height:485px;display:flex;flex-direction:column;justify-content:center;padding:28px 12px 35px 0;overflow:hidden;isolation:isolate}
.landing-story:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:22px}
.landing-kicker{font-size:.73rem;color:#f3ba73;font-weight:850;letter-spacing:.11em}
.landing-story h1{max-width:14ch;font-size:clamp(2.3rem,4.8vw,4.3rem);letter-spacing:-.06em;line-height:1.04;margin:18px 0}
.landing-story h1 em{font-style:normal;color:#f0b56a}
.landing-story>p{max-width:39ch;line-height:1.65;color:#e3d6c9;margin:0 0 24px}
.landing-benefits{display:grid;gap:10px;color:#ead8c4;font-size:.9rem}
.landing-benefits span{display:block}
.landing-auth-slot .auth-card{max-width:none!important;width:100%!important;background:#302923!important;border:1px solid #605043!important;border-radius:23px!important;padding:24px!important}
.landing-auth-slot .auth-card h1{font-size:1.65rem!important;letter-spacing:-.035em}
.landing-auth-slot .auth-card>p{font-size:.88rem}
.landing-auth-slot .auth-form label{font-size:.83rem!important}
.landing-auth-slot .auth-form input{background:#241f1b!important;border-color:#625142!important}
.landing-auth-slot .auth-actions{border-top:1px solid #59493c;margin-top:19px;padding-top:10px;display:flex!important;gap:8px!important;flex-wrap:wrap}
.landing-auth-slot .auth-actions button{font-size:.82rem}
.landing-auth-slot .auth-brand{margin-bottom:12px}
.landing-download{display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:center;background:linear-gradient(110deg,#392d23,#302921);border:1px solid #614f3f;border-radius:22px;padding:25px;margin-top:30px}
.landing-download h2,.landing-section-heading h2,.landing-help h2{font-size:1.5rem;letter-spacing:-.035em;margin:7px 0}
.landing-download p{color:#cbbba9;margin:3px 0}
.landing-download-button{display:flex;align-items:center;gap:16px;background:#eeb66f;color:#291f17;text-decoration:none;border-radius:13px;padding:14px 17px;font-weight:850}
.landing-download>small{color:#b9a997;grid-column:1/-1;font-size:.75rem}
.landing-preview,.landing-help{margin-top:46px}
.landing-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:20px}
.landing-preview-grid article{padding:20px 16px;border-radius:19px;border:1px solid #594a3c;background:#302923;min-height:160px}
.landing-preview-grid article:nth-child(2){background:#302c27}
.landing-preview-grid article:nth-child(3){background:#293329}
.landing-preview-grid article:nth-child(4){background:#302935}
.landing-preview-icon{font-size:1.65rem;color:#efbd7b;margin-bottom:15px}
.landing-preview-grid strong{display:block}
.landing-preview-grid p{color:#c2b2a1;font-size:.8rem;line-height:1.5}
.landing-help{padding:25px;border:1px solid #594a3d;background:#2d2621;border-radius:21px}
.landing-help details{border-bottom:1px solid #554739;margin:0;padding:4px 0}
.landing-help summary{color:#f4dfc6;min-height:46px;padding:11px 0}
.landing-help details p{color:#c4b3a3;font-size:.86rem;line-height:1.55}
.landing-support{font-size:.9rem;color:#d8c6b1}
.landing-footer{padding:25px 0 8px;color:#a89888;font-size:.75rem;text-align:center}
html.landing-native .landing{display:none!important}
html.landing-native .auth-gate{display:grid!important;place-items:center!important;padding:18px!important}
html.landing-native .auth-card{width:min(100%,460px)!important;margin:auto}
@media(max-width:760px){
.landing-layout{grid-template-columns:1fr;gap:14px}
.landing-story{min-height:300px;padding:16px 8px}
.landing-story h1{font-size:2.4rem}
.landing-auth-slot .auth-card{padding:20px!important}
.landing-download{grid-template-columns:1fr}
.landing-download-button{width:100%;justify-content:center}
.landing-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.landing-help{padding:19px}
.landing-header{padding-bottom:8px}
}
@media(max-width:420px){
.landing-story{min-height:290px}
.landing-story h1{font-size:2rem}
.landing-preview-grid article{min-height:142px;padding:15px}
.landing-logo img{width:42px;height:42px}
.landing-logo strong{font-size:1.4rem}
}
.landing-story:before{background:linear-gradient(90deg,#211c18ec 0%,#211c18ad 48%,#211c1855 100%),url('/famiqo-family-photo.jpg') center/cover no-repeat!important;opacity:1!important}
@media(max-width:760px){
.landing-story:before{background:linear-gradient(90deg,#211c18ed,#211c1899),url('/famiqo-family-photo.jpg') center/cover no-repeat!important}
}
.landing-logo img{object-fit:contain;filter:drop-shadow(0 6px 15px #9b663a35)}
.landing-auth-slot .auth-brand{background:transparent!important;width:66px!important;height:66px!important;padding:0!important;border-radius:17px!important}
.auth-logo-img{display:block;width:100%;height:100%;object-fit:contain;border-radius:17px}
body:has(#authGate:not(.hidden)) #bottomNav{display:none!important}
html.landing-native #authGate:not(.hidden){min-height:100dvh!important;padding:calc(20px + var(--safe-top)) 16px calc(24px + var(--safe-bottom))!important;align-items:center!important}
html.landing-native #landingAuthCard{display:block!important;position:relative!important;margin:0 auto!important;max-width:440px!important}
html.landing-native #loginForm:not(.hidden){display:grid!important;gap:7px}
html.landing-native .auth-actions{display:flex!important}
html.landing-native .auth-logo-img{display:block!important;width:54px!important;height:54px!important}
.view[data-view="today"] #schoolTodaySection{display:none!important}
.view[data-view="today"] .family-today-card{min-height:54px!important}
.view[data-view="updates"] #updatesSections{display:grid;gap:15px;margin-top:15px}
.view[data-view="updates"] #updatesSections section{margin-top:0!important}
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-height:72px}
html.native-insets-v3,html.native-insets-v2{--safe-top:0px;--safe-bottom:0px}
body{padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 18px)!important}
.app-shell,html.native-app .app-shell{padding-top:calc(12px + var(--safe-top))!important}
.bottom-nav{position:fixed!important;bottom:0!important;left:0!important;right:0!important;margin:0 auto!important;transform:none!important;width:100%!important;max-width:840px!important;height:calc(var(--nav-height) + var(--safe-bottom))!important;min-height:calc(var(--nav-height) + var(--safe-bottom))!important;padding:6px 8px calc(6px + var(--safe-bottom))!important;background:#29231e!important;backdrop-filter:none!important;opacity:1!important;overflow:hidden!important;border-radius:18px 18px 0 0!important;z-index:100}
.bottom-nav button{min-height:52px!important;font-size:.78rem!important;gap:4px!important;touch-action:manipulation}
html.native-insets-legacy{--safe-top:40px;--safe-bottom:32px}
html.native-insets-legacy .bottom-nav{height:104px!important;padding-bottom:38px!important}
html.native-insets-legacy body{padding-bottom:122px!important}
body:has(#authGate:not(.hidden)){padding-bottom:0!important}
button,input,select,textarea{font:inherit}
input,select,textarea{font-size:1rem!important;min-height:46px}
button:focus-visible,a:focus-visible{outline:2px solid #edb66e;outline-offset:3px}
label{line-height:1.4}
.checkbox-label{display:flex!important;align-items:center;gap:10px}
.checkbox-label input{width:20px!important;min-height:20px!important;height:20px;flex:none;accent-color:#edb66e}
.member-picker-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;overflow:hidden;background:var(--member-color);color:white;font-weight:700}
.member-picker-avatar img{width:100%;height:100%;object-fit:cover}
form:has(input[name="allDay"]:checked) .event-date-row label:has(input[type="time"]){display:none}
.task-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.task-filters label{font-size:.85rem}
.task-filters select{width:100%}
.calendar-mode{grid-template-columns:repeat(3,1fr);margin:12px 0}
.calendar-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:12px 0}
.calendar-week-strip button{min-width:0;padding:10px 0;background:#332f2b;border:1px solid #5a4d40;border-radius:12px;color:#f7f2ea;display:grid;gap:5px}
.calendar-week-strip button.selected{border-color:#edb66e;background:#59432d}
.calendar-week-strip small{font-size:.7rem}
.calendar-week-strip strong{font-size:1.1rem}
.settings-row{display:flex;justify-content:space-between;align-items:center;min-height:50px;width:100%;border:1px solid #594b3c;border-radius:12px;background:#332c25;color:#f7eee2;padding:12px;margin:9px 0;text-align:left}
.account-summary strong,.account-summary small,.device-card strong,.device-card small{display:block}
.account-summary small,.device-card small{color:#cbbba8;margin-top:4px}
.device-card{border:1px solid #5d4d3e;border-radius:14px;padding:13px;margin:10px 0}
.event-map-link{display:inline-block;margin-top:8px;font-size:.82rem}
.notice-item strong{font-size:1rem}
.notice-item small{font-size:.85rem}
.notice-item:has(.notice-item-icon){min-height:66px}
.today-summary h2{overflow-wrap:anywhere}
.brand-lockup{min-width:0}
.brand-lockup span{max-width:160px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.family-today-card{touch-action:pan-x}
.next-event-copy strong{white-space:normal!important;overflow-wrap:anywhere}
.next-event-copy small{white-space:normal!important}
@media(max-width:620px){
.view[data-view="today"] .home-kpi small{font-size:.75rem!important}
.view[data-view="today"] .today-summary .hint{font-size:.88rem!important;line-height:1.45!important}
.view[data-view="today"] .today-summary .eyebrow{font-size:.72rem!important}
.view[data-view="today"] .family-today-card small{font-size:.8rem!important}
.view[data-view="today"] .family-today-card strong{font-size:.95rem!important}
.view[data-view="today"] .priority-row strong{font-size:.93rem!important}
.view[data-view="today"] .priority-row small{font-size:.8rem!important}
.section-head{gap:10px}
.section-head h2{font-size:1.08rem!important}
.calendar-day{min-height:60px!important}
.calendar-day small{font-size:.65rem!important}
.next-event-people{max-width:60px}
.next-event-people .next-event-avatar:nth-child(n+3){display:none}
}
@media(max-width:370px){
.header-family-avatars{display:none}
.view[data-view="today"] .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.view[data-view="today"] .home-kpi{min-height:76px!important}
.quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.next-event-people{display:none}
.family-grid{grid-template-columns:1fr!important}
}

/* Prevent wide finance labels and action groups from enlarging the viewport. */
.view[data-view="budget"] .finance-insights article{min-width:0;flex-wrap:wrap;gap:6px;overflow-wrap:anywhere}
.view[data-view="budget"] .finance-insights article span{min-width:0;flex:1 1 150px}
.view[data-view="budget"] .finance-insights article strong{flex:0 1 auto}
.view[data-view="budget"] .section-head{flex-wrap:wrap;min-width:0}
.view[data-view="budget"] .row-actions{flex-wrap:wrap;min-width:0}


.home-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-kpi{min-width:0}
.home-kpi>div{min-width:0;max-width:100%}
.home-kpi strong{white-space:normal;overflow-wrap:anywhere}
@media(max-width:370px){.view[data-view="today"] .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

@media(max-width:620px){
.view[data-view="today"] .home-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.view[data-view="today"] .home-kpi{min-height:68px!important;display:flex!important;align-items:center!important;text-align:left!important}
.view[data-view="today"] .home-kpi>span{margin-bottom:0!important;flex-shrink:0}
.view[data-view="today"] .priority-row{width:100%!important;max-width:100%!important;min-width:0;display:flex!important}
.view[data-view="today"] .priority-row>span:nth-child(2){min-width:0;flex:1}
.view[data-view="today"] .priority-row strong{overflow-wrap:anywhere;white-space:normal}
.view[data-view="calendar"] .compact-hero{padding:14px!important;min-height:0!important}
.view[data-view="calendar"] .compact-hero h2{font-size:1.3rem!important;margin:4px 0!important}
.view[data-view="calendar"] .compact-hero p{display:none}
}

/* Compact public entry, secondary pages for discovery and help */
.landing-header{padding-bottom:10px!important}
.landing-story{min-height:290px!important;padding:14px 10px 18px 0!important}
.landing-story h1{font-size:clamp(2rem,4vw,3.35rem)!important;line-height:1.08!important;margin:10px 0!important}
.landing-story>p{margin:0 0 12px!important;line-height:1.45!important}
.landing-benefits{gap:5px!important;font-size:.83rem!important}
.landing-layout{gap:20px!important;align-items:start!important}
.landing-auth-slot .auth-card{padding:18px 21px!important}
.landing-auth-slot .auth-card h1{font-size:1.35rem!important}
.landing-auth-slot .auth-card>p{margin-bottom:8px!important}
.landing-auth-slot .auth-form label{margin-top:7px!important}
.landing-auth-slot .auth-form input{min-height:41px!important;padding:9px 11px!important}
.landing-download{padding:16px 20px!important;margin-top:14px!important}
.landing-extra-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0}
.landing-extra-links a{display:flex;justify-content:space-between;align-items:center;border:1px solid #594a3e;border-radius:14px;background:#302923;color:#f5e6d4;padding:13px 16px;text-decoration:none;font-weight:750}
.landing-extra-links span{color:#eeb66f}
.landing-static-page{background:#211c18!important;color:#f7f2ea!important;padding:0!important}
.landing-static-page .landing-preview,.landing-static-page .landing-help{margin-top:10px!important}
.landing-static-page .landing-footer a{color:#efb66c}
.landing-auth-slot .auth-logo-img{display:block!important;width:100%!important;height:100%!important}
@media(max-width:760px){
 .landing-story{min-height:190px!important}
 .landing-story h1{font-size:2rem!important;max-width:none!important}
 .landing-story .landing-benefits{display:flex!important;flex-wrap:wrap!important;gap:7px 12px!important}
 .landing-auth-slot .auth-card{padding:16px!important}
 .landing-download{margin-top:12px!important}
 .landing-extra-links{grid-template-columns:1fr 1fr}
}

/* Persistent Android login feedback */
.login-error{display:block;background:#59332e;border:1px solid #bb7768;color:#ffe1d8;padding:11px 13px;margin:12px 0 0;border-radius:12px;font-size:.88rem;line-height:1.45}
.login-error.hidden{display:none!important}
#loginForm .submit-btn{min-height:49px!important}
#loginForm .submit-btn:disabled{opacity:.8!important}

/* Login critical fix: native unauthenticated layout must not override hidden auth gate. */
html.landing-native #authGate.hidden,
html.landing-native .auth-gate.hidden{display:none!important;visibility:hidden!important;pointer-events:none!important}
html.landing-native #appRoot:not(.hidden){display:block!important}


@media(max-width:620px){.view[data-view="today"] .priority-list{grid-template-columns:1fr!important}.view[data-view="today"] .home-kpi>div{text-align:left!important}}
