:root{--palette-primary: #164e63;--palette-primary-hover: #0f687b;--palette-primary-soft: #e8f3f4;--palette-primary-muted: #52645e;--palette-accent: #f97316;--palette-accent-soft: #fff7ed;--palette-accent-strong: #c2410c;--palette-bg: #f8f3ea;--palette-surface: #fffdf9;--color-app-bg: var(--palette-bg);--color-app-bg-gradient-start: color-mix(in srgb, var(--palette-bg) 78%, var(--palette-surface));--color-app-bg-gradient-mid: color-mix(in srgb, var(--palette-primary-soft) 70%, var(--palette-bg));--color-app-bg-gradient-end: color-mix(in srgb, var(--palette-accent-soft) 62%, var(--palette-bg));--color-app-surface: var(--palette-surface);--color-app-surface-raised: #ffffff;--color-app-border: color-mix(in srgb, var(--palette-primary) 14%, transparent);--color-app-shadow: color-mix(in srgb, var(--palette-primary) 20%, transparent);--color-text-primary: #2e2622;--color-text-secondary: var(--palette-primary-muted);--color-text-subtle: #766a62;--color-text-inverse: #ffffff;--color-text-brand-inverse: #ecfeff;--color-brand-primary: var(--palette-primary);--color-brand-primary-hover: var(--palette-primary-hover);--color-brand-primary-soft: var(--palette-primary-soft);--color-brand-primary-shadow: color-mix(in srgb, var(--palette-primary) 24%, transparent);--color-brand-accent: var(--palette-accent);--color-brand-accent-soft: var(--palette-accent-soft);--color-action-primary-bg: var(--color-brand-primary);--color-action-primary-bg-hover: var(--color-brand-primary-hover);--color-action-primary-text: var(--color-text-brand-inverse);--color-action-secondary-bg: var(--color-app-surface);--color-action-secondary-text: var(--color-brand-primary);--color-focus-ring: color-mix(in srgb, var(--color-brand-accent) 32%, transparent);--color-status-success-bg: #ecfdf5;--color-status-success-text: #0f766e;--color-status-warning-bg: var(--color-brand-accent-soft);--color-status-warning-text: var(--palette-accent-strong);--color-status-danger-bg: #fff7ed;--color-status-danger-text: #c2410c;--color-status-info-bg: var(--color-brand-primary-soft);--color-status-info-text: var(--color-brand-primary);--color-chat-user-bg: color-mix(in srgb, var(--color-brand-accent-soft) 58%, var(--color-app-surface));--color-chat-user-text: var(--color-text-primary);--color-chat-assistant-bg: var(--color-brand-primary-soft);--color-chat-assistant-text: var(--color-brand-primary);--color-chat-record-bg: var(--color-brand-accent-soft);--color-chat-record-text: var(--palette-accent-strong);color:var(--color-text-primary);background:var(--color-app-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,YuGothic,Segoe UI,sans-serif;line-height:1.4}[data-theme=teal-orange]{--palette-primary: #164e63;--palette-primary-hover: #0f687b;--palette-primary-soft: #e8f3f4;--palette-primary-muted: #52645e;--palette-accent: #f97316;--palette-accent-soft: #fff7ed;--palette-accent-strong: #c2410c;--palette-bg: #f8f3ea;--palette-surface: #fffdf9}[data-theme=green-honey]{--palette-primary: #0f766e;--palette-primary-hover: #115e59;--palette-primary-soft: #eef7f3;--palette-primary-muted: #4b635f;--palette-accent: #e6a23c;--palette-accent-soft: #fff7e6;--palette-accent-strong: #9a5f00;--palette-bg: #eef7f3;--palette-surface: #fafffd}[data-theme=charcoal-clay]{--palette-primary: #3f3a34;--palette-primary-hover: #2f2a25;--palette-primary-soft: #f4eee6;--palette-primary-muted: #6d6258;--palette-accent: #b85c38;--palette-accent-soft: #fff1ea;--palette-accent-strong: #8a3d20;--palette-bg: #f4eee6;--palette-surface: #fffaf4}[data-theme=olive-amber]{--palette-primary: #5b6f47;--palette-primary-hover: #435c38;--palette-primary-soft: #f2f5ee;--palette-primary-muted: #626f58;--palette-accent: #d97706;--palette-accent-soft: #fff7e6;--palette-accent-strong: #92400e;--palette-bg: #f2f5ee;--palette-surface: #fffdf6}[data-theme=cocoa-teal]{--palette-primary: #7c4a42;--palette-primary-hover: #663a34;--palette-primary-soft: #f7f1f0;--palette-primary-muted: #705e5a;--palette-accent: #2f6f6a;--palette-accent-soft: #eaf5f4;--palette-accent-strong: #155a55;--palette-bg: #f7f1f0;--palette-surface: #fffdfb}[data-theme=ink-yellow]{--palette-primary: #264653;--palette-primary-hover: #1d3742;--palette-primary-soft: #edf2f4;--palette-primary-muted: #53656c;--palette-accent: #e9c46a;--palette-accent-soft: #fff8e6;--palette-accent-strong: #8a650f;--palette-bg: #edf2f4;--palette-surface: #fbfdfd}.bg-app{background:var(--color-app-bg)}.surface{background:var(--color-app-surface);border-color:var(--color-app-border)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.action-primary{background:var(--color-action-primary-bg);color:var(--color-action-primary-text)}.action-primary:hover,.action-primary:focus-visible{background:var(--color-action-primary-bg-hover)}.tone-info{background:var(--color-status-info-bg);color:var(--color-status-info-text)}.tone-success{background:var(--color-status-success-bg);color:var(--color-status-success-text)}.tone-warning{background:var(--color-status-warning-bg);color:var(--color-status-warning-text)}.tone-danger{background:var(--color-status-danger-bg);color:var(--color-status-danger-text)}*{box-sizing:border-box}button,input,textarea{font:inherit}button{border:0;cursor:pointer}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased}.shell{align-items:center;background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--color-brand-accent) 10%,transparent),transparent 28%),linear-gradient(135deg,var(--color-app-bg-gradient-start) 0%,var(--color-app-bg-gradient-mid) 46%,var(--color-app-bg-gradient-end) 100%);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-shell{background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--color-brand-primary) 10%,transparent),transparent 30%),radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--color-brand-accent) 8%,transparent),transparent 28%),linear-gradient(140deg,var(--color-app-bg) 0%,var(--color-brand-primary-soft) 55%,var(--color-brand-accent-soft) 100%)}.login-screen{background:linear-gradient(180deg,color-mix(in srgb,var(--color-app-surface) 96%,transparent),color-mix(in srgb,var(--color-app-surface) 91%,transparent)),linear-gradient(135deg,color-mix(in srgb,var(--color-brand-primary) 12%,transparent),color-mix(in srgb,var(--color-brand-accent) 10%,transparent));border:1px solid var(--color-app-border);border-radius:34px;box-shadow:0 24px 80px var(--color-app-shadow);display:grid;gap:24px;max-width:390px;min-height:680px;overflow:hidden;padding:28px 24px 22px;position:relative;width:min(390px,calc(100vw - 24px))}.boot-screen{align-items:center;background:color-mix(in srgb,var(--color-app-surface) 82%,transparent);border:1px solid var(--color-app-border);border-radius:30px;box-shadow:0 20px 70px var(--color-app-shadow);color:var(--color-brand-primary);display:grid;gap:10px;justify-items:center;min-height:240px;padding:28px;width:min(320px,calc(100vw - 32px))}.boot-screen strong{font-size:18px}.boot-screen p{color:var(--color-text-secondary);font-size:13px;margin:0}.login-screen:before{background:linear-gradient(color-mix(in srgb,var(--color-brand-primary) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-brand-primary) 6%,transparent) 1px,transparent 1px);background-size:28px 28px;content:"";top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 70%);mask-image:linear-gradient(to bottom,#000 0%,transparent 70%);pointer-events:none;position:absolute}.login-brand,.login-copy,.login-preview,.auth-choice-grid,.login-button,.invite-join-form,.login-note,.login-screen .status-banner{position:relative;z-index:1}.login-brand{align-items:center;display:flex;justify-content:space-between}.login-brand p{color:var(--color-text-secondary);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.app-logo-mark{--app-logo-size: 48px;border-radius:14px;display:block;filter:drop-shadow(0 12px 18px var(--color-brand-primary-shadow));height:var(--app-logo-size);object-fit:contain;width:var(--app-logo-size)}.header-logo-mark{--app-logo-size: 38px;filter:drop-shadow(0 8px 14px color-mix(in srgb,var(--color-brand-primary) 16%,transparent))}.login-copy{align-self:end;display:grid;gap:12px;margin-top:42px}.login-kicker{color:var(--color-brand-primary);font-size:13px;font-weight:800}.login-copy h1{color:var(--color-brand-primary);font-family:Georgia,Hiragino Mincho ProN,Yu Mincho,serif;font-size:40px;letter-spacing:0;line-height:1.08;margin:0}.login-copy p,.login-note{color:var(--color-text-secondary);font-size:14px;line-height:1.75;margin:0}.login-preview{background:color-mix(in srgb,var(--color-app-surface) 72%,transparent);border:1px solid var(--color-app-border);border-radius:22px;box-shadow:inset 0 1px color-mix(in srgb,var(--color-app-surface-raised) 75%,transparent);display:grid;gap:10px;padding:14px}.preview-line,.preview-card{border-radius:16px;font-size:13px;max-width:82%;padding:10px 12px}.preview-line.you{background:var(--color-chat-user-bg);color:var(--color-chat-user-text);justify-self:end}.preview-line.assistant{background:var(--color-chat-assistant-bg);color:var(--color-chat-assistant-text)}.preview-card{background:var(--color-chat-record-bg);border:1px solid color-mix(in srgb,var(--color-brand-accent) 22%,transparent);color:var(--color-chat-record-text)}.preview-card strong,.preview-card span{display:block}.preview-card span{color:var(--color-text-secondary);margin-top:2px}.login-button{align-items:center;background:var(--color-action-primary-bg);border-radius:18px;box-shadow:0 14px 30px var(--color-brand-primary-shadow);color:var(--color-action-primary-text);display:flex;font-weight:800;justify-content:space-between;min-height:56px;padding:0 18px;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.login-button:hover,.login-button:focus-visible{background:var(--color-action-primary-bg-hover);box-shadow:0 18px 34px var(--color-brand-primary-shadow)}.login-button:disabled{cursor:wait;opacity:.68}.login-button.secondary{background:var(--color-action-secondary-bg);border:1px solid var(--color-app-border);box-shadow:none;color:var(--color-action-secondary-text)}.login-button b{font-size:22px;font-weight:700}.auth-choice-grid{display:grid;gap:10px}.auth-choice{align-items:center;background:color-mix(in srgb,var(--color-app-surface) 86%,transparent);border:1px solid var(--color-app-border);border-radius:16px;color:var(--color-brand-primary);display:grid;gap:3px;justify-items:start;min-height:58px;padding:12px 14px;text-align:left;width:100%}.auth-choice strong{font-size:14px;font-weight:900}.auth-choice span{color:var(--color-text-secondary);font-size:12px;font-weight:700}.auth-choice.active{background:var(--color-action-primary-bg);border-color:var(--color-action-primary-bg);box-shadow:0 16px 30px var(--color-brand-primary-shadow);color:var(--color-action-primary-text)}.auth-choice.active span{color:color-mix(in srgb,var(--color-action-primary-text) 84%,transparent)}.auth-choice.disabled{cursor:not-allowed;opacity:.58}.invite-join-form{background:color-mix(in srgb,var(--color-app-surface) 76%,transparent);border:1px solid var(--color-app-border);border-radius:22px;display:grid;gap:10px;padding:14px}.invite-join-form label{display:grid;gap:8px}.invite-join-form span{color:var(--color-text-secondary);font-size:12px;font-weight:900}.invite-join-form input{background:var(--color-app-surface-raised);border:1px solid var(--color-app-border);border-radius:14px;color:var(--color-brand-primary);min-width:0;padding:12px}.invite-join-form button{background:var(--color-action-primary-bg);border-radius:14px;color:var(--color-action-primary-text);font-weight:900;min-height:42px}.invite-join-form button:disabled,.invite-join-form input:disabled{cursor:wait;opacity:.65}.login-note{font-size:12px;line-height:1.6;text-align:center}.setup-screen{align-content:start}.setup-form{display:grid;gap:14px;position:relative;z-index:1}.setup-field{display:grid;gap:7px}.setup-field span{color:var(--color-text-secondary);font-size:12px;font-weight:800}.setup-field input{background:color-mix(in srgb,var(--color-app-surface) 86%,transparent);border:1px solid var(--color-app-border);border-radius:16px;color:var(--color-brand-primary);min-height:52px;outline:none;padding:0 14px}.setup-field input:focus{border-color:color-mix(in srgb,var(--color-brand-primary) 58%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-brand-primary) 10%,transparent)}.setup-field input:disabled{opacity:.7}.setup-avatar-preview{align-items:center;background:color-mix(in srgb,var(--color-app-surface) 78%,transparent);border:1px solid var(--color-app-border);border-radius:18px;display:grid;gap:12px;grid-template-columns:48px 1fr;padding:12px}.setup-avatar-preview>span{align-items:center;background:linear-gradient(150deg,var(--color-brand-primary-soft),var(--color-brand-primary));border-radius:999px;color:var(--color-text-inverse);display:inline-flex;font-size:20px;font-weight:900;height:48px;justify-content:center;width:48px}.setup-avatar-preview strong{color:var(--color-brand-primary);display:block;font-size:13px;font-weight:900;margin-bottom:2px}.setup-avatar-preview p{color:var(--color-text-secondary);font-size:12px;line-height:1.5;margin:0}.phone{background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:34px;box-shadow:0 24px 80px var(--color-app-shadow);display:grid;grid-template-rows:auto 1fr auto auto;height:min(844px,calc(100vh - 48px));max-height:844px;max-width:390px;min-height:720px;overflow:hidden;position:relative;width:min(390px,calc(100vw - 24px))}.app-header{align-items:center;border-bottom:1px solid var(--color-app-border);display:grid;gap:8px;grid-template-columns:42px 1fr auto;padding:10px 14px 9px;position:relative;z-index:40}.house-entry{position:relative}.house-icon-button{align-items:center;background:color-mix(in srgb,var(--color-brand-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-primary) 14%,transparent);border-radius:14px;display:grid;height:44px;justify-content:center;padding:0;position:relative;width:44px}.appbar-back-button{align-items:center;background:color-mix(in srgb,var(--color-brand-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-primary) 14%,transparent);border-radius:14px;color:var(--color-brand-primary);display:grid;font-size:28px;font-weight:900;height:44px;line-height:1;padding:0 2px 3px 0;place-items:center;width:44px}.home-title{align-items:center;background:transparent;color:inherit;display:flex;min-width:0;padding:0;text-align:left}.house-switcher{min-width:0}.home-title h1{font-size:16px;letter-spacing:0;line-height:1.1;margin:0 0 2px}.home-title p,.assistant-status p{color:var(--color-text-subtle);font-size:12px;margin:0}.home-title strong{color:var(--color-brand-accent);font-size:13px}.house-menu{background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:20px;box-shadow:0 18px 40px var(--color-app-shadow);display:grid;gap:10px;left:0;min-width:230px;padding:12px;position:absolute;top:calc(100% + 8px);z-index:60}.house-menu>strong{color:var(--color-text-primary);font-size:13px}.house-menu-list,.settings-house-list{display:grid;gap:8px}.house-menu-list button,.settings-house-list button{background:var(--color-brand-accent-soft);border:1px solid color-mix(in srgb,var(--color-brand-accent) 18%,transparent);border-radius:14px;color:var(--color-text-primary);display:grid;gap:2px;padding:10px 12px;text-align:left}.house-menu-list button.active,.settings-house-list button.active{background:var(--color-brand-primary-soft);border-color:color-mix(in srgb,var(--color-brand-primary) 36%,transparent)}.house-menu-list span,.settings-house-list span{font-size:14px;font-weight:800}.house-menu-list small,.settings-house-list small{color:var(--color-text-subtle);font-size:12px}.house-add-button,.settings-card-header button,.settings-create-button{background:var(--color-action-primary-bg);border-radius:999px;color:var(--color-action-primary-text);font-size:13px;font-weight:800;padding:10px 13px}.assistant-status{align-items:center;display:flex;gap:6px}.assistant-status strong{display:block;font-size:13px;line-height:1.1}.assistant-status p{white-space:nowrap}.assistant-status p span{background:var(--color-status-success-text);border-radius:50%;display:inline-block;height:7px;margin-left:4px;width:7px}.assistant-portrait,.avatar{align-items:center;border:1px solid var(--color-app-border);border-radius:50%;display:flex;flex:0 0 auto;font-weight:800;justify-content:center}.assistant-portrait{background:linear-gradient(145deg,var(--color-brand-primary-soft),var(--color-app-surface) 45%,var(--color-brand-primary));color:var(--color-text-inverse);height:34px;width:34px}.assistant-portrait img,.assistant-panel-portrait img,.avatar img,.assistant-chat-avatar img,.avatar-upload-preview img{border-radius:inherit;height:100%;object-fit:cover;width:100%}.content{min-height:0;overflow-y:auto;padding:18px 16px 12px}.trail{display:grid;gap:18px;position:relative}.status-banner,.empty-state{background:var(--color-status-info-bg);border:1px solid color-mix(in srgb,var(--color-brand-primary) 16%,transparent);border-radius:16px;color:var(--color-status-info-text);font-size:13px;margin:0 0 14px;padding:10px 12px}.status-banner.error{background:var(--color-status-danger-bg);border-color:color-mix(in srgb,var(--color-status-danger-text) 32%,transparent);color:var(--color-status-danger-text)}.status-banner.success{background:var(--color-status-success-bg);border-color:color-mix(in srgb,var(--color-status-success-text) 24%,transparent);color:var(--color-status-success-text)}.empty-state{display:grid;gap:3px;margin:0}.empty-state strong{color:var(--color-text-primary);font-size:14px}.empty-state span{font-size:12px}.trail:before{background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--color-brand-primary) 24%,transparent) 0,color-mix(in srgb,var(--color-brand-primary) 24%,transparent) 6px,transparent 6px,transparent 13px);bottom:20px;content:"";left:82px;position:absolute;top:56px;width:2px}.older-messages-row{display:flex;justify-content:center;position:relative;z-index:1}.older-messages-row button{background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-brand-primary);cursor:pointer;font-size:12px;font-weight:800;min-height:34px;padding:0 14px}.older-messages-row button:disabled{color:var(--color-text-muted);cursor:wait}.message-row{display:grid;gap:10px;grid-template-columns:54px minmax(0,1fr);position:relative}.message-row.family{grid-template-columns:minmax(0,1fr);justify-items:end}.message-group{display:grid;gap:12px}.pending-row{margin-top:-2px}.avatar{font-size:18px;height:48px;margin-top:1px;width:48px}.avatar.peach{background:linear-gradient(145deg,var(--color-brand-accent-soft),var(--color-brand-accent));color:var(--color-text-inverse)}.avatar.sage,.avatar.lavender{background:linear-gradient(145deg,var(--color-brand-primary-soft),var(--color-brand-primary));color:var(--color-text-inverse)}.message-body{min-width:0}.message-row.family .message-body{display:grid;justify-items:end;max-width:min(78%,360px)}.message-meta{align-items:baseline;display:flex;gap:10px;margin:0 0 5px}.message-meta strong{color:var(--color-brand-accent-strong);font-size:14px}.message-row.assistant .message-meta strong{color:var(--color-brand-primary)}.message-meta time,.record-card time,.record-line time{color:var(--color-text-secondary);font-size:12px}.bubble{border-radius:18px 18px 18px 6px;display:inline-block;font-size:17px;line-height:1.45;margin:0;max-width:100%;padding:12px 16px}.bubble.peach{background:var(--color-brand-accent-soft)}.bubble.sage{background:var(--color-brand-primary-soft)}.message-row.family .bubble{border-radius:18px 18px 6px;max-width:100%;text-align:left}.bubble.lavender{background:var(--color-chat-assistant-bg)}.message-attachments{display:grid;gap:8px;margin-top:8px;max-width:min(240px,100%)}.message-row.family .message-attachments{justify-items:end}.message-attachment{background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:16px;box-shadow:0 8px 20px var(--color-brand-primary-shadow);color:var(--color-text-primary);display:grid;gap:6px;overflow:hidden;text-decoration:none;width:min(240px,100%)}.message-attachment img,.message-attachment video,.message-attachment audio{background:var(--color-brand-accent-soft);display:block;max-height:260px;object-fit:cover;width:100%}.message-attachment audio{max-height:none;padding:10px}.message-attachment-file{align-items:center;background:var(--color-brand-accent-soft);color:var(--color-text-subtle);display:flex;font-size:12px;font-weight:800;justify-content:center;min-height:92px}.message-attachment span{color:var(--color-text-subtle);font-size:11px;overflow:hidden;padding:0 10px 9px;text-overflow:ellipsis;white-space:nowrap}.record-card{align-items:center;background:linear-gradient(180deg,var(--color-app-surface) 0%,var(--color-app-bg) 100%);border:1px solid var(--color-app-border);border-radius:18px 18px 18px 7px;box-shadow:0 12px 28px var(--color-brand-primary-shadow);color:inherit;display:grid;gap:10px;grid-template-columns:28px minmax(0,1fr) auto auto 12px;margin:10px 0 0 28px;min-height:64px;padding:10px;position:relative;text-align:left;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,opacity .22s ease,transform .22s ease;width:calc(100% - 28px)}.message-row.family .record-card{justify-self:start;margin-left:0;margin-top:12px;width:100%}.record-card.reverted{animation:record-reverted .26s ease-out;background:linear-gradient(180deg,var(--color-app-surface-raised),var(--color-app-bg));border-color:var(--color-app-border);box-shadow:0 8px 20px color-mix(in srgb,var(--color-brand-primary) 4%,transparent);cursor:default;opacity:.82;transform:translateY(1px) scale(.995)}.record-card strong,.record-line strong{display:block;font-size:14px}.record-card.reverted .record-card-copy strong,.record-card.reverted .record-card-copy small:not(.record-undone-label){color:var(--color-text-secondary);text-decoration:line-through;text-decoration-thickness:2px}@keyframes record-reverted{0%{filter:saturate(1);transform:translateY(0) scale(1)}45%{filter:saturate(.72);transform:translateY(-1px) scale(1.01)}to{filter:saturate(.82);transform:translateY(1px) scale(.995)}}.record-card-copy{display:grid;gap:2px;min-width:0}.record-added-label{color:var(--color-brand-primary);font-size:11px;font-weight:800}.record-undone-label{color:var(--color-status-danger-text);font-size:11px;font-weight:900}.record-card small,.record-line small{color:var(--color-text-primary);display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-card b{color:var(--color-text-secondary);font-size:20px;font-weight:400}.record-card.reverted .record-kind-pill,.record-card.reverted b{display:none}.record-card.reverted time{color:var(--color-text-secondary)}.record-assistant-icon{align-items:center;background:linear-gradient(145deg,var(--color-brand-primary-soft),var(--color-brand-primary));border:1px solid var(--color-app-border);border-radius:50%;color:var(--color-text-inverse);display:flex;font-size:12px;font-weight:900;height:28px;justify-content:center;width:28px}.record-kind-pill{align-items:center;border-radius:999px;display:flex;font-size:11px;font-weight:900;justify-content:center;min-width:36px;padding:6px 8px}.record-icon,.record-dot{align-items:center;border-radius:50%;display:flex;font-size:11px;font-weight:900;justify-content:center;line-height:1}.record-icon{height:44px;width:44px}.record-dot{height:28px;width:28px}.orange{background:var(--color-brand-accent-soft);color:var(--palette-accent-strong)}.pending-card{background:var(--color-chat-assistant-bg);border:1px solid var(--color-app-border);border-radius:18px 18px 18px 7px;display:inline-block;margin:0;max-width:100%;padding:12px 14px}.pending-content{display:grid;gap:10px;min-width:0}.pending-card strong{color:var(--color-text-primary);display:block;font-size:14px}.pending-card small{color:var(--color-text-secondary);display:block;font-size:12px;margin-top:2px}.pending-actions{display:flex;gap:8px}.pending-time-field{align-items:center;display:grid;gap:6px;grid-template-columns:auto 132px}.pending-time-field span{color:var(--color-brand-primary);font-size:12px;font-weight:900}.pending-time-field input{background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 20%,transparent);border-radius:12px;color:var(--color-text-primary);font-size:14px;min-height:38px;padding:0 10px}.pending-actions button{border-radius:999px;font-size:12px;padding:7px 10px}.pending-actions button:disabled{cursor:wait;opacity:.62}.pending-actions button:first-child{background:var(--color-action-primary-bg);color:var(--color-text-inverse)}.pending-actions button:last-child{background:var(--color-brand-accent-soft);color:var(--color-brand-accent-strong)}.pending-action-message{border-radius:8px;display:block;font-size:12px;font-weight:800;line-height:1.45;margin-top:0;padding:7px 8px}.pending-action-message.error{background:var(--color-status-danger-bg);color:var(--color-status-danger-text)}.pending-action-message.success{background:var(--color-status-success-bg);color:var(--color-status-success-text)}.record-list{display:grid}.record-line{align-items:center;background:transparent;border-bottom:1px solid var(--color-app-border);color:inherit;display:grid;gap:8px;grid-template-columns:28px 78px minmax(0,1fr) 38px;min-height:42px;padding:7px 12px;text-align:left}.record-line:last-child{border-bottom:0}.shopping-list{display:grid}.shopping-list.large{border:1px solid var(--color-app-border);border-radius:18px;overflow:hidden}.shopping-row{align-items:center;background:transparent;border-bottom:1px solid var(--color-app-border);display:grid;gap:10px;grid-template-columns:28px 1fr;min-height:48px;padding:9px 12px}.shopping-row:last-child{border-bottom:0}.shopping-row>button{background:var(--color-app-surface-raised);border:2px solid var(--color-brand-accent);border-radius:50%;color:var(--color-text-inverse);height:24px;line-height:1;padding:0;width:24px}.shopping-row.completed{color:var(--color-text-secondary)}.shopping-row.completed strong{text-decoration:line-through}.shopping-row.completed>button{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:var(--color-text-inverse)}.shopping-row strong{display:block;font-size:14px}.shopping-link{align-items:center;color:inherit;display:grid;gap:2px;grid-template-columns:1fr;padding:0;text-align:left;width:100%}.todo-kind{color:var(--color-brand-accent-strong);display:block;font-size:11px;margin-bottom:2px}.shopping-row small{color:var(--color-text-secondary);display:block;font-size:12px;margin-top:2px}.quick-row{display:flex;gap:8px;margin:10px 0 0;overflow-x:auto;padding-bottom:2px}.quick-row button{background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-accent) 22%,transparent);border-radius:999px;color:var(--palette-accent-strong);flex:0 0 auto;font-size:12px;padding:8px 11px}.composer{align-items:center;border-top:1px solid var(--color-app-border);display:grid;gap:10px;grid-template-columns:44px 1fr 44px;padding:10px 16px 11px}.file-input{display:none}.composer-attachments{display:flex;gap:8px;grid-column:1 / -1;overflow-x:auto;padding-bottom:2px}.composer-attachment-chip{align-items:center;background:var(--color-brand-accent-soft);border:1px solid color-mix(in srgb,var(--color-brand-accent) 18%,transparent);border-radius:14px;color:var(--color-text-primary);display:inline-flex;flex:0 0 auto;gap:8px;max-width:min(240px,70vw);padding:7px 8px 7px 10px}.composer-attachment-chip span{display:grid;gap:1px;min-width:0}.composer-attachment-chip strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-attachment-chip small{color:var(--color-text-secondary);font-size:10px}.composer-attachment-chip button,.composer-attachments-clear{border:0;cursor:pointer;flex:0 0 auto}.composer-attachment-chip button{align-items:center;background:color-mix(in srgb,var(--color-brand-accent) 10%,transparent);border-radius:999px;color:var(--palette-accent-strong);display:flex;font-size:15px;height:24px;justify-content:center;line-height:1;width:24px}.composer-attachments-clear{background:transparent;color:var(--color-brand-primary);font-size:12px;font-weight:800;padding:0 2px;white-space:nowrap}.composer input{background:var(--color-app-surface-raised);border:1px solid var(--color-app-border);border-radius:999px;color:var(--color-text-primary);font-size:16px;min-width:0;outline:0;padding:12px 16px}.composer input:focus{border-color:var(--color-brand-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-accent) 14%,transparent)}.round-action,.send-button{align-items:center;border-radius:50%;display:flex;font-size:26px;font-weight:500;height:44px;justify-content:center;width:44px}.send-button:disabled,.composer input:disabled{opacity:.62}.round-action{background:var(--color-brand-primary-soft);border:1px solid color-mix(in srgb,var(--color-brand-primary) 22%,transparent);color:var(--color-brand-primary)}.send-button{background:var(--color-action-primary-bg);color:var(--color-text-inverse);transform:rotate(45deg)}.tab-bar{background:color-mix(in srgb,var(--color-app-surface) 98%,transparent);border-top:1px solid var(--color-app-border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 4px 9px}.tab-bar button{align-items:center;background:transparent;color:var(--color-text-primary);display:grid;font-size:10px;gap:3px;justify-items:center;min-height:48px;padding:2px}.tab-icon{align-items:center;border:2px solid currentColor;border-radius:12px;display:flex;font-size:12px;font-weight:800;height:26px;justify-content:center;width:26px}.secondary{display:grid;gap:12px;min-height:100%;padding:8px 2px}.secondary-list{border:1px solid var(--color-app-border);border-radius:18px;overflow:hidden}.list-empty{color:var(--color-text-secondary);font-size:14px;padding:18px;text-align:center}.assistant-page{gap:10px;grid-template-rows:auto minmax(0,1fr);padding:0}.assistant-panel{align-items:center;display:flex;gap:8px;padding:6px 8px 2px}.assistant-panel-portrait{align-items:center;background:linear-gradient(145deg,var(--color-brand-primary-soft),var(--color-brand-primary));border-radius:50%;color:var(--color-text-inverse);display:flex;flex:0 0 30px;font-size:13px;font-weight:900;height:30px;justify-content:center;width:30px}.settings-avatar-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.avatar-upload-card{align-items:center;background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:20px;box-shadow:0 10px 20px var(--color-brand-primary-shadow);cursor:pointer;display:grid;gap:4px;justify-items:center;padding:14px 10px}.avatar-upload-card input{display:none}.avatar-upload-card span{color:var(--color-text-primary);font-size:13px;font-weight:800}.avatar-upload-card small{color:var(--color-brand-accent);font-size:11px;font-weight:800}.avatar-upload-preview{align-items:center;background:linear-gradient(145deg,var(--color-brand-primary-soft),var(--color-brand-primary));border-radius:50%;color:var(--color-text-inverse);display:flex;font-size:16px;font-weight:900;height:44px;justify-content:center;overflow:hidden;width:44px}.assistant-panel span,.assistant-panel small{color:var(--color-text-secondary);display:block;font-size:12px}.assistant-panel strong{color:var(--color-text-primary);display:inline;font-size:14px;margin:0 6px 0 0}.assistant-panel span{display:none}.assistant-chat-card{display:grid;gap:10px;grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:0 8px 8px}.assistant-chat-log{align-content:end;display:grid;gap:10px;min-height:0;overflow-y:auto;padding:8px 0}.assistant-chat-message{align-items:end;display:flex;gap:8px}.assistant-chat-message.user{justify-content:flex-end}.assistant-chat-message p{border-radius:18px 18px 18px 6px;line-height:1.45;margin:0;max-width:78%;padding:10px 13px}.assistant-chat-message.assistant p{background:var(--color-chat-assistant-bg)}.assistant-chat-message.user p{background:var(--color-brand-primary-soft);border-radius:18px 18px 6px}.assistant-chat-avatar{align-items:center;background:linear-gradient(145deg,var(--color-brand-primary-soft),var(--color-brand-primary));border-radius:50%;color:var(--color-text-inverse);display:flex;flex:0 0 30px;font-size:13px;font-weight:900;height:30px;justify-content:center;width:30px}.assistant-chat-empty{align-self:center;color:var(--color-text-secondary);display:grid;gap:4px;justify-items:center;padding:24px 12px;text-align:center}.assistant-chat-empty strong{color:var(--color-text-primary)}.assistant-chat-composer{align-items:center;background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:999px;box-shadow:0 10px 20px var(--color-brand-primary-shadow);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:6px}.assistant-chat-composer:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-accent) 14%,transparent)}.assistant-chat-composer input{background:transparent;border:0;min-width:0;outline:0;padding:10px 12px}.assistant-chat-composer button{background:var(--color-brand-accent);border-radius:999px;color:var(--color-text-inverse);font-size:13px;padding:10px 14px}.assistant-chat-composer button:disabled{cursor:not-allowed;opacity:.56}.settings-menu-page{align-content:start}.settings-menu-list{background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:18px;box-shadow:0 12px 24px var(--color-brand-primary-shadow);display:grid;overflow:hidden}.settings-menu-list button{align-items:center;background:transparent;color:var(--color-text-primary);display:grid;gap:2px 12px;grid-template-columns:minmax(0,1fr) auto;min-height:64px;padding:12px 14px;text-align:left}.settings-menu-list button+button{border-top:1px solid var(--color-app-border)}.settings-menu-list span{font-size:15px;font-weight:900}.settings-menu-list small{color:var(--color-text-secondary);font-size:12px;font-weight:700;grid-column:1}.settings-menu-list b{color:var(--color-brand-primary);font-size:22px;grid-column:2;grid-row:1 / span 2}.settings-card{background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:22px;box-shadow:0 12px 24px var(--color-brand-primary-shadow);display:grid;gap:5px;margin-top:12px;padding:16px}.settings-card span{color:var(--color-text-secondary);font-size:12px;font-weight:800}.settings-card strong{color:var(--color-text-primary);font-size:18px}.push-settings-card{align-items:center;grid-template-columns:1fr auto}.push-settings-card small{color:var(--color-text-secondary);display:block;font-size:12px;font-weight:700;line-height:1.5;margin-top:4px}.push-settings-card button{background:var(--color-action-primary-bg);border-radius:999px;color:var(--color-text-inverse);font-size:13px;min-width:94px;padding:10px 14px}.push-settings-card button:disabled{cursor:not-allowed;opacity:.56}.settings-status-text{color:var(--color-status-danger-text)!important}.calendar-sync-settings{background:var(--color-app-surface);border-color:var(--color-app-border);color:var(--color-text-primary);gap:14px}.calendar-provider-control{display:grid;gap:8px}.calendar-provider-control button{background:var(--color-app-surface-raised);border:1px solid var(--color-app-border);border-radius:16px;color:var(--color-text-primary);display:grid;gap:3px;padding:13px 14px;text-align:left}.calendar-provider-control button.active{background:var(--color-brand-primary-soft);border-color:color-mix(in srgb,var(--color-brand-primary) 36%,transparent);box-shadow:0 10px 22px var(--color-brand-primary-shadow)}.calendar-provider-control button:disabled{cursor:wait;opacity:.68}.calendar-provider-control strong{color:var(--color-text-primary);font-size:15px}.theme-settings-card{gap:14px}.theme-choice-grid{display:grid;gap:8px}.theme-choice-grid button{align-items:center;background:var(--color-app-surface-raised);border:1px solid var(--color-app-border);border-radius:16px;color:var(--color-text-primary);display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr);min-height:64px;padding:10px 12px;text-align:left}.theme-choice-grid button.active{background:var(--color-brand-primary-soft);border-color:color-mix(in srgb,var(--color-brand-primary) 38%,transparent);box-shadow:0 10px 22px var(--color-brand-primary-shadow)}.theme-choice-grid strong{color:var(--color-text-primary);display:block;font-size:15px}.theme-choice-grid small{color:var(--color-text-secondary);display:block;font-size:12px;font-weight:700;line-height:1.45;margin-top:2px}.theme-swatch{background:var(--swatch-surface);border:1px solid color-mix(in srgb,var(--swatch-primary) 22%,transparent);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff80;display:grid;height:44px;overflow:hidden;position:relative;width:44px}.theme-swatch:before,.theme-swatch:after{content:"";position:absolute}.theme-swatch:before{background:var(--swatch-primary);border-radius:999px;height:26px;left:8px;top:9px;width:26px}.theme-swatch:after{background:var(--swatch-accent);border-radius:999px;bottom:8px;height:12px;right:8px;width:12px}.calendar-provider-control small,.settings-toggle-row small,.settings-hint{color:var(--color-text-secondary);font-size:12px;font-weight:700;line-height:1.5}.settings-toggle-row{align-items:center;border:1px solid var(--color-app-border);border-radius:16px;display:grid;gap:12px;grid-template-columns:1fr auto;padding:13px 14px}.settings-toggle-row>span{display:grid;gap:4px}.settings-toggle-row strong{color:var(--color-text-primary);font-size:14px}.settings-toggle-row input{accent-color:var(--color-brand-primary);height:22px;width:22px}.settings-hint{background:var(--color-status-info-bg);border-radius:14px;color:var(--color-status-info-text);padding:12px}.house-settings-card,.settings-create-form,.profile-edit-card,.members-card,.invite-card,.feedback-card{background:var(--color-app-surface);border:1px solid var(--color-app-border);border-radius:22px;box-shadow:0 12px 24px var(--color-brand-primary-shadow);display:grid;gap:14px;padding:16px}.settings-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.settings-card-header span{color:var(--color-text-secondary);display:block;font-size:12px;font-weight:800}.settings-card-header strong{color:var(--color-text-primary);display:block;font-size:18px}.settings-create-form{margin-top:0}.settings-create-button:disabled{cursor:wait;opacity:.68}.members-card{margin-top:12px}.members-card p{color:var(--color-text-secondary);font-size:13px;line-height:1.7;margin:0}.member-list{display:grid;gap:10px}.member-row{align-items:center;background:color-mix(in srgb,var(--color-brand-primary) 6%,transparent);border-radius:16px;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:10px}.member-avatar{align-items:center;background:var(--color-brand-primary-soft);border-radius:14px;color:var(--color-brand-primary);display:grid;font-size:14px;font-weight:900;height:40px;justify-items:center;overflow:hidden;width:40px}.member-avatar img{height:100%;object-fit:cover;width:100%}.member-row strong,.member-row small{display:block}.member-row strong{color:var(--color-text-primary);font-size:14px}.member-row small{color:var(--color-text-secondary);font-size:12px;margin-top:2px}.member-row button{background:var(--color-brand-accent);border-radius:14px;color:var(--color-text-inverse);font-size:13px;font-weight:900;min-height:40px;padding:0 12px}.member-row button:disabled{cursor:wait;opacity:.64}.settings-secondary-action{background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-accent) 18%,transparent);border-radius:14px;color:var(--color-brand-accent-strong);font-size:13px;font-weight:900;min-height:42px;padding:0 12px}.settings-secondary-action:disabled{cursor:wait;opacity:.64}.feedback-card,.invite-card{margin-top:12px}.invite-card p{color:var(--color-text-secondary);font-size:13px;line-height:1.7;margin:0}.invite-link-box{display:grid;gap:8px;grid-template-columns:1fr auto auto}.invite-link-box.single{grid-template-columns:1fr}.invite-link-box input{background:var(--color-app-surface-raised);border:1px solid var(--color-app-border);border-radius:14px;color:var(--color-text-primary);font-size:12px;min-width:0;padding:11px 12px}.invite-card button,.invite-link-box button{background:var(--color-action-primary-bg);border:0;border-radius:14px;color:var(--color-text-inverse);font-size:13px;font-weight:900;min-height:40px;padding:0 12px}.invite-card button:disabled,.invite-link-box button:disabled{cursor:wait;opacity:.64}.feedback-type-control{background:color-mix(in srgb,var(--color-brand-primary) 8%,transparent);border-radius:16px;display:grid;gap:6px;grid-template-columns:1fr 1fr;padding:6px}.feedback-type-control button{background:transparent;border:0;border-radius:12px;color:var(--color-text-secondary);font-size:13px;font-weight:800;min-height:38px}.feedback-type-control button.active{background:var(--color-app-surface-raised);box-shadow:0 8px 18px var(--color-brand-primary-shadow);color:var(--color-text-primary)}.feedback-type-control button:disabled{cursor:wait;opacity:.68}.feedback-field{display:grid;gap:8px}.feedback-field span{color:var(--color-text-secondary);font-size:12px;font-weight:800}.feedback-field textarea{background:var(--color-app-surface-raised);border:1px solid var(--color-app-border);border-radius:16px;color:var(--color-text-primary);font:inherit;min-height:120px;padding:12px 14px;resize:vertical}.feedback-field textarea:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-brand-primary) 14%,transparent);outline:none}.feedback-field textarea:disabled{cursor:wait;opacity:.68}.feedback-footer{align-items:center;display:flex;gap:12px;justify-content:space-between}.feedback-footer small{color:var(--color-text-secondary);font-size:12px;font-weight:800}.feedback-footer button{background:var(--color-text-primary);border:0;border-radius:999px;color:var(--color-text-inverse);font-size:13px;font-weight:900;min-width:96px;padding:11px 18px}.feedback-footer button:disabled{cursor:not-allowed;opacity:.56}.feedback-success{background:color-mix(in srgb,var(--color-brand-primary) 14%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-primary) 22%,transparent);border-radius:14px;color:var(--color-brand-primary-hover);font-size:13px;font-weight:800;padding:10px 12px}.calendar-registered-card{align-items:center;background:var(--color-brand-primary-soft);border:1px solid color-mix(in srgb,var(--color-brand-primary) 16%,transparent);border-radius:18px;color:var(--color-brand-primary);display:flex;gap:12px;justify-content:space-between;margin-top:8px;padding:12px}.calendar-registered-card div{display:grid;gap:2px;min-width:0}.calendar-registered-card small{color:var(--color-brand-primary);font-size:11px;font-weight:900}.calendar-registered-card strong{font-size:14px;overflow-wrap:anywhere}.calendar-registered-card span{color:var(--color-text-secondary);font-size:12px;font-weight:700}.calendar-registered-card button{background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 16%,transparent);border-radius:12px;color:var(--color-brand-primary);flex:0 0 auto;font-size:12px;font-weight:900;min-height:36px;padding:0 10px}.calendar-registered-actions{display:flex!important;flex:0 0 auto;gap:8px!important}.calendar-registered-actions button:first-child{background:var(--color-action-primary-bg);border-color:var(--color-action-primary-bg);color:var(--color-text-inverse)}.calendar-registered-actions button:last-child{background:var(--color-app-surface-raised);color:var(--color-brand-primary)}.calendar-registered-actions button:disabled{cursor:progress;opacity:.58}.calendar-page{gap:0;overflow:hidden;position:relative}.calendar-panel{background:transparent;border:0;border-radius:0;box-shadow:none;display:grid;gap:10px;padding:10px 0 0}.calendar-panel{min-height:100%;grid-template-rows:auto auto minmax(0,1fr)}.calendar-header,.agenda-section-title{align-items:center;display:flex;justify-content:space-between}.calendar-header{padding-inline:12px}.calendar-month-picker{display:grid;justify-items:center;min-width:0;position:relative}.calendar-header div,.agenda-section-title{min-width:0}.calendar-header span,.agenda-section-title span{color:var(--color-brand-primary);display:block;font-size:12px;font-weight:900}.calendar-header strong,.agenda-section-title strong{color:var(--color-text-primary);font-size:18px}.calendar-month-picker input{cursor:pointer;top:0;right:0;bottom:0;left:0;opacity:0;position:absolute;width:100%}.calendar-header .calendar-month-arrow{align-items:center;background:transparent;border:1px solid color-mix(in srgb,var(--color-brand-primary) 14%,transparent);border-radius:999px;color:var(--color-brand-primary);display:flex;font-size:24px;font-weight:700;height:34px;justify-content:center;min-height:34px;padding:0;width:34px}.calendar-header button:not(.calendar-month-arrow){background:var(--color-action-primary-bg);border-radius:8px;color:var(--color-text-inverse);font-size:12px;font-weight:900;min-height:36px;padding:0 12px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:var(--color-app-surface-raised);border-bottom:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent);padding:4px 0 6px;position:sticky;top:0;z-index:3}.calendar-weekdays span{color:var(--color-text-secondary);font-size:11px;font-weight:900;text-align:center}.calendar-month-scroll{-webkit-overflow-scrolling:touch;contain:layout paint;min-height:0;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain;scroll-behavior:auto;scroll-padding-top:6px}.calendar-month-section{contain:layout paint;display:grid;padding:0 0 16px;scroll-margin-top:6px}.calendar-month-section+.calendar-month-section .calendar-grid{box-shadow:inset 0 2px color-mix(in srgb,var(--color-brand-primary) 16%,transparent)}.calendar-grid{background:color-mix(in srgb,var(--color-brand-primary) 12%,transparent);gap:1px;grid-auto-rows:minmax(78px,auto);min-height:0;touch-action:pan-y;-webkit-user-select:none;user-select:none}.calendar-grid button{align-content:start;align-items:start;background:var(--color-app-surface-raised);border:0;border-radius:0;color:var(--color-text-primary);display:grid;gap:4px;grid-template-rows:auto 1fr;min-height:86px;font-size:13px;font-weight:900;justify-items:stretch;min-width:0;overflow:hidden;padding:6px;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.calendar-grid button.muted{color:color-mix(in srgb,var(--color-text-secondary) 62%,transparent)}.calendar-grid button.active{background:var(--color-brand-primary-soft);color:var(--color-text-primary)}.calendar-day-number{align-items:center;display:inline-flex;height:22px;justify-content:center;justify-self:start;min-width:22px;padding:0 4px}.calendar-day-number.month-start{color:var(--color-brand-primary);font-weight:950}.calendar-grid button.active .calendar-day-number{background:var(--color-brand-primary);border-radius:999px;color:var(--color-text-inverse)}.calendar-day-items{display:block;min-width:0;overflow:hidden}.calendar-day-chip,.calendar-day-more{border-radius:4px;display:block;font-size:10px;font-weight:800;line-height:1.25;margin-top:3px;overflow:hidden;padding:2px 4px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.calendar-day-chip.calendar{background:var(--color-brand-primary-soft);color:var(--color-brand-primary)}.calendar-day-chip.todo{background:var(--color-brand-accent-soft);color:var(--palette-accent-strong)}.calendar-day-more{color:var(--color-text-secondary);padding-left:2px}.calendar-day-sheet{animation:calendar-day-sheet-enter .22s cubic-bezier(.2,.8,.2,1) both;background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 14%,transparent);border-bottom:0;border-radius:14px 14px 0 0;bottom:0;box-shadow:0 -18px 42px color-mix(in srgb,var(--color-brand-primary) 16%,transparent);display:grid;gap:10px;grid-template-rows:auto auto 1fr;left:0;max-height:55%;min-height:220px;padding:8px 12px 14px;position:absolute;right:0;z-index:8}@keyframes calendar-day-sheet-enter{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.calendar-day-sheet{animation:none}.calendar-month-scroll{scroll-behavior:auto}}.calendar-day-sheet-handle{background:color-mix(in srgb,var(--color-brand-primary) 20%,var(--color-app-surface));border-radius:999px;height:4px;justify-self:center;width:42px}.calendar-day-sheet-header{align-items:center;display:flex;justify-content:space-between;gap:12px}.calendar-day-sheet-header div{min-width:0}.calendar-day-sheet-header span{color:var(--color-brand-primary);display:block;font-size:12px;font-weight:900}.calendar-day-sheet-header strong{color:var(--color-text-primary);display:block;font-size:18px}.calendar-day-sheet-header button{align-items:center;background:var(--color-app-bg);border:1px solid color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:999px;color:var(--color-brand-primary);display:flex;flex:0 0 auto;font-size:24px;font-weight:700;height:44px;justify-content:center;line-height:1;width:44px}.calendar-day-sheet-list{display:grid;gap:8px;min-height:0;overflow-y:auto;padding-bottom:4px}.calendar-day-sheet-list .calendar-event-row,.calendar-day-sheet-list .shopping-row{background:var(--color-app-bg)}.calendar-day-empty{align-items:center;background:var(--color-app-bg);border:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent);border-radius:10px;color:var(--color-brand-primary);display:flex;font-size:13px;font-weight:800;justify-content:center;line-height:1.5;margin:0;min-height:96px;padding:16px;text-align:center}.calendar-event-row{align-items:center;background:var(--color-app-surface-raised);border:1px solid var(--color-app-border);border-radius:8px;display:grid;gap:10px;grid-template-columns:66px 1fr 58px;padding:10px}.calendar-event-row time,.calendar-event-row div{display:grid;gap:2px;min-width:0}.calendar-event-row time strong{color:var(--color-brand-primary);font-size:13px}.calendar-event-row time span,.calendar-event-row small{color:var(--color-text-secondary);font-size:11px;font-weight:800}.calendar-event-row div strong{color:var(--color-text-primary);font-size:14px;overflow-wrap:anywhere}.calendar-event-row .calendar-event-edit-button{background:var(--color-brand-accent-soft);border-radius:10px;color:var(--palette-accent-strong);font-size:12px;font-weight:900;height:34px;width:58px}.calendar-event-edit-fields{display:grid;gap:12px}.calendar-event-edit-fields label{display:grid;gap:4px}.calendar-event-edit-fields label span{color:var(--color-text-secondary);font-size:11px;font-weight:900}.calendar-event-edit-fields input[type=text],.calendar-event-edit-fields input[type=date],.calendar-event-edit-fields input:not([type]){width:100%}.calendar-event-edit-fields input[type=time],.calendar-event-edit-fields input[type=date],.calendar-event-edit-fields input[type=text],.calendar-event-edit-fields input:not([type]){background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 18%,transparent);border-radius:8px;color:var(--color-text-primary);font:inherit;font-size:14px;min-width:0;padding:8px}.calendar-event-edit-fields input:disabled{background:color-mix(in srgb,var(--color-app-bg) 76%,var(--color-app-surface));color:var(--color-text-secondary)}.calendar-event-all-day-toggle{align-items:center;display:flex!important;gap:8px!important}.calendar-event-all-day-toggle input{accent-color:var(--color-brand-primary)}.calendar-event-time-fields{display:grid;background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:12px;gap:0;overflow:hidden}.calendar-event-datetime-row{align-items:center;display:grid;gap:10px;grid-template-columns:42px minmax(0,1fr);padding:10px}.calendar-event-datetime-row+.calendar-event-datetime-row{border-top:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent)}.calendar-event-datetime-row>span{color:var(--color-brand-primary);font-size:12px;font-weight:900}.calendar-event-datetime-inputs{display:grid;gap:8px;grid-template-columns:minmax(0,1.25fr) minmax(88px,.75fr)}.calendar-event-datetime-inputs.date-only{grid-template-columns:minmax(0,1fr)}.calendar-edit-error{color:var(--color-status-danger-text);display:block;font-size:12px;font-weight:800;line-height:1.4}.calendar-event-actions{display:flex;gap:6px;justify-content:flex-end}.calendar-event-actions button{border-radius:10px;font-size:12px;font-weight:900;min-height:36px;padding:0 12px}.calendar-event-actions button:not(.danger){background:var(--color-brand-primary-soft);color:var(--color-brand-primary)}.calendar-edit-backdrop{align-items:center;background:color-mix(in srgb,var(--color-brand-primary) 18%,transparent);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:absolute;z-index:20}.calendar-edit-modal{background:var(--color-app-surface);border:1px solid color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:16px;box-shadow:0 24px 64px color-mix(in srgb,var(--color-brand-primary) 24%,transparent);display:grid;gap:16px;max-width:360px;padding:16px;width:min(100%,360px)}.calendar-edit-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.calendar-edit-modal-header span{color:var(--color-brand-primary);display:block;font-size:12px;font-weight:900}.calendar-edit-modal-header strong{color:var(--color-text-primary);display:block;font-size:18px}.calendar-edit-modal-header button{background:var(--color-brand-primary-soft);border-radius:999px;color:var(--color-brand-primary);font-size:20px;height:42px;line-height:1;width:42px}.member-remove-modal p{color:var(--color-text-primary);line-height:1.65;margin:0}.calendar-event-actions.modal-actions{border-top:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent);padding-top:12px}@media(max-width:520px){.shell{padding:0}.login-screen{border:0;border-radius:0;box-shadow:none;min-height:100vh;padding:26px 20px 20px;width:100vw}.login-copy{margin-top:30px}.login-copy h1{font-size:36px}.calendar-event-datetime-row,.calendar-event-datetime-inputs{grid-template-columns:1fr}.calendar-event-datetime-row{gap:6px}.phone{border:0;border-radius:0;box-shadow:none;height:100vh;max-height:none;max-width:none;min-height:0;width:100vw}}:root{color:var(--color-text-primary);background:var(--color-app-bg)}.shell,.login-shell{background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--color-brand-accent) 10%,transparent),transparent 28%),linear-gradient(135deg,var(--color-app-bg) 0%,var(--color-brand-primary-soft) 58%,var(--color-brand-accent-soft) 100%)}.phone,.login-screen,.boot-screen{background:var(--color-app-surface);border-color:var(--color-app-border);box-shadow:0 22px 70px var(--color-app-shadow)}.login-screen:before{background:linear-gradient(color-mix(in srgb,var(--color-brand-primary) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-brand-primary) 5%,transparent) 1px,transparent 1px)}.login-copy h1,.home-title h1,.calendar-header strong,.agenda-section-title strong,.settings-card strong,.settings-card-header strong,.route-hero strong,.summary-section-title span{color:var(--color-text-primary)}.login-kicker,.calendar-header span,.agenda-section-title span,.route-hero span,.summary-section-title strong,.record-added-label{color:var(--color-brand-primary)}.login-button,.house-add-button,.settings-card-header button,.settings-create-button,.calendar-header button,.invite-card button,.invite-link-box button{background:var(--color-action-primary-bg);color:var(--color-action-primary-text)}.login-button:hover,.login-button:focus-visible{background:var(--color-action-primary-bg-hover)}.assistant-portrait,.avatar.lavender,.assistant-panel-portrait,.assistant-chat-avatar,.avatar-upload-preview,.record-assistant-icon{background:linear-gradient(145deg,var(--color-brand-primary-soft),var(--color-brand-primary))}.assistant-status p span{background:var(--color-status-success-text)}.content{background:var(--color-app-bg)}.content.calendar-content{background:var(--color-app-surface-raised);overflow:hidden;padding:0}.content.calendar-content .secondary{padding:0}.content.calendar-content .calendar-route-page{height:100%;min-height:0;overflow:hidden}.content.calendar-content .calendar-page,.content.calendar-content .calendar-panel{height:100%;min-height:0}.status-banner,.empty-state,.summary-empty{background:var(--color-status-info-bg);border-color:color-mix(in srgb,var(--color-brand-primary) 18%,transparent);color:var(--color-status-info-text)}.empty-state strong{color:var(--color-text-primary)}.quick-row button{background:var(--color-app-surface-raised);border-color:color-mix(in srgb,var(--color-brand-primary) 18%,transparent);color:var(--color-brand-primary)}.chat-status-summary{background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:16px;box-shadow:0 10px 24px color-mix(in srgb,var(--color-brand-primary) 8%,transparent);display:grid;gap:12px;margin-bottom:14px;padding:14px}.chat-status-summary>div:first-child span{color:var(--color-brand-primary);display:block;font-size:12px;font-weight:900}.chat-status-summary>div:first-child strong{color:var(--color-text-primary);display:block;font-size:15px;line-height:1.35;margin-top:2px}.chat-status-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.chat-status-item{background:var(--color-app-bg);border:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent);border-radius:12px;color:var(--color-text-primary);display:grid;gap:2px;min-height:58px;min-width:0;padding:8px 4px;text-align:center}.chat-status-item span{color:var(--color-brand-primary);font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-status-item strong{color:var(--color-brand-primary);font-size:20px;font-weight:900;line-height:1}.chat-status-item.shopping strong,.chat-status-item.pending strong{color:var(--palette-accent-strong)}.trail:before{background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--color-brand-primary) 18%,transparent) 0,color-mix(in srgb,var(--color-brand-primary) 18%,transparent) 6px,transparent 6px,transparent 13px)}.bubble.sage{background:var(--color-chat-user-bg)}.bubble.lavender,.pending-card{background:var(--color-brand-primary-soft)}.pending-card,.pending-list-card{border-color:color-mix(in srgb,var(--color-brand-primary) 14%,transparent)}.pending-card.shopping,.pending-list-card.shopping{background:var(--color-brand-accent-soft);border-color:color-mix(in srgb,var(--color-brand-accent) 20%,transparent)}.pending-card.todo,.pending-list-card.todo{background:var(--color-brand-primary-soft);border-color:color-mix(in srgb,var(--color-brand-primary) 15%,transparent)}.pending-card.reminder,.pending-list-card.reminder{background:var(--color-status-success-bg);border-color:color-mix(in srgb,var(--color-status-success-text) 16%,transparent)}.type-chip{border-radius:999px;display:inline-flex!important;font-size:10px!important;font-weight:900!important;line-height:1;margin:0 0 6px!important;padding:5px 7px;width:fit-content}.type-chip.calendar{background:var(--color-brand-primary-soft);color:var(--color-brand-primary)!important}.type-chip.shopping{background:var(--color-brand-accent-soft);color:var(--palette-accent-strong)!important}.type-chip.todo{background:var(--color-brand-primary-soft);color:var(--color-brand-primary)!important}.type-chip.reminder{background:var(--color-status-success-bg);color:var(--color-status-success-text)!important}.bubble.peach,.preview-line.you{background:var(--color-brand-accent-soft)}.record-card,.calendar-registered-card,.calendar-panel,.settings-card,.house-settings-card,.settings-create-form,.profile-edit-card,.members-card,.invite-card,.feedback-card,.avatar-upload-card{background:var(--color-app-surface-raised);border-color:color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:16px;box-shadow:0 10px 24px color-mix(in srgb,var(--color-brand-primary) 8%,transparent)}.record-card{border-radius:16px 16px 16px 6px}.record-kind-pill.orange,.orange{background:var(--color-brand-accent-soft);color:var(--palette-accent-strong)}.green{background:var(--color-status-success-bg);color:var(--color-status-success-text)}.purple{background:var(--color-brand-primary-soft);color:var(--color-brand-primary)}.shopping-list.large,.secondary-list{border-color:color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:16px}.shopping-row{border-color:color-mix(in srgb,var(--color-brand-primary) 10%,transparent)}.shopping-row>button{border-color:var(--color-brand-primary)}.shopping-row.completed>button{background:var(--color-brand-primary);border-color:var(--color-brand-primary)}.shopping-link{color:var(--color-brand-primary);text-decoration:none}.todo-kind{color:var(--color-status-warning-text)}.composer{background:var(--color-app-surface);border-color:var(--color-app-border);padding-bottom:calc(11px + env(safe-area-inset-bottom))}.composer input{background:var(--color-app-surface-raised);border-color:color-mix(in srgb,var(--color-brand-primary) 20%,transparent);color:var(--color-text-primary)}.composer-attachment-chip{background:var(--color-brand-primary-soft);border-color:color-mix(in srgb,var(--color-brand-primary) 14%,transparent);color:var(--color-text-primary)}.composer-attachment-chip small{color:var(--color-text-secondary)}.composer-attachment-chip button{background:color-mix(in srgb,var(--color-brand-primary) 10%,transparent);color:var(--color-brand-primary)}.composer input:focus{border-color:var(--color-brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand-primary) 14%,transparent)}.round-action{background:var(--color-brand-primary-soft);color:var(--color-brand-primary)}.send-button{background:var(--color-action-primary-bg)}.tab-bar{background:color-mix(in srgb,var(--color-app-surface) 96%,white);border-color:var(--color-app-border);grid-template-columns:repeat(4,minmax(0,1fr))}.tab-bar button{color:var(--color-text-secondary);font-size:11px;min-height:52px}.tab-bar button.active{color:var(--color-brand-primary)}.tab-icon{border:0;border-radius:0;height:24px;width:24px}.secondary.calendar-route-page,.secondary.todo-page,.secondary.settings-page{gap:12px;padding:2px 0 10px}.content:has(.todo-page){padding:8px 10px 12px}.secondary.todo-page{align-content:start;gap:8px}.todo-category-tabs{background:color-mix(in srgb,var(--color-brand-primary) 8%,transparent);border-radius:10px;display:grid;gap:2px;grid-template-columns:repeat(4,minmax(0,1fr));padding:2px}.todo-category-tabs button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--color-brand-primary);cursor:pointer;display:flex;gap:4px;justify-content:center;min-height:34px;padding:6px 3px;transition:background-color .16s ease,color .16s ease}.todo-category-tabs button.active{background:var(--color-app-surface-raised);color:var(--color-brand-primary)}.todo-category-tabs span{font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-category-tabs strong{color:var(--color-brand-primary);font-size:11px;font-weight:900}.route-hero{align-items:center;background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:16px;box-shadow:0 10px 24px color-mix(in srgb,var(--color-brand-primary) 7%,transparent);display:flex;gap:12px;justify-content:space-between;padding:14px}.route-hero span,.summary-section-title strong,.pending-list-card small{display:block;font-size:12px;font-weight:900}.route-hero strong{display:block;font-size:16px;line-height:1.35;margin-top:3px}.summary-section{background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent);border-radius:10px;display:grid;gap:4px;padding:8px 10px 6px}.summary-section-title{align-items:center;display:flex;gap:12px;justify-content:space-between}.summary-section-title small{color:var(--color-brand-primary);display:block;font-size:12px;font-weight:700;line-height:1.45;margin-top:3px}.summary-section-title-main{font-weight:800}.summary-list{display:grid;gap:0}.summary-list .shopping-row,.summary-list .calendar-event-row{background:transparent}.summary-list .shopping-row{border-bottom:1px solid color-mix(in srgb,var(--color-brand-primary) 8%,transparent);border-radius:0;gap:8px;grid-template-columns:24px minmax(0,1fr);min-height:0;padding:4px 0}.summary-list .shopping-row:last-child{border-bottom:0}.summary-list .shopping-row>button{height:20px;width:20px}.summary-list .shopping-link{align-items:baseline;display:grid;gap:6px;grid-template-columns:auto minmax(0,1fr) auto}.summary-list .shopping-link strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-list .shopping-link small{margin:0;white-space:nowrap}.summary-list .todo-kind{font-size:10px;margin:0}.list-empty.compact{background:var(--color-app-bg);border-radius:12px;padding:12px}.summary-empty{border-radius:16px;font-size:13px;line-height:1.6;padding:14px}.summary-empty.compact{color:var(--color-brand-primary);font-size:12px;line-height:1.45;padding:6px 0 2px}.pending-list-card{background:var(--color-app-surface-raised);border:1px solid color-mix(in srgb,var(--color-brand-primary) 12%,transparent);border-radius:16px;box-shadow:0 10px 24px color-mix(in srgb,var(--color-brand-primary) 6%,transparent);display:grid;gap:12px;padding:14px}.pending-list-card strong{color:var(--color-text-primary);display:block;font-size:16px;line-height:1.35;margin-top:3px}.pending-list-card span{color:var(--color-brand-primary);display:block;font-size:13px;margin-top:4px}.pending-card strong,.pending-list-card strong{line-height:1.45;overflow-wrap:anywhere}.pending-actions button:first-child{background:var(--color-action-primary-bg)}.pending-actions button:last-child{background:var(--color-brand-accent-soft);color:var(--palette-accent-strong)}.calendar-event-row{border-color:color-mix(in srgb,var(--color-brand-primary) 10%,transparent);grid-template-columns:66px 1fr 58px}.calendar-event-row .calendar-event-edit-button{background:var(--color-brand-accent-soft);color:var(--palette-accent-strong)}.calendar-event-actions .danger{background:var(--color-status-danger-bg);color:var(--color-status-danger-text)}.member-row{background:var(--color-app-bg)}.invite-card.primary{background:linear-gradient(180deg,var(--color-app-surface-raised) 0%,var(--color-brand-primary-soft) 100%);border-color:color-mix(in srgb,var(--color-brand-primary) 22%,transparent);margin-top:0}.invite-card.primary .settings-card-header button,.invite-link-box .copy-action{background:var(--color-brand-accent);color:var(--color-text-inverse)}.invite-link-box .revoke-action{background:var(--color-status-danger-bg);color:var(--color-status-danger-text)}.settings-card-header button{line-height:1.2;max-width:150px;white-space:normal}.feedback-footer button{background:var(--color-action-primary-bg)}.app-header{background:color-mix(in srgb,var(--color-app-surface) 96%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-height:58px}.house-icon-button,.app-logo-mark,.house-add-button,.settings-card-header button,.settings-create-button,.calendar-header button,.invite-card button,.invite-link-box button,.feedback-footer button,.pending-actions button,.quick-row button,.chat-status-item,.tab-bar button,.round-action,.send-button{-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,opacity .18s ease,transform .18s ease}.house-icon-button{border-radius:14px;min-height:44px}.house-icon-button:hover,.house-icon-button:focus-visible,.appbar-back-button:hover,.appbar-back-button:focus-visible{background:color-mix(in srgb,var(--color-brand-primary) 14%,transparent)}.assistant-status{background:color-mix(in srgb,var(--color-brand-primary) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent);border-radius:999px;padding:4px 7px 4px 4px}.status-banner{align-items:center;box-shadow:0 8px 18px color-mix(in srgb,var(--color-brand-primary) 6%,transparent);display:flex;gap:9px;line-height:1.45}.status-banner:before{background:currentColor;border-radius:999px;content:"";flex:0 0 auto;height:8px;opacity:.72;width:8px}.status-banner.loading:before{animation:status-pulse .9s ease-in-out infinite alternate;background:var(--color-brand-primary)}@keyframes status-pulse{0%{opacity:.38;transform:scale(.78)}to{opacity:1;transform:scale(1)}}.empty-state{background:linear-gradient(135deg,color-mix(in srgb,var(--color-app-surface-raised) 92%,transparent),color-mix(in srgb,var(--color-brand-primary-soft) 92%,transparent)),radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--color-brand-accent) 13%,transparent),transparent 34%);box-shadow:0 12px 28px color-mix(in srgb,var(--color-brand-primary) 8%,transparent);gap:8px;padding:16px}.empty-state strong{font-size:16px;line-height:1.35}.empty-state span{color:var(--color-brand-primary);line-height:1.55}.quick-row{scrollbar-width:none}.quick-row::-webkit-scrollbar{display:none}.quick-row button{box-shadow:0 8px 16px color-mix(in srgb,var(--color-brand-primary) 6%,transparent);min-height:38px}.quick-row button:hover,.quick-row button:focus-visible{background:var(--color-brand-primary-soft);border-color:color-mix(in srgb,var(--color-brand-primary) 34%,transparent);color:var(--color-text-primary)}.chat-status-summary{background:linear-gradient(180deg,var(--color-app-surface-raised) 0%,var(--color-app-bg) 100%);border-radius:18px}.chat-status-grid{gap:10px}.chat-status-item{border-radius:14px;min-height:64px;padding:9px 6px}.chat-status-item:hover,.chat-status-item:focus-visible{background:var(--color-brand-primary-soft);border-color:color-mix(in srgb,var(--color-brand-primary) 28%,transparent);box-shadow:0 10px 18px color-mix(in srgb,var(--color-brand-primary) 8%,transparent);transform:translateY(-1px)}.message-row.family .message-body{max-width:min(82%,380px)}.bubble{box-shadow:0 8px 18px color-mix(in srgb,var(--color-brand-primary) 4%,transparent)}.pending-card,.pending-list-card{box-shadow:0 14px 28px color-mix(in srgb,var(--color-brand-primary) 8%,transparent)}.pending-card{border-radius:18px 18px 18px 8px;padding:14px}.pending-actions{flex-wrap:wrap}.pending-actions button{font-weight:900;min-height:38px;padding:8px 13px}.pending-actions button:first-child:hover,.pending-actions button:first-child:focus-visible,.send-button:hover,.send-button:focus-visible{background:var(--color-action-primary-bg-hover);box-shadow:0 10px 22px color-mix(in srgb,var(--color-brand-primary) 22%,transparent)}.pending-actions button:last-child:hover,.pending-actions button:last-child:focus-visible{background:var(--color-brand-accent-soft);color:var(--palette-accent-strong)}.pending-actions button:disabled,.send-button:disabled,.round-action:disabled,.composer input:disabled,.assistant-chat-composer button:disabled,.feedback-footer button:disabled,.calendar-header button:disabled{cursor:not-allowed}.pending-time-field{background:color-mix(in srgb,var(--color-app-surface-raised) 70%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-primary) 10%,transparent);border-radius:14px;padding:9px 10px}.pending-time-field input{min-height:42px}.composer{box-shadow:0 -12px 24px color-mix(in srgb,var(--color-brand-primary) 8%,transparent)}.composer input{min-height:46px}.round-action:hover,.round-action:focus-visible{background:color-mix(in srgb,var(--color-brand-primary) 12%,var(--color-app-surface));box-shadow:0 10px 22px color-mix(in srgb,var(--color-brand-primary) 18%,transparent)}.tab-bar{box-shadow:0 -10px 26px color-mix(in srgb,var(--color-brand-primary) 8%,transparent);gap:4px;padding:8px 8px calc(10px + env(safe-area-inset-bottom))}.tab-bar button{border-radius:16px;min-height:56px}.tab-bar button:hover,.tab-bar button:focus-visible{background:color-mix(in srgb,var(--color-brand-primary) 7%,transparent)}.tab-bar button.active{background:var(--color-brand-primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-brand-primary) 14%,transparent)}.tab-bar button.active .tab-icon{color:var(--color-brand-primary)}.shopping-row,.record-line,.calendar-event-row,.member-row,.avatar-upload-card,.todo-category-tabs button{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.shopping-row:hover,.record-line:hover,.calendar-event-row:hover,.avatar-upload-card:hover{background:var(--color-app-surface-raised)}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.calendar-route-page{height:100%;min-height:0;overflow:hidden}.calendar-route-page .calendar-page{height:100%;min-height:0}.calendar-route-page .calendar-panel{background:transparent;border:0;border-radius:0;box-shadow:none;height:100%;min-height:0}.calendar-route-page .calendar-grid button{border-radius:0;cursor:pointer}@media(max-width:520px){.phone,.login-screen{border-radius:0;box-shadow:none}.route-hero{align-items:stretch;display:grid}.calendar-route-page .calendar-panel{min-height:100%}.calendar-route-page .calendar-grid{gap:1px}.calendar-route-page .calendar-grid button{font-size:12px;min-height:74px;padding:5px}.calendar-day-chip,.calendar-day-more{font-size:9px}.chat-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-status-item{min-height:48px}.invite-link-box{grid-template-columns:1fr 1fr}.invite-link-box input{grid-column:1 / -1}.settings-card-header{align-items:flex-start}}
