:root{
  --green:#315c52;--green-2:#3d7165;--green-soft:#dce9e2;--sage:#a8c3b5;
  --cream:#f7f1e7;--paper:#fffdf9;--beige:#e8d8c3;--terracotta:#d98667;
  --gold:#e6b85c;--blue:#6d9fb5;--ink:#26322f;--muted:#71807b;--line:#e7e2d9;
  --danger:#b85b55;--positive:#34745e;--shadow:0 18px 50px rgba(42,63,56,.09);
  --shadow-sm:0 8px 24px rgba(42,63,56,.08);--radius:24px;--radius-sm:16px;
  --sidebar:260px;--topbar:78px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream);line-height:1.5}
a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}
[hidden]{display:none!important}.no-scroll{overflow:hidden}.muted{color:var(--muted)}.small-text{font-size:.86rem}.positive{color:var(--positive)!important}.negative{color:var(--danger)!important}.text-danger{color:var(--danger);border:0;background:none;font-weight:700;padding:0}.text-link{border:0;background:none;color:var(--green);font-weight:700;padding:0}.center{justify-content:center}
.eyebrow{display:block;color:var(--terracotta);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px}.hint{font-size:.79rem;color:var(--muted);line-height:1.45}

/* Forms */
.form-stack{display:grid;gap:16px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
label{display:grid;gap:7px;font-size:.83rem;font-weight:750;color:#43504c}label small{font-weight:500;color:var(--muted)}
input,select,textarea{width:100%;border:1px solid #dcded8;background:#fff;border-radius:14px;padding:12px 14px;color:var(--ink);outline:none;transition:.2s;border-color:.2s;min-height:46px}
textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 4px rgba(61,113,101,.11)}
.check-label{display:flex;align-items:flex-start;gap:10px;font-weight:600;line-height:1.4}.check-label input{width:18px;height:18px;min-height:auto;margin-top:2px;accent-color:var(--green)}
.input-action{display:flex;gap:8px}.input-action input{flex:1}.input-action button{border:1px solid var(--green);color:var(--green);background:var(--green-soft);border-radius:12px;padding:0 14px;font-weight:750}
.btn{border:0;border-radius:14px;min-height:46px;padding:11px 18px;font-weight:800;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 22px rgba(49,92,82,.2)}.btn-primary:hover{background:#284e46}.btn-secondary{background:var(--green-soft);color:var(--green);border:1px solid #c8dbd1}.btn-block{width:100%}.head-actions{display:flex;gap:10px;flex-wrap:wrap}
.icon-btn{width:40px;height:40px;border:0;border-radius:12px;background:#f1f3ef;color:var(--ink);font-size:1.25rem;display:inline-grid;place-items:center}.icon-btn:hover{background:#e6ebe6}.icon-btn.danger{color:var(--danger);background:#fff0ee}.copy-btn,.reveal-btn{border:0;background:var(--green-soft);color:var(--green);border-radius:9px;padding:6px 9px;font-size:.72rem;font-weight:800}
.alert{border-radius:14px;padding:12px 15px;margin-bottom:16px;font-weight:650}.alert-error{background:#ffefed;color:#8c3e38;border:1px solid #f1c7c3}.alert-success{background:#e5f3ea;color:#265e4b;border:1px solid #c3e1d0}

/* Auth and setup */
.auth-body,.setup-body{min-height:100vh;background:linear-gradient(135deg,#edf3ef 0%,var(--cream) 55%,#f5e7dc 100%)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.25fr) minmax(390px,.75fr);padding:20px;gap:20px}.auth-shell.install-shell{grid-template-columns:minmax(420px,1fr) minmax(390px,.85fr)}
.brand-panel{position:relative;overflow:hidden;background:linear-gradient(155deg,var(--green) 0%,#4f7a6d 65%,#688e80 100%);border-radius:32px;padding:42px;color:#fff;min-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow)}
.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup img{width:48px;height:48px}.brand-lockup div{display:grid}.brand-lockup strong{font-size:1.07rem;letter-spacing:.01em}.brand-lockup span{font-size:.73rem;opacity:.74}.brand-panel .brand-lockup{color:#fff}.hero-copy{max-width:570px;margin:auto 0 170px;position:relative;z-index:2}.hero-copy .eyebrow{color:#f0cfa7}.hero-copy h1{font-size:clamp(2.4rem,5vw,4.9rem);line-height:1.03;margin:12px 0 18px;letter-spacing:-.045em}.hero-copy p{font-size:1.12rem;max-width:520px;color:rgba(255,255,255,.78)}.feature-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.feature-pills span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:700}
.family-illustration{position:absolute;inset:auto 0 0;height:230px}.hill{position:absolute;border-radius:50% 50% 0 0}.hill-one{width:76%;height:170px;left:-8%;bottom:-50px;background:#759888}.hill-two{width:72%;height:150px;right:-12%;bottom:-55px;background:#88a798}.sun{position:absolute;width:70px;height:70px;border-radius:50%;background:#efc478;right:14%;top:12px;box-shadow:0 0 0 16px rgba(239,196,120,.1)}.home-shape{position:absolute;width:130px;height:95px;right:21%;bottom:52px;background:#f6e7d4;border-radius:8px 8px 3px 3px}.roof{position:absolute;width:108px;height:108px;background:#d37f62;transform:rotate(45deg);left:11px;top:-54px;border-radius:8px}.door{position:absolute;width:29px;height:54px;background:#5f7f73;bottom:0;left:51px;border-radius:14px 14px 0 0}.window{position:absolute;width:24px;height:24px;background:#f4c96e;border:4px solid #fff;left:17px;top:27px;border-radius:4px}
.auth-card{align-self:center;background:rgba(255,253,249,.95);border:1px solid rgba(255,255,255,.8);border-radius:30px;padding:clamp(28px,5vw,58px);box-shadow:var(--shadow);max-width:580px;width:100%;margin:auto}.auth-card h2{font-size:2rem;line-height:1.15;margin:7px 0 10px;letter-spacing:-.035em}.auth-card>.muted{margin:0 0 24px}.auth-switch{text-align:center;color:var(--muted);font-size:.88rem;margin:22px 0 0}.auth-switch a{font-weight:800}.auth-mobile-logo{display:none;align-items:center;gap:9px;margin-bottom:28px}.auth-mobile-logo img{width:40px}.success-state{text-align:center}.success-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:var(--green-soft);color:var(--green);font-size:2rem;font-weight:900}
.setup-wrap{max-width:1100px;margin:auto;padding:40px 24px}.setup-wrap>.brand-lockup{margin-bottom:26px;color:var(--green)}.setup-card{background:var(--paper);border-radius:30px;padding:clamp(24px,4vw,44px);box-shadow:var(--shadow);text-align:center}.setup-card h1{font-size:2.2rem;margin:8px 0 28px}.setup-options{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left;margin-bottom:24px}.option-card{border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;gap:14px;background:#fff}.option-card h2{margin:0}.option-card p{color:var(--muted);margin:0}.option-icon{width:52px;height:52px;border-radius:17px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.5rem}

/* App shell */
.app-body{background:#f5f2eb}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:#294e47;color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:40}.sidebar-brand{padding:0 8px 23px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.sidebar-brand img{width:43px}.main-nav{display:grid;gap:5px;margin-top:18px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:13px;color:rgba(255,255,255,.72);font-size:.9rem;font-weight:700;transition:.18s}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.11);color:#fff}.nav-icon{width:25px;height:25px;display:grid;place-items:center;font-size:1.04rem}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:13px}.content-shell{grid-column:2;min-width:0}.topbar{height:var(--topbar);position:sticky;top:0;z-index:30;background:rgba(255,253,249,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(222,220,212,.8);display:flex;align-items:center;justify-content:space-between;padding:0 30px}.menu-toggle{display:none}.topbar-title{display:grid}.topbar-title strong{font-size:1rem}.mobile-family{font-size:.72rem;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:13px}.notification-btn{position:relative}.badge-count{position:absolute;right:-4px;top:-4px;background:var(--terracotta);color:#fff;min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-size:.62rem;border:2px solid #fff}.user-chip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 10px 6px 6px}.avatar,.member-avatar,.large-avatar{display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--sage),var(--green));color:#fff;font-weight:850}.avatar{width:36px;height:36px;font-size:.78rem}.user-chip-copy{display:grid}.user-chip-copy strong{font-size:.78rem}.user-chip-copy small{font-size:.64rem;color:var(--muted)}.page-content{padding:30px;max-width:1500px;margin:auto}.bottom-nav{display:none}

/* Shared surfaces */
.card{background:var(--paper);border:1px solid rgba(226,223,214,.9);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel-card{padding:22px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.page-head h1{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.1;margin:4px 0 8px;letter-spacing:-.04em}.page-head p{color:var(--muted);margin:0;max-width:720px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.card-head h2{font-size:1.22rem;margin:2px 0 0}.card-head>a{font-size:.78rem;font-weight:800}.empty-state{text-align:center;padding:44px 20px;color:var(--muted)}.empty-state>span{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 13px;border-radius:20px;background:var(--green-soft);color:var(--green);font-size:1.7rem}.empty-state h3{color:var(--ink);margin:0 0 6px}.empty-state p{margin:0}.empty-state.small{padding:25px 10px}.empty-state.small>span{width:45px;height:45px;font-size:1.2rem}.empty-state.wide{grid-column:1/-1}.progress-track{height:8px;border-radius:999px;background:#ecebe5;overflow:hidden}.progress-track>span{height:100%;display:block;background:linear-gradient(90deg,var(--green),var(--sage));border-radius:inherit;transition:width .25s}.role-pill{display:inline-flex;border-radius:999px;padding:5px 10px;background:var(--green-soft);color:var(--green);font-size:.68rem;font-weight:800}.role-pill.child{background:#fff0e5;color:#9e614d}

/* Dashboard */
.welcome-banner{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--green),#477668);border-radius:28px;padding:30px 34px;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;box-shadow:var(--shadow)}.welcome-banner .eyebrow{color:#f0cda1}.welcome-banner h1{font-size:clamp(1.65rem,3.3vw,2.6rem);line-height:1.12;letter-spacing:-.04em;margin:4px 0 8px}.welcome-banner p{margin:0;color:rgba(255,255,255,.72)}.banner-family{display:flex;align-items:center;gap:8px;margin-right:20px}.banner-family span{width:58px;height:58px;border-radius:20px;background:rgba(255,255,255,.11);display:grid;place-items:center;font-size:1.5rem;transform:rotate(-4deg)}.banner-family span:nth-child(2){width:76px;height:76px;background:rgba(255,255,255,.16);transform:translateY(-5px)}.banner-family span:nth-child(3){transform:rotate(7deg)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:17px;display:flex;align-items:center;gap:13px;color:var(--ink);box-shadow:var(--shadow-sm);transition:.18s}.stat-card:hover{transform:translateY(-2px)}.stat-icon{width:46px;height:46px;flex:0 0 auto;border-radius:15px;display:grid;place-items:center;font-size:1.12rem}.stat-icon.sage{background:var(--green-soft);color:var(--green)}.stat-icon.terracotta{background:#ffebe4;color:#b7674c}.stat-icon.gold{background:#fff3d5;color:#a8761f}.stat-icon.blue{background:#e7f2f6;color:#4f8398}.stat-card>div{display:grid;min-width:0}.stat-card small{font-size:.68rem;color:var(--muted)}.stat-card strong{font-size:1.22rem;line-height:1.2;white-space:nowrap}.stat-card div>span{font-size:.68rem;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.dashboard-grid>section:nth-child(3){grid-column:1/-1}.timeline-list,.task-preview-list{display:grid;gap:10px}.timeline-item{display:flex;align-items:center;gap:13px;padding:10px;border-radius:15px;background:#f8f7f2}.date-box{width:48px;height:48px;border-radius:14px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;align-content:center;line-height:1}.date-box strong{font-size:1rem}.date-box span{font-size:.61rem;text-transform:uppercase;margin-top:3px}.timeline-copy{display:grid}.timeline-copy strong{font-size:.86rem}.timeline-copy span{font-size:.74rem;color:var(--muted)}.task-preview{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:9px 0}.task-preview:last-child{border-bottom:0}.task-dot{width:10px;height:10px;border-radius:50%;background:var(--gold)}.task-dot.done{background:var(--terracotta)}.task-dot.approved{background:var(--positive)}.task-preview>div{display:grid;flex:1}.task-preview strong{font-size:.84rem}.task-preview small{font-size:.7rem;color:var(--muted)}.points-pill{background:#fff4d8;color:#96691d;padding:4px 8px;border-radius:999px;font-size:.65rem}.money-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:14px}.money-row>div{display:grid;padding:13px;border-radius:15px;background:#f6f6f1}.money-row small{color:var(--muted)}.money-row strong{font-size:1.2rem}.prompt-box{display:flex;gap:15px;align-items:center;padding:18px;border-radius:18px;background:linear-gradient(135deg,#fff1e9,#f3e7f1)}.prompt-box>span{font-size:1.6rem}.prompt-box p{margin:4px 0 0;color:var(--muted);font-size:.84rem}

/* Shopping */
.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.shopping-card,.shopping-summary{padding:22px}.sync-status{font-size:.72rem;color:var(--positive);font-weight:800;display:flex;gap:6px;align-items:center}.sync-status span{width:8px;height:8px;border-radius:50%;background:#58a67f;box-shadow:0 0 0 5px rgba(88,166,127,.1)}.shopping-list{display:grid}.list-section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800;padding:16px 5px 7px}.shopping-row{display:flex;align-items:center;gap:11px;padding:12px 6px;border-bottom:1px solid var(--line)}.shopping-row.done{opacity:.52}.shopping-row.done .shopping-copy strong{text-decoration:line-through}.check-btn{width:28px;height:28px;border:2px solid var(--sage);border-radius:9px;background:#fff;color:#fff;font-size:.8rem;font-weight:900}.shopping-row.done .check-btn{background:var(--green);border-color:var(--green)}.shopping-copy{display:grid;flex:1;min-width:0}.shopping-copy strong{font-size:.88rem}.shopping-copy>span{font-size:.72rem;color:var(--muted)}.shopping-copy small{font-size:.63rem;margin-left:4px}.item-price{font-size:.78rem;font-weight:850}.shopping-summary{height:max-content;position:sticky;top:calc(var(--topbar) + 20px)}.summary-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:20px;background:#ffebe4;font-size:1.5rem}.shopping-summary h2{font-size:1.2rem;margin:14px 0}.summary-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:.83rem}.summary-line.total{border-bottom:0;padding:15px 0 20px}.summary-line.total strong{font-size:1.05rem}

/* Calendar */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;margin-bottom:18px}.calendar-toolbar>div{display:grid}.calendar-toolbar small{color:var(--muted)}.calendar-toolbar strong{font-size:1.35rem}.calendar-legend{font-size:.72rem;color:var(--muted);display:flex;align-items:center;gap:7px}.calendar-legend i{width:10px;height:10px;border-radius:50%;background:var(--green)}.calendar-list{display:grid;gap:8px}.calendar-date-label{font-size:.72rem;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;padding:14px 5px 3px}.calendar-event{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-left:5px solid var(--sage);padding:13px 14px;border-radius:15px;background:#fff}.calendar-event.mine{border-left-color:var(--terracotta)}.event-time{display:grid;text-align:center;min-width:50px}.event-time strong{font-size:.9rem}.event-time span{font-size:.7rem;color:var(--muted)}.event-copy{display:grid;flex:1}.event-copy strong{font-size:.88rem}.event-copy span,.event-copy small{font-size:.72rem;color:var(--muted)}

/* Finance */
.finance-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-bottom:18px}.balance-card{background:linear-gradient(135deg,#294e47,#4b776b);border-radius:24px;padding:25px;color:#fff;box-shadow:var(--shadow)}.balance-card>small{color:rgba(255,255,255,.65)}.balance-card>strong{display:block;font-size:2.35rem;letter-spacing:-.04em;margin:4px 0 16px}.balance-card>div{display:flex;gap:30px}.balance-card span{display:grid;font-size:.7rem;color:rgba(255,255,255,.68)}.balance-card b{font-size:.9rem;color:#fff}.finance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.finance-kpis>div{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;align-content:center;box-shadow:var(--shadow-sm)}.finance-kpis small{color:var(--muted)}.finance-kpis strong{font-size:1.65rem}.finance-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-bottom:18px}.account-list,.category-bars,.transaction-list{display:grid;gap:10px}.account-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:15px;background:#f7f7f2}.account-icon{width:38px;height:38px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900}.account-row>div{display:grid;flex:1}.account-row strong{font-size:.84rem}.account-row small{font-size:.68rem;color:var(--muted)}.account-row>b{font-size:.85rem}.category-bar>div:first-child{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:5px}.transaction-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}.transaction-row:last-child{border-bottom:0}.transaction-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:900}.transaction-icon.income{background:#e5f3ea;color:var(--positive)}.transaction-icon.expense{background:#ffefed;color:var(--danger)}.transaction-row>div{display:grid;flex:1;min-width:0}.transaction-row strong{font-size:.85rem}.transaction-row small{font-size:.68rem;color:var(--muted)}.transaction-row>b{font-size:.84rem}

/* Vault */
.security-banner{display:flex;align-items:center;gap:14px;background:#294e47;color:#fff;border-radius:20px;padding:16px 20px;margin-bottom:18px}.shield-mark{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:1.2rem}.security-banner>div:nth-child(2){display:grid;flex:1}.security-banner strong{font-size:.86rem}.security-banner span{font-size:.72rem;color:rgba(255,255,255,.7)}.security-status{background:rgba(255,255,255,.11);padding:6px 10px;border-radius:999px;color:#dff6e9!important;font-weight:800}.vault-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vault-card{padding:20px}.vault-card-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}.vault-type-icon{width:43px;height:43px;border-radius:14px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900}.vault-card-head>div{display:grid;flex:1}.vault-card-head small{font-size:.65rem;color:var(--muted)}.vault-card-head h2{font-size:1.05rem;margin:0}.shared-owner{font-size:.65rem;color:var(--terracotta);font-weight:800}.secret-line{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.secret-line>span{font-size:.68rem;color:var(--muted)}.secret-line code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-notes{font-size:.8rem;background:#f7f6f1;border-radius:13px;padding:12px}.vault-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px}.vault-foot small{color:var(--muted);font-size:.64rem}

/* Diary */
.diary-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.diary-editor,.diary-history{padding:22px}.diary-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.diary-editor textarea{background:linear-gradient(#fff 31px,#e7ebe6 32px);background-size:100% 32px;line-height:32px;padding-top:4px;border-radius:12px;min-height:340px}.diary-editor textarea.complete{border-color:var(--positive)}.character-counter{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.character-counter .progress-track{grid-column:1/-1}.character-counter strong{font-size:.75rem;color:var(--green)}.character-counter>span{font-size:.7rem;color:var(--muted)}.diary-image-preview{max-height:250px;border-radius:16px;object-fit:cover;width:100%}.autosave-note{text-align:center;font-size:.7rem;color:var(--muted);margin:0}.diary-history{height:max-content;position:sticky;top:calc(var(--topbar) + 20px)}.history-list{display:grid;gap:8px}.history-item{display:flex;gap:11px;align-items:center;padding:9px;border-radius:14px;color:var(--ink)}.history-item:hover,.history-item.active{background:var(--green-soft)}.history-date{width:42px;height:42px;border-radius:12px;background:#f0efe9;display:grid;place-items:center;align-content:center;line-height:1}.history-date strong{font-size:.9rem}.history-date small{font-size:.58rem;text-transform:uppercase}.history-item>div{display:grid;min-width:0}.history-item>div strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item>div small{font-size:.63rem;color:var(--muted)}

/* Tasks */
.points-hero{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,#fff1c9,#fae0a8);border-radius:20px;padding:16px 20px;margin-bottom:18px}.points-hero>span{font-size:2rem;color:#a87418}.points-hero>div{display:grid}.points-hero small{color:#856c3b}.points-hero strong{font-size:1.8rem;color:#785312}.task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.task-column{background:#ebeae4;border-radius:22px;padding:12px;min-height:280px}.task-column-head{display:flex;justify-content:space-between;align-items:center;padding:7px 6px 12px}.task-column-head h2{font-size:.86rem;margin:0}.task-column-head span{width:26px;height:26px;border-radius:9px;background:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:850}.empty-column{text-align:center;color:#979b97;font-size:.74rem;padding:35px 5px}.task-card{padding:15px;margin-bottom:10px;border-radius:17px}.task-card-top{display:flex;align-items:center;gap:7px;font-size:.67rem;color:var(--muted)}.member-avatar{width:27px;height:27px;font-size:.68rem}.task-card-top b{margin-left:auto;background:#fff4d8;color:#916719;padding:4px 7px;border-radius:999px}.task-card h3{font-size:.94rem;margin:12px 0 5px}.task-card p{font-size:.76rem;color:var(--muted);margin:0 0 10px}.task-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.task-meta span{font-size:.62rem;color:var(--muted);background:#f5f5f1;border-radius:7px;padding:4px 6px}.task-card .btn{min-height:38px;font-size:.72rem}

/* Family */
.family-code-card{background:linear-gradient(125deg,var(--green),#4d7a6d);color:#fff;border-radius:24px;padding:24px 27px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.family-code-card .eyebrow{color:#f3cfa4}.family-code-card h2{margin:0}.family-code-card p{margin:5px 0 0;color:rgba(255,255,255,.68);font-size:.8rem}.invite-code{text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:14px 18px;display:grid;gap:5px;min-width:190px}.invite-code>strong{font-size:1.55rem;letter-spacing:.12em}.invite-code .copy-btn{background:#fff}.invite-code .text-link{color:#fff;font-size:.66rem}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.member-card{position:relative;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;align-items:center;gap:12px}.large-avatar{width:51px;height:51px}.member-card>div{display:grid;min-width:0}.member-card h3{font-size:.86rem;margin:0}.member-card p{font-size:.67rem;color:var(--muted);margin:2px 0}.member-card .role-pill{position:absolute;right:10px;top:10px;font-size:.55rem}.guardian-list{display:grid;gap:8px}.guardian-row{display:flex;align-items:center;gap:9px;padding:11px;border-radius:14px;background:#f7f6f1;font-size:.77rem}.guardian-row>span:nth-of-type(2){color:var(--muted)}.permission-dots{margin-left:auto;display:flex;gap:4px}.permission-dots i{width:8px;height:8px;border-radius:50%;background:#d4d7d3}.permission-dots i.on{background:var(--positive)}.privacy-info{background:#eef5f1;border:1px solid #d7e6df;border-radius:14px;padding:12px}.privacy-info strong{font-size:.8rem}.privacy-info p{font-size:.72rem;color:var(--muted);margin:4px 0 0}

/* Settings */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-summary{display:flex;align-items:center;gap:14px}.profile-summary>div{display:grid}.profile-summary h3{margin:0}.profile-summary p{margin:2px 0 7px;color:var(--muted);font-size:.8rem}.install-hint{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:10px 0}.install-hint span{background:var(--green-soft);color:var(--green);font-size:.67rem;font-weight:850;padding:5px 8px;border-radius:8px}.install-hint p{margin:0;font-size:.75rem;color:var(--muted)}.security-checklist{display:grid;gap:11px}.security-checklist>div{display:flex;gap:10px;align-items:flex-start}.security-checklist>div>span{width:26px;height:26px;border-radius:9px;background:#e5f3ea;color:var(--positive);display:grid;place-items:center;font-size:.7rem;font-weight:900}.security-checklist>div>div{display:grid}.security-checklist strong{font-size:.8rem}.security-checklist small{font-size:.68rem;color:var(--muted)}.audit-list{display:grid;gap:8px}.audit-list>div{display:grid;grid-template-columns:85px 1fr auto;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.72rem}.audit-list span{color:var(--terracotta);font-weight:800}.audit-list small{color:var(--muted)}.danger-zone{margin-top:18px;border-color:#edcec8;background:#fff8f6}

/* Modal / notifications */
.overlay{position:fixed;inset:0;background:rgba(28,42,38,.44);backdrop-filter:blur(2px);z-index:70}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .16s}.modal.visible{opacity:1}.modal-card{width:min(570px,100%);max-height:calc(100vh - 36px);overflow:auto;background:var(--paper);border-radius:26px;padding:24px;box-shadow:0 30px 80px rgba(25,44,38,.28);transform:translateY(12px) scale(.985);transition:.16s}.modal.visible .modal-card{transform:none}.modal-card.compact{width:min(480px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.modal-head h2{font-size:1.45rem;margin:2px 0 0}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{border:1px solid var(--line);border-radius:17px;padding:16px;color:var(--ink);font-weight:750;display:grid;gap:8px}.quick-action:hover{background:var(--green-soft)}.quick-action span{font-size:1.35rem}.notification-panel{position:fixed;z-index:85;right:18px;top:72px;width:min(390px,calc(100vw - 36px));max-height:calc(100vh - 95px);overflow:auto;background:var(--paper);border-radius:22px;box-shadow:0 25px 70px rgba(27,46,40,.25);padding:14px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:4px 5px 12px}.notification-list{display:grid;gap:5px}.notification-item{display:flex;gap:10px;padding:11px;border-radius:14px;color:var(--ink)}.notification-item:hover,.notification-item.unread{background:var(--green-soft)}.notification-symbol{width:36px;height:36px;border-radius:12px;background:#fff;display:grid;place-items:center}.notification-item>div{display:grid}.notification-item strong{font-size:.78rem}.notification-item p{font-size:.7rem;color:var(--muted);margin:2px 0}.notification-item small{font-size:.61rem;color:#9a9f9b}.empty-mini{padding:25px;text-align:center;color:var(--muted);font-size:.78rem}

@media(max-width:1100px){
  :root{--sidebar:225px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-layout{grid-template-columns:minmax(0,1fr) 270px}.vault-grid{grid-template-columns:1fr}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .auth-shell{grid-template-columns:1fr;padding:14px}.brand-panel{display:none}.auth-card{min-height:calc(100vh - 28px);display:flex;flex-direction:column;justify-content:center}.auth-mobile-logo{display:flex}
  .app-shell{display:block}.sidebar{transform:translateX(-105%);transition:transform .2s;width:min(285px,82vw);box-shadow:20px 0 60px rgba(26,45,39,.22)}.sidebar.open{transform:none}.content-shell{display:block}.menu-toggle{display:grid}.topbar{height:68px;padding:0 16px}.topbar-title strong{font-size:.87rem}.user-chip-copy{display:none}.user-chip{padding:4px}.page-content{padding:20px 16px 95px}.bottom-nav{position:fixed;z-index:45;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:68px;border-radius:21px;background:#294e47;display:grid;grid-template-columns:1fr 1fr 66px 1fr 1fr;align-items:center;padding:5px 8px;box-shadow:0 16px 45px rgba(28,51,44,.3)}.bottom-nav .nav-item{display:grid;gap:1px;text-align:center;justify-items:center;padding:6px;color:rgba(255,255,255,.65);font-size:.58rem}.bottom-nav .nav-item.active{background:transparent;color:#fff}.bottom-nav .nav-icon{font-size:1rem;height:22px}.quick-add{width:56px;height:56px;border-radius:18px;border:4px solid #294e47;background:var(--terracotta);color:#fff;font-size:1.7rem;display:grid;place-items:center;transform:translateY(-18px);box-shadow:0 10px 24px rgba(217,134,103,.35)}
  .dashboard-grid,.finance-layout,.finance-hero,.diary-layout,.shopping-layout{grid-template-columns:1fr}.dashboard-grid>section:nth-child(3){grid-column:auto}.shopping-summary,.diary-history{position:static}.task-board{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.finance-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
  .form-grid.two,.diary-toolbar{grid-template-columns:1fr}.page-head{align-items:stretch;display:grid}.page-head>.btn,.page-head>.head-actions .btn{width:100%}.head-actions{display:grid;grid-template-columns:1fr 1fr}.welcome-banner{padding:24px}.banner-family{display:none}.stats-grid,.stats-grid.three{grid-template-columns:1fr 1fr}.stat-card{padding:13px;gap:9px}.stat-icon{width:40px;height:40px}.stat-card strong{font-size:1rem}.balance-card>strong{font-size:1.8rem}.finance-hero{display:grid}.finance-kpis>div{padding:13px}.finance-kpis strong{font-size:1.25rem}.family-code-card{display:grid;text-align:center}.invite-code{min-width:0}.member-grid{grid-template-columns:1fr}.guardian-row{flex-wrap:wrap}.permission-dots{width:100%;margin-left:37px}.security-banner{align-items:flex-start}.security-status{display:none}.secret-line{grid-template-columns:1fr auto}.secret-line>span{grid-column:1/-1}.secret-line code{grid-column:1}.vault-foot{align-items:flex-start;gap:10px}.calendar-toolbar{display:grid;gap:12px}.calendar-toolbar .btn{width:100%}.event-time{min-width:42px}.modal{align-items:end;padding:0}.modal-card{border-radius:25px 25px 0 0;width:100%;max-height:91vh;padding:20px}.notification-panel{top:68px;right:10px}.audit-list>div{grid-template-columns:70px 1fr}.audit-list small{grid-column:2}.quick-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){.stats-grid,.stats-grid.three{grid-template-columns:1fr}.head-actions{grid-template-columns:1fr}.finance-kpis{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.topbar-title .mobile-family{display:none}}
.vault-files{display:grid;gap:7px;margin:12px 0}.vault-files>a{display:flex;align-items:center;gap:9px;padding:10px;border-radius:12px;background:#eef5f1;color:var(--ink)}.vault-files>a>span{width:32px;height:32px;border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--green)}.vault-files>a>div{display:grid}.vault-files strong{font-size:.75rem}.vault-files small{font-size:.62rem;color:var(--muted)}
.calendar-actions{display:flex;align-items:center;gap:12px}.calendar-download{font-size:.72rem}.budget-section{margin-bottom:18px}.budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.budget-card{border:1px solid var(--line);border-radius:16px;padding:14px}.budget-card>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.budget-card strong{font-size:.78rem}.budget-card span,.budget-card small{font-size:.67rem;color:var(--muted)}.budget-card small{display:block;margin-top:5px}@media(max-width:860px){.budget-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.budget-grid{grid-template-columns:1fr}.calendar-actions{display:grid;width:100%}.calendar-actions .btn{width:100%}}

/* v0.2.0 shared module navigation */
.sidebar{overflow-y:auto}.main-nav{padding-bottom:12px}.person-switcher{display:flex;gap:9px;align-items:center;padding:9px;margin-bottom:18px;overflow-x:auto}.person-pill{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 13px;border-radius:13px;color:var(--muted);font-size:.78rem;font-weight:800}.person-pill>span{width:28px;height:28px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}.person-pill.active{background:var(--green);color:#fff}.person-pill.active>span{background:rgba(255,255,255,.16);color:#fff}.summary-tile{padding:18px;display:flex;align-items:center;gap:13px}.summary-tile .summary-icon{width:46px;height:46px;border-radius:15px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:1.2rem}.summary-tile>div{display:grid}.summary-tile small{font-size:.68rem;color:var(--muted)}.summary-tile strong{font-size:1.35rem;line-height:1.1}.summary-tile p{font-size:.68rem;color:var(--muted);margin:2px 0 0}.count-pill{min-width:30px;height:30px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:.75rem;font-weight:850}.tiny-delete{width:25px;height:25px;border:0;border-radius:8px;background:#fff0ee;color:var(--danger);display:grid;place-items:center;font-weight:900}.status-chip{display:inline-flex;width:max-content;border-radius:999px;padding:3px 7px;font-size:.58rem;font-weight:850}.status-chip.pending{background:#fff3d7;color:#8c6622}.status-chip.rejected{background:#ffefed;color:#91413a}.module-tabs{display:flex;gap:6px;padding:8px;margin-bottom:18px;overflow-x:auto}.module-tabs>a{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:10px 15px;border-radius:13px;color:var(--muted);font-size:.78rem;font-weight:850}.module-tabs>a span{background:#edf0eb;border-radius:8px;min-width:24px;padding:2px 6px;text-align:center;font-size:.62rem}.module-tabs>a.active{background:var(--green);color:#fff}.module-tabs>a.active span{background:rgba(255,255,255,.16)}

/* School */
.school-summary-grid,.kitchen-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.school-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.7fr);gap:18px;align-items:start}.school-side{display:grid;gap:18px}.timetable-card{overflow:hidden}.timetable-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:9px;overflow-x:auto;padding-bottom:4px}.timetable-day{background:#f7f6f1;border-radius:17px;padding:10px;min-height:235px}.timetable-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.timetable-day-head strong{font-size:.72rem}.timetable-day-head span{width:22px;height:22px;border-radius:8px;background:#fff;color:var(--muted);display:grid;place-items:center;font-size:.61rem}.empty-day{font-size:.67rem;color:#a0a7a3;text-align:center;margin:28px 0}.lesson-card{position:relative;border-left:4px solid var(--subject-color);background:#fff;border-radius:12px;padding:10px 8px 9px 11px;margin-bottom:7px;box-shadow:0 5px 14px rgba(42,63,56,.05);display:flex;justify-content:space-between;gap:7px}.lesson-card>div{display:grid;min-width:0}.lesson-card small{font-size:.58rem;color:var(--muted)}.lesson-card strong{font-size:.73rem;overflow:hidden;text-overflow:ellipsis}.lesson-card span{font-size:.57rem;color:var(--muted)}.lesson-card .tiny-delete{opacity:0;position:absolute;right:5px;top:5px}.lesson-card:hover .tiny-delete{opacity:1}.subject-list,.exam-list{display:grid;gap:8px}.subject-row,.exam-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#f8f7f2}.subject-row>i{width:10px;height:36px;border-radius:999px}.subject-row>div,.exam-row>div:nth-child(2){display:grid;min-width:0;flex:1}.subject-row strong,.exam-row strong{font-size:.74rem}.subject-row small,.exam-row small{font-size:.62rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-row .date-box{width:41px;min-width:41px;height:43px}.exam-row .date-box strong{font-size:.9rem}.exam-row .date-box span{font-size:.55rem}.homework-section{margin-top:18px}.homework-list{display:grid;gap:8px}.homework-row{display:grid;grid-template-columns:auto 6px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff}.homework-row>i{width:6px;height:42px;border-radius:999px}.homework-row>div{display:grid}.homework-row strong{font-size:.8rem}.homework-row p{font-size:.68rem;color:var(--muted);margin:2px 0}.homework-row small{font-size:.61rem;color:var(--muted)}.homework-row.completed{opacity:.64;background:#f5f6f3}.homework-row.completed strong{text-decoration:line-through}.homework-check{width:31px;height:31px;border-radius:10px;border:2px solid #cbd5cf;background:#fff;color:#fff;font-weight:900}.completed .homework-check{background:var(--positive);border-color:var(--positive)}

/* Allowance */
.allowance-hero{padding:25px 28px;background:linear-gradient(130deg,#284f47,#4e7b6d);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:18px}.allowance-hero .eyebrow{color:#f3cfa4}.allowance-hero>div:first-child{display:grid}.allowance-hero>div:first-child>strong{font-size:2.25rem;letter-spacing:-.04em}.allowance-hero p{margin:2px 0 0;color:rgba(255,255,255,.65);font-size:.76rem}.allowance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-width:min(600px,60%)}.allowance-kpis>div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:13px;display:grid}.allowance-kpis small{font-size:.61rem;color:rgba(255,255,255,.65)}.allowance-kpis strong{font-size:.95rem}.allowance-hero .positive{color:#bfe8d1!important}.allowance-hero .negative{color:#ffd0c9!important}.allowance-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:18px;align-items:start}.allowance-transactions .transaction-row{grid-template-columns:auto minmax(0,1fr) auto auto}.transaction-symbol{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;font-weight:900}.transaction-symbol.income{background:#e5f3ea;color:var(--positive)}.transaction-symbol.expense{background:#ffefed;color:var(--danger)}.transaction-row.pending{background:#fffbf0}.transaction-row.rejected{opacity:.55}.transaction-row>div:nth-child(2){display:grid}.approval-actions{display:flex!important;gap:5px}.mini-approve{width:27px;height:27px;border:0;border-radius:8px;background:#e5f3ea;color:var(--positive);font-weight:900}.savings-list{display:grid;gap:11px}.savings-card{border:1px solid var(--line);border-radius:17px;padding:14px}.savings-card.reached{background:#eef7f1}.savings-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.savings-head>div{display:grid}.savings-head strong{font-size:.78rem}.savings-head small,.goal-date{font-size:.62rem;color:var(--muted)}.savings-head>span{font-size:.68rem;font-weight:850;color:var(--green)}.goal-contribution{display:grid;grid-template-columns:1fr auto;gap:7px;margin:11px 0}.goal-contribution input,.goal-contribution .btn{min-height:38px;padding:7px 10px;font-size:.7rem}.goal-reached{margin:10px 0;color:var(--positive);font-size:.72rem;font-weight:850}

/* Wishlist */
.wishlist-info{display:flex;align-items:center;gap:14px;padding:17px 20px;margin-bottom:18px;background:#fff9f5;border-color:#f1d8ca}.wishlist-info>span{width:43px;height:43px;border-radius:15px;background:#f8dfd3;color:var(--terracotta);display:grid;place-items:center;font-size:1.25rem}.wishlist-info strong{font-size:.82rem}.wishlist-info p{font-size:.69rem;color:var(--muted);margin:2px 0}.wishlist-groups{display:grid;gap:18px}.wish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wish-card{position:relative;border:1px solid var(--line);border-radius:18px;padding:17px;background:#fff;display:flex;flex-direction:column;gap:9px}.wish-card.reserved{border-color:#e6c78b;background:#fffaf0}.wish-card.received{opacity:.68;background:#f1f5f2}.wish-priority{color:var(--gold);font-size:.68rem;letter-spacing:.08em}.wish-card h3{font-size:.94rem;margin:0}.wish-card>p{font-size:.7rem;color:var(--muted);margin:0;min-height:42px}.wish-meta{display:flex;gap:6px;flex-wrap:wrap}.wish-meta span{font-size:.61rem;background:#f2f3ef;border-radius:8px;padding:4px 7px;color:var(--muted)}.wish-link{font-size:.69rem;font-weight:800}.reservation-area{display:grid;gap:8px;margin-top:auto;border-top:1px solid var(--line);padding-top:10px}.reserved-label,.received-label{font-size:.68rem;font-weight:850;color:#8b6623;background:#fff0c9;border-radius:9px;padding:7px 9px}.received-label{color:var(--positive);background:#e5f3ea}.wish-delete{border:0;background:transparent;color:#a2776e;font-size:.62rem;padding:4px 0;text-align:left;margin-top:auto}

/* Kitchen */
.meal-week-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:9px;overflow-x:auto;padding-bottom:6px}.meal-day{padding:11px;min-height:260px}.meal-day.today{border-color:var(--terracotta);box-shadow:0 8px 24px rgba(217,134,103,.12)}.meal-day>header{display:flex;justify-content:space-between;align-items:center;padding:3px 2px 10px;border-bottom:1px solid var(--line)}.meal-day>header span{font-size:.66rem;font-weight:850}.meal-day>header strong{font-size:.68rem;color:var(--terracotta)}.meal-day-list{display:grid;gap:7px;margin-top:9px}.meal-item{position:relative;background:#f7f6f1;border-radius:13px;padding:10px;display:grid}.meal-item small{font-size:.55rem;color:var(--terracotta);font-weight:850;text-transform:uppercase}.meal-item strong{font-size:.72rem}.meal-item span{font-size:.57rem;color:var(--muted)}.meal-item p{font-size:.6rem;color:var(--muted);margin:4px 0 0}.meal-item .tiny-delete{position:absolute;right:5px;top:5px;opacity:0}.meal-item:hover .tiny-delete{opacity:1}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recipe-card{padding:18px;display:flex;flex-direction:column;gap:10px}.recipe-top{display:flex;gap:11px;align-items:center}.recipe-top>span{width:43px;height:43px;border-radius:14px;background:#fff3d7;color:#a27829;display:grid;place-items:center}.recipe-top>div{display:grid}.recipe-top small{font-size:.61rem;color:var(--muted)}.recipe-top h3{font-size:.94rem;margin:0}.recipe-card>p{font-size:.7rem;color:var(--muted);margin:0}.recipe-card details{border-top:1px solid var(--line);padding-top:9px}.recipe-card summary{font-size:.68rem;font-weight:850;cursor:pointer;color:var(--green)}.recipe-text{font-size:.68rem;color:var(--muted);margin:8px 0 12px;line-height:1.65}.recipe-card details>strong{font-size:.7rem}.pantry-alerts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.pantry-alerts>div{display:flex;align-items:center;gap:12px;padding:16px}.pantry-alerts>div>span{width:40px;height:40px;border-radius:13px;background:#fff3d7;color:#916a25;display:grid;place-items:center;font-weight:900}.pantry-alerts strong{font-size:.8rem}.pantry-alerts p{font-size:.65rem;color:var(--muted);margin:2px 0}.pantry-table{display:grid;gap:7px}.pantry-row{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:15px}.pantry-row.low{background:#fffbf0;border-color:#efddb2}.pantry-row.expired{background:#fff2f0;border-color:#efcbc7}.pantry-main{display:flex;align-items:center;gap:10px}.pantry-main>span{width:34px;height:34px;border-radius:11px;background:#e5f3ea;color:var(--positive);display:grid;place-items:center;font-weight:900}.pantry-row.low .pantry-main>span{background:#fff0c9;color:#8b6623}.pantry-main>div,.pantry-quantity{display:grid}.pantry-main strong,.pantry-quantity strong{font-size:.75rem}.pantry-main small,.pantry-quantity small{font-size:.61rem;color:var(--muted)}.pantry-actions{display:flex;gap:5px}.pantry-actions form{display:flex}.pantry-actions button{width:30px;height:30px;border:0;border-radius:9px;background:#edf2ee;color:var(--green);font-weight:900}.pantry-actions button.danger{background:#fff0ee;color:var(--danger)}

@media(max-width:1200px){.school-layout,.allowance-layout{grid-template-columns:1fr}.school-side{grid-template-columns:1fr 1fr}.wish-grid,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.allowance-hero{align-items:stretch}.allowance-kpis{min-width:0;flex:1}}
@media(max-width:860px){.school-summary-grid,.kitchen-summary{grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto}.school-side{grid-template-columns:1fr}.allowance-hero{display:grid}.allowance-kpis{grid-template-columns:repeat(3,1fr)}.meal-week-grid{grid-template-columns:repeat(7,180px)}.pantry-row{grid-template-columns:minmax(0,1fr) auto}.pantry-actions{grid-column:1/-1;justify-content:flex-end}.pantry-quantity{text-align:right}}
@media(max-width:600px){.school-summary-grid,.kitchen-summary{grid-template-columns:1fr}.timetable-grid{grid-template-columns:repeat(5,165px)}.homework-row{grid-template-columns:auto 5px minmax(0,1fr) auto}.allowance-hero{padding:21px}.allowance-hero>div:first-child>strong{font-size:1.8rem}.allowance-kpis{grid-template-columns:1fr}.allowance-transactions .transaction-row{grid-template-columns:auto minmax(0,1fr) auto}.allowance-transactions .approval-actions{grid-column:2/-1}.wish-grid,.recipe-grid{grid-template-columns:1fr}.wishlist-info{align-items:flex-start}.pantry-alerts{grid-template-columns:1fr}.pantry-row{grid-template-columns:1fr auto}.pantry-main{grid-column:1}.pantry-quantity{grid-column:2}.pantry-actions{grid-column:1/-1}.module-tabs>a{padding:9px 12px}}
.dashboard-module-section{margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.section-heading h2{font-size:1.25rem;margin:2px 0}.module-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.module-shortcut{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px;color:var(--ink);box-shadow:var(--shadow-sm)}.module-shortcut>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--green-soft);font-size:1.12rem}.module-shortcut>div{display:grid}.module-shortcut strong{font-size:.78rem}.module-shortcut small{font-size:.62rem;color:var(--muted)}.module-shortcut>b{font-size:1.25rem;color:#b2bab6}.module-shortcut.allowance>span{background:#fff3d7}.module-shortcut.wishlist>span{background:#f9e5dc;color:var(--terracotta)}.module-shortcut.kitchen>span{background:#e7eff2;color:var(--blue)}.module-shortcut:hover{transform:translateY(-2px);border-color:#cad9d1}@media(max-width:1100px){.module-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.module-shortcuts{grid-template-columns:1fr}}

/* FamilienKompass v0.3.0 — calendar, wall, polls, chat and push */
.btn-danger{background:#fff0ee;color:var(--danger);border:1px solid #efcbc7}.danger-link{color:var(--danger)!important}.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.inline-feedback{margin-top:12px;padding:11px 13px;border-radius:12px;font-size:.7rem;font-weight:750}.inline-feedback.success{background:#e7f4eb;color:#286543}.inline-feedback.error{background:#fff0ee;color:#9c4339}.status-badge{font-size:.61rem;font-weight:850;padding:6px 9px;border-radius:999px}.status-badge.success{background:#e5f3ea;color:var(--positive)}.status-badge.neutral{background:#eef0ed;color:var(--muted)}

/* Full family calendar */
.section-tabs{display:flex;gap:7px;margin:0 0 18px;padding:5px;background:#e9eee9;border-radius:15px;width:max-content;max-width:100%;overflow-x:auto}.section-tabs a{white-space:nowrap;color:var(--muted);font-size:.7rem;font-weight:850;padding:9px 14px;border-radius:11px}.section-tabs a.active{background:#fff;color:var(--green);box-shadow:0 4px 14px rgba(38,50,47,.08)}.calendar-month-card{padding:0;overflow:hidden;margin-bottom:18px}.calendar-month-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;padding:18px 22px;border-bottom:1px solid var(--line)}.calendar-month-head h2{font-size:1.18rem;margin:2px 0}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f6f5f0;border-bottom:1px solid var(--line)}.month-weekdays span{text-align:center;padding:9px;font-size:.61rem;color:var(--muted);font-weight:850}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day{min-height:130px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.month-day:nth-child(7n){border-right:0}.month-day.outside{background:#faf9f6;color:#aeb4b0}.month-day.today{background:#fffaf5;box-shadow:inset 0 0 0 2px rgba(217,134,103,.34)}.day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.day-number>span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;font-size:.72rem;font-weight:850}.month-day.today .day-number>span{background:var(--terracotta);color:#fff}.day-number small{font-size:.5rem;color:var(--terracotta);font-weight:850}.day-events{display:grid;gap:4px}.calendar-chip{border:0;text-align:left;background:color-mix(in srgb,var(--event-color) 13%,#fff);border-left:3px solid var(--event-color);color:var(--ink);border-radius:7px;padding:5px 6px;font-size:.58rem;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-chip span{font-size:.49rem;color:var(--muted);margin-right:4px}.shift-chip{--event-color:#6D9FB5;display:block}.more-events{font-size:.52rem;color:var(--green);font-weight:800;padding-left:5px}.agenda-list{display:grid;gap:8px}.agenda-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:13px;padding:13px;border:1px solid var(--line);border-radius:16px}.agenda-date{width:48px;height:54px;border-radius:14px;background:color-mix(in srgb,var(--event-color) 15%,#fff);border-bottom:3px solid var(--event-color);display:grid;place-content:center;text-align:center}.agenda-date strong{font-size:1.08rem;line-height:1}.agenda-date span{font-size:.56rem;color:var(--muted);text-transform:uppercase;font-weight:850}.agenda-copy{display:grid;gap:3px}.agenda-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.agenda-copy strong{font-size:.8rem}.agenda-copy>span,.agenda-copy small{font-size:.62rem;color:var(--muted)}.agenda-copy p{font-size:.68rem;color:#53605c;margin:3px 0;line-height:1.5}.audience-pill{font-size:.5rem;font-weight:850;background:#edf2ee;color:var(--green);padding:4px 7px;border-radius:999px}.event-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px}.event-detail>div{background:#f6f6f2;border-radius:13px;padding:11px;display:grid}.event-detail strong{font-size:.59rem;text-transform:uppercase;color:var(--muted)}.event-detail span{font-size:.73rem;font-weight:750}.detail-note{padding:13px;border:1px solid var(--line);border-radius:13px;font-size:.71rem;line-height:1.6}.modal-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:17px}.modal-actions form{display:inline-flex}.member-selector{border:1px solid var(--line);border-radius:15px;padding:12px}.member-selector legend{font-size:.68rem;font-weight:850;padding:0 6px}.member-selector legend small{font-weight:500;color:var(--muted)}.member-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.member-check-grid label{display:flex;align-items:center;gap:7px;padding:8px;background:#f7f7f3;border-radius:11px;font-size:.67rem;font-weight:750}.member-check-grid input{width:auto}.month-mini-nav{display:flex;gap:10px;align-items:center;background:#f3f4f0;border-radius:12px;padding:6px 10px;font-size:.68rem;font-weight:800}.month-mini-nav a{font-size:1.15rem;color:var(--green)}

/* Wall and polls */
.wall-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:18px;align-items:start}.wall-feed{display:grid;gap:14px}.wall-side{display:grid;gap:14px;position:sticky;top:90px}.wall-side .card{padding:19px}.family-note{background:linear-gradient(145deg,#315c52,#527a6e);color:#fff}.family-note>span{font-size:1.4rem;color:#f5d5bb}.family-note p{color:rgba(255,255,255,.73)}.wall-post{padding:18px;position:relative}.wall-post.pinned{border-color:#e7cda7;box-shadow:0 12px 30px rgba(183,135,72,.09)}.pin-label{display:inline-flex;background:#fff4df;color:#8c672b;border-radius:8px;padding:5px 8px;font-size:.56rem;font-weight:850;margin-bottom:10px}.post-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.post-head>div{display:grid}.post-head strong{font-size:.75rem}.post-head small{font-size:.57rem;color:var(--muted)}.post-type{font-size:.53rem;font-weight:850;padding:5px 8px;border-radius:999px;background:#edf2ee;color:var(--green)}.post-type.announcement{background:#fff0dc;color:#8c6326}.wall-post h2{font-size:1.05rem;margin:16px 0 6px}.post-body{font-size:.74rem;line-height:1.65;color:#40504b;margin:12px 0}.post-image{display:block;width:100%;max-height:480px;padding:0;border:0;background:#f2f2ee;border-radius:16px;overflow:hidden;cursor:zoom-in}.post-image img{width:100%;max-height:480px;object-fit:cover;display:block}.image-modal{z-index:120}.image-viewer{padding:0!important;background:#151817!important;overflow:hidden;max-width:1000px!important}.image-viewer img{display:block;max-height:88vh;width:100%;object-fit:contain}.image-close{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.85)!important;z-index:2}.post-actions{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin-top:13px;font-size:.61rem;color:var(--muted)}.post-actions form{display:inline-flex}.reaction-btn{border:0;background:transparent;color:var(--muted);font-weight:850}.reaction-btn.active{color:var(--terracotta)}.post-manage{margin-left:auto;display:flex;gap:9px}.post-manage button{border:0;background:transparent;font-size:.6rem}.comment-list{display:grid;gap:8px;margin-top:12px}.comment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start}.comment>div{background:#f3f5f1;border-radius:13px;padding:8px 11px}.comment>div>div{display:flex;gap:7px;align-items:center}.comment strong{font-size:.65rem}.comment small{font-size:.52rem;color:var(--muted)}.comment p{font-size:.66rem;line-height:1.45;margin:3px 0}.comment-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;margin-top:11px}.comment-form input{min-height:38px;border-radius:12px;background:#f4f5f1}.send-icon{background:var(--green)!important;color:#fff!important}.poll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.full-span{grid-column:1/-1}.poll-card{padding:18px;display:flex;flex-direction:column}.poll-card>header{display:flex;justify-content:space-between;gap:15px}.poll-card h2{font-size:1rem;margin:3px 0}.status-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:#9fa7a3;box-shadow:0 0 0 4px rgba(159,167,163,.15)}.status-dot.open{background:#52a16c;box-shadow:0 0 0 4px rgba(82,161,108,.15)}.status-dot.closed{background:#a8aaa7}.poll-card>p{font-size:.69rem;color:var(--muted);line-height:1.55}.poll-meta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 13px}.poll-meta span{font-size:.53rem;background:#f1f3ef;color:var(--muted);padding:4px 7px;border-radius:7px}.poll-options{display:grid;gap:8px}.poll-option{display:block;border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff}.poll-option.selected{border-color:#9fbcad;background:#f2f8f4}.poll-option-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.poll-option-main input{width:auto}.poll-option-main span{font-size:.7rem;font-weight:750}.poll-option-main strong{font-size:.65rem;color:var(--green)}.poll-bar{height:5px;background:#e8ebe8;border-radius:99px;overflow:hidden;margin:8px 0 4px}.poll-bar i{display:block;height:100%;background:var(--green);border-radius:99px}.poll-option small{font-size:.53rem;color:var(--muted)}.poll-card>footer{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:.58rem;color:var(--muted)}.poll-card>footer>div{display:flex;gap:8px}.poll-card>footer form{display:inline-flex}.poll-card>footer button{border:0;background:transparent}

/* Encrypted family chat */
.chat-page-head{margin-bottom:12px}.online-family{display:flex;padding-right:7px}.online-family .mini-avatar{margin-right:-7px;border:2px solid var(--cream);box-shadow:0 3px 9px rgba(38,50,47,.1)}.chat-shell{height:calc(100vh - 205px);min-height:520px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;padding:0;overflow:hidden;background:linear-gradient(rgba(247,241,231,.92),rgba(247,241,231,.92)),radial-gradient(circle at 20% 20%,rgba(168,195,181,.3),transparent 38%)}.chat-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}.chat-top>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 8px}.chat-top strong{font-size:.75rem}.chat-top small{grid-column:2;font-size:.55rem;color:var(--muted)}.chat-messages{overflow-y:auto;padding:16px;scroll-behavior:smooth}.chat-loading{text-align:center;color:var(--muted);font-size:.66rem;padding:40px}.chat-day{display:flex;justify-content:center;margin:14px 0}.chat-day span{background:rgba(255,255,255,.87);box-shadow:0 3px 10px rgba(38,50,47,.06);border-radius:999px;padding:5px 10px;font-size:.53rem;font-weight:800;color:var(--muted)}.chat-message{display:flex;align-items:flex-end;gap:7px;margin:7px 0;max-width:78%}.chat-message.mine{margin-left:auto;justify-content:flex-end}.message-wrap{display:grid;min-width:0}.message-sender{font-size:.55rem;color:var(--green);padding:0 7px 3px}.message-bubble{background:#fff;border-radius:6px 17px 17px 17px;padding:8px 10px;box-shadow:0 3px 12px rgba(38,50,47,.06);min-width:95px}.chat-message.mine .message-bubble{background:#dceee4;border-radius:17px 6px 17px 17px}.message-bubble>p{font-size:.72rem;line-height:1.48;margin:0;word-break:break-word}.deleted-message{font-style:italic;color:#89918d}.message-meta{display:flex;gap:4px;justify-content:flex-end;color:#85908b;font-size:.48rem;margin-top:4px}.message-actions{display:flex;gap:7px;opacity:0;padding:3px 7px}.chat-message:hover .message-actions{opacity:1}.message-actions button{border:0;background:transparent;color:var(--muted);font-size:.51rem}.message-reply{border-left:3px solid var(--terracotta);background:rgba(255,255,255,.45);border-radius:7px;padding:5px 7px;margin-bottom:6px;display:grid}.message-reply strong{font-size:.54rem;color:var(--terracotta)}.message-reply span{font-size:.55rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-photo{border:0;padding:0;margin-top:5px;background:transparent;display:block;cursor:zoom-in}.chat-photo img{display:block;max-width:min(330px,100%);max-height:320px;border-radius:11px;object-fit:cover}.chat-reply-preview{display:flex;justify-content:space-between;align-items:center;background:#eef3ef;border-left:4px solid var(--terracotta);padding:8px 13px}.chat-reply-preview>div{display:grid}.chat-reply-preview small{font-size:.5rem;color:var(--terracotta)}.chat-reply-preview strong{font-size:.63rem;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-compose{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px 13px;background:#fff;border-top:1px solid var(--line)}.chat-compose textarea{resize:none;min-height:42px;max-height:130px;border-radius:17px;padding:11px 13px;line-height:1.35;background:#f3f5f1}.chat-file{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#edf2ee;color:var(--green);font-size:1.25rem;cursor:pointer}.chat-file input{display:none}.chat-send{width:42px;height:42px;border:0;border-radius:14px;background:var(--green);color:#fff;font-size:1rem}.chat-file-name{grid-column:2;font-size:.53rem;color:var(--muted);padding-left:5px}.chat-security-note{display:flex;gap:8px;align-items:center;justify-content:center;padding:9px;color:var(--muted)}.chat-security-note p{font-size:.55rem;margin:0}.chat-security-note span{color:var(--green)}

/* Push and cron settings */
.push-device-status{display:flex;gap:12px;align-items:center;background:#f3f6f3;border-radius:15px;padding:13px;margin:14px 0}.push-device-icon{width:40px;height:40px;border-radius:13px;background:#dcece3;color:var(--green);display:grid;place-items:center}.push-device-status>div{display:grid}.push-device-status strong{font-size:.72rem}.push-device-status small{font-size:.57rem;color:var(--muted)}.cron-card{margin-top:18px;padding:21px}.secret-url{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:13px 0}.secret-url code{overflow:auto;background:#202b28;color:#dcece3;border-radius:12px;padding:12px;font-size:.58rem;white-space:nowrap}.cron-card>div>small{font-size:.56rem;color:var(--muted)}

/* Dashboard social shortcuts */
.family-social-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:11px}.social-shortcut{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px;color:var(--ink)}.social-shortcut>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:1.2rem;background:#f7e4dc;color:var(--terracotta)}.social-shortcut.chat>span{background:#e3eee8;color:var(--green)}.social-shortcut>div{display:grid;gap:2px}.social-shortcut strong{font-size:.78rem}.social-shortcut p{font-size:.64rem;color:var(--muted);margin:0;line-height:1.4}.social-shortcut small{font-size:.54rem;color:#9ba19e}.social-shortcut>b{font-size:1.2rem;color:#b2bab6}.social-shortcut>em{min-width:27px;height:27px;border-radius:999px;background:var(--terracotta);color:#fff;display:grid;place-items:center;font-size:.62rem;font-style:normal;font-weight:850}.date-box.event{background:#fff0e7;color:var(--terracotta)}

@media(max-width:1100px){.wall-layout{grid-template-columns:1fr}.wall-side{position:static;grid-template-columns:1fr 1fr}.poll-grid{grid-template-columns:1fr}.family-social-grid{grid-template-columns:1fr}.month-day{min-height:115px}.calendar-chip{font-size:.54rem}}
@media(max-width:800px){.calendar-month-card{overflow-x:auto}.calendar-month-head,.month-weekdays,.month-grid{min-width:760px}.wall-side{grid-template-columns:1fr}.member-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-shell{height:calc(100dvh - 188px);min-height:430px}.chat-message{max-width:88%}.event-detail{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.section-tabs{width:100%}.section-tabs a{flex:1;text-align:center}.calendar-month-head,.month-weekdays,.month-grid{min-width:680px}.month-day{min-height:105px;padding:6px}.agenda-event{grid-template-columns:auto minmax(0,1fr)}.agenda-event>.icon-btn{grid-column:2;justify-self:end;margin-top:-38px}.member-check-grid{grid-template-columns:1fr}.event-detail{grid-template-columns:1fr}.post-head{grid-template-columns:auto minmax(0,1fr)}.post-type{grid-column:2;width:max-content}.post-actions{flex-wrap:wrap}.post-manage{width:100%;margin-left:0}.wall-post{padding:14px}.poll-card{padding:14px}.chat-page-head{display:flex!important}.chat-page-head .online-family{display:none}.chat-shell{margin-left:-14px;margin-right:-14px;border-radius:0;height:calc(100dvh - 157px)}.chat-messages{padding:11px}.chat-message{max-width:94%}.message-actions{opacity:1}.chat-photo img{max-width:245px}.button-row{display:grid;grid-template-columns:1fr 1fr}.button-row .text-link{grid-column:1/-1}.secret-url{grid-template-columns:1fr}.secret-url .btn{width:100%}.family-social-grid{grid-template-columns:1fr}}
