.life-panel { background: #fff; border: 1px solid #dce3ee; border-radius: 16px; padding: 24px; margin-bottom: 20px; color: #182335; }
.life-panel h3 { font-size: 1.35rem; font-weight: 800; margin: 0 0 12px; }
#life-actions-panel { scroll-margin-top: 100px; }
.life-focus { border-left: 5px solid #1759a8; background: #f3f7ff; }
.life-eyebrow { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; color: #174c90; }
.life-muted { color: #4b5b70; font-size: .85rem; line-height: 1.6; margin: 8px 0; }
.life-actions, .life-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.life-button { border: 1px solid #aebed3; border-radius: 8px; padding: 9px 13px; background: #f2f6fc; color: #174c90; font-weight: 700; font-size: .85rem; cursor: pointer; min-height: 42px; }
.life-button:hover { background: #e1edfc; }
.life-button:disabled { opacity: .55; cursor: wait; }
.life-panel :is(button,input,select,textarea,summary):focus-visible { outline: 3px solid #1759a8; outline-offset: 3px; }
.life-label { display: block; font-weight: 700; font-size: .85rem; margin: 14px 0 7px; }
.life-panel :is(input,select,textarea) { border: 1px solid #9dafc7; border-radius: 8px; padding: 10px; background: white; color: #182335; max-width: 100%; }
.life-panel :is(textarea,select,input[type=search]) { width: 100%; }
.life-time-input { width: 95px; }
.life-timer { font-size: 2rem; font-weight: 800; margin: 16px 0; font-variant-numeric: tabular-nums; }
.life-list { list-style: none; padding: 0; margin: 18px 0 0; }
.life-list-row { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid #dce3ee; padding: 16px 0; }
.life-task-text { display: flex; gap: 12px; min-width: 0; flex: 1 1 240px; }
.life-task-link { text-align: left; color: #174c90; font-weight: 750; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.life-number { color: #4b5b70; font-weight: 700; }
.life-panel summary { cursor: pointer; font-weight: 700; }
.goal-progress { margin-top: 24px; scroll-margin-top: 20px; }
#goal-progress-panel { scroll-margin-top: 100px; }
@media (max-width: 767px) { #goal-progress-panel { scroll-margin-top: 140px; } }
.goal-progress h4 { font-size: 1.15rem; font-weight: 800; margin-top: 28px; }
.goal-progress fieldset { border: 1px solid #dce3ee; padding: 16px; margin: 16px 0; border-radius: 8px; min-width: 0; }
.goal-progress legend { font-weight: 800; padding: 0 6px; }
.goal-progress input { width: 100%; }
.goal-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.goal-result dt { font-weight: 800; margin: 14px 0 4px; }
.goal-result dd, .goal-milestone-body, .goal-progress p { white-space: pre-wrap; overflow-wrap: anywhere; }
.goal-milestone-body { width: 100%; min-width: 0; }
.goal-notice { padding: 12px; border-left: 4px solid #1759a8; background: #f3f7ff; margin: 12px 0; }
.goal-measurement { margin: 16px 0; font-size: 1.05rem; }
#goals-list .text-outline { color: #4b5b70; }
#view-settings .text-outline { color: #4b5b70; }
.life-profile fieldset { border: 1px solid #dce3ee; padding: 16px; margin: 16px 0; border-radius: 8px; min-width: 0; }
.life-profile legend { font-weight: 800; padding: 0 6px; }
.life-profile input:not([type=checkbox]) { width: 100%; }
.life-profile input[type=checkbox] { width: 18px; height: 18px; margin-right: 5px; }
.life-profile pre { white-space: pre-wrap; overflow-wrap: anywhere; background: #f3f7ff; padding: 16px; margin: 12px 0; font-size: .8rem; }
.profile-capacity-summary { margin: 16px 0; }
.inbox-panel fieldset { border: 1px solid #dce3ee; padding: 16px; margin: 16px 0; border-radius: 8px; min-width: 0; }
.inbox-panel legend { font-weight: 800; padding: 0 6px; }
.inbox-panel input { width: 100%; }
.inbox-body { white-space: pre-wrap; overflow-wrap: anywhere; margin: 12px 0; }
.inbox-item { padding: 20px 0; border-top: 1px solid #dce3ee; }
.inbox-item details { margin: 12px 0; }
.inbox-editor { scroll-margin-top: 130px; }
#life-chat-panel { scroll-margin-top: 110px; }
.chat-panel h2 { font-size: 1.65rem; font-weight: 850; margin-bottom: 10px; }
.chat-panel h3 { margin-top: 26px; }
.chat-panel label { display: block; font-weight: 750; margin: 14px 0 8px; }
.chat-panel button { overflow-wrap: anywhere; text-align: left; }
.chat-panel input { flex: 1 1 220px; min-width: 0; }
.chat-conversation-list { border-block: 1px solid #dce3ee; padding: 16px 0; margin: 16px 0; }
.chat-conversation-list ul { display: grid; gap: 6px; margin: 12px 0; }
.chat-messages { list-style: none; display: grid; gap: 12px; margin: 18px 0; padding: 0; }
.chat-message { padding: 16px; border-radius: 12px; background: #f3f6fa; min-width: 0; }
.chat-message-user { background: #eaf2fc; margin-left: 24px; }
.chat-message-assistant { margin-right: 24px; border: 1px solid #dce3ee; }
.chat-message p, .chat-fields dd { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.chat-message strong { font-size: .8rem; color: #174c90; }
.chat-message p { margin-top: 6px; }
.chat-message small { color: #8b2323; }
.chat-operation-fact, .chat-message .chat-operation-note { background: #eaf2fc; color: #173c67; border-left: 4px solid #275b96; padding: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.chat-message .chat-operation-note { font-size: .85rem; margin: 10px 0; }
.chat-candidates { display: grid; gap: 16px; }
.chat-candidate { border: 1px solid #b8c8dd; border-radius: 12px; padding: 18px; min-width: 0; }
.chat-card-heading { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: baseline; }
.chat-card-heading h4 { font-weight: 800; overflow-wrap: anywhere; }
.chat-card-heading span { font-size: .8rem; color: #4b5b70; }
.chat-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.chat-fields dt { font-size: .8rem; font-weight: 750; color: #4b5b70; }
.chat-fields dd { font-size: .9rem; }
.chat-finance-preview { margin-top: 18px; border-top: 2px solid #b8c8dd; padding-top: 16px; min-width: 0; }
.chat-finance-preview h5, .chat-finance-preview h6 { font-size: 1rem; font-weight: 800; margin: 10px 0; overflow-wrap: anywhere; }
.chat-finance-preview select { width: 100%; max-width: 100%; min-width: 0; color: #18273c; background: white; }
.chat-finance-preview p { margin: 12px 0; overflow-wrap: anywhere; }
.chat-finance-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.chat-finance-comparison dt { font-weight: 800; }
.chat-finance-comparison dd { margin-top: 5px; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-finance-comparison dd span { font-weight: 650; }
@media (max-width: 600px) { .chat-finance-comparison { grid-template-columns: minmax(0,1fr); } }
.chat-warning, .chat-question { border-left: 4px solid #8e6100; background: #fff7df; padding: 14px; margin: 14px 0; color: #513800; overflow-wrap: anywhere; }
.chat-error { color: #8b2323; margin: 12px 0; overflow-wrap: anywhere; }
@media (max-width: 600px) { #life-chat-panel { scroll-margin-top: 200px; } .chat-fields { grid-template-columns: minmax(0,1fr); } .chat-message-user { margin-left: 8px; } .chat-message-assistant { margin-right: 8px; } .chat-candidate { padding: 14px; } }
@media (max-width: 600px) { .life-panel { padding: 16px; } .life-list-row > .life-actions { width: 100%; } .life-profile .goal-metric-grid, .inbox-panel .goal-metric-grid { grid-template-columns: minmax(0, 1fr); } }
.life-memory { overflow-wrap: anywhere; }
#life-memory-panel { scroll-margin-top: 100px; }
.memory-report { margin: 12px 0; padding: 12px; border: 1px solid #aebed3; border-radius: 8px; overflow-wrap: anywhere; }
.memory-report summary { cursor: pointer; font-weight: 700; }
.memory-report ul { padding-left: 20px; list-style: disc; }
.life-memory fieldset { min-width: 0; margin: 1rem 0; }
.life-memory legend, .life-memory h4 { font-weight: 700; }
.life-memory .memory-hash { font-family: monospace; font-size: .8rem; word-break: break-all; }
.life-memory [data-memory-preview] { margin-top: 1rem; padding: 1rem; background: #f3f5fa; border: 1px solid #747785; border-radius: .75rem; }
