:root { --ink:#203c3a; --accent:#355c57; --paper:#f5f7fb; }
html { font-size:16px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:system-ui,sans-serif; line-height:1.6; }
a { color:var(--accent); text-underline-offset:.2em; }
.app-header { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; padding:1.2rem 4vw; background:white; border-bottom:1px solid #d8e2df; }
.brand { font-size:1.5rem; text-decoration:none; white-space:nowrap; }
.app-header nav,.account-nav { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.culture-form { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-left:auto; }
button,select,.btn { min-height:44px; border-radius:.7rem; }
button,select { padding:.4rem .7rem; border:1px solid #8a9e99; color:var(--ink); background:white; }
.app-main { max-width:1200px; padding:2rem 1.25rem; margin:auto; min-height:70vh; }
.welcome-panel { padding:clamp(1.5rem,5vw,5rem); background:#e5f0e9; border-radius:1.5rem; }
h1 { font-size:clamp(1.8rem,4vw,3.4rem); font-weight:700; letter-spacing:-.025em; margin-bottom:1rem; }
.eyebrow { font-size:.95rem; }
.btn-primary { background:var(--accent); border-color:var(--accent); padding:.6rem 1rem; }
.btn-primary:hover { background:#24433e; border-color:#24433e; }
footer { padding:2rem; text-align:center; }
:focus-visible { outline:3px solid #ac501e; outline-offset:3px; }
.skip-link { position:absolute; top:-100px; background:white; padding:1rem; z-index:100; }
.skip-link:focus { top:0; }
.auth-panel { max-width:520px; background:white; padding:2rem; border:1px solid #d8e2df; border-radius:1.2rem; }
.auth-panel label { font-weight:600; }
.auth-panel input:not([type=checkbox]) { min-height:48px; }
@media(max-width:767px) { .app-header { gap:.8rem; } .culture-form { margin-left:0; width:100%; } .auth-panel { padding:1.2rem; } .app-main { padding:1.25rem; } }
.content-panel { max-width:760px; background:white; padding:clamp(1.25rem,4vw,2.5rem); border:1px solid #d8e2df; border-radius:1.2rem; }

/* Phase 1 — AI Bestie */
.ai-shell { display:grid; grid-template-columns:minmax(230px,300px) minmax(0,1fr); gap:1.25rem; align-items:start; }
.ai-sidebar,.ai-workspace { background:white; border:1px solid #d8e2df; border-radius:1.2rem; }
.ai-sidebar { padding:1rem; position:sticky; top:1rem; max-height:calc(100vh - 2rem); overflow:auto; }
.ai-sidebar-heading { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.ai-sidebar h1 { font-size:1.35rem; margin:0; }
.ai-sidebar h2 { font-size:1rem; margin:1.25rem 0 .5rem; }
.conversation-list { display:grid; gap:.5rem; }
.conversation-link { display:grid; gap:.15rem; padding:.7rem; border-radius:.75rem; text-decoration:none; border:1px solid transparent; }
.conversation-link:hover,.conversation-link.active { background:#edf4f1; border-color:#c9d8d3; }
.conversation-link small { color:#657a75; }
.ai-workspace { min-height:70vh; overflow:hidden; }
.ai-empty { padding:clamp(1.5rem,5vw,4rem); text-align:center; }
.ai-conversation-header { display:flex; justify-content:space-between; gap:.75rem; padding:1rem; border-bottom:1px solid #d8e2df; }
.rename-form { display:flex; flex:1; gap:.5rem; }
.rename-form input { width:min(100%,520px); min-height:44px; padding:.45rem .75rem; border:1px solid #8a9e99; border-radius:.7rem; }
.chat-log { display:flex; flex-direction:column; gap:1rem; padding:1.25rem; min-height:360px; max-height:58vh; overflow:auto; }
.chat-message { width:min(88%,760px); padding:1rem; border-radius:1rem; }
.chat-message.user { align-self:flex-end; background:#e5f0e9; }
.chat-message.assistant { align-self:flex-start; background:#f4f4f6; }
.chat-message.streaming { border:1px dashed #8a9e99; }
.chat-role { font-size:.82rem; font-weight:700; margin-bottom:.35rem; }
.chat-content { white-space:pre-wrap; overflow-wrap:anywhere; }
.attachment-list { margin:.75rem 0 0; padding-left:1.25rem; }
.speak-message { margin-top:.75rem; }
.ai-status { min-height:1.8rem; padding:0 1.25rem; color:#7a3f18; }
.ai-composer { display:grid; gap:.65rem; padding:1rem 1.25rem 1.25rem; border-top:1px solid #d8e2df; }
.ai-composer textarea { width:100%; resize:vertical; min-height:84px; border:1px solid #8a9e99; border-radius:.8rem; padding:.7rem; }
.ai-composer-actions { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.file-picker { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; padding:.45rem .75rem; border:1px solid #8a9e99; border-radius:.7rem; cursor:pointer; }
.file-picker input { max-width:210px; }
#realtimeAudio { display:none; }
@media(max-width:900px) { .ai-shell { grid-template-columns:1fr; } .ai-sidebar { position:static; max-height:none; } .conversation-list { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); } .chat-log { max-height:none; } }
@media(max-width:600px) { .ai-conversation-header { align-items:stretch; flex-direction:column; } .rename-form { flex-direction:column; } .chat-message { width:95%; } .ai-composer-actions .btn,.file-picker { flex:1 1 44%; } .file-picker input { width:100%; max-width:100%; } }


/* Phase 2 — Calendar */
.calendar-page { display:grid; gap:1.25rem; }
.calendar-page-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; }
.calendar-page-header h1 { margin-bottom:.25rem; }
.calendar-page-header p { margin:.2rem 0; }
.calendar-header-actions,.calendar-form-actions,.calendar-period-nav,.calendar-view-tabs { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.calendar-toolbar { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; background:white; border:1px solid #d8e2df; border-radius:1rem; padding:.75rem; }
.calendar-view-tab { min-height:44px; display:inline-flex; align-items:center; padding:.5rem .8rem; text-decoration:none; border-radius:.65rem; border:1px solid transparent; }
.calendar-view-tab.active { background:#e5f0e9; border-color:#b8cbc4; font-weight:700; }
.calendar-period-title { margin:.25rem 0; font-size:1.35rem; }
.calendar-month { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); background:white; border:1px solid #d8e2df; border-radius:1rem; overflow:hidden; }
.calendar-weekday { padding:.55rem; font-weight:700; text-align:center; background:#edf4f1; border-bottom:1px solid #d8e2df; }
.calendar-day { min-height:125px; padding:.45rem; border-right:1px solid #e1e8e5; border-bottom:1px solid #e1e8e5; min-width:0; }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day-empty { background:#fafbfc; }
.calendar-day.today { box-shadow:inset 0 0 0 2px #355c57; }
.calendar-day-number { font-weight:700; margin-bottom:.35rem; }
.calendar-event-chip { display:block; margin:.25rem 0; padding:.28rem .38rem; border-radius:.45rem; border-left:4px solid currentColor; background:#f7f8fa; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.85rem; }
.calendar-event-chip span { margin-right:.35rem; font-size:.78rem; }
.calendar-list-view { display:grid; gap:1rem; }
.calendar-agenda-day { background:white; border:1px solid #d8e2df; border-radius:1rem; padding:1rem; }
.calendar-agenda-day h2 { font-size:1.1rem; margin:0 0 .8rem; }
.calendar-agenda-items { display:grid; gap:.6rem; }
.calendar-now-line { display:flex; align-items:center; gap:.5rem; margin:.25rem 0 .8rem; color:#8f2f2f; font-size:.82rem; font-weight:700; }
.calendar-now-line::before,.calendar-now-line::after { content:""; height:2px; background:currentColor; flex:1; opacity:.7; }
.calendar-now-line[hidden] { display:none; }
.calendar-agenda-event { display:grid; grid-template-columns:minmax(110px,auto) 1fr auto; gap:.65rem; align-items:center; padding:.75rem; border-radius:.75rem; border-left:6px solid currentColor; background:#f7f8fa; text-decoration:none; }
.calendar-agenda-time { font-variant-numeric:tabular-nums; }
.calendar-recurring-mark { font-size:1.1rem; }
.calendar-empty { color:#687b76; margin:0; }
.calendar-legend { display:flex; gap:.45rem; flex-wrap:wrap; }
.calendar-legend-item { display:inline-flex; align-items:center; min-height:32px; padding:.25rem .6rem; border-radius:999px; border:1px solid currentColor; background:white; font-size:.82rem; }
.category-medical { color:#a13e3e; }
.category-social { color:#8a4d9c; }
.category-shopping { color:#8a6712; }
.category-exercise { color:#267a56; }
.category-governmentbank { color:#315c9a; }
.category-entertainment { color:#8f4b72; }
.category-travel { color:#276d80; }
.category-private { color:#5d6670; }
.category-finance { color:#35611f; }
.category-tax { color:#8a4f1f; }

.calendar-form-card,.calendar-detail-card { background:white; border:1px solid #d8e2df; border-radius:1.1rem; padding:clamp(1rem,3vw,1.6rem); }
.calendar-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.calendar-field { display:grid; gap:.35rem; align-content:start; }
.calendar-field-wide { grid-column:1 / -1; }
.calendar-field label,.calendar-subpanel legend { font-weight:700; }
.calendar-field input:not([type=checkbox]),.calendar-field textarea,.calendar-field select { width:100%; min-height:44px; padding:.55rem .65rem; border:1px solid #8a9e99; border-radius:.65rem; background:white; color:var(--ink); }
.calendar-field textarea { min-height:96px; resize:vertical; }
.calendar-check { display:flex; align-items:center; gap:.5rem; }
.calendar-check input { width:1.15rem; height:1.15rem; }
.calendar-subpanel { border:1px solid #d8e2df; border-radius:.85rem; padding:1rem; }
.calendar-subpanel legend { float:none; width:auto; padding:0 .25rem; font-size:1rem; }
.calendar-reminder-row { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.calendar-reminder-row input[type=number] { width:120px; }
.calendar-form-actions { margin-top:1.1rem; }
.calendar-detail-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:1rem; }
.calendar-detail-card h2 { font-size:1.25rem; margin-top:0; }
.calendar-detail-card h3 { font-size:1rem; margin-top:1.25rem; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.calendar-reminder-list { padding-left:1.2rem; }
.calendar-reminder-state { display:inline-block; margin-left:.35rem; padding:.1rem .4rem; border-radius:999px; background:#eef1f3; font-size:.8rem; }
.calendar-attachments ul { list-style:none; padding:0; display:grid; gap:.55rem; }
.calendar-attachments li { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; padding:.65rem 0; border-bottom:1px solid #edf0ef; }
.calendar-attachments li form { margin-left:auto; }
.calendar-upload-form { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; margin-top:1rem; }
.calendar-danger-zone { padding:1rem 0; border-top:1px solid #d8e2df; }
@media(max-width:800px) {
    .calendar-month { overflow-x:auto; grid-template-columns:repeat(7,minmax(120px,1fr)); }
    .calendar-form-grid,.calendar-detail-grid { grid-template-columns:1fr; }
    .calendar-field-wide { grid-column:auto; }
    .calendar-agenda-event { grid-template-columns:1fr; }
}
@media(max-width:520px) {
    .calendar-page-header,.calendar-toolbar { align-items:stretch; }
    .calendar-view-tabs,.calendar-period-nav,.calendar-header-actions { width:100%; }
    .calendar-view-tab,.calendar-header-actions .btn { flex:1 1 auto; justify-content:center; text-align:center; }
}

/* Phase 3 — Contacts */
.contacts-page { display:grid; gap:1.25rem; }
.contacts-page-header,.contact-profile-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; }
.contacts-page-header h1,.contact-profile-header h1 { margin-bottom:.25rem; }
.contacts-page-header p,.contact-profile-header p { margin:.2rem 0; }
.contact-search { display:flex; gap:.55rem; flex-wrap:wrap; align-items:center; background:white; border:1px solid #d8e2df; border-radius:1rem; padding:.8rem; }
.contact-search input { flex:1 1 280px; min-height:44px; padding:.55rem .7rem; border:1px solid #8a9e99; border-radius:.65rem; }
.contact-empty { background:white; border:1px dashed #a9bbb5; border-radius:1rem; padding:2rem; text-align:center; }
.contact-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem; }
.contact-card { background:white; border:1px solid #d8e2df; border-radius:1rem; overflow:hidden; }
.contact-card-main { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:.8rem; align-items:center; padding:1rem; text-decoration:none; }
.contact-card-main:hover { background:#f5f8f7; }
.contact-avatar,.contact-profile-photo { display:grid; place-items:center; overflow:hidden; flex:none; background:#e5f0e9; color:#294b46; font-weight:800; }
.contact-avatar { width:60px; height:60px; border-radius:50%; font-size:1.5rem; }
.contact-avatar img,.contact-profile-photo img { width:100%; height:100%; object-fit:cover; }
.contact-card-copy { display:grid; gap:.15rem; min-width:0; }
.contact-card-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.contact-card-copy small { color:#657a75; }
.contact-importance { color:#8a6712; letter-spacing:.05em; white-space:nowrap; }
.contact-card-actions { display:flex; gap:.45rem; flex-wrap:wrap; align-items:center; padding:.75rem 1rem; border-top:1px solid #edf0ef; }
.contact-card-actions small { margin-left:auto; color:#657a75; }
.contact-pagination { display:flex; justify-content:center; align-items:center; gap:.8rem; flex-wrap:wrap; }
.contact-form-card,.contact-section { background:white; border:1px solid #d8e2df; border-radius:1rem; padding:clamp(1rem,3vw,1.5rem); }
.contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.contact-field { display:grid; gap:.35rem; align-content:start; }
.contact-field-wide { grid-column:1 / -1; }
.contact-field label,.contact-section h2 { font-weight:700; }
.contact-field input,.contact-field select,.contact-inline-form input,.contact-inline-form select,.contact-address-form input,.contact-address-form select,.contact-stack-form input,.contact-stack-form textarea { width:100%; min-height:44px; padding:.55rem .65rem; border:1px solid #8a9e99; border-radius:.65rem; background:white; color:var(--ink); }
.contact-field small,.contact-media-section small { color:#657a75; }
.contact-form-actions,.contact-header-actions { display:flex; gap:.55rem; flex-wrap:wrap; margin-top:1rem; }
.contact-profile-header { background:white; border:1px solid #d8e2df; border-radius:1.1rem; padding:1rem; }
.contact-profile-identity { display:flex; gap:1rem; align-items:center; }
.contact-profile-photo { width:92px; height:92px; border-radius:1.2rem; font-size:2rem; }
.contact-nickname { color:#657a75; font-size:1.05rem; }
.contact-detail-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:1rem; align-items:start; }
.contact-detail-main,.contact-detail-side { display:grid; gap:1rem; }
.contact-detail-side { position:sticky; top:1rem; }
.contact-section h2 { font-size:1.12rem; margin:0 0 .9rem; }
.contact-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1rem; margin:0; }
.contact-facts div { padding:.55rem 0; border-bottom:1px solid #edf0ef; }
.contact-facts dt { color:#657a75; font-size:.85rem; }
.contact-facts dd { margin:0; }
.contact-record-list,.contact-note-list,.contact-interaction-list { list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:.6rem; }
.contact-record-list li,.contact-interaction-list li { display:flex; justify-content:space-between; gap:.75rem; align-items:flex-start; padding:.7rem; border:1px solid #e5ebe9; border-radius:.7rem; }
.contact-note-list li { padding:.75rem; border:1px solid #e5ebe9; border-radius:.7rem; }
.contact-note-list li > div { display:flex; justify-content:space-between; gap:.75rem; align-items:center; }
.contact-note-list form { display:inline; }
.contact-primary { display:inline-block; margin-left:.35rem; padding:.1rem .45rem; border-radius:999px; background:#e5f0e9; color:#294b46; font-size:.75rem; font-weight:700; }
.contact-map-link { display:inline-block; margin-left:.5rem; }
.contact-inline-form { display:grid; grid-template-columns:minmax(120px,.7fr) minmax(180px,1.3fr) minmax(120px,1fr) auto; gap:.55rem; align-items:center; }
.contact-address-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.contact-address-form button,.contact-address-form .contact-check { align-self:center; }
.contact-stack-form { display:grid; gap:.55rem; }
.contact-stack-form textarea { min-height:90px; resize:vertical; }
.contact-check { display:flex; align-items:center; gap:.4rem; min-height:44px; }
.contact-check input { width:1.1rem; height:1.1rem; }
.contact-empty-inline { color:#657a75; }
.contact-media-preview { width:min(100%,280px); aspect-ratio:1/1; object-fit:cover; border-radius:1rem; border:1px solid #d8e2df; display:block; margin-bottom:.75rem; }
.contact-qr-preview { width:min(100%,260px); aspect-ratio:1/1; object-fit:contain; border-radius:.75rem; border:1px solid #d8e2df; background:white; display:block; margin-bottom:.75rem; }
.contact-danger-zone { border-color:#e3b6b6; }
@media(max-width:900px) {
    .contact-detail-layout { grid-template-columns:1fr; }
    .contact-detail-side { position:static; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
    .contact-inline-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
    .contact-form-grid,.contact-facts,.contact-address-form,.contact-inline-form { grid-template-columns:1fr; }
    .contact-field-wide { grid-column:auto; }
    .contact-card-grid { grid-template-columns:1fr; }
    .contact-card-main { grid-template-columns:56px minmax(0,1fr); }
    .contact-card-main .contact-importance { grid-column:2; }
    .contact-avatar { width:52px; height:52px; }
    .contact-profile-header,.contacts-page-header { align-items:stretch; }
    .contact-profile-identity { align-items:flex-start; }
    .contact-header-actions,.contacts-page-header .btn { width:100%; }
    .contact-header-actions .btn { flex:1 1 auto; }
    .contact-record-list li,.contact-interaction-list li { flex-direction:column; }
}

/* Phase 4 — Life Map */
.life-map-page{display:grid;gap:1rem}.map-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.map-page-header h1{margin-bottom:.25rem}.map-header-actions,.map-form-actions,.map-action-row{display:flex;gap:.5rem;flex-wrap:wrap}.map-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1rem;align-items:start}.map-main-panel,.saved-places-panel,.map-card,.map-form-card{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:1rem;padding:1rem}.life-map-canvas{min-height:430px;border-radius:.85rem;overflow:hidden;background:#eef4f2;position:relative}.map-disabled{display:grid;place-items:center}.map-unavailable-panel{max-width:32rem;text-align:center;padding:2rem;color:#51635f}.map-unavailable-panel span{font-size:3rem}.map-toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:.75rem;align-items:end;margin-top:.75rem}.map-toolbar label{display:grid;gap:.25rem}.map-status{min-height:1.5rem;margin:.5rem 0;color:#375a54}.nearby-section{margin-top:1rem}.nearby-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.nearby-card{border:1px solid var(--bs-border-color);border-radius:.8rem;padding:.75rem;display:grid;gap:.45rem}.nearby-card small{display:block;color:var(--bs-secondary-color)}.nearby-actions{display:flex;gap:.5rem;flex-wrap:wrap}.saved-panel-heading{display:flex;align-items:center;justify-content:space-between}.saved-place-list{display:grid;gap:.55rem}.saved-place-card{display:grid;grid-template-columns:auto 1fr;gap:.6rem;text-decoration:none;border:1px solid var(--bs-border-color);border-radius:.75rem;padding:.65rem;color:inherit}.saved-place-card.is-favourite{border-width:2px}.saved-place-card small{display:block;color:var(--bs-secondary-color);margin-top:.15rem}.place-icon{font-size:1.15rem}.map-config-note{font-size:.875rem;color:var(--bs-secondary-color)}.map-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.map-field{display:grid;gap:.3rem}.map-field-wide{grid-column:1/-1}.place-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.place-facts{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:.5rem .75rem}.place-facts dt{font-weight:600}.place-facts dd{margin:0}.preserve-lines{white-space:pre-wrap}.visit-form{display:grid;gap:.6rem}.visit-form label{display:grid;gap:.25rem}.visit-list{display:grid;gap:.65rem;padding-left:1.2rem}.visit-list li{display:grid;gap:.15rem}.map-kicker{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-secondary-color)}.danger-zone{margin-top:.5rem}
.map-radius-hint{margin:.45rem 0 0;padding:.5rem .7rem;border-radius:.65rem;background:#eef5ff;color:#315f9c;font-size:.9rem}.nearby-heading-row{display:flex;gap:.45rem;align-items:flex-start;justify-content:space-between}.nearby-card.is-frequent{border-width:2px;box-shadow:0 .18rem .55rem rgba(26,72,117,.12)}.nearby-frequent-badge,.frequent-place-note{display:inline-flex!important;align-items:center;width:max-content;padding:.12rem .42rem;border-radius:999px;background:#fff3cd;color:#765600;font-size:.76rem!important;font-weight:700}.saved-place-card.is-frequent{border-width:2px;box-shadow:0 .12rem .42rem rgba(26,72,117,.1)}
@media(max-width:900px){.map-workspace,.place-detail-grid{grid-template-columns:1fr}.saved-places-panel{order:-1}.life-map-canvas{min-height:360px}}
@media(max-width:600px){.map-toolbar,.map-form-grid{grid-template-columns:1fr}.map-field-wide{grid-column:auto}.life-map-canvas{min-height:330px}.map-page-header .btn{width:100%}.map-toolbar .btn{min-height:44px}}

/* Phase 5 — Personal Memory */
.memory-page{display:grid;gap:1rem}.memory-page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.memory-page-header h1{margin-bottom:.25rem}.memory-kicker{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-secondary-color)}.memory-header-actions,.memory-form-actions,.memory-card-actions,.ai-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.memory-layer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.memory-layer-grid article,.memory-settings-card,.memory-filter-card,.memory-form-card,.memory-fact-card,.memory-empty,.life-graph-edge{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:1rem;padding:1rem}.memory-layer-grid article strong{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:#e5f0e9;color:#294b46}.memory-layer-grid h2{font-size:1.05rem;margin:.65rem 0 .3rem}.memory-layer-grid p{margin:0;color:var(--bs-secondary-color)}.memory-settings-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.memory-settings-heading h2{font-size:1.15rem}.memory-settings-heading p{margin:.2rem 0;color:var(--bs-secondary-color)}.memory-consent-state{padding:.25rem .65rem;border-radius:999px;font-weight:700}.memory-consent-state.enabled{background:#dff3e6;color:#1f6338}.memory-consent-state.disabled{background:#f1f1f1;color:#626262}.memory-setting-grid,.memory-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.memory-check{display:flex;gap:.6rem;align-items:flex-start;padding:.75rem;border:1px solid #e5ebe9;border-radius:.75rem}.memory-check input{width:1.15rem;height:1.15rem;margin-top:.2rem;flex:none}.memory-check span{display:grid;gap:.15rem}.memory-check small{color:var(--bs-secondary-color)}.memory-field{display:grid;gap:.3rem}.memory-field-wide{grid-column:1/-1}.memory-field input,.memory-field textarea,.memory-field select,.memory-filter-card input,.memory-filter-card select,.privacy-mode-form select,.ai-new-conversation-form select,.ai-empty-new-form select{min-height:44px;padding:.55rem .65rem;border:1px solid #8a9e99;border-radius:.65rem;background:var(--bs-body-bg);color:var(--bs-body-color)}.memory-field textarea{resize:vertical}.memory-filter-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.4fr) auto;gap:.65rem;align-items:end}.memory-filter-card label{display:grid;gap:.25rem}.memory-fact-list{display:grid;gap:.75rem}.memory-fact-card.is-paused{opacity:.72}.memory-fact-card.is-expired{border-style:dashed}.memory-fact-card header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.memory-badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;background:#edf3f1;font-size:.78rem;margin:.1rem .2rem .1rem 0}.memory-badge.sensitive{background:#fbe7e7;color:#8a3030}.memory-badge.paused,.memory-badge.expired{background:#f1eee4;color:#705f30}.memory-statement{display:flex;gap:.45rem;flex-wrap:wrap;align-items:baseline;margin:.9rem 0;font-size:1.05rem}.memory-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:0 0 .8rem}.memory-meta div{border-top:1px solid #edf0ef;padding-top:.5rem}.memory-meta dt{font-size:.78rem;color:var(--bs-secondary-color)}.memory-meta dd{margin:0}.memory-card-actions form{display:inline}.life-graph-list{display:grid;gap:.65rem}.life-graph-edge{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.6fr) minmax(150px,1fr) auto;gap:.7rem;align-items:center}.life-graph-edge.is-sensitive{border-color:#e5baba}.graph-node{font-weight:700;padding:.6rem;border-radius:.65rem;background:#eef5f2}.graph-relation{text-align:center;display:grid;gap:.15rem;color:var(--bs-secondary-color)}.graph-relation small{font-size:.72rem}.memory-empty{text-align:center;padding:2rem}.memory-empty p{color:var(--bs-secondary-color);margin:.35rem 0 0}.memory-privacy-banner{padding:.65rem .8rem;border-radius:.75rem;background:#eef5f2;border:1px solid #d8e2df}.memory-privacy-private{background:#f4f0fa;border-color:#ddd2ef}.memory-privacy-neverstore{background:#fff3df;border-color:#ead5aa}.privacy-mode-form{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.privacy-mode-form label{font-size:.8rem;color:var(--bs-secondary-color)}.temporary-conversation-title{display:grid;gap:.15rem}.temporary-conversation-title small{color:var(--bs-secondary-color)}.ai-new-conversation-form,.ai-empty-new-form{display:grid;gap:.4rem}.ai-new-conversation-form label,.ai-empty-new-form label{font-size:.8rem;color:var(--bs-secondary-color)}
@media(max-width:900px){.memory-layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.life-graph-edge{grid-template-columns:1fr}.graph-relation{text-align:left;grid-template-columns:auto 1fr;align-items:center}.memory-setting-grid{grid-template-columns:1fr}.ai-conversation-header{gap:.75rem;flex-wrap:wrap}}
@media(max-width:600px){.memory-layer-grid,.memory-form-grid,.memory-meta,.memory-filter-card{grid-template-columns:1fr}.memory-field-wide{grid-column:auto}.memory-page-header .btn,.memory-header-actions{width:100%}.memory-header-actions .btn{flex:1 1 auto}.memory-card-actions .btn{min-height:40px}.privacy-mode-form{width:100%}.privacy-mode-form select{flex:1 1 auto}}

/* Phase 6 — Documents & Camera Inbox */
.document-page{max-width:1180px;margin:0 auto;padding:1rem}.document-page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.document-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#557b75;font-weight:700;margin-bottom:.2rem}.document-page-header h1{margin:.1rem 0 .35rem}.document-ingest-grid,.document-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.document-upload-card,.document-panel,.document-filter-card,.document-danger-zone{background:#fff;border:1px solid #dce7e4;border-radius:1rem;padding:1rem;box-shadow:0 7px 24px rgba(20,55,50,.06)}.document-upload-card{display:flex;flex-direction:column;gap:.75rem}.document-upload-icon{font-size:2rem}.document-drop-zone{border:2px dashed #9fb9b4;border-radius:.8rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem;transition:.15s ease}.document-drop-zone.is-dragging{border-color:#355c57;background:#edf5f3}.document-future-sources{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 1rem}.document-future-sources span{background:#f0f3f2;color:#687874;border-radius:999px;padding:.35rem .7rem;font-size:.8rem}.document-filter-card{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.75rem;align-items:end}.document-filter-card label,.document-confirm-form label,.document-version-form label{display:flex;flex-direction:column;gap:.3rem}.document-filter-card input,.document-filter-card select,.document-confirm-form input,.document-confirm-form select{min-height:2.65rem;border:1px solid #c9d9d5;border-radius:.65rem;padding:.45rem .65rem}.document-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.8rem;margin-top:1rem}.document-card{display:flex;gap:.8rem;text-decoration:none;color:inherit;background:#fff;border:1px solid #dce7e4;border-radius:1rem;padding:1rem;transition:.15s ease}.document-card:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(20,55,50,.09)}.document-card-icon{font-size:2rem}.document-card-main{min-width:0}.document-card-main h2{font-size:1rem;margin:0 0 .45rem;overflow-wrap:anywhere}.document-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.document-badge{background:#edf3f2;border-radius:999px;padding:.25rem .55rem;font-size:.74rem}.document-badge.duplicate{background:#fff0cf;color:#70520a}.document-badge.suggested{background:#edf0fa;color:#3d4c7e}.status-needsreview,.status-extractionfailed{background:#fff0cf}.status-ready{background:#dff3e7}.status-processing{background:#e5eefb}.document-empty{text-align:center;padding:2.5rem 1rem;color:#61726e}.document-preview{display:block;max-width:100%;max-height:560px;margin:auto;border-radius:.6rem;object-fit:contain}.document-file-preview{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;background:#f5f8f7;border-radius:.7rem}.document-file-preview>span{font-size:3rem}.document-meta,.document-fields{display:grid;gap:.3rem}.document-meta div,.document-fields div{display:grid;grid-template-columns:minmax(120px,.5fr) 1.5fr;gap:.5rem;border-bottom:1px solid #edf1f0;padding:.4rem 0}.document-meta dt,.document-fields dt{color:#60726d}.document-meta dd,.document-fields dd{margin:0;overflow-wrap:anywhere}.document-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;word-break:break-all}.document-action-row,.document-confirm-form{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap;margin-top:1rem}.document-confirm-form label:first-child{flex:2 1 260px}.document-confirm-form label:nth-child(2){flex:1 1 200px}.document-ocr{white-space:pre-wrap;max-height:420px;overflow:auto;background:#f6f8f8;padding:.8rem;border-radius:.6rem}.document-version-list,.document-audit-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.document-version-list li,.document-audit-list li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;border-bottom:1px solid #edf1f0;padding:.55rem 0}.document-version-list li div,.document-audit-list li{min-width:0}.document-version-list span,.document-audit-list span{display:block;color:#687874;font-size:.8rem}.document-version-form{display:flex;gap:.6rem;align-items:end;margin-top:1rem}.document-version-form label{flex:1}.document-danger-zone{margin-top:1rem;border-color:#efd2d2;background:#fffafa}.document-danger-zone h2{font-size:1rem;color:#9c3030}.document-details-page h2{font-size:1.15rem}.document-details-page h3{font-size:1rem;margin-top:1rem}
@media(max-width:760px){.document-page{padding:.75rem}.document-page-header{flex-direction:column}.document-ingest-grid,.document-detail-grid{grid-template-columns:1fr}.document-filter-card{grid-template-columns:1fr}.document-confirm-form{display:grid}.document-version-form{flex-direction:column;align-items:stretch}.document-meta div,.document-fields div{grid-template-columns:1fr}.document-version-list li{align-items:flex-start}.document-card-grid{grid-template-columns:1fr}}
.document-ai-consent{display:flex!important;flex-direction:row!important;gap:.65rem!important;align-items:flex-start!important;background:#f7faf9;border:1px solid #dce7e4;border-radius:.7rem;padding:.65rem}.document-ai-consent input{margin-top:.2rem}.document-ai-consent span{display:flex;flex-direction:column;gap:.15rem}.document-ai-consent small{color:#657872;line-height:1.35}

/* Phase 7 — Receipts & Personal Finance */
.receipt-page,.finance-page{max-width:1180px;margin:0 auto;padding:1.25rem}.receipt-header,.finance-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.receipt-kicker,.finance-kicker{margin:0 0 .25rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.68}.receipt-ingest-grid,.receipt-detail-grid,.finance-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.receipt-ingest-card,.receipt-panel,.finance-panel,.receipt-filter-card,.finance-period-form{background:var(--bs-body-bg);border:1px solid rgba(127,127,127,.22);border-radius:1rem;padding:1rem;box-shadow:0 .35rem 1.25rem rgba(0,0,0,.04)}.receipt-icon{font-size:2rem}.receipt-ingest-card h2,.receipt-panel h2,.finance-panel h2{font-size:1.15rem}.receipt-ai-consent{display:flex;gap:.65rem;align-items:flex-start;margin:.8rem 0}.receipt-ai-consent small{display:block;opacity:.72}.receipt-drop-zone{border:2px dashed rgba(127,127,127,.35);border-radius:.85rem;padding:1rem;display:grid;gap:.5rem}.receipt-drop-zone.dragging{border-color:var(--bs-primary);background:rgba(13,110,253,.05)}.receipt-filter-card,.finance-period-form{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.receipt-filter-card label,.finance-period-form label,.receipt-confirm-grid label,.finance-entry-form label,.finance-rule-form label{display:grid;gap:.35rem}.receipt-filter-card input,.receipt-filter-card select,.finance-period-form input,.receipt-confirm-grid input,.receipt-confirm-grid select,.receipt-confirm-grid textarea,.finance-entry-form input,.finance-entry-form select,.finance-entry-form textarea,.finance-rule-form input,.finance-rule-form select,.finance-inline-add input{min-height:2.6rem;border:1px solid rgba(127,127,127,.35);border-radius:.6rem;padding:.5rem .65rem;background:var(--bs-body-bg);color:inherit}.receipt-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.receipt-card{display:block;text-decoration:none;color:inherit;border:1px solid rgba(127,127,127,.22);border-radius:1rem;padding:1rem;background:var(--bs-body-bg);transition:.15s}.receipt-card:hover{transform:translateY(-2px);box-shadow:0 .6rem 1.4rem rgba(0,0,0,.08)}.receipt-card-top{display:flex;justify-content:space-between;align-items:center}.receipt-icon-small{font-size:1.6rem}.receipt-status,.receipt-category,.receipt-duplicate{display:inline-block;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;background:rgba(127,127,127,.12)}.receipt-duplicate{background:rgba(255,193,7,.16);color:#8a6200}.receipt-amount{font-size:1.35rem;font-weight:800;margin:.35rem 0}.receipt-empty{padding:2rem;text-align:center;border:1px dashed rgba(127,127,127,.3);border-radius:1rem}.receipt-action-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.receipt-extraction-grid,.finance-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.receipt-extraction-grid div,.finance-breakdown div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(127,127,127,.15);padding:.35rem 0}.receipt-confirm-grid,.finance-entry-form,.finance-rule-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.receipt-confirm-grid .wide,.finance-entry-form .wide{grid-column:1/-1}.receipt-history,.finance-settings-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.receipt-history li,.finance-settings-list li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(127,127,127,.15);padding:.5rem 0}.receipt-history span{opacity:.72}.receipt-danger-zone{border:1px solid rgba(220,53,69,.28);border-radius:1rem;padding:1rem;margin-top:1rem}.finance-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.finance-stat-grid article{border:1px solid rgba(127,127,127,.22);border-radius:1rem;padding:1rem;background:var(--bs-body-bg)}.finance-stat-grid span,.finance-stat-grid small{display:block;opacity:.72}.finance-stat-grid strong{display:block;font-size:1.45rem;margin:.25rem 0}.finance-top-list{padding-left:1.2rem}.finance-top-list li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0}.finance-note{font-size:.9rem;opacity:.72}.finance-trend-table{display:grid;gap:.15rem}.trend-row{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:.5rem;padding:.55rem .4rem;border-bottom:1px solid rgba(127,127,127,.14)}.trend-head{font-weight:700}.finance-entry-list{display:grid}.finance-entry-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(127,127,127,.14)}.finance-entry-list span{display:block;font-size:.88rem;opacity:.72}.finance-entry-list .income{font-weight:700;color:#18794e}.finance-entry-list .expense{font-weight:700}.inline-form{display:inline-block;margin-left:.35rem}.finance-inline-add{display:flex;gap:.5rem}.finance-settings-list li{align-items:center}.finance-mode-list div{margin-bottom:.65rem}.finance-mode-list dt{font-weight:700}.finance-rule-list{display:grid;gap:.65rem}.finance-rule-list>div{display:flex;justify-content:space-between;gap:1rem;border:1px solid rgba(127,127,127,.16);border-radius:.8rem;padding:.75rem}.finance-rule-list span,.finance-rule-list small{display:block;opacity:.72}.finance-rule-list>div>div:last-child{display:flex;gap:.4rem;align-items:start}.narrow-page{max-width:760px}.receipt-panel,.finance-panel{margin-bottom:1rem}
@media(max-width:900px){.receipt-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-confirm-grid,.finance-entry-form,.finance-rule-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.receipt-page,.finance-page{padding:.8rem}.receipt-header,.finance-header{display:block}.receipt-header>.receipt-action-row,.finance-header>.receipt-action-row{margin-top:.75rem}.receipt-ingest-grid,.receipt-detail-grid,.finance-detail-grid,.receipt-card-grid,.finance-stat-grid{grid-template-columns:1fr}.receipt-confirm-grid,.finance-entry-form,.finance-rule-form{grid-template-columns:1fr}.receipt-confirm-grid .wide,.finance-entry-form .wide{grid-column:auto}.receipt-filter-card,.finance-period-form{display:grid}.receipt-extraction-grid,.finance-breakdown{grid-template-columns:1fr}.trend-row{grid-template-columns:1fr 1fr}.trend-head{display:none}.finance-entry-list>div,.receipt-history li,.finance-rule-list>div{display:block}.finance-rule-list>div>div:last-child{margin-top:.5rem}.finance-inline-add{display:grid}}

/* Phase 8 — Property & Rental */
.property-page{max-width:1180px;margin:0 auto;padding:1.25rem}.property-page.narrow{max-width:860px}.property-header{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.property-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:#55716e;margin-bottom:.25rem}.property-actions{display:flex;gap:.5rem;flex-wrap:wrap}.property-filter-form,.property-inline-form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end}.property-filter-form{margin:1rem 0}.property-filter-form label,.property-inline-form label,.property-form-grid label{display:grid;gap:.25rem;min-width:150px}.property-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.property-form-grid .property-notes{grid-column:1/-1}.property-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.property-card,.property-panel,.property-empty,.property-danger-zone{background:var(--bs-body-bg);border:1px solid rgba(53,92,87,.18);border-radius:18px;padding:1rem;box-shadow:0 10px 26px rgba(25,50,47,.06)}.property-card.archived{opacity:.72}.property-card h2,.property-panel h2{font-size:1.2rem}.property-card dl,.property-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0}.property-card dl div,.property-dl div{display:grid;gap:.1rem}.property-card dt,.property-dl dt{font-size:.8rem;color:var(--bs-secondary-color);font-weight:600}.property-card dd,.property-dl dd{margin:0;font-weight:650}.property-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:1rem 0}.property-summary-grid article{border:1px solid rgba(53,92,87,.16);border-radius:16px;padding:.9rem;display:grid;gap:.25rem;background:rgba(53,92,87,.035)}.property-summary-grid span{font-size:.82rem;color:var(--bs-secondary-color)}.property-summary-grid strong{font-size:1.18rem}.property-summary-grid small{color:var(--bs-secondary-color)}.property-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.property-panel{margin-bottom:1rem}.property-list{display:grid;gap:.55rem;margin-top:.75rem}.property-list-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center;border-top:1px solid rgba(53,92,87,.12);padding-top:.65rem}.property-list-row>div:first-child{display:grid;gap:.15rem}.property-list-row span,.property-list-row small{color:var(--bs-secondary-color)}.property-money-list{list-style:none;padding:0;display:grid;gap:.45rem}.property-money-list li{display:flex;justify-content:space-between;gap:1rem}.property-expense-list{display:grid;gap:.75rem;margin-top:1rem}.property-expense{border:1px solid rgba(53,92,87,.14);border-radius:14px;padding:.8rem}.property-expense>header{display:flex;justify-content:space-between;gap:.75rem}.property-expense>header>div{display:grid;gap:.15rem}.property-allocation-list{display:grid;gap:.35rem;margin:.55rem 0}.property-allocation-list>div{display:flex;gap:.5rem;justify-content:space-between;align-items:center;background:rgba(53,92,87,.04);padding:.45rem .6rem;border-radius:10px}.property-note,.property-panel .form-text{color:var(--bs-secondary-color)}.property-danger-zone{border-color:rgba(180,60,60,.3);margin-top:1.5rem}
@media(max-width:800px){.property-header{display:grid}.property-detail-grid,.property-form-grid{grid-template-columns:1fr}.property-form-grid .property-notes{grid-column:auto}.property-inline-form{display:grid;grid-template-columns:1fr 1fr}.property-list-row,.property-expense>header{align-items:flex-start}.property-card dl,.property-dl{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.property-page{padding:.8rem}.property-inline-form{grid-template-columns:1fr}.property-list-row,.property-expense>header,.property-allocation-list>div{display:grid}.property-actions .btn{flex:1 1 auto}.property-card dl,.property-dl{grid-template-columns:1fr}.property-summary-grid{grid-template-columns:1fr 1fr}}

/* Phase 9 — Accountant & Tax Bridge */
.tax-page{max-width:1180px;margin:0 auto;padding:1rem}.tax-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.tax-header h1{margin:.1rem 0}.tax-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#56726e;margin:0}.tax-actions{display:flex;gap:.5rem;flex-wrap:wrap}.tax-create-year,.tax-template-upload,.tax-filter-form,.tax-export-form,.tax-mapping-form{display:grid;gap:.8rem;background:#fff;border:1px solid #dfe7e5;border-radius:16px;padding:1rem;margin:1rem 0}.tax-create-year{grid-template-columns:minmax(160px,240px) auto;align-items:end}.tax-create-year label,.tax-template-upload label,.tax-export-form label,.tax-mapping-form label{display:grid;gap:.3rem}.tax-create-year input,.tax-template-upload input,.tax-export-form select,.tax-mapping-form input,.tax-mapping-form select{min-height:44px;border:1px solid #c8d4d1;border-radius:10px;padding:.55rem .7rem;background:#fff}.tax-year-grid,.tax-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.tax-year-card,.tax-template-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #dfe7e5;border-radius:18px;padding:1rem;box-shadow:0 8px 24px rgba(22,55,50,.05)}.tax-year-card:hover,.tax-template-card:hover{border-color:#9bb7b1}.tax-year-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.tax-score{display:flex;align-items:baseline;gap:.6rem;margin:.8rem 0}.tax-score strong{font-size:2rem;color:#355c57}.tax-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0}.tax-summary-grid article{background:#fff;border:1px solid #dfe7e5;border-radius:16px;padding:1rem;display:grid;gap:.25rem}.tax-summary-grid strong{font-size:1.25rem}.tax-score-card strong{font-size:2rem;color:#355c57}.tax-panel{background:#fff;border:1px solid #dfe7e5;border-radius:18px;padding:1rem;margin:1rem 0}.tax-sensitive-panel{border-color:#e4c9c9;background:#fffafa}.tax-panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.tax-readiness-list{display:grid;gap:.55rem}.tax-readiness-row{display:flex;justify-content:space-between;gap:1rem;border:1px solid #e3e9e8;border-radius:12px;padding:.8rem}.tax-readiness-row p{margin:.2rem 0 0;color:#61716e;font-size:.9rem}.tax-readiness-row>div:last-child{display:flex;align-items:center;gap:.5rem}.tax-readiness-row.status-completed{border-left:4px solid #3c8b65}.tax-readiness-row.status-missing{border-left:4px solid #c98234}.tax-readiness-row.status-unconfirmed{border-left:4px solid #a76c24}.tax-readiness-row.status-unclassified{border-left:4px solid #a94949}.tax-confirm-box{margin-top:1rem;padding:1rem;border-radius:12px;background:#f2f7f6}.tax-package-list,.tax-mapping-list{display:grid;gap:.6rem}.tax-package-list a{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;color:inherit;border:1px solid #e2e8e7;border-radius:12px;padding:.75rem}.tax-field-chips{display:flex;flex-wrap:wrap;gap:.4rem}.tax-field-chips span{background:#eef5f3;border-radius:999px;padding:.35rem .65rem}.tax-inline-form{margin-top:.8rem}.tax-mapping-form{grid-template-columns:1fr 1fr auto;align-items:end}.tax-mapping-row{display:flex;justify-content:space-between;gap:1rem;border:1px solid #e3e9e8;border-radius:12px;padding:.75rem}.tax-mapping-row>div:first-child{display:grid;gap:.2rem}.tax-mapping-row>div:last-child{display:flex;gap:.4rem;align-items:center}.tax-empty{background:#f7faf9;border:1px dashed #b8c9c5;border-radius:16px;padding:1.25rem;text-align:center}
@media(max-width:760px){.tax-header{display:grid}.tax-create-year,.tax-mapping-form{grid-template-columns:1fr}.tax-readiness-row,.tax-package-list a,.tax-mapping-row{display:grid}.tax-mapping-row>div:last-child{justify-content:flex-start}.tax-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tax-summary-grid{grid-template-columns:1fr}.tax-page{padding:.65rem}.tax-panel{padding:.8rem}}

/* Phase 11 — Admin / User Management */
.admin-page { display:grid; gap:1rem; }
.admin-page-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; }
.admin-page-header h1 { margin:.1rem 0 .35rem; }
.admin-page-header p { margin:.2rem 0; }
.admin-subnav { display:flex; gap:.45rem; flex-wrap:wrap; }
.admin-subnav a { display:inline-flex; min-height:44px; align-items:center; padding:.45rem .7rem; border:1px solid #b9cbc5; border-radius:.65rem; text-decoration:none; background:white; }
.admin-metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.75rem; }
.admin-metric-grid article { background:white; border:1px solid #d8e2df; border-radius:.9rem; padding:.9rem; display:grid; gap:.25rem; }
.admin-metric-grid span { color:#657a75; font-size:.88rem; }
.admin-metric-grid strong { font-size:1.45rem; }
.admin-card,.admin-filter-card { background:white; border:1px solid #d8e2df; border-radius:1rem; padding:1rem; }
.admin-card h2 { font-size:1.2rem; margin-top:0; }
.admin-card h3 { font-size:1rem; }
.admin-filter-card { display:flex; gap:.75rem; align-items:end; flex-wrap:wrap; }
.admin-filter-card label,.admin-action-form label { display:grid; gap:.3rem; font-weight:700; }
.admin-filter-card input,.admin-filter-card select,.admin-action-form input,.admin-action-form select,.admin-action-form textarea,.admin-inline-form input { min-height:44px; border:1px solid #8a9e99; border-radius:.6rem; padding:.48rem .62rem; background:white; }
.admin-action-form { display:grid; gap:.75rem; }
.admin-action-form textarea { min-height:92px; resize:vertical; }
.admin-action-row { display:flex; gap:.5rem; flex-wrap:wrap; }
.admin-list { display:grid; gap:.75rem; }
.admin-user-card { display:grid; gap:.75rem; background:white; border:1px solid #d8e2df; border-radius:1rem; padding:1rem; }
.admin-user-card h2 { font-size:1.05rem; margin:0; overflow-wrap:anywhere; }
.admin-muted { color:#657a75; font-size:.86rem; overflow-wrap:anywhere; }
.admin-badges { display:flex; gap:.4rem; flex-wrap:wrap; }
.admin-inline-details,.admin-detail-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.65rem; margin:0; }
.admin-inline-details div,.admin-detail-grid div { min-width:0; }
.admin-inline-details dt,.admin-detail-grid dt { color:#657a75; font-size:.82rem; }
.admin-inline-details dd,.admin-detail-grid dd { margin:0; overflow-wrap:anywhere; }
.admin-user-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; flex-wrap:wrap; }
.admin-session-row,.admin-status-row,.admin-audit-row { border-top:1px solid #e2e9e6; padding:.75rem 0; display:flex; gap:.75rem; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
.admin-session-row:first-of-type,.admin-status-row:first-of-type,.admin-audit-row:first-of-type { border-top:0; }
.admin-session-row small,.admin-audit-row small { display:block; color:#657a75; overflow-wrap:anywhere; }
.admin-inline-form { display:flex; gap:.45rem; align-items:center; flex-wrap:wrap; }
.admin-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.admin-table-wrap { overflow:auto; }
.admin-table-wrap table { min-width:720px; }
.admin-warning { color:#7a3f18; font-weight:600; }
.admin-empty { padding:1rem; border:1px dashed #b9cbc5; border-radius:.8rem; color:#657a75; }
@media(max-width:760px) {
  .admin-two-column { grid-template-columns:1fr; }
  .admin-filter-card,.admin-filter-card label { width:100%; }
  .admin-filter-card input,.admin-filter-card select { width:100%; }
  .admin-action-row .btn { flex:1 1 46%; }
  .admin-inline-form { width:100%; }
  .admin-inline-form input { flex:1 1 160px; }
}

/* Phase 12 — Digital Account Directory */
.account-page{display:grid;gap:1rem;max-width:1180px;margin:0 auto}.account-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.account-page-header h1{margin:.1rem 0 .35rem}.account-page-header p{margin:.2rem 0;color:#657a75}.account-privacy-banner{display:flex;gap:.55rem;align-items:flex-start;background:#f3f8f6;border:1px solid #bfd3cc;border-radius:1rem;padding:.85rem 1rem}.account-privacy-banner strong{white-space:nowrap}.account-filter-card,.account-form-card,.account-detail-card,.account-danger-zone{background:white;border:1px solid #d8e2df;border-radius:1rem;padding:1rem}.account-filter-card{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.account-filter-card label{display:grid;gap:.3rem;font-weight:700;flex:1 1 200px}.account-filter-card input,.account-filter-card select,.account-field input,.account-field select,.account-field textarea{width:100%;min-height:44px;border:1px solid #8a9e99;border-radius:.65rem;padding:.55rem .65rem;background:white;color:var(--ink)}.account-filter-actions,.account-actions,.account-card-actions,.account-detail-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.account-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.account-card{background:white;border:1px solid #d8e2df;border-radius:1rem;overflow:hidden}.account-card-main{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:1rem;text-decoration:none;color:inherit}.account-card-main:hover{background:#f6f9f8}.account-card-main h2{font-size:1.1rem;margin:.2rem 0 0}.account-category{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#55716c}.account-mfa{display:inline-flex;align-items:center;min-height:28px;padding:.18rem .52rem;border-radius:999px;font-size:.78rem;font-weight:700;background:#eef1f0}.account-mfa.is-on{background:#e6f3ea;color:#286440}.account-mfa.is-off{background:#faece8;color:#8b3a2d}.account-mfa.is-unknown{background:#f0f1f2;color:#5b6368}.account-card-meta,.account-detail-grid{margin:0;display:grid;gap:.65rem}.account-card-meta{padding:0 1rem 1rem}.account-card-meta div,.account-detail-grid div{min-width:0}.account-card-meta dt,.account-detail-grid dt{font-size:.8rem;color:#657a75}.account-card-meta dd,.account-detail-grid dd{margin:0;overflow-wrap:anywhere}.account-card-actions{padding:.8rem 1rem;border-top:1px solid #edf0ef}.account-empty{text-align:center;background:white;border:1px dashed #a9bbb5;border-radius:1rem;padding:2rem}.account-empty p{margin:.4rem 0 0;color:#657a75}.account-pagination{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap}.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.account-field{display:grid;gap:.35rem;align-content:start}.account-field-wide{grid-column:1/-1}.account-field label{font-weight:700}.account-field textarea{min-height:120px;resize:vertical}.account-field small{color:#657a75}.account-secret-warning{color:#8a421d!important;font-weight:600}.account-form-card>.account-actions{margin-top:1rem}.account-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-notes{margin-top:1rem;padding-top:1rem;border-top:1px solid #edf0ef}.account-notes h2,.account-danger-zone h2{font-size:1.05rem}.account-detail-actions{margin-top:1rem}.account-danger-zone{border-color:#e4caca}.account-danger-zone p{color:#657a75}.account-detail-card a{overflow-wrap:anywhere}
@media(max-width:720px){.account-page-header{display:grid}.account-filter-card{display:grid}.account-filter-card label,.account-filter-actions{width:100%}.account-filter-actions .btn{flex:1 1 auto}.account-form-grid,.account-detail-grid{grid-template-columns:1fr}.account-field-wide{grid-column:auto}.account-privacy-banner{display:grid}.account-privacy-banner strong{white-space:normal}.account-card-actions .btn,.account-actions .btn{flex:1 1 auto}}


/* Phase 13 — Secret Vault. Secret plaintext exists only in the user's browser memory. */
.vault-page{display:grid;gap:1rem;max-width:1180px;margin:0 auto}.vault-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.vault-page-header h1{margin:.1rem 0 .35rem}.vault-page-header p{margin:.2rem 0;color:#657a75}.vault-security-banner{display:flex;gap:.6rem;align-items:flex-start;background:#fff8e8;border:1px solid #dfc98d;border-radius:1rem;padding:.9rem 1rem}.vault-security-banner strong{white-space:nowrap}.vault-disabled-card,.vault-panel{background:white;border:1px solid #d8e2df;border-radius:1rem;padding:1rem}.vault-disabled-card{border-color:#dfc98d;background:#fffdf7}.vault-disabled-card h2,.vault-panel h2{font-size:1.15rem;margin-top:0}.vault-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;margin:0}.vault-status-grid div{background:#f6f8f7;border-radius:.7rem;padding:.7rem}.vault-status-grid dt{font-size:.8rem;color:#657a75}.vault-status-grid dd{margin:0;font-weight:700}.vault-message{padding:.75rem 1rem;border-radius:.75rem;border:1px solid #c7d6d2;background:#f3f8f6}.vault-message[data-kind="error"]{background:#fff0ed;border-color:#e3aaa0;color:#7c2e22}.vault-message[data-kind="success"]{background:#edf8f0;border-color:#acd2b5;color:#245d36}.vault-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vault-field-grid label,.vault-single-field,.vault-secret-fields label{display:grid;gap:.35rem;font-weight:700}.vault-field-grid input,.vault-field-grid select,.vault-single-field input,.vault-secret-fields input,.vault-secret-fields textarea{width:100%;min-height:44px;border:1px solid #8a9e99;border-radius:.65rem;padding:.55rem .65rem;background:white;color:var(--ink)}.vault-field-wide{grid-column:1/-1}.vault-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.vault-panel>.vault-actions,.vault-panel>button{margin-top:1rem}.vault-recovery-card{margin-top:1rem;padding:1rem;border:1px solid #d4b66b;border-radius:.85rem;background:#fff9e9}.vault-recovery-card h3{font-size:1rem}.vault-recovery-card code{display:block;overflow-wrap:anywhere;padding:.65rem;background:#fff;border:1px solid #ead8a6;border-radius:.5rem;margin:.5rem 0}.vault-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:#edf5f2;border:1px solid #c3d7d0;border-radius:1rem;padding:.8rem 1rem;margin-bottom:1rem}.vault-toolbar>div:first-child{display:grid;gap:.15rem}.vault-toolbar small{color:#657a75}.vault-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.vault-panel-heading h2{margin:0}.vault-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:.8rem}.vault-item-card{display:flex;justify-content:space-between;align-items:center;gap:.75rem;border:1px solid #dce5e2;border-radius:.85rem;padding:.85rem}.vault-item-card h3{font-size:1rem;margin:.15rem 0 0;overflow-wrap:anywhere}.vault-item-card small{color:#657a75}.vault-empty{text-align:center;padding:1.5rem;color:#657a75;border:1px dashed #b6c7c2;border-radius:.8rem;margin-top:.8rem}.vault-secret-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.vault-secret-fields textarea{min-height:100px;resize:vertical}.vault-secret-warning{color:#7a3f18;font-weight:600;margin:.8rem 0}.vault-secret-view{display:grid;gap:.75rem;margin-top:.8rem}.vault-secret-row{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr) auto;gap:.65rem;align-items:center}.vault-secret-row input{width:100%;min-height:44px;border:1px solid #8a9e99;border-radius:.6rem;padding:.5rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.vault-passkey-status{padding:.7rem;border-radius:.7rem;background:#f4f6f6;color:#516660}.vault-panel code{overflow-wrap:anywhere}.vault-page .btn{min-height:40px}.vault-page input[type="password"]{font-family:system-ui,sans-serif;letter-spacing:.02em}
@media(max-width:760px){.vault-page-header,.vault-toolbar{display:grid}.vault-field-grid,.vault-secret-fields{grid-template-columns:1fr}.vault-field-wide{grid-column:auto}.vault-security-banner{display:grid}.vault-security-banner strong{white-space:normal}.vault-secret-row{grid-template-columns:1fr}.vault-actions .btn{flex:1 1 auto}}

/* Phase 14 — Smart Agents and explicit action confirmation. */
.smart-agents-page{display:grid;gap:1rem;max-width:1180px;margin:0 auto}.smart-agents-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.smart-agents-header h1{margin:.1rem 0 .35rem}.smart-agents-header p{margin:0;color:#657a75;max-width:760px}.smart-agents-security{display:grid;gap:.35rem;background:#f5f8ff;border:1px solid #bdcbe9;border-radius:1rem;padding:1rem}.smart-agents-security strong{color:#2e4f83}.smart-agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.smart-agent-card{background:white;border:1px solid #d8e2df;border-radius:1rem;padding:1rem;display:grid;gap:.8rem}.smart-agent-card-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.smart-agent-card h2{font-size:1.05rem;margin:0;overflow-wrap:anywhere}.smart-agent-count{font-size:.78rem;color:#657a75;white-space:nowrap}.smart-agent-badges{display:flex;gap:.45rem;flex-wrap:wrap}.smart-agent-badges span{display:inline-flex;align-items:center;min-height:28px;padding:.18rem .52rem;border-radius:999px;background:#edf3f1;color:#365c53;font-size:.78rem;font-weight:700}.smart-agent-badges .needs-confirmation{background:#fff2db;color:#79500f}.smart-agents-empty{background:white;border:1px dashed #a9bbb5;border-radius:1rem;padding:2rem;text-align:center;color:#657a75}.ai-action-confirmation{margin:.75rem 0 1rem;border:1px solid #c9b06a;background:#fff9e8;border-radius:1rem;padding:1rem;display:grid;gap:.65rem}.ai-action-confirmation-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.ai-action-confirmation-heading span{font-size:.78rem;font-weight:700;color:#6b5a29;overflow-wrap:anywhere}.ai-action-confirmation-summary,.ai-action-confirmation-notice{margin:0;overflow-wrap:anywhere}.ai-action-confirmation-notice{font-size:.88rem;color:#675f4d}.ai-action-confirmation-actions{display:flex;gap:.5rem;flex-wrap:wrap}.ai-action-confirmation-result{min-height:1.4rem;font-weight:700}.ai-action-confirmation.completed{background:#edf8f0;border-color:#acd2b5}.ai-action-confirmation.failed{background:#fff0ed;border-color:#e3aaa0}.ai-action-confirmation.cancelled{background:#f4f5f5;border-color:#cdd3d1}
@media(max-width:720px){.smart-agents-header{display:grid}.smart-agents-header .btn{width:100%}.ai-action-confirmation-heading{display:grid}.ai-action-confirmation-actions .btn{flex:1 1 auto}}

/* Phase 15 — Emergency / SOS. Safety-critical actions stay large, direct, and user-controlled. */
.nav-sos{font-weight:800;color:#a62020!important}.global-sos-button{position:fixed;right:1rem;bottom:1rem;z-index:1050;display:inline-flex;align-items:center;justify-content:center;min-width:68px;min-height:52px;padding:.65rem 1rem;border-radius:999px;background:#b42318;color:white;text-decoration:none;font-weight:900;letter-spacing:.04em;box-shadow:0 .4rem 1.2rem rgba(75,20,20,.25);border:3px solid white}.global-sos-button:hover,.global-sos-button:focus{background:#8f1c15;color:white}.emergency-page{display:grid;gap:1rem;max-width:1180px;margin:0 auto}.emergency-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.emergency-header.compact{align-items:center}.emergency-header h1{margin:.05rem 0 .35rem}.emergency-header p{margin:.15rem 0;color:#657a75}.emergency-eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#9b251d!important}.sos-call-button{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:64px;padding:.9rem 1.25rem;border-radius:1rem;background:#b42318;color:#fff;text-decoration:none;font-size:1.05rem;font-weight:900;box-shadow:0 .35rem .9rem rgba(93,24,20,.2)}.sos-call-button:hover,.sos-call-button:focus{background:#8f1c15;color:#fff}.emergency-critical{display:flex;gap:.65rem;align-items:flex-start;padding:1rem;border-radius:1rem;background:#fff0ed;border:2px solid #d45b50;color:#74241d}.emergency-critical strong{white-space:nowrap}.emergency-panel{background:#fff;border:1px solid #d8e2df;border-radius:1rem;padding:1rem}.emergency-panel h2{font-size:1.15rem;margin:.05rem 0 .35rem}.emergency-panel>p{margin:.2rem 0 .8rem;color:#657a75}.emergency-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.emergency-panel-heading h2{margin:0}.emergency-panel-heading p{margin:.25rem 0 0;color:#657a75}.emergency-incident-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem}.emergency-incident{min-height:54px;border:1px solid #c9d6d2;border-radius:.8rem;background:#f8faf9;font-weight:700}.emergency-incident:hover,.emergency-incident.selected{border-color:#8f2d24;background:#fff0ed;color:#7e271f}.emergency-status{min-height:1.5rem;margin:.55rem 0 0;color:#6b514f}.emergency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.emergency-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.emergency-action-grid .btn{display:inline-flex;align-items:center;justify-content:center;white-space:normal}.emergency-provider-note{margin-top:.8rem;padding:.7rem;border-radius:.7rem;background:#fff8e8;border:1px solid #dec78b;color:#6f5721}.emergency-location-result{display:grid;gap:.35rem;margin-top:.8rem;padding:.75rem;border-radius:.75rem;background:#edf6f2}.emergency-location-result a{width:max-content;max-width:100%}.emergency-nearby-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.emergency-nearby-card{border:1px solid #dce5e2;border-radius:.85rem;padding:.85rem;background:#fafcfb}.emergency-nearby-card h3{font-size:1rem;margin:0 0 .35rem}.emergency-nearby-card p{margin:.2rem 0;color:#5e716d}.emergency-nearby-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.emergency-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-top:.8rem}.emergency-contact-card{border:1px solid #dce5e2;border-radius:.9rem;padding:.9rem;display:grid;gap:.75rem}.emergency-contact-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.emergency-contact-name h3{font-size:1.05rem;margin:0}.emergency-contact-name span{font-size:.76rem;font-weight:800;padding:.15rem .45rem;border-radius:999px;background:#fff2db;color:#785313}.emergency-contact-card p{margin:.2rem 0;color:#657a75}.emergency-contact-actions,.emergency-form-actions{display:flex;gap:.45rem;flex-wrap:wrap}.emergency-contact-actions form{margin:0}.emergency-empty{padding:1.2rem;text-align:center;border:1px dashed #b3c3be;border-radius:.8rem;color:#657a75;margin-top:.8rem}.emergency-profile-form{display:grid;gap:.9rem;margin-top:.8rem}.emergency-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.emergency-form-grid label{display:grid;gap:.35rem;font-weight:700}.emergency-form-grid input:not([type=checkbox]),.emergency-form-grid select,.emergency-form-grid textarea{width:100%;min-height:44px;padding:.55rem .65rem;border:1px solid #8a9e99;border-radius:.65rem;background:#fff;color:var(--ink)}.emergency-form-grid textarea{resize:vertical;min-height:105px}.emergency-field-wide{grid-column:1/-1}.emergency-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:.55rem!important;min-height:44px}.emergency-check input{width:1.2rem;height:1.2rem}.emergency-ai-privacy{margin:0;color:#5f716d;font-size:.92rem}.emergency-disclaimer{display:grid;gap:.25rem;padding:1rem;border:1px solid #cbd5d2;border-radius:1rem;background:#f5f7f7;color:#50615e}.emergency-contact-form-page{max-width:800px}
@media(max-width:760px){.global-sos-button{right:.75rem;bottom:.75rem;min-width:64px}.emergency-header,.emergency-critical,.emergency-panel-heading{display:grid}.emergency-critical strong{white-space:normal}.sos-call-button{width:100%}.emergency-grid,.emergency-form-grid,.emergency-action-grid{grid-template-columns:1fr}.emergency-field-wide{grid-column:auto}.emergency-contact-actions .btn,.emergency-contact-actions form,.emergency-contact-actions form button,.emergency-form-actions .btn{flex:1 1 auto}.emergency-contact-actions form button{width:100%}}

/* Phase 16 — Proactive AI. Source access is opt-in and reminders stay user-controlled. */
.proactive-page{display:grid;gap:1rem;max-width:1180px;margin:0 auto}.proactive-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.proactive-header h1{margin:.05rem 0 .35rem}.proactive-header p{margin:.15rem 0;color:#657a75}.proactive-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:#355c57!important}.proactive-privacy{display:grid;gap:.3rem;padding:1rem;border:1px solid #bdd8d1;background:#f0f8f5;border-radius:1rem;color:#365c53}.proactive-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.proactive-panel{background:#fff;border:1px solid #d8e2df;border-radius:1rem;padding:1rem}.proactive-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.proactive-panel-heading h2{font-size:1.15rem;margin:0}.proactive-panel-heading p{margin:.25rem 0 0;color:#657a75}.proactive-panel-heading>span{font-size:.8rem;font-weight:700;color:#55716e}.proactive-disabled{border-style:dashed}.proactive-brief-list{display:grid;gap:.55rem;margin-top:.8rem}.proactive-brief-item{display:grid;gap:.2rem;text-decoration:none;color:inherit;padding:.7rem;border:1px solid #e0e8e5;border-radius:.75rem;background:#fafcfb}.proactive-brief-item:hover{border-color:#9ebbb3}.proactive-brief-item span{font-size:.9rem;color:#657a75}.proactive-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.75rem;margin-top:.8rem}.proactive-card{display:grid;gap:.8rem;border:1px solid #dce5e2;border-radius:.9rem;padding:.9rem;background:#fff}.proactive-card h3{font-size:1.02rem;margin:.15rem 0}.proactive-card p{margin:.2rem 0;color:#657a75}.proactive-source{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#55716e}.proactive-card-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.proactive-card-actions form{margin:0}.proactive-empty{padding:1rem;text-align:center;color:#657a75;border:1px dashed #b7c8c3;border-radius:.8rem;margin-top:.7rem}.proactive-provider-note{margin-top:.8rem;padding:.65rem;border-radius:.7rem;background:#fff8e8;border:1px solid #dec78b;color:#6f5721}.proactive-form{display:grid;gap:1rem;margin-top:.8rem}.proactive-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.proactive-form-grid label{display:grid;gap:.35rem;font-weight:700}.proactive-form-grid input:not([type=checkbox]),.proactive-form-grid select{min-height:44px;padding:.5rem .6rem;border:1px solid #8a9e99;border-radius:.65rem;background:#fff}.proactive-wide{grid-column:1/-1}.proactive-check{display:flex!important;gap:.6rem!important;align-items:flex-start!important;font-weight:600}.proactive-check input{width:1.2rem;height:1.2rem;margin-top:.15rem;flex:0 0 auto}.proactive-check span{display:grid;gap:.1rem}.proactive-check small{color:#657a75;font-weight:400}.proactive-fieldset{border:1px solid #dce5e2;border-radius:.9rem;padding:1rem}.proactive-fieldset legend{float:none;width:auto;padding:0 .25rem;font-size:1rem;font-weight:800}.proactive-fieldset>p{color:#657a75}.proactive-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.proactive-check-grid label{display:flex;gap:.5rem;align-items:flex-start}.proactive-check-grid input{width:1.1rem;height:1.1rem;margin-top:.15rem}.proactive-consent{padding:1rem;border:1px solid #b9c9e6;border-radius:.8rem;background:#f5f8ff}.proactive-timezone{font-size:.9rem;color:#657a75;margin:0}.nav-proactive{font-weight:700;color:#355c57!important}
@media(max-width:760px){.proactive-brief-grid,.proactive-form-grid,.proactive-check-grid{grid-template-columns:1fr}.proactive-wide{grid-column:auto}.proactive-header{display:grid}.proactive-header .btn{width:100%}.proactive-card-actions .btn,.proactive-card-actions form,.proactive-card-actions form button{flex:1 1 auto}.proactive-card-actions form button{width:100%}}

/* Compact navigation and the home app launcher. */
.brand { display:inline-flex; align-items:center; gap:.65rem; }
.brand > a { color:inherit; text-decoration:none; }
.brand-logo-button { flex:none; padding:0; border:0; border-radius:50%; background:transparent; cursor:zoom-in; }
.brand-logo-button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.brand-logo-button img { display:block; }
.logo-preview { display:flex; justify-content:center; }
.logo-preview img { display:block; width:100%; height:auto; max-height:75vh; object-fit:contain; }
.brand img { flex:none; width:80px; height:80px; aspect-ratio:1; object-fit:cover; object-position:center; border-radius:50%; }
.header-controls { display:flex; align-items:center; justify-content:flex-end; gap:.5rem 1.25rem; flex-wrap:wrap; margin-left:auto; }
.header-controls nav,.header-controls .account-nav { gap:.25rem 1rem; }
.header-controls a { display:inline-flex; align-items:center; min-height:44px; }
.header-controls form { margin-bottom:0; }
.header-controls .culture-form { margin-left:0; }
.home-launcher { padding:clamp(1rem,4vw,3rem); border:1px solid #d8e5ed; border-radius:1.75rem; background:radial-gradient(ellipse at 0 0,#def5ef,transparent 65%),linear-gradient(145deg,#edf7ff,#e8ecfb); }
.home-heading { margin-bottom:2rem; }
.home-heading h1 { font-size:clamp(1.7rem,4vw,2.6rem); margin-bottom:.5rem; }
.home-heading p { margin-bottom:.4rem; }
.home-heading>p:last-child { color:#4c6569; }
.app-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:2rem 1rem; }
.app-tile { display:flex; flex-direction:column; align-items:center; gap:.65rem; min-width:0; text-align:center; text-decoration:none; color:var(--ink); border-radius:1rem; }
.app-icon { display:grid; place-items:center; width:clamp(60px,8vw,88px); aspect-ratio:1; flex:none; border-radius:24%; color:white; background:linear-gradient(145deg,var(--tile-light),var(--tile-dark)); box-shadow:inset 0 1px 1px #ffffff80,0 6px 12px #203c3a1a; border:1px solid #ffffff70; transition:transform .15s ease; }
.app-icon svg { width:56%; height:56%; }
.app-label { font-size:.95rem; font-weight:600; line-height:1.4; overflow-wrap:anywhere; max-width:100%; }
.app-tile:hover { color:var(--ink); }
.app-tile:hover .app-icon { transform:translateY(-3px); }
.app-icon-violet { --tile-light:#9d7cf2; --tile-dark:#6040b5; }
.app-icon-coral { --tile-light:#ff877b; --tile-dark:#ce4053; }
.app-icon-blue { --tile-light:#67b2ff; --tile-dark:#3262c9; }
.app-icon-green { --tile-light:#65cfa0; --tile-dark:#22825c; }
.app-icon-pink { --tile-light:#e78ec1; --tile-dark:#ae438c; }
.app-icon-sky { --tile-light:#6bcded; --tile-dark:#287cc4; }
.app-icon-orange { --tile-light:#f3ba64; --tile-dark:#c87224; }
.app-icon-teal { --tile-light:#55c7c0; --tile-dark:#217c80; }
.app-icon-indigo { --tile-light:#929cf2; --tile-dark:#525ab0; }
.app-icon-slate { --tile-light:#91a5ba; --tile-dark:#4c607b; }
.app-icon-cyan { --tile-light:#55c4dc; --tile-dark:#207c9a; }
.app-icon-purple { --tile-light:#ba85da; --tile-dark:#784399; }
.app-icon-red { --tile-light:#f97979; --tile-dark:#b42318; }
.app-icon-amber { --tile-light:#edbe51; --tile-dark:#ac7516; }
.app-icon-emerald { --tile-light:#65c293; --tile-dark:#267857; }
@media(max-width:1000px) { .app-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:767px) {
  .app-header { padding:.8rem 1rem; align-items:flex-start; }
  .header-controls { flex:1 1 100%; gap:.25rem 1rem; }
  .header-controls .culture-form { width:auto; justify-content:flex-end; max-width:100%; }
  .header-controls select { max-width:100%; }
  .home-launcher { padding:1.25rem .65rem; border-radius:1.25rem; }
  .home-heading { padding:0 .35rem; margin-bottom:1.5rem; }
  .app-grid { gap:1.5rem .45rem; }
  .app-icon { width:clamp(48px,15vw,76px); }
  .app-label { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { .app-icon { transition:none; } }

/* Mobile disclosure with a clockwise marker on a square frame. */
.mobile-menu-toggle { display:none; position:relative; width:52px; height:52px; flex:0 0 52px; padding:0; border:0; border-radius:0; background:transparent; color:var(--accent); }
.mobile-menu-frame { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.mobile-menu-dot { animation:menu-dot-clockwise 10s linear infinite; }
.mobile-menu-bars { display:grid; gap:5px; width:22px; margin:auto; }
.mobile-menu-bars span { display:block; height:2px; background:currentColor; border-radius:2px; }
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-bars span:first-child { transform:translateY(7px) rotate(45deg); }
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-bars span:nth-child(2) { opacity:0; }
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-bars span:last-child { transform:translateY(-7px) rotate(-45deg); }
@keyframes menu-dot-clockwise { from { stroke-dashoffset:0; } to { stroke-dashoffset:-100; } }
@media(max-width:767px) {
  .app-header { align-items:center; justify-content:space-between; }
  .app-header .brand { font-size:clamp(1.05rem,4.8vw,1.5rem); gap:.5rem; }
  .app-header .brand img { width:56px; height:56px; }
  .mobile-menu-ready .mobile-menu-toggle { display:grid; place-items:center; }
  .mobile-menu-ready .header-controls { display:none; }
  .mobile-menu-ready.mobile-menu-open .header-controls { display:flex; }
  .mobile-menu-ready .header-controls { flex-basis:100%; margin:0; padding:.85rem; border:1px solid #c5dfef; border-radius:.85rem; background:#e6f3ff; color:#75452e; justify-content:flex-start; }
  .mobile-menu-ready .header-controls a,
  .mobile-menu-ready .header-controls label,
  .mobile-menu-ready .header-controls button,
  .mobile-menu-ready .header-controls select { color:#75452e; }
  .mobile-menu-ready .header-controls .culture-form { flex-basis:100%; justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .mobile-menu-dot { animation:none; } }

/* Temporary tester login: standard Identity account, same Credits/access rules as registered users. */
.account-email { display:inline-flex; align-items:center; min-height:44px; max-width:18rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; color:#355c57; }
.tester-login-button { min-height:40px; white-space:nowrap; }
@media(max-width:767px){.mobile-menu-ready .account-email{color:#75452e;max-width:100%;}}

/* Health / longitudinal personal health record */
.health-page{display:grid;gap:1rem;max-width:1220px;margin:0 auto}.health-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;padding:1.15rem;border-radius:1.2rem;background:linear-gradient(145deg,#fff4f4,#eef8ff);border:1px solid #e6dfe2}.health-hero h1{margin:.05rem 0 .35rem}.health-hero p{margin:.2rem 0;color:#657a75}.health-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:#8a4354!important}.health-safety{display:grid;gap:.25rem;padding:1rem;border:1px solid #e2c786;border-radius:1rem;background:#fff9e9;color:#6f5721}.health-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.health-summary-card{display:grid;gap:.15rem;padding:1rem;border:1px solid #dce5e2;border-radius:1rem;background:#fff}.health-summary-card span{font-size:.85rem;color:#657a75}.health-summary-card strong{font-size:1.7rem}.health-summary-card small{color:#7b8d89;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-panel{background:#fff;border:1px solid #d8e2df;border-radius:1rem;padding:1rem}.health-panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.75rem}.health-panel-heading h2,.health-future-panel h2{font-size:1.18rem;margin:0}.health-panel-heading p,.health-future-panel p{margin:.25rem 0 0;color:#657a75}.health-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.health-form{display:grid;gap:.8rem}.health-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-form label{display:grid;gap:.35rem;font-weight:700}.health-form input:not([type=checkbox]),.health-form select,.health-form textarea{width:100%;min-height:44px;padding:.55rem .65rem;border:1px solid #8a9e99;border-radius:.65rem;background:#fff;color:var(--ink)}.health-form textarea{resize:vertical}.health-wide{grid-column:1/-1}.health-consent{display:flex!important;grid-template-columns:auto 1fr;gap:.6rem!important;align-items:flex-start;background:#f4f8ff;border:1px solid #cedcf2;border-radius:.75rem;padding:.8rem}.health-consent input{width:1.2rem;height:1.2rem;margin-top:.15rem}.health-consent span{display:grid;gap:.15rem}.health-consent small{font-weight:400;color:#657a75}.health-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.health-ai-panel{border-color:#cfc6ef;background:linear-gradient(145deg,#fff,#f8f5ff)}.health-ai-answer{margin-top:1rem;border:1px solid #ddd5f0;border-radius:.85rem;padding:1rem;background:#fff}.health-ai-answer-meta{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.65rem}.health-ai-answer-meta span{font-size:.82rem;color:#657a75}.health-ai-answer-text{white-space:pre-wrap;line-height:1.55}.health-table small{color:#657a75}.health-timeline{display:grid;gap:.65rem}.health-timeline-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:.75rem;border:1px solid #e0e8e5;border-radius:.8rem;background:#fafcfb}.health-timeline-date{font-weight:800;color:#526d67}.health-timeline-body h3{font-size:1rem;margin:.15rem 0}.health-timeline-body p{margin:.2rem 0;color:#657a75;white-space:pre-wrap}.health-kind{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#78527d}.health-empty{padding:1rem;text-align:center;color:#657a75;border:1px dashed #b7c8c3;border-radius:.8rem}.health-future-chips{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}.health-future-chips span{padding:.35rem .65rem;border-radius:999px;background:#edf5f3;border:1px solid #cbded9;font-size:.85rem;font-weight:700}.app-icon-rose{--tile-light:#f28a9b;--tile-dark:#b83d58}
@media(max-width:900px){.health-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-two-column{grid-template-columns:1fr}}@media(max-width:620px){.health-summary-grid,.health-form-grid{grid-template-columns:1fr}.health-wide{grid-column:auto}.health-timeline-item{grid-template-columns:1fr}.health-form-actions .btn{width:100%}}

/* Contacts import */
.contacts-page-header .contact-header-actions { margin-top:0; }
.contact-import-panel { margin:.65rem 0 1rem; }
.contact-import-help { margin:0; color:#657a75; font-size:.92rem; }
.contact-import-status { min-height:1.35rem; margin:.25rem 0 0; color:#365a52; font-size:.92rem; }

/* Life Map marker detail popup */
.map-place-popup{display:grid;gap:.55rem;min-width:260px;max-width:360px;padding:.15rem .1rem;color:#173b35}.map-place-popup h3{font-size:1.05rem;line-height:1.3;margin:0}.map-popup-frequent{display:inline-flex;width:max-content;max-width:100%;padding:.15rem .45rem;border-radius:999px;background:#fff3cd;color:#765600;font-size:.78rem;font-weight:800}.map-popup-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:.45rem;align-items:start;font-size:.88rem}.map-popup-row>strong{color:#49625d}.map-popup-row a{overflow-wrap:anywhere}.map-popup-hours{list-style:none;margin:.25rem 0 0;padding:0;display:grid;gap:.1rem;font-size:.82rem}.map-popup-open-state{font-weight:800;margin-bottom:.15rem}.map-popup-open-state.is-open{color:#137333}.map-popup-open-state.is-closed{color:#b3261e}.map-popup-announcement{white-space:normal;overflow-wrap:anywhere}.map-popup-actions{display:flex;gap:.4rem;flex-wrap:wrap;padding-top:.25rem;border-top:1px solid #e0e8e5}.map-popup-loading{margin:0;color:#61736f}.map-popup-error{padding:.4rem .5rem;border-radius:.5rem;background:#fff4e5;color:#8a4b08;font-size:.82rem}@media(max-width:600px){.map-place-popup{min-width:220px;max-width:285px}.map-popup-row{grid-template-columns:76px minmax(0,1fr)}}

/* Receipt camera capture + original evidence preview */
.receipt-camera-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:center}.receipt-file-picker{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.receipt-file-name{min-width:0;overflow-wrap:anywhere;opacity:.78}.receipt-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.receipt-camera-panel{margin-top:.75rem;display:grid;gap:.65rem}.receipt-camera-panel[hidden]{display:none}.receipt-camera-panel video{display:block;width:100%;max-height:420px;object-fit:contain;background:#111;border-radius:.8rem}.receipt-camera-preview{display:block;width:100%;max-height:360px;object-fit:contain;margin-top:.75rem;border:1px solid rgba(127,127,127,.22);border-radius:.8rem;background:rgba(127,127,127,.04)}.receipt-camera-preview[hidden]{display:none}.receipt-original-preview{display:block;width:100%;max-height:560px;object-fit:contain;border:1px solid rgba(127,127,127,.22);border-radius:.8rem;background:rgba(127,127,127,.04);margin:.75rem 0}.receipt-original-actions{margin-top:.65rem}.receipt-recognition-ok{border-left:4px solid var(--bs-success);padding:.55rem .75rem;margin-bottom:.75rem;background:rgba(25,135,84,.06);border-radius:.35rem}.receipt-extracted-block{margin-top:.8rem}.receipt-extracted-block>strong{display:block;margin-bottom:.35rem}.receipt-item-table th,.receipt-item-table td{white-space:nowrap}.receipt-item-table th:first-child,.receipt-item-table td:first-child{white-space:normal;min-width:12rem}
@media(max-width:680px){.receipt-camera-actions{grid-template-columns:1fr}.receipt-camera-panel video{max-height:55vh}.receipt-original-preview{max-height:55vh}}

/* Imported translation and recognition tools share the existing responsive shell. */
.tool-workspace { max-width: 1100px; margin: 0 auto; }
.tool-workspace fieldset { border: 0; padding: 0; min-width: 0; }
.tool-workspace textarea { display: block; width: 100%; box-sizing: border-box; margin: .6rem 0; }
.tool-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin: 1rem 0; }
.tool-actions label { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.tool-media { display: block; max-width: 100%; max-height: 420px; object-fit: contain; margin: 1rem 0; }
.tool-media[hidden], .tool-workspace [hidden] { display: none; }
.tool-result { border: 1px solid #bdcbd5; border-radius: 12px; padding: 1rem; margin: 1rem 0; overflow-wrap: anywhere; }
.tool-result p { white-space: pre-wrap; }
.tool-items { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(260px,100%),1fr)); gap: .8rem; }
.tool-item { padding: .8rem; background: #f3f7fb; border-radius: 8px; min-width: 0; }
.tool-item canvas { max-width: 100%; height: auto; }
.tool-item dl { display: grid; grid-template-columns: minmax(70px,1fr) minmax(0,2fr); gap: .4rem; }
.tool-item dd { margin: 0; }
.tool-workspace button:disabled { opacity: .6; }
@media (max-width: 600px) { .tool-actions > button { flex: 1 1 auto; } .tool-result { padding: .65rem; } }

/* AI Bestie selectable browser voice */
.bestie-voice-picker{display:grid;gap:.25rem;min-width:min(280px,100%)}
.bestie-voice-picker label{font-weight:700;font-size:.88rem}
.bestie-voice-picker select{min-height:38px;max-width:340px;padding:.35rem .55rem;border:1px solid #9aaaa6;border-radius:.55rem;background:#fff;color:var(--ink)}
.bestie-voice-picker small{max-width:340px;color:#657a75;font-size:.78rem;line-height:1.3}
@media(max-width:720px){.bestie-voice-picker,.bestie-voice-picker select,.bestie-voice-picker small{width:100%;max-width:none}}

/* V3.0 Phase 2 — Today */
.today-shell{display:grid;gap:1rem;max-width:1180px;margin:0 auto;padding:clamp(.8rem,2.5vw,1.6rem)}
.today-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.3rem 1.45rem;border-radius:1.5rem;background:linear-gradient(135deg,#f2fbff,#f8f4ff);border:1px solid #dce7ef}
.today-hero h1{margin:.15rem 0 .25rem;font-size:clamp(1.75rem,4vw,2.8rem)}
.today-hero p{margin:0;color:#52606d}.sos-chip{background:#b42318;color:#fff!important;text-decoration:none;font-weight:800;padding:.55rem .85rem;border-radius:999px;box-shadow:0 3px 10px rgba(180,35,24,.2)}
.today-card{background:#fff;border:1px solid #dde6ec;border-radius:1.25rem;padding:1rem 1.1rem;box-shadow:0 6px 24px rgba(33,55,74,.045)}
.today-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-heading h2{font-size:1.05rem;margin:0}.today-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#65768a;font-weight:700}
.today-ask-form{display:flex;gap:.55rem}.today-ask-form input{flex:1;min-width:0;border:1px solid #cfdbe4;border-radius:999px;padding:.8rem 1rem;font-size:1rem}.today-input-shortcuts{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.65rem}.today-input-shortcuts a{color:inherit;text-decoration:none;background:#f5f8fa;border-radius:999px;padding:.4rem .7rem}
.today-event{display:flex;flex-direction:column;gap:.2rem;color:inherit;text-decoration:none;padding:.75rem;border-radius:.9rem;background:#f7fafc}.today-event:hover{background:#edf5fa}.today-event span,.today-event small,.today-empty{color:#607080}
.pending-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.pending-grid a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;background:#f7f9fb;border-radius:.9rem;padding:.7rem .3rem}.pending-grid strong{font-size:1.45rem}.pending-grid span{font-size:.8rem;text-align:center;color:#607080}
.suggestion-list{display:grid;gap:.65rem}.suggestion-item{display:flex;justify-content:space-between;gap:1rem;padding:.8rem;border-radius:.9rem;background:#f8fafc}.suggestion-item p{margin:.2rem 0}.suggestion-item small{color:#667788}.suggestion-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.suggestion-actions form{margin:0}
.common-app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.common-app-grid a{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:inherit;background:#f6f8fb;border-radius:1rem;padding:.8rem}.common-app-grid span{font-size:1.35rem}.today-more{margin-top:.8rem}.today-more summary,.companion-settings summary{cursor:pointer;font-weight:700}.more-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.more-links a{padding:.45rem .65rem;border-radius:.7rem;background:#f5f7fa;text-decoration:none}
.companion-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}.companion-form>div{display:grid;gap:.3rem}.companion-form input,.companion-form select{width:100%;border:1px solid #ccd8e2;border-radius:.65rem;padding:.65rem}.companion-form .span-2{grid-column:1/-1}
@media(max-width:768px){.today-grid{grid-template-columns:1fr}.common-app-grid{grid-template-columns:repeat(2,1fr)}.suggestion-item{flex-direction:column}.suggestion-actions{justify-content:flex-start}.companion-form{grid-template-columns:1fr}.companion-form .span-2{grid-column:auto}}
@media(max-width:420px){.today-shell{padding:.5rem}.today-hero,.today-card{border-radius:1rem}.today-ask-form{align-items:stretch}.today-ask-form input{border-radius:.8rem}.today-ask-form button{padding-left:.8rem;padding-right:.8rem}.pending-grid{gap:.35rem}.common-app-grid{grid-template-columns:1fr 1fr}.common-app-grid a{padding:.65rem .55rem}}

/* V3 Phase 3 - Personal Memory 2.0 */
.memory-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.memory-summary-grid article{border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:.85rem;background:rgba(255,255,255,.72);display:flex;flex-direction:column}.memory-summary-grid strong{font-size:1.35rem}.memory-summary-grid span{font-size:.85rem;opacity:.78}@media(max-width:767px){.memory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V3.0 Phase 4 — Life Inbox + Universal Search */
.life-inbox-page,.universal-search-page{display:grid;gap:1rem}.life-inbox-capture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.life-inbox-capture-grid .document-upload-card{display:grid;gap:.7rem}.life-inbox-capture-grid textarea{resize:vertical}.inbox-list,.search-result-list{display:grid;gap:.75rem}.inbox-item,.search-result{background:var(--bs-body-bg,#fff);border:1px solid rgba(0,0,0,.12);border-radius:1rem;padding:1rem}.inbox-item{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start}.inbox-item-main{display:grid;gap:.45rem;min-width:0}.inbox-item-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.inbox-inline-form{display:flex;gap:.4rem;align-items:center}.inbox-inline-form select{max-width:170px}.universal-search-form{display:flex;gap:.6rem}.universal-search-form input{flex:1;min-width:0;border:1px solid rgba(0,0,0,.2);border-radius:.75rem;padding:.75rem 1rem}.search-result{display:grid;gap:.4rem;color:inherit;text-decoration:none}.search-result:hover{border-color:rgba(0,0,0,.3);box-shadow:0 .25rem 1rem rgba(0,0,0,.06)}.search-result>div{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.search-result p{margin:0}.search-privacy-note{font-size:.9rem;opacity:.75}.pagination{display:flex;gap:1rem;justify-content:center;align-items:center;margin-top:1rem}
@media (max-width:700px){.inbox-item{flex-direction:column}.inbox-item-actions{justify-content:flex-start}.universal-search-form{flex-direction:column}}

/* The launcher and AI overview share the existing responsive visual language. */
.app-icon-rose { --tile-light:#ee879e; --tile-dark:#b83e61; }
.ai-today { padding:0; margin-bottom:1.5rem; }
@media(max-width:540px) { .home-launcher .app-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
