:root {
  --bg: #fbf8f4; --surface: rgba(255,255,255,.92); --ink: #202124; --muted: #85827e;
  --line: #eee9e3; --coral: #ff695e; --coral-soft: #fff0ec; --sage: #72a85a;
  --blue: #669ce6; --yellow: #f4ad2f; --purple: #9a76df;
  --shadow: 0 10px 35px rgba(57,43,30,.07), 0 2px 7px rgba(57,43,30,.04);
  --radius: 24px; --sidebar: 228px;
}

/* Chat workflow: recipients, replies and actions */
.chat-room { grid-template-rows:64px 1fr auto auto auto auto; }
.message-actions { flex-wrap:wrap; }
.message-actions button { padding:6px 9px;font-size:10px; }
.message-recipient { display:block;margin:0 0 4px 10px;color:var(--coral);font-size:10px;font-weight:800; }
.reply-quote { margin:-3px 0 8px;padding:7px 9px;border-left:3px solid var(--coral);border-radius:7px;background:rgba(255,255,255,.55);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted); }
.reply-quote span { display:block;color:var(--coral);font-weight:800;font-size:10px; }
.chat-recipients { margin:8px 15px 0;display:flex;gap:6px;align-items:center;overflow-x:auto; }
.chat-recipients span { color:var(--muted);font-size:11px; }
.chat-recipients button { flex:0 0 auto;border:1px solid var(--line);border-radius:99px;background:white;padding:6px 10px;color:var(--muted);font-size:11px;cursor:pointer; }
.chat-recipients button.active { border-color:var(--coral);background:var(--coral-soft);color:var(--coral);font-weight:800; }
.reply-compose { margin:8px 15px 0;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;border-left:3px solid var(--coral);border-radius:10px;background:white;box-shadow:0 3px 12px rgba(48,38,30,.05); }
.reply-compose span,.reply-compose b { display:block; }
.reply-compose span { color:var(--coral);font-size:10px;font-weight:800; }
.reply-compose b { margin-top:2px;max-width:440px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px; }
.reply-compose button { border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer; }
@media (max-width:760px) {
  .chat-room { grid-template-rows:58px 1fr auto auto auto auto; }
  .chat-recipients { margin:6px 8px 0; }
  .reply-compose { margin:6px 8px 0; }
  .reply-compose b { max-width:230px; }
}
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-width: 320px; color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; }
button { color: inherit; }
.app-shell { min-height: 100dvh; display: grid; grid-template-columns: var(--sidebar) 1fr; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); padding: 28px 18px; border-right: 1px solid var(--line); background: rgba(255,252,248,.88); backdrop-filter: blur(18px); z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 30px; font-weight: 800; font-size: 21px; letter-spacing: -.5px; }
.brand img { width: 32px; height: 32px; }
.nav-list { display: grid; gap: 6px; }
.nav-button { border: 0; background: transparent; border-radius: 14px; padding: 12px 14px; display: flex; align-items: center; gap: 12px; cursor: pointer; text-align: left; color: #68645f; font-weight: 600; transition: .18s ease; }
.nav-button:hover { background: #fff; transform: translateX(2px); }
.nav-button.active { color: var(--coral); background: var(--coral-soft); }
.nav-icon { width: 22px; text-align: center; font-size: 18px; }
.sidebar-foot { position: absolute; left: 18px; right: 18px; bottom: 24px; }
.helper-mini { width: 100%; border: 1px solid var(--line); background: white; border-radius: 14px; padding: 11px; cursor: pointer; color: var(--coral); font-weight: 700; }
.main { grid-column: 2; padding: 36px clamp(24px, 4vw, 64px) 110px; max-width: 1280px; width: 100%; margin: 0 auto; }
.topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.eyebrow { color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .02em; }
h1 { margin: 5px 0 0; font-size: clamp(31px, 4vw, 48px); line-height: 1; letter-spacing: -1.6px; }
.profile { border: 0; background: white; box-shadow: var(--shadow); border-radius: 999px; display: flex; align-items: center; gap: 10px; padding: 6px 12px 6px 6px; cursor: pointer; }
.profile i { color:var(--muted); font-style:normal; font-size:12px; }
.avatar { width: 35px; height: 35px; border-radius: 50%; display: grid; place-items: center; background: #f1d8c4; font-weight: 800; }
.welcome { margin: 0 0 22px; color: #696560; }
.dashboard { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,.9fr); gap: 20px; }
.column { display: grid; align-content: start; gap: 20px; }
.card { background: var(--surface); border: 1px solid rgba(234,228,221,.9); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px; }
.card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 17px; }
.card h2 { font-size: 17px; margin: 0; letter-spacing: -.25px; }
.link-button { border: 0; background: none; padding: 4px; color: var(--muted); font-size: 13px; cursor: pointer; }
.summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.metric { border-radius: 17px; padding: 15px; background: #fcfaf7; }
.metric-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; margin-bottom: 14px; background: white; }
.metric strong { font-size: 24px; letter-spacing: -1px; }
.metric span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.event-list, .task-list, .purchase-list { display: grid; gap: 4px; }
.event { display: grid; grid-template-columns: 62px 4px 1fr auto; align-items: center; gap: 13px; padding: 10px 0; }
.event + .event { border-top: 1px solid var(--line); }
.event time { font-weight: 750; font-size: 14px; }
.event-line { height: 38px; border-radius: 99px; background: var(--blue); }
.event:nth-child(2) .event-line { background: var(--yellow); }
.event-title { font-weight: 700; font-size: 14px; }
.event-place { color: var(--muted); font-size: 12px; margin-top: 3px; }
.face-stack { display: flex; }
.tiny-face { width: 25px; height: 25px; margin-left: -5px; border: 2px solid white; border-radius: 50%; display: grid; place-items: center; background: #eee0d4; font-size: 10px; }
.task { display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 10px; min-height: 48px; padding: 4px 0; }
.task + .task { border-top: 1px solid var(--line); }
.check { appearance: none; width: 22px; height: 22px; margin: 0; border: 2px solid #aaa6a0; border-radius: 50%; cursor: pointer; position: relative; transition: .2s ease; }
.check:checked { border-color: var(--coral); background: var(--coral); transform: scale(1.05); }
.check:checked::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.task.done .task-title { color: #aaa6a0; text-decoration: line-through; }
.task-title { font-size: 14px; font-weight: 620; }
.task-meta { color: var(--muted); font-size: 11px; margin-top: 3px; }
.person-pill { font-size: 11px; font-weight: 700; padding: 5px 8px; border-radius: 99px; background: #f6f1eb; }
.section-label { color: var(--muted); text-transform: uppercase; font-size: 10px; font-weight: 800; letter-spacing: .08em; margin: 8px 0 5px; }
.purchase { display: flex; gap: 10px; align-items: center; padding: 9px 0; font-size: 14px; }
.purchase-dot { width: 9px; height: 9px; border: 2px solid var(--sage); border-radius: 50%; }
.swipe-shell { position:relative; overflow:hidden; border-radius:12px; background:#f2eee9; touch-action:pan-y; }.swipe-shell + .swipe-shell { border-top:1px solid var(--line); }.swipe-actions { position:absolute; inset:0 0 0 auto; display:flex; justify-content:flex-end; align-items:stretch; }.swipe-actions button { min-width:68px; border:0; background:#e9e4de; color:#5f5a55; padding:0 11px; font-size:11px; font-weight:750; cursor:pointer; }.swipe-actions button.danger { background:#df665d; color:white; }.swipe-content { position:relative; z-index:2; background:var(--surface); transition:transform .22s ease; will-change:transform; }.swipe-shell.swiped .swipe-content { transform:translateX(-150px); }.full-swipe.swiped .swipe-content { transform:translateX(-220px); }.purchase-more { margin-left:auto; border:0; background:none; color:var(--muted); letter-spacing:1px; cursor:pointer; }.gesture-hint { margin-top:11px; color:var(--muted); font-size:10px; text-align:center; }
.quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick { min-height: 104px; border: 0; border-radius: 18px; padding: 15px; text-align: left; cursor: pointer; transition: .18s ease; background: #f8f4ef; }
.quick:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.quick-icon { font-size: 22px; display: block; margin-bottom: 17px; }
.quick strong { font-size: 13px; }
.quick.coral { background: var(--coral-soft); }.quick.blue { background: #eef5ff; }.quick.green { background: #f0f6eb; }.quick.yellow { background: #fff7e5; }
.ai-fab { position: fixed; z-index: 50; left: calc(var(--sidebar) + (100vw - var(--sidebar))/2); bottom: 27px; translate: -50% 0; width: 70px; height: 70px; border: 6px solid rgba(255,255,255,.9); border-radius: 50%; background: linear-gradient(145deg,#ff8b7f,var(--coral)); color: white; box-shadow: 0 0 0 8px rgba(255,105,94,.09), 0 12px 30px rgba(255,86,75,.32); font-size: 27px; cursor: pointer; animation: breathe 3s infinite; }
@keyframes breathe { 50% { box-shadow: 0 0 0 13px rgba(255,105,94,.055), 0 14px 34px rgba(255,86,75,.35); } }
.bottom-nav { display: none; }
.page-placeholder { min-height: 55vh; display: grid; place-items: center; text-align: center; }
.page-placeholder .symbol { font-size: 48px; }
.page-placeholder p { color: var(--muted); max-width: 410px; line-height: 1.5; }
.modal-backdrop { position: fixed; inset: 0; z-index: 100; background: rgba(39,31,25,.28); backdrop-filter: blur(8px); display: grid; place-items: end center; padding: 20px; animation: fade .18s ease; }
.modal { width: min(620px,100%); max-height: min(760px,90dvh); overflow: auto; background: #fffdfa; border-radius: 30px; padding: 25px; box-shadow: 0 30px 80px rgba(34,26,20,.22); animation: rise .25s ease; }
@keyframes fade { from { opacity: 0; } } @keyframes rise { from { opacity: 0; transform: translateY(25px); } }
.modal-head { display: flex; justify-content: space-between; align-items: center; }
.modal-head h2 { margin: 0; font-size: 24px; }
.close { border: 0; background: #f2eee9; width: 34px; height: 34px; border-radius: 50%; cursor: pointer; }
.capture-options { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 22px 0; }
.capture-option { border: 1px solid var(--line); background: white; border-radius: 17px; padding: 14px 8px; cursor: pointer; }
.capture-option.active { border-color: var(--coral); background: var(--coral-soft); color: var(--coral); }
.capture-option span { display: block; font-size: 21px; margin-bottom: 7px; }.capture-option small { font-weight: 700; }
.capture-box { width: 100%; min-height: 125px; resize: vertical; border: 1px solid var(--line); border-radius: 18px; padding: 16px; outline: none; background: white; }
.capture-box:focus { border-color: var(--coral); box-shadow: 0 0 0 3px var(--coral-soft); }
.primary { width: 100%; border: 0; border-radius: 16px; padding: 14px; background: var(--coral); color: white; font-weight: 800; cursor: pointer; margin-top: 12px; }
.primary:disabled { opacity: .45; cursor: default; }
.primary.compact { width: auto; margin: 0; padding: 12px 18px; }
.motivation-strip { min-height:150px; margin-bottom:14px; padding:20px 23px; border-radius:25px; display:grid; grid-template-columns:74px 1fr auto; gap:18px; align-items:center; color:white; background:linear-gradient(125deg,#292826,#443c38); box-shadow:var(--shadow); }.motivation-strip.child { background:linear-gradient(125deg,#5f89d5,#8a70d4); }.level-orb { width:68px;height:68px;border-radius:22px;display:grid;place-items:center;align-content:center;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }.level-orb strong { font-size:27px;line-height:1; }.level-orb small { margin-top:5px;font-size:9px;color:rgba(255,255,255,.7); }.level-copy>span { font-size:11px;color:rgba(255,255,255,.66);font-weight:750; }.level-copy h2 { margin:4px 0 10px;font-size:21px; }.level-copy>small { display:block;margin-top:6px;color:rgba(255,255,255,.62);font-size:9px; }.xp-track,.quest-track { height:7px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden; }.xp-track i,.quest-track i { display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ffd25f,#ff8a72); }.achievement-chip { min-width:90px;display:grid;justify-items:center;gap:5px; }.achievement-chip span { font-size:29px; }.achievement-chip small { color:rgba(255,255,255,.72);font-size:9px;font-weight:750; }
.family-quest { margin-bottom:10px;padding:15px 18px;border:1px solid var(--line);border-radius:20px;background:white;display:grid;grid-template-columns:43px 1fr 45px;gap:13px;align-items:center;box-shadow:var(--shadow); }.quest-icon { width:42px;height:42px;border-radius:14px;background:var(--coral-soft);color:var(--coral);display:grid;place-items:center;font-size:18px; }.family-quest span { color:var(--coral);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850; }.family-quest h3 { margin:3px 0 7px;font-size:15px; }.family-quest small { display:block;margin-top:6px;color:var(--muted);font-size:9px; }.family-quest>strong { color:var(--coral);font-size:15px; }.quest-track { background:#eee9e3; }.achievement-row { display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:0 4px; }.achievement-row>div { min-width:94px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:#f4f0eb;display:flex;align-items:center;gap:7px;filter:grayscale(1);opacity:.48; }.achievement-row>div.earned { background:white;filter:none;opacity:1;box-shadow:0 3px 12px rgba(57,43,30,.05); }.achievement-row small { font-size:9px;font-weight:750; }.achievement-row p { margin-left:auto;color:var(--muted);font-size:10px; }
.task-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 14px; }
.task-stat { min-height: 135px; background: white; border: 1px solid var(--line); border-radius: 22px; padding: 18px; box-shadow: var(--shadow); display: grid; align-content: space-between; }
.task-stat span { color: var(--muted); font-size: 13px; font-weight: 700; }.task-stat strong { font-size: 34px; letter-spacing: -1.5px; }.task-stat small { color: var(--muted); font-size: 12px; }
.coral-stat { background: linear-gradient(145deg,#ff8176,var(--coral)); color: white; border: 0; }.coral-stat span,.coral-stat small { color: rgba(255,255,255,.82); }
.tasks-workspace { padding: 0; overflow: hidden; }
.task-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.filter-row { display: flex; flex-wrap: wrap; gap: 7px; }.filter-chip { border: 0; border-radius: 99px; background: #f5f1ec; padding: 8px 13px; font-size: 13px; font-weight: 700; cursor: pointer; }.filter-chip.active { color: var(--coral); background: var(--coral-soft); }
.tasks-date { padding: 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.tasks-date > div { display: flex; gap: 10px; align-items: center; }.tasks-date strong,.tasks-date small { display: block; }.tasks-date strong { color: var(--ink); font-size: 14px; }.day-number { font-size: 28px; font-weight: 800; color: var(--coral); letter-spacing: -1px; }
.full-task-list { min-height: 285px; }
.inline-checklist { padding:4px 20px 12px 61px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px; }.inline-checklist button { border:0;border-radius:10px;background:#f6f2ed;padding:7px 9px;display:flex;align-items:center;gap:6px;color:#716b65;font-size:10px;cursor:pointer; }.inline-checklist button span { width:15px;height:15px;border:1px solid #d5cec7;border-radius:5px;display:grid;place-items:center;font-size:9px; }.inline-checklist button.done { color:var(--sage);text-decoration:line-through; }.inline-checklist button.done span { background:var(--sage);color:white;border-color:var(--sage); }.status-dot.doing { color:var(--blue); }.status-dot.planned { color:var(--purple); }.priority-high { color:var(--coral);font-weight:800; }.priority-low { color:#a09b95; }
.full-task { display: grid; grid-template-columns: 28px 1fr 110px 32px; gap: 13px; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--line); transition: background .18s ease; }.full-task:hover { background: #fffcf8; }.full-task.done { opacity: .58; }
.task-open { border: 0; background: none; padding: 0; text-align: left; cursor: pointer; min-width: 0; }.full-task-title { display: block; font-size: 15px; font-weight: 750; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.full-task-details { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 6px; color: var(--muted); font-size: 12px; }.full-task-details b { color: var(--coral); }.full-task-details i { font-style: normal; }
.assignee { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; }.assignee-avatar { width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; color: #6b4d3d; background: #f0ded0; }.more-task { border: 0; background: none; color: var(--muted); cursor: pointer; letter-spacing: 1px; }
.empty-tasks { padding: 50px 20px; text-align: center; }.empty-tasks > div { width: 48px; height: 48px; margin: auto; display: grid; place-items: center; border-radius: 50%; background: #edf6e9; color: var(--sage); font-size: 21px; }.empty-tasks h2 { margin: 14px 0 6px; }.empty-tasks p { color: var(--muted); margin: 0 0 18px; }
.task-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 23px; }.field { display: grid; gap: 7px; }.field.full { grid-column: 1/-1; }.field span,.scope-field legend { color: var(--muted); font-size: 12px; font-weight: 750; }.field input,.field select,.field textarea { width: 100%; min-height: 46px; border: 1px solid var(--line); background: white; border-radius: 13px; padding: 10px 12px; color: var(--ink); outline: none; }.field textarea { min-height:82px;resize:vertical;font:inherit; }.field input:focus,.field select:focus,.field textarea:focus { border-color: var(--coral); box-shadow: 0 0 0 3px var(--coral-soft); }
.scope-field { grid-column: 1/-1; border: 0; padding: 0; margin: 2px 0; }.scope-field legend { margin-bottom: 8px; }.scope-field label { display: inline-flex; margin-right: 8px; cursor: pointer; }.scope-field input { position: absolute; opacity: 0; }.scope-field label span { padding: 9px 13px; border-radius: 99px; background: #f5f1ec; font-size: 13px; font-weight: 700; }.scope-field input:checked + span { color: var(--coral); background: var(--coral-soft); }
.access-field { padding:14px;border:1px solid var(--line);border-radius:16px;background:#fcfaf7; }.access-options { display:flex;flex-wrap:wrap;gap:7px; }.access-options label { margin:0; }.member-access-options { display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line); }.member-access-options>small { width:100%;color:var(--muted);font-size:10px;font-weight:750; }.member-access-options label { min-height:36px;margin:0;padding:5px 9px 5px 5px;border:1px solid var(--line);border-radius:12px;background:white;display:flex;align-items:center;gap:6px; }.member-access-options label:has(input:checked) { border-color:var(--coral);background:var(--coral-soft); }.member-access-options .member-avatar { width:26px;height:26px;border-radius:8px;padding:0;font-size:9px; }.member-access-options b { font-size:11px; }.access-field>p { margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.45; }
.form-actions { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: center; margin-top: 5px; }.delete-task { border: 0; background: none; color: #c95750; cursor: pointer; font-weight: 700; }
.family-hero { min-height: 245px; padding: 30px 34px; border-radius: 30px; background: linear-gradient(125deg,#262625 0%,#383331 58%,#564440 100%); color: white; display: flex; align-items: center; justify-content: space-between; overflow: hidden; position: relative; box-shadow: var(--shadow); }
.family-hero h2 { margin: 8px 0 12px; font-size: clamp(29px,4vw,44px); line-height: 1.04; letter-spacing: -1.5px; }.family-hero p { color: rgba(255,255,255,.67); margin: 0; max-width: 420px; }.family-kicker { color: #ff9e95; font-size: 12px; text-transform: uppercase; font-weight: 800; letter-spacing: .1em; }
.home-orbit { width: 190px; height: 190px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; position: relative; flex: 0 0 auto; }.home-orbit::before { content:""; position:absolute; inset:29px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }.orbit-heart { position:absolute; inset:50%; translate:-50% -50%; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:var(--coral); font-size:25px; box-shadow:0 0 0 12px rgba(255,105,94,.12); }.orbit-person { --angle: calc(var(--i) * 90deg); position:absolute; left:calc(50% + cos(var(--angle)) * 82px); top:calc(50% + sin(var(--angle)) * 82px); translate:-50% -50%; width:35px; height:35px; border:3px solid #4a403d; border-radius:50%; display:grid; place-items:center; color:#342b25; font-size:12px; font-weight:800; }
.family-section-head { margin: 30px 2px 14px; display:flex; align-items:end; justify-content:space-between; }.family-section-head h2 { margin:4px 0 0; font-size:22px; }.family-section-head>span { color:var(--muted); font-size:13px; }
.member-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }.member-card { border:1px solid var(--line); background:white; border-radius:23px; padding:17px; text-align:left; cursor:pointer; box-shadow:var(--shadow); transition:.2s ease; }.member-card:hover { transform:translateY(-3px); box-shadow:0 15px 42px rgba(57,43,30,.11); }.member-top { display:flex; align-items:center; position:relative; }.member-avatar { width:50px; height:50px; border-radius:18px; display:grid; place-items:center; font-weight:850; font-size:18px; color:#40322b; }.coral { background:#ffe2dc; }.sage { background:#e3efd9; }.blue { background:#dfeeff; }.yellow { background:#fff0c6; }.online-dot { width:9px; height:9px; margin:-35px 0 0 -7px; border:2px solid white; border-radius:50%; background:#67b24d; }.member-arrow { margin-left:auto; color:var(--muted); }.member-name { display:block; margin-top:16px; font-weight:800; font-size:18px; }.member-role { display:block; margin-top:3px; color:var(--muted); font-size:12px; }.member-status { display:flex; align-items:center; gap:7px; margin:14px 0; padding:8px 9px; border-radius:10px; background:#faf7f3; font-size:11px; color:#716c66; }.member-status i { width:6px; height:6px; border-radius:50%; background:var(--sage); }.member-footer { border-top:1px solid var(--line); padding-top:12px; display:flex; gap:23px; }.member-footer b,.member-footer small { display:block; }.member-footer b { font-size:15px; }.member-footer small { color:var(--muted); font-size:10px; margin-top:2px; }
.family-lower-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:16px; margin-top:16px; }.room-badge,.private-label { border-radius:99px; background:#f3eee8; padding:6px 9px; color:var(--muted); font-size:10px; font-weight:750; }.living-item { display:grid; grid-template-columns:42px 1fr auto; gap:11px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }.living-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; font-size:17px; }.living-item strong,.living-item small { display:block; }.living-item strong { font-size:14px; }.living-item small { color:var(--muted); font-size:11px; margin-top:4px; }.living-item button { border:0; background:#f5f1ec; border-radius:99px; padding:7px 9px; font-size:10px; font-weight:700; }.soft-action { width:100%; border:1px dashed #ddd4cb; background:#fcfaf7; border-radius:13px; padding:11px; margin-top:8px; color:#726c66; font-weight:700; cursor:pointer; }
.circle-people { display:flex; gap:9px; }.circle-people span,.circle-people button { border:0; background:none; display:grid; justify-items:center; gap:5px; color:var(--ink); }.circle-people b { width:37px; height:37px; display:grid; place-items:center; border-radius:50%; background:#eee1d7; }.circle-people small { color:var(--muted); font-size:9px; }.circle-people button { cursor:pointer; }.circle-people button:first-letter { width:37px; height:37px; }.circle-card p { color:var(--muted); font-size:11px; line-height:1.5; margin:16px 0 0; }
.room-header { display:grid; grid-template-columns:42px 1fr 42px; align-items:center; margin-bottom:25px; }.back-room,.room-menu { width:38px; height:38px; border:0; border-radius:50%; background:white; box-shadow:var(--shadow); cursor:pointer; }.room-person { display:flex; align-items:center; gap:13px; justify-self:center; }.room-person .member-avatar { width:45px; height:45px; border-radius:15px; }.room-person h1 { font-size:27px; letter-spacing:-1px; margin-top:2px; }.room-menu { color:var(--muted); }
.room-welcome { border-radius:27px; padding:27px 30px; display:flex; align-items:center; justify-content:space-between; }.room-welcome>div:first-child>span { text-transform:uppercase; font-size:10px; font-weight:850; letter-spacing:.1em; opacity:.62; }.room-welcome h2 { margin:7px 0; font-size:30px; letter-spacing:-1px; }.room-welcome p { margin:0; max-width:570px; line-height:1.45; font-size:13px; color:#655e59; }.privacy-seal { width:78px; height:78px; border-radius:50%; background:rgba(255,255,255,.58); display:grid; place-items:center; align-content:center; font-size:25px; flex:0 0 auto; }.privacy-seal small { display:block; margin-top:2px; font-size:9px; font-weight:750; }
.room-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; margin-top:16px; }.room-tasks .task { grid-template-columns:27px 1fr; }.room-empty { padding:25px; border-radius:14px; background:#faf7f3; color:var(--muted); text-align:center; font-size:13px; }.goal-title { display:flex; align-items:center; gap:12px; margin:13px 0 18px; }.goal-title h2 { font-size:17px; }.goal-title small { color:var(--muted); font-size:11px; }.goal-track { height:8px; border-radius:99px; background:#f1ece6; overflow:hidden; }.goal-track i { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--yellow),var(--coral)); }.personal-note { padding:13px 0; border-top:1px solid var(--line); }.personal-note p { margin:0; font-size:14px; line-height:1.45; }.personal-note small { display:block; color:var(--muted); font-size:10px; margin-top:7px; }.moods { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; margin:18px 0 12px; }.moods button { aspect-ratio:1; border:1px solid var(--line); background:#faf7f3; border-radius:13px; cursor:pointer; font-size:19px; }.moods button:hover,.moods button.selected { border-color:var(--coral); background:var(--coral-soft); color:var(--coral); }.mood-card>small { color:var(--muted); font-size:10px; }.locked-room { min-height:105px; display:grid; place-items:center; align-content:center; color:var(--muted); }.locked-room span { font-size:25px; }.locked-room p { font-size:12px; }.note-form { margin-top:18px; }
.profile-modal { width:min(540px,100%); }.profile-switch-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.switch-person { min-height:76px; border:1px solid var(--line); background:white; border-radius:17px; padding:11px; display:grid; grid-template-columns:48px 1fr 24px; align-items:center; gap:10px; text-align:left; cursor:pointer; }.switch-person:hover { background:#fffcf8; }.switch-person.active { border-color:var(--coral); box-shadow:0 0 0 3px var(--coral-soft); }.switch-person .member-avatar { width:46px; height:46px; border-radius:14px; }.switch-person strong,.switch-person small { display:block; }.switch-person strong { font-size:15px; }.switch-person small { margin-top:4px; color:var(--muted); font-size:10px; }.switch-person i { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--coral); color:white; font-style:normal; font-size:11px; }.future-access { display:flex; gap:12px; margin-top:18px; padding:15px; border-radius:15px; background:#f7f3ef; }.future-access>span { width:32px; height:32px; border-radius:10px; background:white; display:grid; place-items:center; flex:0 0 auto; color:var(--coral); }.future-access strong { font-size:13px; }.future-access p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.chat-shell { height:calc(100dvh - 145px); min-height:560px; display:grid; grid-template-columns:285px 1fr; background:white; border:1px solid var(--line); border-radius:26px; overflow:hidden; box-shadow:var(--shadow); }
.chat-list { border-right:1px solid var(--line); overflow:auto; }.chat-list-title { height:64px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }.chat-list-title span { min-width:25px; height:25px; padding:0 7px; display:grid; place-items:center; border-radius:99px; background:var(--coral-soft); color:var(--coral); font-size:11px; font-weight:800; }
.chat-contact { width:100%; min-height:72px; padding:11px 14px; border:0; border-bottom:1px solid #f4f0eb; background:white; display:grid; grid-template-columns:48px 1fr; gap:11px; align-items:center; text-align:left; cursor:pointer; }.chat-contact.active { background:#fff5f1; }.chat-contact .member-avatar { width:46px; height:46px; border-radius:15px; }.family-chat { background:#272624;color:white; }.chat-contact b,.chat-contact small { display:block; }.chat-contact b { font-size:14px; }.chat-contact small { margin-top:5px; color:var(--muted); font-size:11px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:180px; }
.chat-room { min-width:0; display:grid; grid-template-rows:64px 1fr auto auto; background:#fbf8f4; }.chat-room-head { padding:9px 18px; display:flex; align-items:center; gap:11px; background:white; border-bottom:1px solid var(--line); }.chat-room-head .member-avatar { width:43px;height:43px;border-radius:14px; }.chat-room-head strong,.chat-room-head small { display:block; }.chat-room-head small { margin-top:3px;color:var(--muted);font-size:10px; }
.message-stream { padding:22px; overflow:auto; display:flex; flex-direction:column; gap:14px; }.message-line { max-width:min(76%,520px); align-self:flex-start; }.message-line.mine { align-self:flex-end; }.message-author { display:block; margin:0 0 4px 10px; color:var(--muted); font-size:10px; }.message-bubble { padding:11px 13px 7px; border-radius:17px 17px 17px 5px; background:white; box-shadow:0 3px 12px rgba(48,38,30,.05); }.mine .message-bubble { background:#ffe4df; border-radius:17px 17px 5px 17px; }.message-bubble p { margin:0; line-height:1.45; font-size:14px; }.message-bubble time { display:block; margin-top:5px; color:var(--muted); text-align:right; font-size:9px; }.message-bubble.sticker { padding:3px 5px; background:transparent; box-shadow:none; }.big-sticker { font-size:54px; line-height:1.1; }
.message-actions { display:flex; gap:5px; margin-top:5px; opacity:0; transition:.15s; }.message-line:hover .message-actions { opacity:1; }.message-actions button { border:0;border-radius:99px;background:#ede7e1;padding:5px 8px;color:#6d6761;font-size:9px;cursor:pointer; }.file-message { border:0;background:none;padding:0;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer; }.file-message>span:first-child { width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:white;color:var(--coral);font-size:18px; }.file-message b,.file-message small { display:block; }.file-message b { max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px; }.file-message small { margin-top:3px;color:var(--muted);font-size:9px; }
.chat-compose { margin:0 15px 15px; min-height:54px; padding:6px; display:grid;grid-template-columns:40px 40px 1fr 42px;gap:4px;align-items:center;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 25px rgba(50,39,31,.07); }.chat-compose input { min-width:0;border:0;outline:0;padding:9px;background:transparent;font-size:14px; }.compose-tool,.send-message { width:38px;height:38px;border:0;border-radius:12px;background:#f3eee9;color:#746d67;font-size:18px;cursor:pointer; }.send-message { background:var(--coral);color:white;font-weight:900; }.sticker-panel { padding:12px 17px; display:grid;grid-template-columns:repeat(12,1fr);gap:5px;background:white;border-top:1px solid var(--line); }.sticker-panel button { aspect-ratio:1;border:0;border-radius:12px;background:#faf7f3;font-size:23px;cursor:pointer; }.chat-empty { margin:auto;text-align:center;color:var(--muted); }.chat-empty>span { font-size:38px; }.chat-empty h2 { margin:8px 0 4px;color:var(--ink);font-size:18px; }.chat-empty p { margin:0;font-size:12px; }
.event-button { width:100%; border:0; background:none; padding:0; text-align:left; cursor:pointer; }
.calendar-summary { display:grid;grid-template-columns:minmax(210px,.55fr) 1.45fr;gap:14px;margin-bottom:18px; }.calendar-summary>div:first-child { min-height:132px;padding:20px;border-radius:24px;background:linear-gradient(135deg,#5e91db,#719ee2);color:white;box-shadow:var(--shadow); }.calendar-summary>div:first-child span,.calendar-summary>div:first-child small { display:block;color:rgba(255,255,255,.78);font-size:11px; }.calendar-summary>div:first-child strong { display:block;margin:7px 0 1px;font-size:39px;line-height:1; }.upcoming-mini { display:grid;grid-template-columns:repeat(4,1fr);gap:9px; }.upcoming-mini button { min-width:0;padding:15px;border:1px solid var(--line);border-radius:20px;background:white;text-align:left;cursor:pointer;box-shadow:var(--shadow); }.upcoming-mini time,.upcoming-mini b,.upcoming-mini small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.upcoming-mini time { color:var(--blue);font-size:9px;font-weight:800;text-transform:uppercase; }.upcoming-mini b { margin:9px 0 5px;font-size:13px; }.upcoming-mini small { color:var(--muted);font-size:9px; }
.calendar-layout { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.65fr);gap:18px;align-items:start; }.calendar-card { padding:0;overflow:hidden; }.calendar-head { min-height:70px;padding:14px 18px;display:grid;grid-template-columns:38px 1fr auto 38px;gap:8px;align-items:center;border-bottom:1px solid var(--line); }.calendar-head h2 { text-align:center;font-size:19px; }.calendar-head button { height:36px;padding:0 11px;border:0;border-radius:12px;background:#f5f1ec;color:var(--muted);cursor:pointer;font-size:12px;font-weight:750; }.weekdays,.month-grid { display:grid;grid-template-columns:repeat(7,1fr); }.weekdays { padding:12px 11px 8px;color:var(--muted);text-align:center;font-size:9px;font-weight:800;text-transform:uppercase; }.month-grid { border-top:1px solid var(--line); }.calendar-day,.calendar-empty { min-height:96px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:white;padding:8px;text-align:left; }.calendar-day { cursor:pointer;transition:.15s ease; }.calendar-day:nth-child(7n),.calendar-empty:nth-child(7n) { border-right:0; }.calendar-day:hover { background:#fbf8f4; }.calendar-day>b { width:26px;height:26px;display:grid;place-items:center;border-radius:9px;font-size:11px; }.calendar-day.today>b { background:var(--coral);color:white; }.calendar-day.selected { box-shadow:inset 0 0 0 2px var(--blue);background:#f5f9ff; }.calendar-day>span { display:grid;gap:3px;margin-top:5px; }.event-mark { display:block;padding:3px 5px;border-radius:6px;background:#eaf3ff;color:#4f78ae;font-size:8px;font-weight:700;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.calendar-day:nth-child(3n) .event-mark { background:#fff0ec;color:#c65d55; }.calendar-day>small { color:var(--muted);font-size:8px; }.day-agenda { min-height:380px; }.day-agenda .card-head { align-items:flex-start; }.agenda-event { display:grid;grid-template-columns:54px 1fr;gap:11px;padding:13px 0;border-top:1px solid var(--line); }.agenda-event>time { color:var(--ink);font-size:13px;font-weight:800; }.agenda-event>time small { display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:500; }.agenda-event button { width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer; }.agenda-event button b,.agenda-event button span { display:block; }.agenda-event button b { font-size:13px; }.agenda-event button span { margin-top:4px;color:var(--muted);font-size:10px; }.agenda-people { display:flex;align-items:center;margin-top:10px; }.agenda-people>span { width:23px;height:23px;margin-right:-5px;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:#f2dfd1;font-size:8px;font-weight:800; }.agenda-people small { margin-left:11px;color:var(--muted);font-size:8px; }.empty-agenda { padding:45px 10px;text-align:center;color:var(--muted); }.empty-agenda>span { font-size:35px; }.empty-agenda h3 { margin:9px 0 5px;color:var(--ink); }.empty-agenda p { margin:0;font-size:11px;line-height:1.45; }.people-field { grid-column:1/-1;margin:0;padding:0;border:0; }.people-field legend { margin-bottom:9px;color:var(--muted);font-size:10px;font-weight:750; }.people-field { display:grid;grid-template-columns:repeat(4,1fr);gap:8px; }.people-field legend { grid-column:1/-1; }.people-field label { position:relative;padding:10px 7px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;gap:7px;cursor:pointer; }.people-field input { position:absolute;opacity:0; }.people-field label:has(input:checked) { border-color:var(--coral);background:var(--coral-soft); }.people-field .member-avatar { width:30px;height:30px;border-radius:10px;font-size:10px; }.people-field small { font-size:10px;font-weight:700; }.event-task-option { grid-column:1/-1;padding:12px;border-radius:14px;background:#f7f3ee;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:650;cursor:pointer; }
.repeat-days { grid-column:1/-1;margin:0;padding:0;border:0;display:flex;gap:6px;align-items:center; }.repeat-days.is-hidden { display:none; }.repeat-days legend { width:100%;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:750; }.repeat-days label { flex:1;position:relative;cursor:pointer; }.repeat-days input { position:absolute;opacity:0; }.repeat-days span { min-height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;background:white;font-size:10px;font-weight:750; }.repeat-days input:checked+span { border-color:var(--blue);background:#eaf3ff;color:#4f78ae; }
.profile-settings-link { width:100%;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:16px;background:white;display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer; }.profile-settings-link>span:first-child { width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#f3eee9; }.profile-settings-link strong,.profile-settings-link small { display:block; }.profile-settings-link small { margin-top:3px;color:var(--muted);font-size:10px; }.profile-settings-link i { color:var(--muted);font-size:20px;font-style:normal; }
.settings-grid { display:grid;grid-template-columns:1.1fr .9fr;gap:16px; }.settings-card { grid-row:span 2;min-height:340px;display:flex;flex-direction:column;align-items:flex-start; }.settings-icon { width:58px;height:58px;display:grid;place-items:center;border-radius:19px;background:#eaf3ff;color:var(--blue);font-size:28px; }.settings-card h2 { margin:7px 0 9px;font-size:24px; }.settings-card p,.preference-card p,.server-ready p { color:var(--muted);line-height:1.5;font-size:13px; }.permission-status { margin:auto 0 14px;padding:7px 10px;border-radius:99px;background:#f3eee9;color:var(--muted);font-size:11px;font-weight:800; }.permission-status.granted { background:#edf6e9;color:var(--sage); }.permission-status.denied { background:#fff0ec;color:var(--coral); }.settings-card .primary:disabled { opacity:.55;cursor:default; }.preference-card>div { margin-bottom:12px; }.preference-card>div p { margin:5px 0; }.preference-card>label { padding:14px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px; }.preference-card b,.preference-card small { display:block; }.preference-card small { margin-top:4px;color:var(--muted);font-size:10px; }.preference-card input { appearance:none;width:43px;height:25px;border-radius:99px;background:#ddd8d2;position:relative;cursor:pointer;transition:.2s; }.preference-card input::after { content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:white;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s; }.preference-card input:checked { background:var(--coral); }.preference-card input:checked::after { transform:translateX(18px); }.server-ready { display:grid;grid-template-columns:45px 1fr;gap:13px;align-items:start;background:#292826;color:white; }.server-ready>span { width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.1); }.server-ready p { margin:7px 0 0;color:rgba(255,255,255,.62); }
.family-shortcuts { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0; }.family-shortcuts button { padding:15px;border:1px solid var(--line);border-radius:19px;background:white;display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;text-align:left;cursor:pointer;box-shadow:var(--shadow); }.family-shortcuts>button>span { width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff0ec;color:var(--coral);font-size:20px; }.family-shortcuts button+button>span { background:#eaf3ff;color:var(--blue); }.family-shortcuts b,.family-shortcuts small { display:block; }.family-shortcuts small { margin-top:4px;color:var(--muted);font-size:10px; }.family-shortcuts i { color:var(--muted);font-size:20px;font-style:normal; }
.star-balance { padding:9px 13px;border-radius:99px;background:#fff5d9;color:#a97512;font-size:13px;font-weight:850; }.star-balance.soft { padding:6px 10px;font-size:11px; }.progress-hero { min-height:190px;margin-bottom:16px;padding:28px;border-radius:28px;background:linear-gradient(135deg,#527ecb,#76a8ee);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow); }.progress-hero.adult { background:linear-gradient(135deg,#2e2d2b,#53504d); }.progress-hero span,.progress-hero p { color:rgba(255,255,255,.7);font-size:12px; }.progress-hero h2 { margin:7px 0;font-size:32px; }.progress-hero .xp-track { width:min(430px,55vw);background:rgba(255,255,255,.2); }.progress-hero .xp-track i { background:white; }.progress-orb { width:115px;height:115px;flex:0 0 auto;border-radius:34px;background:rgba(255,255,255,.14);display:grid;place-items:center;align-content:center; }.progress-orb strong { font-size:35px; }.progress-orb small { color:rgba(255,255,255,.7);font-size:9px; }.progress-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px; }.reward-list { display:grid;gap:8px; }.reward-list article { min-height:66px;padding:10px;border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:39px 1fr auto;gap:10px;align-items:center; }.reward-list article>span { width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#fff6de;font-size:20px; }.reward-list b,.reward-list small { display:block; }.reward-list small { margin-top:4px;color:var(--muted);font-size:10px; }.reward-list button,.life-list button { border:0;border-radius:10px;padding:8px 10px;background:#f1ece6;font-size:10px;font-weight:800;cursor:pointer; }.reward-list button:disabled { opacity:.35;cursor:default; }.mini-create,.quest-form { display:grid;grid-template-columns:1fr 80px auto;gap:7px;margin-top:13px; }.mini-create input,.quest-form input,.life-create input { min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fbf8f4;outline:0;font-size:11px; }.mini-create button,.quest-form button { border:0;border-radius:12px;padding:0 12px;background:var(--coral);color:white;font-size:10px;font-weight:800;cursor:pointer; }.family-rhythm { display:grid;gap:5px; }.family-rhythm>div { min-height:57px;padding:8px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center; }.family-rhythm .member-avatar { width:38px;height:38px;border-radius:12px;font-size:11px; }.family-rhythm b,.family-rhythm small { display:block; }.family-rhythm small { margin-top:3px;color:var(--muted);font-size:9px; }.family-rhythm i { color:var(--muted);font-size:10px;font-style:normal; }.quest-form { grid-template-columns:1fr 1fr auto; }.claims-card { margin-top:16px; }.claims-card>div:not(.card-head) { padding:10px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:30px 1fr auto auto;gap:10px;align-items:center; }.claims-card small { color:var(--muted);font-size:10px; }.claims-card button { border:0;border-radius:10px;padding:7px 9px;background:#edf6e9;color:var(--sage);font-size:10px;font-weight:800;cursor:pointer; }
.life-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:15px; }.life-summary>div { min-height:95px;padding:17px;border-radius:21px;background:white;border:1px solid var(--line);box-shadow:var(--shadow); }.life-summary span,.life-summary strong { display:block; }.life-summary span { color:var(--muted);font-size:10px; }.life-summary strong { margin-top:10px;font-size:25px; }.life-tabs { display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:15px; }.life-tabs button { min-height:65px;padding:8px;border:1px solid var(--line);border-radius:16px;background:white;color:var(--muted);display:grid;justify-items:center;align-content:center;gap:6px;font-size:9px;font-weight:750;cursor:pointer; }.life-tabs button span { font-size:18px; }.life-tabs button.active { border-color:var(--coral);background:var(--coral-soft);color:var(--coral); }.life-workspace { padding:0;overflow:hidden; }.life-head { padding:20px;border-bottom:1px solid var(--line); }.life-list article { min-height:70px;padding:12px 20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:43px 1fr auto auto;gap:10px;align-items:center; }.life-list article.done { opacity:.55; }.life-icon { width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:#edf4ff;color:var(--blue);font-size:18px; }.life-icon.warn { background:#fff0ec;color:var(--coral); }.life-list b,.life-list small { display:block; }.life-list small { margin-top:4px;color:var(--muted);font-size:10px; }.life-progress { width:100%;height:5px;margin-top:8px;border-radius:99px;background:#eee9e3;overflow:hidden; }.life-progress i { display:block;height:100%;border-radius:inherit;background:var(--blue); }.life-create { padding:16px 20px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;background:#fbf8f4; }
.review-intro { color: var(--muted); margin: 8px 0 20px; }
.review-group { border: 1px solid var(--line); border-radius: 18px; padding: 15px; margin: 10px 0; }
.review-tag { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--coral); }
.review-item { display: flex; justify-content: space-between; gap: 10px; padding-top: 9px; font-weight: 650; }
.purchase span:nth-child(2) { min-width:0; flex:1; }.purchase b,.purchase small { display:block; }.purchase b { font-size:14px; }.purchase small { color:var(--muted); font-size:10px; margin-top:4px; }.purchase.done b { text-decoration:line-through; color:var(--muted); }.purchase.done .purchase-dot { background:#c9c4be; }
.list-hero { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px; }.list-hero>div { min-height:112px; border-radius:23px; padding:20px; background:linear-gradient(140deg,#ff8176,var(--coral)); color:white; box-shadow:var(--shadow); }.list-hero>div+div { background:linear-gradient(140deg,#8abf72,var(--sage)); }.list-hero span { display:block; font-size:34px; font-weight:850; }.list-hero p { margin:5px 0 0; color:rgba(255,255,255,.8); font-size:13px; }
.list-workspace { padding:0; overflow:hidden; }.list-toolbar { display:grid; gap:11px; padding:18px 20px; border-bottom:1px solid var(--line); }.purchase-list.large .purchase { min-height:64px; padding:12px 20px; border-bottom:1px solid var(--line); }.purchase-list.large .swipe-shell:last-child .purchase { border-bottom:0; }
.wish-filters { margin:0 0 18px; }.wish-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.wish-card { min-height:230px; border:1px solid var(--line); border-radius:25px; padding:20px; background:white; box-shadow:var(--shadow); display:flex; flex-direction:column; position:relative; overflow:hidden; }.wish-card::after { content:""; position:absolute; width:110px; height:110px; border-radius:50%; right:-42px; top:-42px; background:var(--wish-soft,#fff0ec); }.wish-card.trip { --wish:#669ce6;--wish-soft:#e5f1ff }.wish-card.thing { --wish:#ff695e;--wish-soft:#fff0ec }.wish-card.place { --wish:#72a85a;--wish-soft:#edf6e9 }.wish-card.idea { --wish:#9a76df;--wish-soft:#f0eafd }.wish-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:15px; background:var(--wish-soft); color:var(--wish); font-size:20px; z-index:1; }.wish-type { color:var(--wish); margin-top:16px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; font-size:9px; }.wish-card h2 { margin:6px 0 7px; font-size:19px; }.wish-card>p { margin:0; color:var(--muted); line-height:1.45; font-size:12px; }.wish-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:20px; }.wish-footer small { color:var(--muted); font-size:9px; }.wish-footer div { display:flex; gap:6px; }.wish-footer button { width:30px; height:30px; border:0; border-radius:10px; background:#f4f0eb; color:var(--ink); cursor:pointer; font-weight:800; }
.toast { position: fixed; z-index: 200; top: 22px; left: 50%; transform: translateX(-50%); background: #252422; color: white; border-radius: 999px; padding: 11px 13px 11px 17px; box-shadow: var(--shadow); font-size: 13px; font-weight: 700; animation: toast .25s ease; display:flex; align-items:center; gap:14px; white-space:nowrap; }.toast button { border:0; border-radius:99px; padding:6px 10px; background:white; color:#2d2a27; font-size:11px; font-weight:800; cursor:pointer; }
.data-safety-card { grid-column:1/-1; }.safety-list { display:grid;gap:0;margin-top:8px;border-top:1px solid var(--line); }.safety-list>div { min-height:58px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line); }.safety-list b,.safety-list small { display:block; }.safety-list b { font-size:13px; }.safety-list small,.settings-empty { margin-top:4px;color:var(--muted);font-size:10px; }.safety-list button { border:0;border-radius:10px;padding:8px 11px;background:var(--coral-soft);color:var(--coral);font-size:10px;font-weight:800;cursor:pointer; }.audit-list>div { justify-content:flex-start; }
.backup-card { grid-column:1/-1;display:flex;gap:16px;align-items:flex-start;background:#fbf8f4; }.backup-card h2 { margin:5px 0 7px;font-size:19px; }.backup-card p { margin:0;color:var(--muted);font-size:12px;line-height:1.5; }.backup-actions { display:flex;gap:8px;flex-wrap:wrap;margin-top:13px; }.backup-actions .soft-action { width:auto;margin-top:0;border-style:solid;padding:10px 13px; }
.member-access-options { display:none; }
.access-options:has(input[value="selected"]:checked) + .member-access-options { display:flex; }
.life-create { grid-template-columns:1fr 1fr 150px auto; }
.life-create select { min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-size:11px; }
@keyframes toast { from { opacity: 0; transform: translate(-50%,-12px); } }
@media (max-width: 760px) {
  :root { --sidebar: 0px; --radius: 20px; }
  .app-shell { display: block; }.sidebar { display: none; }
  .main { padding: max(18px,env(safe-area-inset-top)) 16px 112px; }
  .topbar { margin-bottom: 18px; }.eyebrow { display: none; } h1 { font-size: 34px; }
  .profile span:last-child { display: none; }.welcome { font-size: 14px; margin-bottom: 16px; }
  .dashboard { display: block; }.column { gap: 14px; }.column + .column { margin-top: 14px; }
  .card { padding: 17px; }.summary { gap: 8px; }.metric { padding: 12px 10px; }.metric strong { font-size: 21px; }
  .quick-card { display: none; }.event { grid-template-columns: 53px 4px 1fr auto; gap: 9px; }
  .bottom-nav { position: fixed; z-index: 45; display: grid; grid-template-columns: repeat(5,1fr); left: 8px; right: 8px; bottom: max(8px,env(safe-area-inset-bottom)); min-height: 72px; padding: 8px 5px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,253,250,.94); backdrop-filter: blur(18px); box-shadow: 0 10px 35px rgba(45,34,25,.14); }
  .bottom-nav button { border: 0; background: none; color: #88837d; display: grid; justify-items: center; align-content: center; gap: 4px; font-size: 10px; font-weight: 700; cursor: pointer; }
  .bottom-nav button.active { color: var(--coral); }.bottom-nav .bi { font-size: 18px; }
  .bottom-nav .ai-space { pointer-events: none; }
  .ai-fab { left: 50%; bottom: calc(max(8px,env(safe-area-inset-bottom)) + 17px); width: 64px; height: 64px; }
  .capture-options { grid-template-columns: repeat(2,1fr); }.modal-backdrop { padding: 0; }.modal { border-radius: 28px 28px 0 0; max-height: 92dvh; }
  .swipe-shell { border-radius:10px; }.gesture-hint { display:block; }.toast { top:max(12px,env(safe-area-inset-top)); max-width:calc(100vw - 24px); }
  .tasks-topbar .primary { padding: 11px 14px; }.tasks-topbar .profile { display:none; }.task-overview { grid-template-columns: repeat(3,1fr); gap: 8px; overflow-x: auto; }.task-stat { min-width: 105px; min-height: 112px; padding: 13px; }.task-stat strong { font-size: 28px; }.task-stat small { line-height: 1.25; }
  .motivation-strip { min-height:125px;padding:15px;grid-template-columns:58px 1fr;gap:12px; }.level-orb { width:56px;height:56px;border-radius:18px; }.level-copy h2 { font-size:18px; }.achievement-chip { display:none; }.family-quest { padding:12px;grid-template-columns:38px 1fr 40px; }.quest-icon { width:37px;height:37px; }.achievement-row { overflow-x:auto; }.achievement-row>div { min-width:88px; }.achievement-row p { display:none; }.inline-checklist { padding:3px 14px 10px 52px;flex-wrap:nowrap;overflow-x:auto; }.inline-checklist button { white-space:nowrap; }
  .task-toolbar { align-items: flex-start; padding: 14px; }.filter-row { flex-wrap: nowrap; overflow-x: auto; }.filter-chip { white-space: nowrap; }.reset-tasks { display: none; }.tasks-date { padding: 15px; }
  .full-task { grid-template-columns: 27px 1fr 31px; gap: 10px; padding: 14px 15px; }.assignee { grid-column: 2; grid-row: 2; margin-top: -7px; }.more-task { grid-column: 3; grid-row: 1; }.full-task-details i:last-child { display: none; }
  .task-form { grid-template-columns: 1fr; }.field.full,.scope-field,.form-actions { grid-column: 1; }.task-modal { padding-bottom: max(28px,env(safe-area-inset-bottom)); }
  .family-hero { min-height:205px; padding:24px 20px; }.family-hero h2 { font-size:31px; }.home-orbit { display:none; }.family-hero p { font-size:13px; }.member-grid { grid-template-columns:1fr 1fr; gap:9px; }.member-card { padding:14px; }.member-avatar { width:43px; height:43px; border-radius:15px; }.member-name { font-size:16px; }.member-status { margin:11px 0; }.family-lower-grid { grid-template-columns:1fr; }.living-item { grid-template-columns:37px 1fr; }.living-item button { grid-column:2; justify-self:start; }.circle-card { order:-1; }
  .room-header { margin-bottom:17px; }.room-person h1 { font-size:22px; }.room-welcome { padding:22px 18px; }.room-welcome h2 { font-size:25px; }.privacy-seal { width:61px; height:61px; margin-left:12px; }.room-grid { grid-template-columns:1fr; }.goal-card { order:-1; }
  .profile-switch-grid { grid-template-columns:1fr; }.profile-modal { padding-bottom:max(28px,env(safe-area-inset-bottom)); }
  .chat-topbar { margin-bottom:12px; }.chat-shell { height:calc(100dvh - 125px); min-height:0; grid-template-columns:1fr; border-radius:20px; }.chat-list { display:flex; border-right:0;border-bottom:1px solid var(--line);overflow-x:auto; }.chat-list-title { display:none; }.chat-contact { width:auto;min-width:75px;min-height:72px;padding:8px 6px;display:grid;grid-template-columns:1fr;justify-items:center;border-bottom:0; }.chat-contact span:last-child small { display:none; }.chat-contact b { font-size:10px;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.chat-contact .member-avatar { width:39px;height:39px;border-radius:13px; }.chat-room { min-height:0;grid-template-rows:58px 1fr auto auto; }.chat-room-head { display:none; }.message-stream { padding:14px; }.message-line { max-width:88%; }.message-actions { opacity:1; }.sticker-panel { grid-template-columns:repeat(6,1fr); }.chat-compose { margin:0 8px 8px;grid-template-columns:36px 36px 1fr 38px; }.compose-tool,.send-message { width:34px;height:34px; }
  .calendar-summary { grid-template-columns:1fr; }.calendar-summary>div:first-child { min-height:100px; }.upcoming-mini { grid-template-columns:repeat(4,minmax(145px,1fr));overflow-x:auto;padding-bottom:3px; }.calendar-layout { grid-template-columns:1fr; }.calendar-card { overflow-x:auto; }.calendar-head,.weekdays,.month-grid { min-width:560px; }.calendar-day,.calendar-empty { min-height:72px;padding:6px; }.event-mark { height:6px;padding:0;font-size:0;border-radius:99px; }.day-agenda { min-height:0; }.people-field { grid-template-columns:1fr 1fr; }
  .settings-grid { grid-template-columns:1fr; }.settings-card { min-height:280px;grid-row:auto; }.repeat-days { flex-wrap:wrap; }.repeat-days label { flex:1 0 calc(25% - 6px); }
  .family-shortcuts { grid-template-columns:1fr; }.progress-hero { min-height:165px;padding:20px; }.progress-hero h2 { font-size:25px; }.progress-orb { width:85px;height:85px;border-radius:25px; }.progress-orb strong { font-size:28px; }.progress-grid { grid-template-columns:1fr; }.mini-create,.quest-form { grid-template-columns:1fr; }.mini-create button,.quest-form button { min-height:39px; }.claims-card>div:not(.card-head) { grid-template-columns:27px 1fr auto; }.claims-card button { grid-column:2/4; }.life-summary { grid-template-columns:repeat(3,minmax(125px,1fr));overflow-x:auto; }.life-tabs { grid-template-columns:repeat(6,minmax(88px,1fr));overflow-x:auto; }.life-list article { padding:11px 13px;grid-template-columns:39px 1fr auto; }.life-list article>button+button { grid-column:3; }.life-icon { width:39px;height:39px; }.life-create { grid-template-columns:1fr;padding:13px; }
  .list-hero { gap:8px; }.list-hero>div { min-height:96px; padding:15px; }.list-hero span { font-size:29px; }.list-toolbar { padding:14px; }.list-toolbar .filter-row { overflow-x:auto; flex-wrap:nowrap; }.wish-filters { overflow-x:auto; flex-wrap:nowrap; }.wish-grid { grid-template-columns:1fr 1fr; gap:9px; }.wish-card { min-height:215px; padding:15px; }.wish-card h2 { font-size:17px; }.wish-footer { display:block; }.wish-footer div { margin-top:10px; }
}
@media (max-width: 430px) { .wish-grid { grid-template-columns:1fr; }.wish-card { min-height:205px; } }

/* Keep chat rows flexible after the base responsive rules. */
.chat-room { grid-template-rows:64px 1fr auto auto auto auto; }
.message-actions { flex-wrap:wrap; }
@media (max-width:760px) { .chat-room { grid-template-rows:58px 1fr auto auto auto auto; } }

/* Notification center, family modules and daily rhythm */
.profile-cluster { display:flex;align-items:center;gap:8px; }
.notification-button { position:relative;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;background:white;box-shadow:var(--shadow);font-size:19px;cursor:pointer; }
.notification-button.has-unread { color:var(--coral); }
.notification-button b { position:absolute;right:-3px;top:-3px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border:2px solid var(--bg);border-radius:99px;background:var(--coral);color:white;font-size:9px; }
.notification-summary { margin-bottom:15px;padding:20px 24px;display:grid;grid-template-columns:95px 1fr;align-items:center;border-radius:24px;background:linear-gradient(135deg,#2f2e2c,#57534f);color:white; }
.notification-summary strong,.notification-summary span { display:block; }.notification-summary strong { font-size:36px; }.notification-summary span { color:rgba(255,255,255,.65);font-size:12px; }.notification-summary p { margin:0;color:rgba(255,255,255,.78);line-height:1.5;font-size:14px; }
.notification-feed { padding:0;overflow:hidden; }.notification-row { width:100%;min-height:78px;padding:13px 18px;border:0;border-bottom:1px solid var(--line);background:white;display:grid;grid-template-columns:44px 1fr 22px;gap:12px;align-items:center;text-align:left;cursor:pointer; }.notification-row:hover { background:#fffcf8; }.notification-row.read { opacity:.55; }.notification-kind { width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--coral-soft);color:var(--coral);font-size:18px; }.notification-kind.event { background:#eaf3ff;color:var(--blue); }.notification-kind.stock { background:#fff5d9;color:#a97512; }.notification-kind.expense { background:#edf6e9;color:var(--sage); }.notification-row b,.notification-row small { display:block; }.notification-row b { font-size:14px; }.notification-row small { margin-top:5px;color:var(--muted);font-size:12px; }.notification-row i { color:var(--muted);font-style:normal;font-size:20px; }.notification-empty { padding:55px;text-align:center;color:var(--muted); }.compact-action { width:auto;padding:10px 13px;margin:0; }
.life-tabs { grid-template-columns:repeat(9,1fr); }
.daily-mission { margin:10px 0 0;padding:14px 18px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:19px;background:white;box-shadow:var(--shadow); }.daily-mission.ready { border-color:#f2cf76;background:#fffaf0; }.daily-fire { width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff5d9;font-size:20px; }.daily-mission small,.daily-mission b { display:block; }.daily-mission small { color:var(--muted);font-size:10px;text-transform:uppercase; }.daily-mission b { margin-top:3px;font-size:14px; }.daily-mission button { border:0;border-radius:12px;padding:10px 12px;background:var(--coral);color:white;font-size:11px;font-weight:800;cursor:pointer; }.daily-mission button:disabled { background:#eee9e3;color:var(--muted); }.daily-dots { display:flex;gap:5px;margin-top:7px; }.daily-dots i { width:28px;height:5px;border-radius:99px;background:#e9e4de; }.daily-dots i.done { background:var(--yellow); }
@media (max-width:760px) { .profile-cluster .profile>span:nth-child(2),.profile-cluster .profile i { display:none; }.notification-summary { grid-template-columns:65px 1fr;padding:16px; }.notification-summary p { font-size:12px; }.life-tabs { grid-template-columns:repeat(9,minmax(88px,1fr)); }.daily-mission { grid-template-columns:38px 1fr; }.daily-mission button { grid-column:2;justify-self:start; } }

.notification-layout { display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:15px;align-items:start; }.notification-rules { padding:20px; }.notification-rules h2 { margin:5px 0 13px;font-size:18px; }.notification-rules>label,.quiet-rule>label { min-height:46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px; }.notification-rules input[type="checkbox"] { width:19px;height:19px;accent-color:var(--coral); }.quiet-rule { margin-top:14px;padding:13px;border-radius:15px;background:#f8f4ef; }.quiet-rule label { border:0;gap:10px; }.quiet-rule b,.quiet-rule small { display:block; }.quiet-rule small { margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35; }.quiet-rule>div { margin-top:10px;display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center; }.quiet-rule input[type="time"] { min-width:0;padding:8px;border:1px solid var(--line);border-radius:10px;background:white;font-size:11px; }
.things-challenge { margin:14px 20px 0;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:20px;background:linear-gradient(135deg,#2f2e2c,#57534f);color:white; }.things-challenge span,.things-challenge p { display:block;color:rgba(255,255,255,.65);font-size:11px; }.things-challenge strong { display:block;margin:5px 0;font-size:34px; }.things-challenge strong small { color:rgba(255,255,255,.5);font-size:16px; }.things-challenge p { margin:0; }.things-ring { --p:0;width:76px;height:76px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--yellow) calc(var(--p)*1%),rgba(255,255,255,.14) 0);position:relative; }.things-ring:after { content:"";position:absolute;inset:7px;border-radius:50%;background:#474441; }.things-ring b { position:relative;z-index:1;font-size:15px; }.extended-form { grid-template-columns:1fr 1fr 90px auto; }
.car-create { padding:16px 20px;display:grid;grid-template-columns:1.2fr .75fr .75fr 1fr 1fr auto;gap:8px;background:#fbf8f4; }.car-create>input,.car-create label input { width:100%;min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:white;outline:0;font-size:11px; }.car-create label { color:var(--muted);font-size:9px; }.car-create label input { display:block;margin-top:4px; }.car-row { min-height:94px!important; }.car-dates { display:flex;flex-wrap:wrap;gap:6px;margin-top:8px; }.car-dates span { padding:5px 7px;border-radius:8px;background:#f5f1ec;color:var(--muted);font-size:9px; }.money-intro { margin:14px 20px 0;padding:15px;display:flex;align-items:center;gap:12px;border-radius:16px;background:#edf6e9; }.money-intro>span { width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:white;color:var(--sage);font-size:18px; }.money-intro b { font-size:13px; }.money-intro p { margin:4px 0 0;color:var(--muted);font-size:10px; }
@media (max-width:900px) { .notification-layout { grid-template-columns:1fr; }.notification-rules { order:-1; }.car-create { grid-template-columns:1fr 1fr; }.car-create button { min-height:42px; }.extended-form { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .car-create,.extended-form { grid-template-columns:1fr; }.things-challenge { margin:10px 12px 0;padding:15px; }.things-ring { width:66px;height:66px; }.notification-layout { gap:10px; } }

.weekly-mission { margin-top:10px;padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:19px;background:white;box-shadow:var(--shadow); }.weekly-mission span { color:var(--blue);font-size:10px;font-weight:850;text-transform:uppercase; }.weekly-mission h3 { margin:4px 0 8px;font-size:15px; }.weekly-mission small { display:block;margin-top:6px;color:var(--muted);font-size:10px; }.weekly-mission button { border:0;border-radius:12px;padding:10px 13px;background:var(--blue);color:white;font-size:11px;font-weight:800;cursor:pointer; }.weekly-mission button:disabled { background:#eee9e3;color:var(--muted); }
.xp-history { margin-top:10px;border:1px solid var(--line);border-radius:19px;background:white;box-shadow:var(--shadow);overflow:hidden; }.xp-history summary { padding:15px 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none; }.xp-history summary span { font-size:14px;font-weight:800; }.xp-history summary small { color:var(--muted);font-size:10px; }.xp-history>div { border-top:1px solid var(--line); }.xp-history article { min-height:56px;padding:9px 18px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid var(--line); }.xp-history article>span { width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#fff5d9;color:#a97512;font-size:10px;font-weight:850; }.xp-history article b,.xp-history article small { display:block; }.xp-history article b { font-size:12px; }.xp-history article small { margin-top:3px;color:var(--muted);font-size:9px; }.xp-history article strong { color:var(--sage);font-size:10px; }.xp-history>div>p { margin:0;padding:18px;color:var(--muted);font-size:12px; }
.finance-board { margin:14px 20px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:10px; }.finance-total { padding:19px;border-radius:19px;background:linear-gradient(135deg,#4f83cf,#75a8ee);color:white; }.finance-total span,.finance-total small { display:block;color:rgba(255,255,255,.72);font-size:10px; }.finance-total strong { display:block;margin:8px 0;font-size:27px; }.finance-board>form { padding:12px;display:grid;grid-template-columns:90px 1fr 110px auto;gap:7px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fbf8f4; }.finance-board input,.finance-board select,.saving-goals input { min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:white;font-size:11px; }.finance-board button { border:0;border-radius:11px;padding:10px 12px;background:var(--coral);color:white;font-size:10px;font-weight:800;cursor:pointer; }.saving-goals { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:8px; }.saving-goals article { padding:13px!important;display:grid!important;grid-template-columns:1fr auto!important;min-height:70px!important;border:1px solid var(--line)!important;border-radius:16px; }.saving-goals article b,.saving-goals article small { display:block; }.saving-goals article small { margin-top:4px; }.saving-goals article i { height:5px;margin-top:8px;display:block;border-radius:99px;background:#eee9e3;overflow:hidden; }.saving-goals article i span { height:100%;display:block;background:var(--sage); }.saving-goals form { padding:12px;display:grid;grid-template-columns:1fr 110px auto;gap:7px;border:1px dashed var(--line);border-radius:16px; }.finance-history { grid-column:1/-1;display:grid;gap:2px; }.finance-history div { padding:9px 12px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;border-radius:11px;background:#faf7f3; }.finance-history b,.finance-history strong { font-size:11px; }.finance-history span { color:var(--coral);font-weight:850; }
@media (max-width:820px) { .finance-board { grid-template-columns:1fr;margin:10px 12px 0; }.finance-board>form { grid-template-columns:1fr 1fr; }.saving-goals { grid-template-columns:1fr; }.saving-goals form { grid-template-columns:1fr; }.weekly-mission { grid-template-columns:1fr; }.weekly-mission button { justify-self:start; }.xp-history article { grid-template-columns:32px 1fr; }.xp-history article strong { grid-column:2; } }
.capture-lead { margin: 8px 0 0; color: var(--muted); line-height: 1.45; }
.capture-modal .capture-options { margin: 18px 0 14px; }
.capture-option { min-height: 96px; display: grid; align-content: center; justify-items: start; gap: 4px; text-align: left; padding: 13px 14px; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.capture-option:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(57,43,30,.08); }
.capture-option strong { font-size: 12px; }
.capture-option small { color: var(--muted); font-size: 10px; }
.voice-wave { height: 42px; margin: 4px 0 12px; display: flex; align-items: center; justify-content: center; gap: 3px; opacity: .28; }
.voice-wave i { width: 3px; height: 8px; border-radius: 99px; background: var(--coral); transition: height .2s ease; }
.voice-wave.is-listening { opacity: 1; }
.voice-wave.is-listening i { animation: voicePulse .8s ease-in-out infinite alternate; animation-delay: calc(var(--h) * -12ms); }
@keyframes voicePulse { from { height: 5px; } to { height: var(--h); } }
.capture-hint { display: flex; gap: 7px; align-items: center; margin-top: 10px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.capture-hint span { color: var(--coral); font-size: 15px; }
@media (max-width: 560px) { .capture-modal .capture-options { grid-template-columns: 1fr 1fr; } .capture-option { min-height: 86px; } }
