/* Shared finish: warm paper, forest accents, quiet component boundaries. */
:root{--ink:#293c35;--muted:#657361;--line:#e6e7dd;--page:#faf8f3;--forest:#365e49;--deep-forest:#263e36}
.workspace{background:#faf8f3}.workspace-top{border-bottom-color:#e8e8df}
.page-heading h1{color:#293c35;letter-spacing:-1px}.page-heading p{color:#657361}
.rail{background:#263e36;border-right:1px solid #365147}
.rail .nav-item{color:#d4dfd4;border-radius:14px}
.rail .nav-item:hover{background:#ffffff0b}.rail .nav-item:focus-visible{outline:2px solid #ffffff;outline-offset:-2px}.rail .nav-item.active{background:#e5eddb;color:#294438}
.rail .calendar-choice{background:#ffffff08;border:1px solid #ffffff12;color:#e2e9df}
.rail-bottom{border-top:1px solid #ffffff12}.rail .brand{color:#fffdf3}
.bottom-nav{border-top:1px solid #e3e7db;background:#fffefa}
.bottom-nav .nav-item.active{background:#e5eddb;color:#294438}
.family-room{border-color:#e6e7dd;box-shadow:0 8px 32px #2a412908}
.room-header{background:#faf8f3;border-bottom:1px solid #e8ebdf}
.room-avatar{background:#e5eddb;border:1px solid #d9e4cf;color:#486343;border-radius:15px}
.room-header h2{color:#2e4737}.room-header .icon-button{background:#fffefa;border-color:#dfe6d7;border-radius:14px;color:#496349}
.room-header .call-entry{background:#365e49;color:#fffefa;border-color:#365e49;border-radius:14px}
.room-header .call-entry:hover{background:#294b39}.room-header .call-entry:focus-visible{outline:2px solid #ffffff;outline-offset:-2px}
.channel-tabs{padding:6px 10px;background:#f5f5ef;gap:6px;border-bottom:1px solid #e7e9de}
.channel-tabs button,.guest-room .channel-tabs button{min-height:48px;border:1px solid transparent;border-radius:12px;font-weight:500;color:#657361}
.channel-tabs button.active{background:#fffefa;color:#365e49;box-shadow:0 2px 7px #233a2410;border-color:#e0e7dc;font-weight:650}
.channel-tabs button:focus-visible{outline:2px solid #365e49;outline-offset:2px}.channel-tabs button:hover:not(.active){background:#f0f0e8;color:#365e49}
.chat-encryption{background:#fafaf5}.chat-encryption .text-button{color:#65765e}
.chat-messages{background:#faf8f3}
.chat-bubble{background:#fffefa;border:1px solid #e9e6dc;border-radius:20px 20px 20px 6px;box-shadow:0 2px 5px #263e3606}
.chat-message.mine .chat-bubble{background:#e7eee4;border-color:#dce6d7;border-radius:20px 20px 6px 20px}
.chat-author b,.chat-bubble p{color:#293c35}.chat-author time{color:#657361}
.chat-message>.avatar{background:#f0e7da;border:1px solid #e7dfd1;color:#80684d}
.chat-empty-heart{background:#ebeedd;border:1px solid #dfe6cf;color:#698050;border-radius:20px}
.chat-composer{background:#fffefa;border-top:1px solid #e7e8df}
.composer-row textarea{background:#f3f4ed;border:1px solid #e6e8de;border-radius:16px;color:#293c35}
.composer-row textarea:focus{border-color:#76906a;outline:2px solid #dfe8d6;outline-offset:1px}.composer-row textarea:hover{background:#f4f5ed}
.composer-row>.icon-button{background:#fffefa;border:1px solid #e4e8df;border-radius:14px;color:#52684c}
.send-button{background:#365e49;color:white;border:1px solid #365e49;border-radius:16px;box-shadow:0 3px 8px #365e4915}
.send-button:hover{background:#294b39}.send-button:focus-visible{outline:2px solid #ffffff;outline-offset:-2px}.send-button:disabled{background:#dce6d7;color:#657361;border-color:#dce6d7;box-shadow:none}
.composer-status{color:#6b7964}
.attachment-preview{max-height:200px;background:#f4f5e9;border-color:#dfe4d0}
.voice-toggle{background:#365e49}.voice-speed{background:#fffefa;border-color:#dce4d5}
.voice-heading{color:#46633e}
.next-card{background:#faf8f3;border:1px solid #e6e7dd;border-radius:24px}
.next-card h2{color:#304a36}.next-card .eyebrow{color:#657b54}
.event{border:1px solid #e6e7dd;border-radius:20px;background:#fffefa;box-shadow:0 2px 5px #263e3605}
.event-time{color:#365e49;background:#edf2e9;border-radius:12px;padding:8px 4px;align-self:start;text-align:center}
.event-time small{color:#71816c}.event.completed{background:#f7f8f1}
.event-actions .button.secondary{background:#f2f5eb;border-color:#dfe6d7;color:#496542}
.filter-chip.selected,.filter-chip.active{background:#365e49;color:#fff;border-color:#365e49}
.week-strip{background:#fffefa;border:1px solid #e6e7dd;border-radius:18px}
.date-button.selected{background:#365e49;color:#fff}.date-button.selected span{color:#e9f0e4}
.date-button.current:not(.selected){background:#eef2e5;color:#496542}
.support-card{border:1px solid #e7e7da;box-shadow:0 3px 10px #293c3504}
.support-card h2{color:#36513c}.template-button{background:#fffefa;border-color:#e2e7d9;border-radius:15px}
#event-form .modal-title{background:#faf8f3}
#event-form .field label{font-size:13px;color:#506357}
#event-form .field input{background:#fffefb}
#event-form .actions button[type=submit]{background:#365e49;border-radius:14px;box-shadow:0 4px 12px #365e4920}
@media(min-width:900px){.room-header{padding:21px 24px}.channel-tabs{padding:8px 16px}.chat-messages{padding:28px 24px}.chat-composer{padding:16px 20px 12px}}
@media(max-width:480px){.channel-tabs{gap:3px;padding:6px}.channel-tabs button,.guest-room .channel-tabs button{font-size:14px;gap:5px}.channel-tabs button .icon{width:18px;height:18px}.room-header h2,.guest-room .room-header h2{font-size:20px}.attachment-preview{max-height:180px}}
/* Codex acceptance: maintain contrast, mobile labels and compact conversation heading. */
:root{--purple:#365e49}
.rail .nav-item.active:focus-visible{outline-color:#365e49}
.composer-row textarea:focus{outline-color:#607f52}
@media(min-width:1000px){body[data-workspace-view=family] .page-heading{margin:16px 0}body[data-workspace-view=family] .page-heading h1{font-size:28px;margin:0 0 4px}body[data-workspace-view=family] .page-heading p{margin:0}.chat-messages{padding-block:20px}}
@media(max-width:480px){.channel-tabs button,.guest-room .channel-tabs button{font-size:12px;gap:5px}.channel-tabs button .icon{width:16px;height:16px}}
