:root{color:#2e2622;background:#efe9df;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,YuGothic,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}button,input{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%,rgba(205,92,46,.08),transparent 28%),linear-gradient(135deg,#f6f0e7,#eee5d9 46%,#e9e0d8);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-shell{background:radial-gradient(circle at 12% 12%,rgba(8,145,178,.1),transparent 30%),radial-gradient(circle at 88% 18%,rgba(5,150,105,.1),transparent 28%),linear-gradient(140deg,#f7f2e9,#edf7f6 55%,#f3eadf)}.login-screen{background:linear-gradient(180deg,#fffdfaf5,#fffdfae8),linear-gradient(135deg,#0891b21f,#c65c2a1a);border:1px solid rgba(58,91,91,.16);border-radius:34px;box-shadow:0 24px 80px #354e4833;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:#fffdfad1;border:1px solid rgba(58,91,91,.12);border-radius:30px;box-shadow:0 20px 70px #354e4829;color:#164e63;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:#52645e;font-size:13px;margin:0}.login-screen:before{background:linear-gradient(rgba(22,78,99,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,78,99,.06) 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:#52645e;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.login-mark{align-items:center;background:#164e63;border-radius:16px;box-shadow:0 12px 28px #164e6338;display:grid;height:48px;justify-items:center;padding:10px;width:48px}.login-mark span{background:#ecfeff;border-radius:999px;display:block;height:4px;width:22px}.login-mark span:first-child{transform:translateY(3px) rotate(-28deg)}.login-mark span:last-child{transform:translateY(-3px) rotate(28deg)}.login-copy{align-self:end;display:grid;gap:12px;margin-top:42px}.login-kicker{color:#087f70;font-size:13px;font-weight:800}.login-copy h1{color:#164e63;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:#4f625d;font-size:14px;line-height:1.75;margin:0}.login-preview{background:#fffdfab8;border:1px solid rgba(22,78,99,.13);border-radius:22px;box-shadow:inset 0 1px #ffffffbf;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:#e2ede3;justify-self:end}.preview-line.assistant{background:#e8f3f4;color:#164e63}.preview-card{background:#fff8ed;border:1px solid rgba(198,92,42,.2);color:#7a462d}.preview-card strong,.preview-card span{display:block}.preview-card span{color:#5b5a50;margin-top:2px}.login-button{align-items:center;background:#164e63;border-radius:18px;box-shadow:0 14px 30px #164e633d;color:#ecfeff;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:#0f687b;box-shadow:0 18px 34px #164e6342}.login-button:disabled{cursor:wait;opacity:.68}.login-button.secondary{background:#fffdf9;border:1px solid rgba(22,78,99,.16);box-shadow:none;color:#164e63}.login-button b{font-size:22px;font-weight:700}.auth-choice-grid{display:grid;gap:10px}.auth-choice{align-items:center;background:#fffdfadb;border:1px solid rgba(22,78,99,.13);border-radius:16px;color:#164e63;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:#52645e;font-size:12px;font-weight:700}.auth-choice.active{background:#0f766e;border-color:#0f766e;box-shadow:0 16px 30px #0f766e2e;color:#f0fdfa}.auth-choice.active span{color:#f0fdfad6}.auth-choice.disabled{cursor:not-allowed;opacity:.58}.invite-join-form{background:#fffdfac2;border:1px solid rgba(22,78,99,.12);border-radius:22px;display:grid;gap:10px;padding:14px}.invite-join-form label{display:grid;gap:8px}.invite-join-form span{color:#52645e;font-size:12px;font-weight:900}.invite-join-form input{background:#fff;border:1px solid rgba(22,78,99,.14);border-radius:14px;color:#164e63;min-width:0;padding:12px}.invite-join-form button{background:#155a6c;border-radius:14px;color:#fff;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:#52645e;font-size:12px;font-weight:800}.setup-field input{background:#fffdfadb;border:1px solid rgba(22,78,99,.16);border-radius:16px;color:#164e63;min-height:52px;outline:none;padding:0 14px}.setup-field input:focus{border-color:#087f7094;box-shadow:0 0 0 4px #087f701a}.setup-field input:disabled{opacity:.7}.setup-avatar-preview{align-items:center;background:#fffdfac7;border:1px solid rgba(22,78,99,.13);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,#9bd6c7,#0f766e);border-radius:999px;color:#fff;display:inline-flex;font-size:20px;font-weight:900;height:48px;justify-content:center;width:48px}.setup-avatar-preview strong{color:#164e63;display:block;font-size:13px;font-weight:900;margin-bottom:2px}.setup-avatar-preview p{color:#52645e;font-size:12px;line-height:1.5;margin:0}.phone{background:#fffdfa;border:1px solid rgba(96,73,56,.16);border-radius:34px;box-shadow:0 24px 80px #4b312338;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;width:min(390px,calc(100vw - 24px))}.app-header{align-items:center;border-bottom:1px solid rgba(82,64,48,.12);display:grid;gap:8px;grid-template-columns:32px 1fr auto;padding:10px 14px 9px}.icon-button{align-items:center;background:transparent;display:grid;gap:5px;height:32px;justify-content:center;padding:0;width:32px}.icon-button span{background:#6a4c3c;border-radius:999px;height:2px;width:18px}.home-title{align-items:center;background:transparent;color:inherit;display:flex;min-width:0;padding:0;text-align:left}.house-switcher{min-width:0;position:relative}.home-title h1{font-size:16px;letter-spacing:0;line-height:1.1;margin:0 0 2px}.home-title p,.assistant-status p{color:#766a62;font-size:12px;margin:0}.home-title strong{color:#c65626;font-size:13px}.house-menu{background:#fffdf9;border:1px solid rgba(72,84,70,.16);border-radius:20px;box-shadow:0 18px 40px #3a2b1f2e;display:grid;gap:10px;left:0;min-width:220px;padding:12px;position:absolute;top:calc(100% + 10px);z-index:20}.house-menu>strong{color:#4c3a2f;font-size:13px}.house-menu-list,.settings-house-list{display:grid;gap:8px}.house-menu-list button,.settings-house-list button{background:#f7efe6;border:1px solid rgba(176,125,79,.18);border-radius:14px;color:#4c3a2f;display:grid;gap:2px;padding:10px 12px;text-align:left}.house-menu-list button.active,.settings-house-list button.active{background:#e9edde;border-color:#6a954d5c}.house-menu-list span,.settings-house-list span{font-size:14px;font-weight:800}.house-menu-list small,.settings-house-list small{color:#766a62;font-size:12px}.house-add-button,.settings-card-header button,.settings-create-button{background:#164e63;border-radius:999px;color:#ecfeff;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:#6a954d;border-radius:50%;display:inline-block;height:7px;margin-left:4px;width:7px}.assistant-portrait,.avatar{align-items:center;border:1px solid rgba(72,54,40,.13);border-radius:50%;display:flex;flex:0 0 auto;font-weight:800;justify-content:center}.assistant-portrait{background:linear-gradient(145deg,#ece2d8,#f8f1e8 45%,#7d4d32);color:#fffdfa;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:#f7efe6;border:1px solid rgba(176,125,79,.22);border-radius:16px;color:#705a49;font-size:13px;margin:0 0 14px;padding:10px 12px}.status-banner.error{background:#fff0e7;border-color:#c75c2a52;color:#8a3d20}.status-banner.success{background:#7f9f7524;border-color:#7f9f753d;color:#435c38}.empty-state{display:grid;gap:3px;margin:0}.empty-state strong{color:#4c3a2f;font-size:14px}.empty-state span{font-size:12px}.trail:before{background:repeating-linear-gradient(to bottom,rgba(121,102,84,.26) 0,rgba(121,102,84,.26) 6px,transparent 6px,transparent 13px);bottom:20px;content:"";left:82px;position:absolute;top:56px;width:2px}.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,#f4dfcf,#c8805e);color:#fff}.avatar.sage{background:linear-gradient(145deg,#e6eadc,#5d7049);color:#fff}.avatar.lavender{background:linear-gradient(145deg,#eee8f0,#6d637d);color:#fff}.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:#846a4a;font-size:14px}.message-row.assistant .message-meta strong{color:#6d637d}.message-meta time,.record-card time,.record-line time{color:#7f766f;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:#f6dfcf}.bubble.sage{background:#e9edde}.message-row.family .bubble{border-radius:18px 18px 6px;max-width:100%;text-align:left}.bubble.lavender{background:#ece8ef}.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:#fffdf9;border:1px solid rgba(114,91,69,.14);border-radius:16px;box-shadow:0 8px 20px #4b3d310f;color:#4d4844;display:grid;gap:6px;overflow:hidden;text-decoration:none;width:min(240px,100%)}.message-attachment img,.message-attachment video{background:#efe8de;display:block;max-height:260px;object-fit:cover;width:100%}.message-attachment span{color:#766a62;font-size:11px;overflow:hidden;padding:0 10px 9px;text-overflow:ellipsis;white-space:nowrap}.record-card{align-items:center;background:linear-gradient(180deg,#fffdf9,#f8f2ea);border:1px solid rgba(109,99,125,.16);border-radius:18px 18px 18px 7px;box-shadow:0 12px 28px #44302014;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,#fbfaf7,#eee9e2);border-color:#82776a33;box-shadow:0 8px 20px #4430200a;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:#82776a;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:#6d637d;font-size:11px;font-weight:800}.record-undone-label{color:#c4541d;font-size:11px;font-weight:900}.record-card small,.record-line small{color:#5d5650;display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-card b{color:#94887f;font-size:20px;font-weight:400}.record-card.reverted .record-kind-pill,.record-card.reverted b{display:none}.record-card.reverted time{color:#a49a90}.record-assistant-icon{align-items:center;background:linear-gradient(145deg,#eee8f0,#6d637d);border:1px solid rgba(72,54,40,.13);border-radius:50%;color:#fff;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}.green{background:#e7ead8;color:#66723f}.purple{background:#e8e1ef;color:#6b5f86}.orange{background:#f5dfcd;color:#c15929}.pending-card{background:#ece8ef;border:1px solid rgba(109,99,125,.12);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:#3f3a45;display:block;font-size:14px}.pending-card small{color:#7e6e62;display:block;font-size:12px;margin-top:2px}.pending-actions{display:flex;gap:8px}.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:#c75c2a;color:#fff}.pending-actions button:last-child{background:#efe5da;color:#6b5548}.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:#fff7ed;color:#c2410c}.pending-action-message.success{background:#ecfdf5;color:#0f766e}.record-list{display:grid}.record-line{align-items:center;background:transparent;border-bottom:1px solid rgba(114,91,69,.1);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 rgba(114,91,69,.16);border-radius:18px;overflow:hidden}.shopping-row{align-items:center;background:transparent;border-bottom:1px solid rgba(114,91,69,.1);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:#fffdfa;border:2px solid #c75c2a;border-radius:50%;color:#fffdfa;height:24px;line-height:1;padding:0;width:24px}.shopping-row.completed{color:#8c8178}.shopping-row.completed strong{text-decoration:line-through}.shopping-row.completed>button{background:#7b8f59;border-color:#7b8f59;color:#fff}.shopping-row strong{display:block;font-size:14px}.shopping-link{align-items:center;display:grid;gap:2px;grid-template-columns:1fr;color:#8f3d1f;width:100%;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px}.shopping-link:hover,.shopping-link:focus-visible{text-decoration-thickness:2px;text-decoration-color:#a64d2d}.todo-kind{color:#b66f3f;display:block;font-size:11px;margin-bottom:2px}.shopping-row small{color:#7f766f;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:#fffdfa;border:1px solid rgba(176,125,79,.22);border-radius:999px;color:#7b553b;flex:0 0 auto;font-size:12px;padding:8px 11px}.composer{align-items:center;border-top:1px solid rgba(82,64,48,.11);display:grid;gap:10px;grid-template-columns:44px 1fr 44px;padding:10px 16px 11px}.file-input{display:none}.composer input{background:#fffdfa;border:1px solid rgba(93,73,59,.24);border-radius:999px;color:#2e2622;font-size:16px;min-width:0;outline:0;padding:12px 16px}.composer input:focus{border-color:#c85f2d;box-shadow:0 0 0 3px #c85f2d21}.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:#c75c2a;color:#fff}.send-button{background:#c75c2a;color:#fff;transform:rotate(45deg)}.tab-bar{background:#fffdfafa;border-top:1px solid rgba(82,64,48,.12);display:grid;grid-template-columns:repeat(6,1fr);padding:7px 4px 9px}.tab-bar button{align-items:center;background:transparent;color:#4d4844;display:grid;font-size:10px;gap:3px;justify-items:center;min-height:48px;padding:2px}.tab-bar button.active{color:#c75c2a}.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 rgba(114,91,69,.16);border-radius:18px;overflow:hidden}.list-empty{color:#7f766f;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,#eee8f0,#6d637d);border-radius:50%;color:#fff;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:#fffdf9;border:1px solid rgba(72,84,70,.12);border-radius:20px;box-shadow:0 10px 20px #4b3d3112;cursor:pointer;display:grid;gap:4px;justify-items:center;padding:14px 10px}.avatar-upload-card input{display:none}.avatar-upload-card span{color:#2f2b26;font-size:13px;font-weight:800}.avatar-upload-card small{color:#c75c2a;font-size:11px;font-weight:800}.avatar-upload-preview{align-items:center;background:linear-gradient(145deg,#eee8f0,#6d637d);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:900;height:44px;justify-content:center;overflow:hidden;width:44px}.assistant-panel span,.assistant-panel small{color:#82766b;display:block;font-size:12px}.assistant-panel strong{color:#2f2b26;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:#ece8ef}.assistant-chat-message.user p{background:#e9edde;border-radius:18px 18px 6px}.assistant-chat-avatar{align-items:center;background:linear-gradient(145deg,#eee8f0,#6d637d);border-radius:50%;color:#fff;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:#82766b;display:grid;gap:4px;justify-items:center;padding:24px 12px;text-align:center}.assistant-chat-empty strong{color:#2f2b26}.assistant-chat-composer{align-items:center;background:#fffdf9;border:1px solid rgba(114,91,69,.12);border-radius:999px;box-shadow:0 10px 20px #4b3d3114;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:6px}.assistant-chat-composer:focus-within{box-shadow:0 0 0 3px #c85f2d21}.assistant-chat-composer input{background:transparent;border:0;min-width:0;outline:0;padding:10px 12px}.assistant-chat-composer button{background:#c75c2a;border-radius:999px;color:#fff;font-size:13px;padding:10px 14px}.assistant-chat-composer button:disabled{cursor:not-allowed;opacity:.56}.settings-card{background:#fffdf9;border:1px solid rgba(72,84,70,.12);border-radius:22px;box-shadow:0 12px 24px #4b3d3114;display:grid;gap:5px;margin-top:12px;padding:16px}.settings-card span{color:#82766b;font-size:12px;font-weight:800}.settings-card strong{color:#2f2b26;font-size:18px}.push-settings-card{align-items:center;grid-template-columns:1fr auto}.push-settings-card small{color:#71675d;display:block;font-size:12px;font-weight:700;line-height:1.5;margin-top:4px}.push-settings-card button{background:#0f766e;border-radius:999px;color:#fff;font-size:13px;min-width:94px;padding:10px 14px}.push-settings-card button:disabled{cursor:not-allowed;opacity:.56}.settings-status-text{color:#c2410c!important}.house-settings-card,.settings-create-form,.members-card,.invite-card,.feedback-card{background:#fffdf9;border:1px solid rgba(72,84,70,.12);border-radius:22px;box-shadow:0 12px 24px #4b3d3114;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:#82766b;display:block;font-size:12px;font-weight:800}.settings-card-header strong{color:#2f2b26;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:#71675d;font-size:13px;line-height:1.7;margin:0}.member-list{display:grid;gap:10px}.member-row{align-items:center;background:#4854460f;border-radius:16px;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:10px}.member-avatar{align-items:center;background:#e8f3f4;border-radius:14px;color:#164e63;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:#2f2b26;font-size:14px}.member-row small{color:#82766b;font-size:12px;margin-top:2px}.member-row button{background:#7a462d;border-radius:14px;color:#fff;font-size:13px;font-weight:900;min-height:40px;padding:0 12px}.member-row button:disabled{cursor:wait;opacity:.64}.settings-secondary-action{background:#fff;border:1px solid rgba(122,70,45,.18);border-radius:14px;color:#7a462d;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:#71675d;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:#fff;border:1px solid rgba(72,84,70,.14);border-radius:14px;color:#2f2b26;font-size:12px;min-width:0;padding:11px 12px}.invite-card button,.invite-link-box button{background:#155a6c;border:0;border-radius:14px;color:#fff;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:#48544614;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:#5c564d;font-size:13px;font-weight:800;min-height:38px}.feedback-type-control button.active{background:#fff;box-shadow:0 8px 18px #4b3d311a;color:#2f2b26}.feedback-type-control button:disabled{cursor:wait;opacity:.68}.feedback-field{display:grid;gap:8px}.feedback-field span{color:#82766b;font-size:12px;font-weight:800}.feedback-field textarea{background:#fff;border:1px solid rgba(72,84,70,.16);border-radius:16px;color:#2f2b26;font:inherit;min-height:120px;padding:12px 14px;resize:vertical}.feedback-field textarea:focus{border-color:#7f9f75;box-shadow:0 0 0 4px #7f9f7524;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:#82766b;font-size:12px;font-weight:800}.feedback-footer button{background:#2f2b26;border:0;border-radius:999px;color:#fff;font-size:13px;font-weight:900;min-width:96px;padding:11px 18px}.feedback-footer button:disabled{cursor:not-allowed;opacity:.56}.feedback-success{background:#7f9f7524;border:1px solid rgba(127,159,117,.22);border-radius:14px;color:#435c38;font-size:13px;font-weight:800;padding:10px 12px}.calendar-registered-card{align-items:center;background:#eef8f7;border:1px solid rgba(21,90,108,.16);border-radius:18px;color:#164e63;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:#087f70;font-size:11px;font-weight:900}.calendar-registered-card strong{font-size:14px;overflow-wrap:anywhere}.calendar-registered-card span{color:#53645f;font-size:12px;font-weight:700}.calendar-registered-card button{background:#fff;border:1px solid rgba(21,90,108,.16);border-radius:12px;color:#155a6c;flex:0 0 auto;font-size:12px;font-weight:900;min-height:36px;padding:0 10px}.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 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:#087f70;display:block;font-size:12px;font-weight:900}.calendar-header strong,.agenda-section-title strong{color:#164e63;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 rgba(15,118,110,.14);border-radius:999px;color:#0f5f5b;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:#155a6c;border-radius:8px;color:#fff;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 span{color:#82766b;font-size:11px;font-weight:900;text-align:center}.calendar-grid{background:#0f766e1f;gap:1px;grid-auto-rows:minmax(86px,1fr);min-height:0;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform}.calendar-grid.month-next{animation:calendar-month-enter-next .24s cubic-bezier(.2,.8,.2,1) both}.calendar-grid.month-previous{animation:calendar-month-enter-previous .24s cubic-bezier(.2,.8,.2,1) both}@keyframes calendar-month-enter-next{0%{transform:translate(32px)}to{transform:translate(0)}}@keyframes calendar-month-enter-previous{0%{transform:translate(-32px)}to{transform:translate(0)}}.calendar-grid button{align-content:start;align-items:start;background:#fff;border:0;border-radius:0;color:#2f2b26;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:#b8afa4}.calendar-grid button.active{background:#f0fdfa;color:#123f3c}.calendar-day-number{align-items:center;display:inline-flex;height:22px;justify-content:center;justify-self:start;width:22px}.calendar-grid button.active .calendar-day-number{background:#0f766e;border-radius:999px;color:#fff}.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:#ccfbf1;color:#0f5f5b}.calendar-day-chip.todo{background:#ffedd5;color:#9a3412}.calendar-day-more{color:#64748b;padding-left:2px}.calendar-day-sheet{animation:calendar-day-sheet-enter .22s cubic-bezier(.2,.8,.2,1) both;background:#fff;border:1px solid rgba(15,118,110,.14);border-bottom:0;border-radius:14px 14px 0 0;bottom:0;box-shadow:0 -18px 42px #0f524e29;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){.calendar-day-sheet,.calendar-grid.month-next,.calendar-grid.month-previous{animation:none}}.calendar-day-sheet-handle{background:#cbd5d1;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:#087f70;display:block;font-size:12px;font-weight:900}.calendar-day-sheet-header strong{color:#123f3c;display:block;font-size:18px}.calendar-day-sheet-header button{align-items:center;background:#f8faf8;border:1px solid rgba(15,118,110,.12);border-radius:999px;color:#4b635f;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:#f8faf8}.calendar-day-empty{align-items:center;background:#f8faf8;border:1px solid rgba(15,118,110,.1);border-radius:10px;color:#4b635f;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:#fff;border:1px solid rgba(72,84,70,.1);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:#164e63;font-size:13px}.calendar-event-row time span,.calendar-event-row small{color:#71675d;font-size:11px;font-weight:800}.calendar-event-row div strong{color:#2f2b26;font-size:14px;overflow-wrap:anywhere}.calendar-event-row .calendar-event-edit-button{background:#fff4ee;border-radius:10px;color:#7a462d;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:#71675d;font-size:11px;font-weight:900}.calendar-event-edit-fields input[type=text],.calendar-event-edit-fields input:not([type]){width:100%}.calendar-event-edit-fields input[type=time],.calendar-event-edit-fields input[type=text],.calendar-event-edit-fields input:not([type]){background:#fff;border:1px solid rgba(15,118,110,.18);border-radius:8px;color:#123f3c;font:inherit;font-size:14px;min-width:0;padding:8px}.calendar-event-edit-fields input:disabled{background:#eef4f1;color:#8a9895}.calendar-event-all-day-toggle{align-items:center;display:flex!important;gap:8px!important}.calendar-event-all-day-toggle input{accent-color:#0f766e}.calendar-event-time-fields{display:grid;gap:8px;grid-template-columns:1fr 1fr}.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:#f1f8f5;color:#0f766e}.calendar-event-actions .danger{background:#fff4ee;color:#c2410c}.calendar-edit-backdrop{align-items:center;background:#123f3c2e;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:absolute;z-index:20}.calendar-edit-modal{background:#fffdf9;border:1px solid rgba(15,118,110,.12);border-radius:16px;box-shadow:0 24px 64px #0f524e3d;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:#0f766e;display:block;font-size:12px;font-weight:900}.calendar-edit-modal-header strong{color:#123f3c;display:block;font-size:18px}.calendar-edit-modal-header button{background:#f1f8f5;border-radius:999px;color:#47615d;font-size:20px;height:42px;line-height:1;width:42px}.calendar-event-actions.modal-actions{border-top:1px solid rgba(15,118,110,.1);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}.phone{border:0;border-radius:0;box-shadow:none;height:100vh;max-height:none;max-width:none;min-height:0;width:100vw}}:root{color:#102a2a;background:#f8faf8}.shell,.login-shell{background:#f8faf8}.phone,.login-screen,.boot-screen{background:#fffdf8;border-color:#0f5f5b24;box-shadow:0 22px 70px #0f524e24}.login-screen:before{background:linear-gradient(rgba(15,95,91,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(15,95,91,.05) 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:#123f3c}.login-kicker,.calendar-header span,.agenda-section-title span,.route-hero span,.summary-section-title strong,.record-added-label{color:#0f766e}.login-mark,.login-button,.house-add-button,.settings-card-header button,.settings-create-button,.calendar-header button,.invite-card button,.invite-link-box button{background:#0f766e;color:#f0fdfa}.login-button:hover,.login-button:focus-visible{background:#115e59}.assistant-portrait,.avatar.lavender,.assistant-panel-portrait,.assistant-chat-avatar,.avatar-upload-preview,.record-assistant-icon{background:linear-gradient(145deg,#ccfbf1,#0f766e)}.assistant-status p span{background:#22c55e}.content{background:#f8faf8}.content.calendar-content{background:#fff;overflow:hidden;padding:0}.content.calendar-content .secondary{padding:0}.content.calendar-content .calendar-page,.content.calendar-content .calendar-panel{height:100%}.status-banner,.empty-state,.summary-empty{background:#ecfdf5;border-color:#0f766e2e;color:#31534f}.empty-state strong{color:#123f3c}.quick-row button{background:#fff;border-color:#0f766e2e;color:#0f5f5b}.trail:before{background:repeating-linear-gradient(to bottom,rgba(15,118,110,.18) 0,rgba(15,118,110,.18) 6px,transparent 6px,transparent 13px)}.bubble.sage{background:#dff6e9}.bubble.lavender,.pending-card{background:#e6f4f1}.bubble.peach,.preview-line.you{background:#fff2df}.record-card,.calendar-registered-card,.calendar-panel,.settings-card,.house-settings-card,.settings-create-form,.members-card,.invite-card,.feedback-card,.avatar-upload-card{background:#fff;border-color:#0f766e1f;border-radius:16px;box-shadow:0 10px 24px #0f524e14}.record-card{border-radius:16px 16px 16px 6px}.record-kind-pill.orange,.orange{background:#ffedd5;color:#c2410c}.green{background:#dcfce7;color:#166534}.purple{background:#e0f2fe;color:#075985}.shopping-list.large,.secondary-list{border-color:#0f766e1f;border-radius:16px}.shopping-row{border-color:#0f766e1a}.shopping-row>button{border-color:#0f766e}.shopping-row.completed>button{background:#0f766e;border-color:#0f766e}.shopping-link{color:#0f5f5b;text-decoration:none}.todo-kind{color:#c2410c}.composer{background:#fffdf8;border-color:#0f5f5b1f}.composer input{background:#fff;border-color:#0f766e33;color:#102a2a}.composer input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24}.round-action{background:#f97316}.send-button{background:#0f766e}.tab-bar{background:#fffdf8fa;border-color:#0f5f5b1f;grid-template-columns:repeat(4,1fr)}.tab-bar button{color:#4b635f;font-size:11px;min-height:52px}.tab-bar button.active{color:#0f766e}.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:#0f766e14;border-radius:10px;display:grid;gap:2px;grid-template-columns:repeat(3,minmax(0,1fr));padding:2px}.todo-category-tabs button{align-items:center;background:transparent;border:0;border-radius:8px;color:#4b635f;cursor:pointer;display:flex;gap:6px;justify-content:center;min-height:34px;padding:6px 4px;transition:background-color .16s ease,color .16s ease}.todo-category-tabs button.active{background:#fff;color:#0f5f5b}.todo-category-tabs span{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-category-tabs strong{color:#0f766e;font-size:11px;font-weight:900}.route-hero{align-items:center;background:#fff;border:1px solid rgba(15,118,110,.12);border-radius:16px;box-shadow:0 10px 24px #0f524e12;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:#fff;border:1px solid rgba(15,118,110,.1);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:#4b635f;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 rgba(15,118,110,.08);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:#f8faf8;border-radius:12px;padding:12px}.summary-empty{border-radius:16px;font-size:13px;line-height:1.6;padding:14px}.summary-empty.compact{color:#4b635f;font-size:12px;line-height:1.45;padding:6px 0 2px}.pending-list-card{background:#fff;border:1px solid rgba(15,118,110,.12);border-radius:16px;box-shadow:0 10px 24px #0f524e0f;display:grid;gap:12px;padding:14px}.pending-list-card strong{color:#123f3c;display:block;font-size:16px;line-height:1.35;margin-top:3px}.pending-list-card span{color:#4b635f;display:block;font-size:13px;margin-top:4px}.pending-actions button:first-child{background:#0f766e}.pending-actions button:last-child{background:#fff7ed;color:#c2410c}.calendar-event-row{border-color:#0f766e1a;grid-template-columns:66px 1fr 58px}.calendar-event-row .calendar-event-edit-button,.calendar-event-actions .danger{background:#fff7ed;color:#c2410c}.member-row{background:#f1f8f5}.feedback-footer button{background:#123f3c}.calendar-route-page,.calendar-route-page .calendar-page{min-height:100%}.calendar-route-page .calendar-panel{background:transparent;border:0;border-radius:0;box-shadow:none}.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}}
