:root{color-scheme:dark;--bg:#10100f;--surface:#171715;--surface-raised:#1d1d1a;--surface-soft:#22221e;--line:#2b2b26;--line-gold:#4d432d;--gold:#d5b56b;--gold-bright:#ebd394;--text:#f0eee8;--muted:#9a9991;--muted-light:#c0beb5;--danger:#ed9e91;--sidebar:258px;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-height:100vh;margin:0;color:var(--text);background:radial-gradient(ellipse at 72% -20%,#29251a 0,transparent 36%),var(--bg);font-size:14px;line-height:1.55}button,input{font:inherit}button{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{margin:0 0 7px;color:#b6a36d;font-size:10px;font-weight:700;letter-spacing:.19em}.brand{height:54px;display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid #806b3c;border-radius:50%;color:var(--gold-bright);font-family:Georgia,serif;font-size:20px;font-style:italic;box-shadow:inset 0 0 15px #d5b56b13}.brand-name{font-size:16px;font-weight:500;letter-spacing:.23em}.access-view{min-height:100vh;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(ellipse at 50% 0,#29251c 0,transparent 45%)}.access-card{width:min(100%,440px);padding:38px 42px 28px;border:1px solid var(--line-gold);border-radius:22px;background:linear-gradient(145deg,#1c1b18f7,#141413fa);box-shadow:0 28px 90px #0009}.brand-centered{justify-content:center}.access-caption{text-align:center;color:var(--muted);font-size:9px;letter-spacing:.2em;margin:2px 0 28px}.access-divider{display:flex;align-items:center;gap:12px;margin:0 0 26px;color:var(--gold);font-size:11px}.access-divider:before,.access-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line-gold))}.access-divider:after{transform:rotate(180deg)}#access h1{margin:0 0 5px;text-align:center;font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:.01em}#access>.muted{text-align:center;margin:0 0 20px}.user-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px}.user-choice-button{min-height:76px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #383833;border-radius:12px;background:#1d1d1a;color:#d2d0c8;letter-spacing:.08em;cursor:pointer;transition:border-color .18s,background .18s,color .18s}.user-choice-button:hover,.user-choice-button.selected{border-color:#a58d54;background:#28251d;color:var(--gold-bright)}.choice-avatar{width:29px;height:29px;display:grid;place-items:center;border:1px solid #62553a;border-radius:50%;color:var(--gold);font-family:Georgia,serif;font-size:14px}label{display:block;margin:14px 0 7px;color:#bbb9b0;font-size:10px;font-weight:700;letter-spacing:.14em}input{width:100%;height:46px;padding:0 13px;border:1px solid #3b3b35;border-radius:9px;background:#11110f;color:var(--text);outline:none}input:focus{border-color:#9d854e;box-shadow:0 0 0 3px #d5b56b18}.primary-button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #c3a459;border-radius:9px;background:linear-gradient(120deg,#e2ca8b,#b69550);color:#19160f;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:filter .2s,transform .2s}.primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.full-width{width:100%;margin-top:17px}.form-note{margin:13px 0;padding:12px 13px;border:1px solid var(--line-gold);border-radius:9px;background:#242117;color:#c9c2ae;font-size:12px}.message{min-height:21px;margin:13px 0 0;text-align:center;color:var(--gold-bright);font-size:12px}.message.error,.error{color:var(--danger)}.access-footnote{margin:25px 0 0;text-align:center;color:#74736d;font-size:9px;letter-spacing:.15em}.access-footnote span{margin-right:5px;color:var(--gold)}
.app-message{margin:0 0 10px;color:#d6bd7b;font-size:11px}.app-message:empty{display:none}.app-message.error{color:var(--danger)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:var(--sidebar);display:flex;flex-direction:column;padding:25px 17px 18px;border-right:1px solid #292923;background:linear-gradient(180deg,#171715,#131312 65%,#11110f)}.sidebar .brand{padding:0 8px;margin-bottom:43px}.sidebar-label{margin:0 10px 11px;color:#77766f;font-size:9px;font-weight:700;letter-spacing:.19em}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-item{position:relative;min-height:43px;display:flex;align-items:center;gap:13px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#a7a69e;text-align:left;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.nav-item:hover{background:#ffffff08;color:var(--text)}.nav-item.active{border-color:#4a412e;background:linear-gradient(90deg,#322c1e,#24221c);color:var(--gold-bright)}.nav-item.active:before{position:absolute;top:9px;bottom:9px;left:-18px;width:2px;border-radius:2px;background:var(--gold);content:""}.nav-icon{width:19px;flex:none;text-align:center;color:var(--gold);font-family:Georgia,serif;font-size:18px}.nav-label{white-space:nowrap;font-size:12px}.sidebar-profile{display:flex;align-items:center;gap:10px;margin-top:auto;padding:13px 6px;border-top:1px solid #292923}.profile-copy{min-width:0;display:flex;flex:1;flex-direction:column}.profile-copy strong{overflow:hidden;color:#e6e4dc;font-size:11px;font-weight:600;text-overflow:ellipsis}.profile-copy span{color:#88877f;font-size:10px}.online-dot{width:7px;height:7px;border-radius:50%;background:#9d9a6b;box-shadow:0 0 9px #9d9a6b70}.avatar{position:relative;flex:none;display:grid;place-items:center;overflow:hidden;border:1px solid #72613a;border-radius:50%;background:radial-gradient(circle at 35% 28%,#49402b,#24221d 69%);color:var(--gold-bright);font-family:Georgia,serif}.avatar-small{width:34px;height:34px;font-size:13px}.avatar-large{width:72px;height:72px;font-size:25px}.avatar-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.avatar-initials{line-height:1}.logout-button{width:100%;min-height:39px;display:flex;align-items:center;gap:12px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#96958d;text-align:left;font-size:11px;cursor:pointer}.logout-button:hover{background:#ffffff08;color:#e7e2d4}.logout-button span{color:#c4a760;font-size:16px}.sidebar-footer{padding:14px 10px 0;color:#615f58;font-size:8px;letter-spacing:.12em}.workspace{min-height:100vh;margin-left:var(--sidebar)}.topbar{height:67px;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:0 clamp(28px,5vw,74px);border-bottom:1px solid #262621;background:#121210c7}.topbar-brand{display:none;align-items:center;gap:9px;margin-right:auto;color:#e8e4da;font-size:12px;letter-spacing:.16em}.topbar-brand .brand-mark{width:29px;height:29px;font-size:16px}.current-date{margin:0;color:#a6a49a;font-size:11px;letter-spacing:.04em;text-transform:capitalize}.page-wrap{width:min(100%,1320px);min-height:calc(100vh - 67px);display:flex;flex-direction:column;margin:0 auto;padding:42px clamp(28px,5vw,74px) 24px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:25px}.welcome-row h1{margin:0;color:#f2efe7;font-family:Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.02em}.welcome-subtitle{margin:5px 0 0;color:#93928a;font-size:12px}.welcome-ornament{display:flex;align-items:center;gap:9px;padding-bottom:8px;color:#a58d54}.welcome-ornament span{width:36px;height:1px;background:linear-gradient(90deg,transparent,#7f6b3e)}.welcome-ornament span:last-child{transform:rotate(180deg)}.welcome-ornament i{font-style:normal;font-size:12px}.module-content{display:flex;flex-direction:column;gap:18px}.home-hero{position:relative;min-height:202px;display:flex;align-items:center;overflow:hidden;padding:34px 40px;border:1px solid #413a2b;border-radius:var(--radius);background:linear-gradient(110deg,#242117 0%,#1c1b17 56%,#211e17 100%);box-shadow:inset 0 1px #ffffff08}.hero-copy{position:relative;z-index:1;max-width:570px}.hero-copy h2{margin:0 0 10px;color:#eee9db;font-family:Georgia,serif;font-size:27px;font-weight:400}.hero-copy>p:last-child{max-width:480px;margin:0;color:#aaa79b;font-size:12px}.hero-art{position:absolute;top:50%;right:8%;width:176px;height:176px;transform:translateY(-50%);opacity:.8}.orbit{position:absolute;inset:12px;border:1px solid #b2914d42;border-radius:50%}.orbit-one{transform:rotate(32deg) scaleX(.72)}.orbit-two{transform:rotate(-32deg) scaleX(.72)}.orbit-core{position:absolute;inset:48px;display:grid;place-items:center;border:1px solid #9f854b77;border-radius:50%;background:radial-gradient(circle,#302a1d,#211f19);color:#dfc786;font-family:Georgia,serif;font-size:27px;font-style:italic;box-shadow:0 0 34px #d5b56b17}.orbit-star{position:absolute;top:12px;right:13px;color:#d5b56b;font-size:17px}.profile-panel{padding:21px 24px 18px;border:1px solid #2e2e28;border-radius:var(--radius);background:linear-gradient(130deg,#191917,#171715)}.profile-panel-heading,.section-heading{display:flex;align-items:center;justify-content:space-between}.profile-panel-heading h2,.section-heading h2{margin:0;color:#eeeae0;font-family:Georgia,serif;font-size:18px;font-weight:400}.profile-lock{color:#b59b5d;font-size:20px}.profile-main{display:flex;align-items:center;gap:16px;margin-top:15px}.profile-details h3{margin:0 0 3px;color:#ebe7de;font-size:14px;font-weight:600}.profile-details p{margin:2px 0;color:#9e9c93;font-size:11px}.profile-details .profile-empty{color:#797871;font-style:italic}.profile-private-note{margin:14px 0 0;padding-top:12px;border-top:1px solid #292923;color:#797871;font-size:10px}.modules-section{padding-top:3px}.section-heading{margin-bottom:12px}.section-count{color:#7d7b72;font-size:9px;letter-spacing:.12em}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.module-card{min-height:78px;display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #2d2d27;border-radius:12px;background:linear-gradient(145deg,#1b1b18,#171715);text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.module-card:hover{transform:translateY(-2px);border-color:#62553a;background:#211f19}.module-card-icon{width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid #45402f;border-radius:10px;background:#27241c;color:#c9ad68;font-family:Georgia,serif;font-size:16px}.module-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}.module-card-copy strong{overflow:hidden;color:#dedbd2;font-size:11px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.module-card-copy small{color:#85837a;font-size:9px}.module-arrow{align-self:flex-start;color:#84734b;font-size:11px}.activation-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:20px 22px;border:1px solid #48402e;border-radius:14px;background:#201e18}.activation-panel h2{margin:0 0 3px;color:#e9e2d2;font-family:Georgia,serif;font-size:16px;font-weight:400}.activation-panel>div:first-child>p:last-child{margin:0;color:#96948b;font-size:10px}.secondary-button{padding:10px 14px;border:1px solid #806c3e;border-radius:8px;background:#29251c;color:#e1c77e;font-size:11px;cursor:pointer}.secondary-button:hover{background:#353020}.activation-result{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid #3b3629;border-radius:9px;background:#151512}.activation-result .eyebrow{margin:0}.activation-code{margin:0;color:#e7ce8d;font-family:Consolas,monospace;font-size:16px;letter-spacing:.06em;user-select:all}.activation-expiry{grid-column:1/-1;margin:0;color:#8f8c80;font-size:10px}.panel-message{min-height:18px;margin:0;color:#d6bd7b;font-size:11px}.preparation-card{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px;border:1px solid #333229;border-radius:var(--radius);background:radial-gradient(ellipse at 50% 35%,#242117,#191917 58%);text-align:center}.preparation-symbol{width:68px;height:68px;display:grid;place-items:center;margin-bottom:21px;border:1px solid #665738;border-radius:50%;background:#262219;color:#d5b56b;font-family:Georgia,serif;font-size:27px}.preparation-status{margin-bottom:17px;padding:5px 10px;border:1px solid #47402f;border-radius:20px;color:#bba36c;font-size:9px;letter-spacing:.08em}.preparation-card h2{margin:0;color:#f0ece3;font-family:Georgia,serif;font-size:29px;font-weight:400}.preparation-description{max-width:420px;margin:9px 0 24px;color:#9b9990;font-size:12px}.text-button{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;background:transparent;color:#c7aa62;font-size:11px;cursor:pointer}.workspace-footer{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:29px;color:#66655e;font-size:8px;letter-spacing:.13em}.mobile-nav{display:none}.mobile-logout{display:none}
@media(max-width:1120px){:root{--sidebar:228px}.page-wrap{padding-right:34px;padding-left:34px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-art{right:4%}}
@media(max-width:860px){:root{--sidebar:0px}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:59px;justify-content:space-between;padding:0 22px}.topbar-brand{display:flex}.current-date{margin-left:auto}.mobile-logout{width:32px;height:32px;display:grid;place-items:center;border:1px solid #3e382b;border-radius:50%;background:#211f19;color:#d5b56b;font-size:16px;cursor:pointer}.page-wrap{min-height:calc(100vh - 59px);padding:33px 25px 25px}.mobile-nav{position:fixed;inset:auto 0 0;z-index:20;display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid #333027;background:#151513f5;backdrop-filter:blur(16px);scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav .nav-item{min-width:72px;min-height:54px;flex:0 0 72px;flex-direction:column;justify-content:center;gap:1px;padding:4px 2px;border-radius:9px;text-align:center}.mobile-nav .nav-item.active:before{top:0;right:20px;bottom:auto;left:20px;width:auto;height:2px}.mobile-nav .nav-icon{width:auto;font-size:17px}.mobile-nav .nav-label{max-width:68px;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.workspace-footer{padding-bottom:75px}}
@media(max-width:600px){.access-view{padding:18px 13px}.access-card{padding:30px 23px 23px}.page-wrap{padding:27px 17px 18px}.topbar{padding:0 17px}.current-date{font-size:9px}.welcome-row{align-items:flex-start;margin-bottom:19px}.welcome-row h1{font-size:29px}.welcome-subtitle{max-width:260px;font-size:11px}.welcome-ornament{gap:5px;padding-top:15px}.welcome-ornament span{width:18px}.home-hero{min-height:175px;padding:25px 22px}.hero-copy{max-width:70%}.hero-copy h2{font-size:22px}.hero-copy>p:last-child{font-size:10px}.hero-art{right:-51px;width:155px;height:155px;opacity:.62}.profile-panel{padding:18px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-card{min-height:73px;gap:8px;padding:9px}.module-card-icon{width:29px;height:29px}.module-card-copy strong{font-size:10px}.module-card-copy small{font-size:8px}.section-count{font-size:8px}.activation-panel{grid-template-columns:1fr;align-items:start;padding:17px}.secondary-button{justify-self:start}.activation-result{grid-column:1;display:block}.activation-code{margin:7px 0;font-size:14px}.preparation-card{min-height:390px;padding:27px}.preparation-card h2{font-size:25px}.workspace-footer{font-size:7px}.workspace-footer span:last-child{text-align:right}}
@media(max-width:370px){.mobile-nav .nav-item{min-width:66px;flex-basis:66px}.hero-copy{max-width:75%}.hero-art{right:-70px}.welcome-ornament{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Recupera la identidad y la jerarquía editorial ocultas por el recorte anterior. */
#accessView .access-caption,#accessView .access-divider,#accessView .access-footnote,
.workspace .workspace-footer,.workspace .welcome-ornament,.sidebar .sidebar-label,
.sidebar .sidebar-footer,.dialog-kicker,.welcome-subtitle,.welcome-row .eyebrow{display:revert!important}
.dashboard-view .welcome-subtitle,.dashboard-view .welcome-row .eyebrow{display:block!important}
.sidebar .sidebar-label{display:block!important}.sidebar .sidebar-footer{display:block!important}
.workspace .workspace-footer{display:flex!important}.workspace .welcome-ornament{display:flex!important}
#accessView .access-divider{display:flex!important}

.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #3b382d;border-radius:11px;background:#1d1c18;color:#d7bd78;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.icon-button:hover{border-color:#8a7440;background:#29261e;color:#f0d998}.icon-button svg,.settings-tab svg,.field-label svg,.setting-icon svg,.privacy-heading svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.profile-settings-button{margin-left:2px}.profile-dialog{width:min(94vw,520px);max-width:none;max-height:min(90vh,760px);padding:0;overflow:auto;border:1px solid #51462f;border-radius:20px;background:#171715;color:var(--text);box-shadow:0 30px 100px #000b}.profile-dialog::backdrop{background:#050504c9;backdrop-filter:blur(5px)}.dialog-shell{padding:23px 25px 25px}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-kicker{color:#988555;font-size:9px;font-weight:700;letter-spacing:.2em}.dialog-header h2{margin:1px 0 0;font-family:Georgia,serif;font-size:22px;font-weight:400}.settings-tabs{display:flex;gap:6px;margin:19px 0 20px;padding:4px;border:1px solid #2c2c27;border-radius:12px;background:#11110f}.settings-tab{min-height:37px;display:flex;flex:1;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;background:transparent;color:#929087;font-size:10px;cursor:pointer}.settings-tab svg{width:16px;height:16px}.settings-tab.active{background:#302a1d;color:#e2c981}.settings-view{display:flex;flex-direction:column;gap:13px}.photo-editor{display:flex;align-items:center;gap:13px;margin:0 0 3px;padding:2px 0 13px;border-bottom:1px solid #2b2b25}.photo-editor>strong{margin-left:auto;color:#ddd9cf;font-size:12px;font-weight:550}.photo-actions{display:flex;gap:6px}.photo-button{width:32px;height:32px;border-radius:9px}.remove-photo{color:#ad8d80}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}.field-label{display:flex;align-items:center;gap:8px;margin:0;color:#c2bfb4;font-size:10px;font-weight:600;letter-spacing:.03em}.field-label svg{width:15px;height:15px;color:#c5a95f}#profileDescription{min-height:79px;resize:vertical;padding:10px 12px;border:1px solid #373730;border-radius:9px;background:#11110f;color:var(--text);font:inherit;font-size:12px}#profileBirthday{height:42px;color-scheme:dark;font-size:12px}.dialog-actions{min-height:40px;display:flex;align-items:center;gap:12px;margin-top:2px}.settings-status{flex:1;margin:0;color:#bca768;font-size:10px}.settings-status.error{color:var(--danger)}.save-button{border-color:#79683d;background:#29251b}.settings-row{min-height:51px;display:flex;align-items:center;gap:12px;padding:7px 10px;border:1px solid #2d2d27;border-radius:11px;background:#1b1b18}.setting-icon{width:31px;height:31px;display:grid;flex:none;place-items:center;border:1px solid #403a2c;border-radius:9px;background:#242219;color:#c6a958}.setting-icon svg{width:16px;height:16px}.setting-copy{min-width:0;flex:1}.setting-copy strong,.shared-preview strong{color:#dedbd2;font-size:11px;font-weight:550}.switch{position:relative;width:38px;height:22px;flex:none;margin:0;cursor:pointer}.switch input{position:absolute;width:1px;height:1px;opacity:0}.switch span{position:absolute;inset:0;border:1px solid #4a4942;border-radius:20px;background:#2a2a26;transition:.18s}.switch span:before{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#96948c;content:"";transition:.18s}.switch input:checked+span{border-color:#8a7543;background:#423920}.switch input:checked+span:before{transform:translateX(16px);background:#e4c777}.switch input:focus-visible+span{outline:2px solid #d5b56b;outline-offset:2px}.privacy-heading{display:flex;align-items:center;gap:8px;margin:0 0 2px;color:#c9b36f;font-size:10px;font-weight:600}.privacy-heading svg{width:16px;height:16px}.shared-preview{display:flex;align-items:flex-start;gap:11px;margin-top:5px;padding:13px 10px;border-top:1px solid #302f29}.shared-preview>div:last-child{min-width:0}.shared-preview p{margin:3px 0 0;color:#96948b;font-size:10px;overflow-wrap:anywhere}.shared-preview p:empty{display:none}.profile-dialog [disabled]{opacity:.5;cursor:not-allowed}.compact-ui .module-card{min-height:62px;padding:8px}.compact-ui .module-grid{gap:7px}.reduce-motion *,body.reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(max-width:600px){.profile-dialog{width:100%;max-width:none;max-height:91dvh;margin:auto 0 0;border-radius:20px 20px 0 0}.dialog-shell{padding:19px 18px calc(20px + env(safe-area-inset-bottom))}.settings-tabs{margin:15px 0 17px}.settings-view{gap:11px}.photo-editor{padding-bottom:10px}}
/* Etapa 4: formularios y contenido editorial */
.journal-view{max-width:780px;margin:0 auto;padding:1rem 0 4rem}.journal-view>h2{margin:0 0 1.25rem;color:var(--gold,#c9a65b);font-family:inherit}.journal-form{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line,#343431);border-radius:16px;background:var(--surface,#191917)}.journal-form input:not([type=checkbox]),.journal-form textarea{width:100%;border:1px solid var(--line,#343431);border-radius:10px;padding:.8rem;background:#111;color:#eee;font:inherit}.journal-form textarea{min-height:110px;resize:vertical}.journal-form input[type=date]{color-scheme:dark}.share-confirm{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.journal-list{display:grid;gap:.8rem;margin-top:1rem}.journal-entry{padding:1rem 1.1rem;border:1px solid var(--line,#343431);border-radius:14px;background:var(--surface,#191917);overflow-wrap:anywhere}.journal-entry>header{display:flex;justify-content:space-between;gap:1rem;color:#b9aa83;font-size:.8rem}.journal-entry h3{margin:.75rem 0 .35rem}.journal-entry>p{white-space:pre-wrap;line-height:1.55;margin:.6rem 0 0}.entry-actions{display:flex;justify-content:flex-end;gap:.4rem}.entry-actions button:not(.icon-button){width:36px;height:36px;border:1px solid var(--line,#343431);border-radius:50%;background:transparent;color:var(--gold,#c9a65b);cursor:pointer;font-size:1.1rem}.journal-entry.message-mine{border-color:#74643e}.journal-heading{display:flex;align-items:center;justify-content:space-between}.journal-form .save-button{justify-self:end}.preparation-card{min-height:180px;display:grid;place-content:center;justify-items:center;gap:.8rem;text-align:center}.preparation-card h2{margin:0}.preparation-status{color:var(--gold,#c9a65b);font-size:.85rem}
/* Recorte visual global: conserva los avisos funcionales y quita adornos repetidos. */
.access-caption,.access-divider,.access-footnote,.workspace-footer,.welcome-ornament,.sidebar-footer,.sidebar-label,.dialog-kicker{display:none!important}.welcome-subtitle,.welcome-row .eyebrow{display:none!important}.journal-form textarea{font:inherit;color:var(--text)}
.stage5-view{width:min(100%,850px);margin:0 auto;padding:0 0 90px}.stage5-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.1rem}.stage5-heading h2{margin:0;color:var(--gold-bright);font:400 1.4rem Georgia,serif}.stage5-tabs{display:flex;gap:.4rem}.stage5-tab{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--gold);cursor:pointer}.stage5-tab.active{border-color:var(--gold);background:#29251c;color:var(--gold-bright)}.stage5-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.stage5-field{display:grid;gap:.35rem;margin:0;color:var(--muted-light);font-size:.75rem;letter-spacing:.02em}.stage5-field input,.stage5-field select,.stage5-field textarea{width:100%;height:auto;min-height:42px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:9px;background:#111;color:var(--text);font:inherit}.stage5-field input[type=date],.stage5-field input[type=datetime-local]{color-scheme:dark}.stage5-field textarea{min-height:80px;resize:vertical}.stage5-check{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--muted-light);font-size:.82rem}.stage5-check input{width:17px;height:17px;accent-color:var(--gold)}.stage5-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.4rem}.stage5-reminders:empty{display:none}.stage5-reminders p{margin:.6rem 0;padding:.65rem .85rem;border-left:2px solid var(--gold);background:#211f19;color:var(--gold-bright);font-size:.85rem}.stage5-view>.settings-status:empty{display:none}.stage5-view>.text-button{margin:1rem auto}.stage5-view .journal-list{margin-top:1rem}.stage5-view .journal-entry>header time{color:var(--muted)}
@media(max-width:600px){.stage5-view{padding-bottom:95px}.stage5-heading{align-items:flex-start;flex-direction:column}.stage5-form{grid-template-columns:1fr;padding:.8rem}.stage5-actions{grid-column:1}.stage5-tab{width:38px;height:38px}.stage5-view .journal-entry{padding:.85rem}}
.stage6-view{width:min(100%,980px);margin:0 auto;padding-bottom:95px}.stage6-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 1rem}.stage6-heading h2{margin:0;color:var(--gold-bright);font:400 1.45rem Georgia,serif}.stage6-body,.stage6-grid{display:grid;gap:12px}.stage6-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.stage6-field{display:grid;gap:5px;color:var(--muted-light);font-size:.75rem}.stage6-field input,.stage6-field textarea,.stage6-field select,.stage6-form select{width:100%;min-height:41px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#111;color:var(--text);font:inherit}.stage6-field textarea{min-height:64px;resize:vertical}.stage6-form>.primary-button{align-self:end;min-height:41px}.stage6-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.stage6-card h3{margin:0;color:#eee6d0;font-size:1rem;font-weight:550}.stage6-meta{margin:6px 0;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.stage6-actions,.stage6-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.stage6-tabs .secondary-button{min-height:36px}.memory-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;margin-top:12px}.memory-photo{display:grid;gap:7px;min-width:0}.memory-photo img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:10px;background:#10100f}.memory-photo .secondary-button{padding:8px;font-size:.72rem}.stage6-invitations:empty{display:none}.stage6-check{display:flex;align-items:center;gap:8px;min-height:40px;color:var(--muted-light);font-size:.78rem}.stage6-check input{accent-color:var(--gold)}.stage6-balances{display:flex;flex-wrap:wrap;gap:8px}.stage6-balance{padding:8px 12px;border:1px solid #655535;border-radius:99px;color:var(--gold-bright);font-size:.82rem}.stage6-history{margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}.stage6-history p{margin:5px 0;color:var(--muted-light);font-size:.78rem}@media(max-width:600px){.stage6-view{padding-bottom:100px}.stage6-form{grid-template-columns:1fr;padding:11px}.memory-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.stage6-card{padding:11px}}
/* Etapa 7: vistas personales con jerarquía editorial y contenido real. */
.stage7-view{display:grid;gap:1.35rem;max-width:1100px;margin:0 auto}.stage7-heading{display:flex;align-items:center;gap:.8rem;border-bottom:1px solid var(--line,#34332f);padding:0 0 1rem}.stage7-heading h2{margin:0;font-size:clamp(1.45rem,3vw,2rem);letter-spacing:.02em}.stage7-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #806b3b;border-radius:50%;color:#d9bd78;background:#201e19}.stage7-status{min-height:1.2rem;color:#d9bd78}.stage7-status.error{color:#ff9a91}.social-hero{overflow:hidden;border:1px solid #3a3935;border-radius:20px;background:#171715}.social-cover{height:150px;background:radial-gradient(ellipse at 75% 20%,#5e4a25 0,transparent 35%),linear-gradient(115deg,#242321,#111110 60%,#302819)}.social-person{display:flex;align-items:flex-end;gap:1rem;padding:0 1.5rem;margin-top:-2.7rem}.social-avatar{flex:none;display:grid;place-items:center;width:5.4rem;height:5.4rem;border:4px solid #171715;border-radius:50%;overflow:hidden;background:#302b20;color:#e2c477;font-size:2rem}.social-avatar img{width:100%;height:100%;object-fit:cover}.social-identity{padding-bottom:.35rem}.social-identity h3{margin:.2rem 0;font-size:1.35rem}.social-identity p{margin:.3rem 0;color:#c4c0b5}.social-info{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#b7b3a8}.stage7-shortcuts,.stage7-activity{display:grid;gap:.8rem}.stage7-shortcuts h3,.stage7-activity h3{margin:.1rem 0;font-size:1.05rem}.stage7-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.stage7-link{min-height:3.4rem;text-align:left;border-color:#4a4435;color:#e5d8b6;background:linear-gradient(135deg,#201f1b,#161615)}.stage7-link:hover{border-color:#b79a57;background:#26231b}.stage7-activity-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem}.stage7-activity-item{display:grid;gap:.35rem;padding:.9rem 1rem;border:1px solid #363531;border-radius:12px;background:#171716}.stage7-activity-item span,.stage7-activity-item time{color:#aaa69a;font-size:.82rem}.stage7-activity-item strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage7-empty{color:#aaa69a}.stage7-toolbar,.stage7-composer{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;padding:1rem;border:1px solid #393833;border-radius:16px;background:#171716}.stage7-field{display:grid;gap:.35rem;min-width:min(100%,180px);flex:1;color:#c6c1b4;font-size:.86rem}.stage7-field input,.stage7-field select,.stage7-field textarea{box-sizing:border-box;width:100%;border:1px solid #46443e;border-radius:9px;padding:.72rem .8rem;color:#f0eee9;background:#10100f;font:inherit}.stage7-field textarea{resize:vertical}.stage7-composer .stage7-field:has(textarea){flex-basis:100%}.stage7-confirm{display:flex;gap:.5rem;align-items:center;color:#d6c68f;font-size:.9rem}.stage7-entries{display:grid;gap:1rem}.stage7-entry{padding:1.2rem;border:1px solid #393833;border-radius:16px;background:linear-gradient(145deg,#1b1b19,#151514)}.stage7-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;color:#aaa69a;font-size:.83rem}.stage7-chip{padding:.22rem .6rem;border:1px solid #655735;border-radius:999px;color:#ddc57f}.stage7-entry h3{margin:.65rem 0}.stage7-entry-content{white-space:pre-wrap;line-height:1.65;color:#e1ded6}.stage7-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.stage7-actions input[type=file]{max-width:230px;color:#bcb7aa}.stage7-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.55rem}.stage7-photo-grid figure{margin:0;overflow:hidden;border-radius:10px}.stage7-photo-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.stage7-thread{display:flex;flex-direction:column;gap:.65rem;max-width:850px;margin:auto;width:100%}.stage7-message{max-width:min(78%,650px);padding:.8rem 1rem;border:1px solid #3c3930;border-radius:16px;background:#1c1b18}.stage7-message.mine{align-self:flex-end;background:#282319;border-color:#645333}.stage7-message.theirs{align-self:flex-start}.stage7-message p{margin:.1rem 0;white-space:pre-wrap;line-height:1.5}.stage7-message-meta{display:flex;gap:.7rem;justify-content:flex-end;color:#a8a397;font-size:.72rem}

.water-quick-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.65rem 1rem;border:1px solid #827044;border-radius:12px;color:#f4dfaa;background:linear-gradient(135deg,#29251a,#171715);font:inherit;cursor:pointer}.water-quick-button span:first-child{display:grid;place-items:center;width:1.8rem;height:2.1rem;border:2px solid #c5a75b;border-radius:4px 4px 9px 9px;color:#8ac5d0;font-size:1.2rem}.savings-progress{display:block;width:100%;height:10px;margin:.75rem 0;overflow:hidden;accent-color:#c6a65b}.savings-progress::-webkit-progress-bar{border-radius:99px;background:#302e29}.savings-progress::-webkit-progress-value{border-radius:99px;background:linear-gradient(90deg,#8d733d,#dfc477)}.savings-progress::-moz-progress-bar{border-radius:99px;background:linear-gradient(90deg,#8d733d,#dfc477)}

.water-success{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem .9rem;border:1px solid #7c6a3d;border-radius:999px;color:#ead38d;background:#242117;animation:water-pop .25s ease-out}@keyframes water-pop{from{transform:scale(.94);opacity:.5}to{transform:scale(1);opacity:1}}

.ai-shell{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-height:620px;border:1px solid #3b3932;border-radius:18px;overflow:hidden;background:#141413}.ai-history{display:flex;flex-direction:column;min-width:0;border-right:1px solid #38362f;background:#171715}.ai-history-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem;border-bottom:1px solid #38362f}.ai-history-head h3{margin:0;font-size:.95rem;color:#e4d2a1}.ai-conversations{display:grid;align-content:start;gap:.4rem;padding:.65rem;overflow-y:auto;max-height:570px}.ai-conversation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem;padding:.35rem;border:1px solid transparent;border-radius:10px}.ai-conversation.active{border-color:#665634;background:#242119}.ai-conversation-open{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ai-delete-thread{padding:.35rem .55rem}.ai-conversation time{grid-column:1/-1;padding-left:.45rem;color:#929087;font-size:.7rem}.ai-workspace{display:flex;flex-direction:column;min-width:0;min-height:620px}.ai-chat-head{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #38362f}.ai-chat-head h3{margin:0;font-size:1rem}.ai-model-mark{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #806b3b;border-radius:50%;color:#dfc477}.ai-model-status{margin:0 0 0 auto;color:#bca669;font-size:.78rem}.ai-model-status.offline{color:#dd9389}.ai-context-selector{padding:.6rem 1rem;border-bottom:1px solid #302f2b;color:#c8c2b4}.ai-context-selector summary{cursor:pointer;font-size:.85rem}.ai-context-grid{display:flex;flex-wrap:wrap;gap:.55rem 1rem;padding:.8rem 0 .15rem}.ai-context-option{display:flex;align-items:center;gap:.4rem;color:#c4c0b6;font-size:.8rem}.ai-context-option input{accent-color:#c6a65b}.ai-chat-log{display:flex;flex:1;flex-direction:column;gap:.8rem;min-height:330px;max-height:55vh;overflow-y:auto;padding:1.15rem}.ai-empty{display:grid;place-content:center;justify-items:center;flex:1;min-height:280px;color:#b7aa82;text-align:center}.ai-empty span{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid #78643b;border-radius:50%;font-size:1.4rem}.ai-bubble{max-width:min(88%,720px);padding:.8rem 1rem;border:1px solid #3c3930;border-radius:14px;background:#1d1c19}.ai-bubble.user{align-self:flex-end;border-color:#645333;background:#282319}.ai-bubble.assistant{align-self:flex-start}.ai-speaker{color:#d7bf7d;font-size:.72rem;letter-spacing:.04em}.ai-bubble p{margin:.4rem 0;white-space:pre-wrap;line-height:1.58}.ai-bubble time{display:block;color:#8f8b81;font-size:.68rem;text-align:right}.ai-suggestions{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem .7rem}.ai-suggestions .secondary-button{font-size:.78rem}.ai-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.6rem;padding:1rem;border-top:1px solid #38362f;background:#181817}.ai-composer textarea{width:100%;min-height:70px;max-height:200px;resize:vertical;box-sizing:border-box;padding:.75rem;border:1px solid #49463f;border-radius:11px;color:#f3f0e9;background:#10100f;font:inherit}.ai-composer .primary-button{min-height:44px}.ai-processing{grid-column:1/-1;color:#d1b86e;font-size:.8rem;min-height:1rem}

.location-map { min-height: 18rem; padding: 1rem; overflow: hidden; border: 1px solid rgba(202, 165, 85, .32); border-radius: 1rem; background: linear-gradient(145deg, #151515, #232323); }
.location-map svg { display: block; width: 100%; max-height: 32rem; }
.location-grid-line { stroke: rgba(210, 210, 210, .12); stroke-width: 1; }
.location-marker { stroke: #111; stroke-width: 3; }
.location-marker-own { fill: #d8b55f; }
.location-marker-partner { fill: #e9e1cf; }
.location-map-label { fill: #f5f1e7; font: 600 15px system-ui, sans-serif; }
.location-status { color: #e8d29a; }
@media (max-width: 640px) { .location-map { min-height: 14rem; padding: .5rem; } .location-map-label { font-size: 13px; } }

/* NOSOTROS∞ · identidad visual oficial */
:root {
  color-scheme: dark;
  --bg: #090A09;
  --surface: #141514;
  --surface-raised: #202120;
  --surface-soft: #252624;
  --line: #30312f;
  --line-gold: #51472f;
  --gold: #C5A253;
  --gold-bright: #E0C577;
  --text: #F4F1E8;
  --muted: #A2A39F;
  --muted-light: #D0D0C9;
  --danger: #E4A39B;
  --sidebar: 270px;
  --radius: 20px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html, body { background-color: var(--bg); }
body { background: radial-gradient(ellipse at 82% 0, #1b1b17 0, transparent 30%), #090A09; }
::selection { color: #090A09; background: #C5A253; }
:focus-visible { outline: 2px solid #E0C577; outline-offset: 3px; }
.brand { gap: 10px; }
.brand-symbol { display: grid; flex: none; place-items: center; width: 44px; height: 34px; }
.brand-symbol img { display: block; width: 100%; height: auto; filter: drop-shadow(0 0 9px #C5A25320); }
.brand-name { color: #F4F1E8; font-family: Georgia, "Times New Roman", serif; font-size: 16px; font-weight: 500; letter-spacing: .12em; white-space: nowrap; }
.brand-infinity { margin-left: 2px; color: var(--gold-bright); font-size: 1.08em; }
.brand-centered { gap: 13px; }
.brand-centered .brand-symbol { width: 58px; height: 38px; }
.brand-centered .brand-name { font-size: 21px; letter-spacing: .15em; }
.sidebar { border-color: #292b29; background: linear-gradient(180deg, #141514, #101110 72%, #0c0d0c); }
.sidebar .brand { margin-bottom: 34px; }
.sidebar-label { color: #999a95; letter-spacing: .14em; }
.sidebar-label span, .eyebrow span { color: var(--gold); }
.nav-item { border-radius: 12px; color: #b4b5b0; }
.nav-item:hover { background: #ffffff09; }
.nav-item.active { border-color: #55492f; background: linear-gradient(100deg, #29261e, #1d1e1b); color: #E0C577; }
.nav-item.active:before { left: -18px; width: 3px; }
.nav-icon { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #393a34; border-radius: 9px; background: #1a1b18; color: #C5A253; }
.nav-item.active .nav-icon { border-color: #645638; background: #29271f; color: #E0C577; }
.sidebar-profile { border-color: #2b2c29; }
.online-dot { background: #C5A253; box-shadow: 0 0 10px #C5A25355; }
.sidebar-footer { color: #a0a09a; font-size: 8px; line-height: 1.8; letter-spacing: .16em; }
.sidebar-footer span { color: #777875; }
.topbar { border-color: #292b29; background: #0d0e0ddf; backdrop-filter: blur(18px); }
.topbar-brand { gap: 7px; color: var(--text); font-family: Georgia, "Times New Roman", serif; font-size: 13px; letter-spacing: .13em; }
.topbar-brand .brand-symbol { width: 34px; height: 27px; }
.current-date { color: #b2b3ae; }
.page-wrap { max-width: 1460px; }
.welcome-row { margin-bottom: 30px; }
.welcome-row h1 { font-size: clamp(2rem, 3.1vw, 2.8rem); letter-spacing: -.025em; }
.welcome-subtitle { color: #a4a5a0; font-size: 13px; }
.eyebrow { color: #C5A253; font-size: 9px; letter-spacing: .2em; }
.welcome-ornament { color: var(--gold); }
.welcome-ornament span { background: linear-gradient(90deg, transparent, #C5A253); }
.home-hero { min-height: 230px; border-color: #4b422e; background: linear-gradient(112deg, #1b1c19 0%, #171816 56%, #222018 100%); box-shadow: inset 0 1px #ffffff0b, 0 20px 50px #0003; }
.hero-copy h2 { color: #F4F1E8; font-size: clamp(1.7rem, 3vw, 2.15rem); }
.hero-copy > p:last-child { color: #b1b2ac; font-size: 13px; }
.orbit { border-color: #C5A25338; }
.orbit-core { border-color: #C5A25380; background: radial-gradient(circle, #28261f, #171816); color: #E0C577; }
.profile-panel, .stage7-activity-item, .stage6-card, .stage7-entry, .stage7-toolbar, .stage7-composer, .stage5-form, .stage5-view .journal-entry {
  border-color: #30312f;
  background: linear-gradient(145deg, #171917, #121312);
  box-shadow: inset 0 1px #ffffff08;
}
.profile-panel { padding: 24px 26px 20px; }
.profile-panel-heading h2, .section-heading h2 { color: #F4F1E8; font-size: 20px; }
.profile-lock, .setting-icon { color: var(--gold); }
.avatar { border-color: #806b3c; background: radial-gradient(circle at 35% 28%, #403923, #1b1c19 70%); }
.module-grid { gap: 12px; }
.module-card { min-height: 86px; border-color: #30312f; border-radius: 15px; background: linear-gradient(145deg, #181a18, #131413); box-shadow: 0 8px 20px #0002; }
.module-card:hover { border-color: #71603a; background: linear-gradient(145deg, #22231f, #171816); box-shadow: 0 12px 26px #0004; }
.module-card-icon { width: 36px; height: 36px; border-color: #51472f; border-radius: 12px; background: #24231d; color: #E0C577; }
.module-card-copy strong { color: #EAE9E2; font-size: 12px; }
.module-card-copy small { color: #9c9d98; font-size: 10px; }
.section-count { color: #9c9d98; }
.activation-panel { border-color: #51472f; background: linear-gradient(115deg, #211f19, #171816); }
.preparation-card { border-color: #343632; background: radial-gradient(ellipse at 50% 25%, #22231f, #121312 64%); }
.preparation-symbol { border-color: #74613a; background: #20211d; color: #E0C577; }
.primary-button { border-color: #C5A253; background: linear-gradient(120deg, #DCC274, #B28E43); color: #11120f; box-shadow: 0 5px 15px #0003; }
.primary-button:hover { filter: brightness(1.07); }
.secondary-button, .icon-button { border-color: #51472f; background: #1b1c19; color: #E0C577; }
.secondary-button:hover, .icon-button:hover { border-color: #C5A253; background: #28271f; }
input, textarea, select { border-color: #3a3c39; background: #101110; color: #F4F1E8; }
input:focus, textarea:focus, select:focus { border-color: #C5A253; box-shadow: 0 0 0 3px #C5A25320; }
.access-view { background: radial-gradient(ellipse at 50% 5%, #24231d 0, transparent 42%), #090A09; }
.access-card { width: min(100%, 470px); padding: 42px 45px 31px; border-color: #51472f; border-radius: 26px; background: linear-gradient(150deg, #191a17f7, #101110fa); box-shadow: 0 32px 100px #000b, inset 0 1px #ffffff0b; }
.access-caption { color: #a8a9a2; font-size: 9px; letter-spacing: .16em; }
.access-caption span { padding: 0 4px; color: var(--gold); }
.access-divider { color: var(--gold); }
.access-divider:before, .access-divider:after { background: linear-gradient(90deg, transparent, #51472f); }
.user-choice-button { min-height: 82px; border-color: #343633; border-radius: 14px; background: #171917; }
.user-choice-button:hover, .user-choice-button.selected { border-color: #C5A253; background: #22221d; }
.choice-avatar { border-color: #78643b; color: #E0C577; }
.access-footnote { color: #9a9b95; }
.access-footnote span { color: var(--gold); }
.dialog-kicker { color: var(--gold); }
.settings-tabs { border-color: #30312f; background: #101110; }
.settings-tab.active { background: #28261f; color: #E0C577; }
.shared-preview, .settings-row { border-color: #30312f; }
.stage7-heading { border-color: #30312f; }
.stage7-heading h2, .stage5-heading h2, .stage6-heading h2 { color: #F0EDE4; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.015em; }
.stage7-mark { border-color: #655638; background: #20211d; color: #E0C577; }
.social-hero { border-color: #393a36; background: #151715; box-shadow: 0 18px 44px #0003; }
.social-cover { height: 180px; background: radial-gradient(ellipse at 76% 24%, #67552e 0, transparent 29%), linear-gradient(115deg, #252620, #111311 62%, #27251d); }
.social-person { padding: 0 clamp(1rem, 4vw, 2rem); }
.social-avatar { border-color: #151715; background: #292820; color: #E0C577; box-shadow: 0 4px 18px #0005; }
.social-info { padding: 1rem clamp(1rem, 4vw, 2rem) 1.2rem; color: #c0c1ba; }
.stage7-link-grid { gap: .8rem; }
.stage7-link { border-radius: 13px; border-color: #393a35; background: linear-gradient(140deg, #20221e, #151715); color: #E9E3D4; }
.stage7-link:hover { border-color: #8e7642; background: #24251f; }
.stage7-activity-item { border-radius: 14px; }
.stage7-activity-item > span { color: #C5A253; font-size: .72rem; letter-spacing: .03em; }
.stage7-empty { color: #aeb0a9; }
.stage7-toolbar, .stage7-composer { border-radius: 15px; }
.stage7-entry { border-radius: 17px; }
.stage7-entry-head { color: #b5b6b0; }
.stage7-chip { border-color: #655638; color: #E0C577; }
.stage7-message { border-color: #363934; background: #191b18; }
.stage7-message.mine { border-color: #655638; background: #24231d; }
.stage7-message-meta { color: #a7a9a2; }
.stage6-card { border-radius: 16px; }
.stage6-card h3 { color: #F0EDE4; }
.stage6-meta { color: #aeb0a9; }
.memory-photo img, .stage7-photo-grid img { border-color: #343632; border-radius: 13px; }
.memory-photo img { transition: transform .25s ease, filter .25s ease; }
.memory-photo img:hover { transform: scale(1.025); filter: brightness(1.06); }
.stage5-view .journal-entry { border-radius: 16px; }
.stage5-reminders p { border-left-color: var(--gold); background: #201f1a; color: #E0C577; }
.ai-shell { border-color: #353733; background: #111311; box-shadow: 0 16px 42px #0003; }
.ai-history { border-color: #30312f; background: #151715; }
.ai-history-head, .ai-chat-head, .ai-context-selector, .ai-composer { border-color: #30312f; }
.ai-history-head h3, .ai-speaker, .ai-model-mark { color: #E0C577; }
.ai-conversation.active { border-color: #655638; background: #22221c; }
.ai-bubble { border-color: #393a35; background: #1b1d1a; }
.ai-bubble.user { border-color: #655638; background: #25241d; }
.location-map { border-color: #51472f; background: linear-gradient(145deg, #151715, #20211e); box-shadow: inset 0 1px #ffffff08; }
.location-grid-line { stroke: #b9b9ad1c; }
.location-marker-own { fill: #E0C577; }
.location-marker-partner { fill: #F4F1E8; }
.location-map-label { fill: #F4F1E8; }
.location-status { color: #E0C577; }
.workspace-footer { color: #9a9b95; }
.workspace-footer i, .dialog-kicker i { color: var(--gold); font-style: normal; }
.app-message, .settings-status, .stage7-status { color: #E0C577; }
.message.error, .error { color: var(--danger); }
@media (max-width: 860px) {
  .topbar { background: #0d0e0df2; }
  .mobile-nav { border-color: #30312f; background: #111311f5; }
  .mobile-nav .nav-item.active { background: #25241e; }
  .mobile-nav .nav-item.active:before { background: #C5A253; }
  .mobile-nav .nav-icon { width: auto; height: 21px; border: 0; background: transparent; }
  .page-wrap { padding-top: 30px; }
}
@media (max-width: 600px) {
  .access-card { padding: 34px 22px 26px; border-radius: 22px; }
  .brand-centered .brand-symbol { width: 48px; }
  .brand-centered .brand-name { font-size: 18px; }
  .access-caption { font-size: 8px; letter-spacing: .12em; }
  .welcome-row h1 { font-size: 29px; }
  .home-hero { min-height: 190px; }
  .social-cover { height: 142px; }
  .social-person { gap: .75rem; }
  .social-avatar { width: 4.5rem; height: 4.5rem; }
  .social-info { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .stage7-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stage7-thread { padding: 0 .1rem; }
  .stage7-message { max-width: 92%; }
  .ai-shell { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .ai-history { max-height: 190px; border-right: 0; border-bottom: 1px solid #30312f; }
  .ai-conversations { max-height: 125px; }
  .ai-workspace { min-height: 520px; }
  .ai-chat-log { min-height: 260px; }
  .location-map { min-height: 13rem; }
  .workspace-footer { padding-bottom: 78px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Identidad visible en acceso, navegación y pie. */
#accessView .access-caption, #accessView .access-divider, #accessView .access-footnote,
.sidebar .sidebar-label, .sidebar .sidebar-footer, .workspace-footer, .dialog-kicker,
.welcome-subtitle, .welcome-row .eyebrow, .welcome-ornament { display: revert !important; }
.sidebar .sidebar-label, .sidebar .sidebar-footer { display: block !important; }
.workspace-footer { display: flex !important; }
.welcome-ornament { display: flex !important; }
.access-caption { display: block !important; }
.access-divider { display: flex !important; }
.access-footnote { display: block !important; }
.dialog-kicker { display: inline-block !important; }
.welcome-subtitle, .welcome-row .eyebrow { display: block !important; }

/* Panel principal compuesto con información de las rutas existentes. */
.dashboard-view { width: min(100%, 1280px); gap: 1.45rem; padding-bottom: 1rem; }
.dashboard-hero { position: relative; isolation: isolate; min-height: 310px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: center; align-items: center; gap: 1rem 2rem; overflow: hidden; padding: clamp(1.4rem,4vw,3rem); border: 1px solid #52482f; border-radius: 24px; background: linear-gradient(112deg,#1c1e1a,#111311 65%,#24221b); box-shadow: inset 0 1px #ffffff0d, 0 25px 60px #0004; }
.dashboard-hero-cover { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.dashboard-hero-cover img { width: 100%; height: 100%; object-fit: cover; opacity: .27; filter: saturate(.55); }
.dashboard-hero:after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#101210f5 0%,#101210d9 54%,#10121067 100%); content: ""; }
.dashboard-hero-copy { max-width: 670px; }
.dashboard-overline { display: block; color: #C5A253; font-size: .68rem; font-weight: 700; letter-spacing: .2em; }
.dashboard-hero-copy h2 { margin: .55rem 0 .6rem; color: #F4F1E8; font: 400 clamp(2rem,4.2vw,3.25rem)/1.08 Georgia,"Times New Roman",serif; letter-spacing: -.025em; }
.dashboard-hero-copy p { max-width: 550px; margin: 0; color: #c4c5bd; font-size: .96rem; }
.dashboard-hero-mark { width: clamp(115px,17vw,205px); filter: drop-shadow(0 0 24px #C5A2534a); }
.dashboard-hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; grid-column: 1/-1; }
.dashboard-hero-actions .stage7-link { min-height: 42px; padding: .55rem .9rem; }
.dashboard-couple { display: flex; align-items: center; gap: .7rem; grid-column: 1/-1; margin-top: .25rem; }
.dashboard-person { display: flex; align-items: center; gap: .5rem; color: #eeeae0; font-size: .8rem; font-weight: 650; letter-spacing: .08em; }
.dashboard-person .dashboard-avatar { width: 34px; height: 34px; }
.dashboard-couple-symbol { padding: 0 .35rem; color: #E0C577; font: 1.25rem Georgia,serif; }
.dashboard-profile-strip { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; border: 1px solid #30312f; border-radius: 16px; background: linear-gradient(120deg,#171917,#111311); }
.dashboard-avatar { position: relative; display: grid; width: 48px; height: 48px; flex: none; place-items: center; overflow: hidden; border: 1px solid #806b3c; border-radius: 50%; background: #23231e; color: #E0C577; font: 1.2rem Georgia,serif; }
.dashboard-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dashboard-profile-copy { min-width: 0; flex: 1; }
.dashboard-profile-copy strong { display: block; color: #F4F1E8; font: 1.1rem Georgia,"Times New Roman",serif; }
.dashboard-profile-copy p { margin: .15rem 0 0; overflow: hidden; color: #aaaca5; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-profile-button { flex: none; }
.dashboard-quick-section { display: grid; gap: .9rem; }
.dashboard-section-title h2 { margin: .15rem 0; color: #F0EDE4; font: 400 1.55rem Georgia,"Times New Roman",serif; }
.dashboard-section-title p { margin: 0; color: #9fa19a; font-size: .85rem; }
.dashboard-quick-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .65rem; }
.dashboard-quick-link { display: flex; min-height: 76px; align-items: center; gap: .7rem; padding: .75rem; border-color: #343632; border-radius: 15px; background: linear-gradient(145deg,#1c1e1b,#131513); text-align: left; }
.dashboard-quick-link .stage7-link-icon { display: grid; width: 36px; height: 36px; flex: none; place-items: center; border: 1px solid #51472f; border-radius: 12px; background: #25251f; color: #E0C577; font-size: 1.1rem; }
.dashboard-quick-link .stage7-link-label { color: #EAE9E2; font-size: .8rem; font-weight: 550; }
.dashboard-quick-link:hover { border-color: #9a8046; background: #22231f; transform: translateY(-2px); }
.dashboard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
.dashboard-card { min-width: 0; padding: 1rem; border: 1px solid #30312f; border-radius: 17px; background: linear-gradient(145deg,#171917,#111311); box-shadow: inset 0 1px #ffffff07, 0 12px 26px #0002; }
.dashboard-card-head { display: flex; align-items: center; gap: .65rem; min-height: 34px; margin-bottom: .8rem; }
.dashboard-card-head h3 { min-width: 0; flex: 1; margin: 0; color: #F0EDE4; font: 400 1.14rem Georgia,"Times New Roman",serif; }
.dashboard-card-icon { display: grid; width: 31px; height: 31px; flex: none; place-items: center; border: 1px solid #51472f; border-radius: 10px; background: #24241e; color: #E0C577; }
.dashboard-card-head .stage7-link { min-height: 30px; padding: .3rem .5rem; border-radius: 9px; }
.dashboard-card-head .stage7-link-icon { color: #E0C577; }
.dashboard-card-head .stage7-link-label { font-size: .7rem; }
.dashboard-card-content { display: grid; gap: .55rem; min-height: 84px; align-content: start; }
.dashboard-empty { margin: 0; padding: .8rem .75rem; border: 1px dashed #3b3d38; border-radius: 12px; color: #a5a79f; font-size: .82rem; }
.dashboard-agenda-row, .dashboard-task-row { display: grid; grid-template-columns: minmax(105px,.8fr) minmax(0,1.2fr); align-items: center; gap: .5rem; padding: .62rem .7rem; border: 1px solid #292c28; border-radius: 11px; background: #151715; }
.dashboard-agenda-row time, .dashboard-task-row time { color: #a8aaa2; font-size: .73rem; }
.dashboard-agenda-row strong, .dashboard-task-row strong { overflow: hidden; color: #EAE9E2; font-size: .81rem; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-task-row { grid-template-columns: 74px minmax(0,1fr) auto; }
.dashboard-task-priority { overflow: hidden; color: #C5A253; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-muted { margin: 0; color: #92948e; font-size: .73rem; }
.dashboard-money-row { display: grid; grid-template-columns: auto repeat(2,minmax(0,1fr)); gap: .45rem; padding: .7rem; border: 1px solid #30312c; border-radius: 11px; background: #171814; }
.dashboard-money-row span:first-child { align-self: center; color: #E0C577; font-size: .76rem; font-weight: 700; }
.dashboard-money-row span:not(:first-child) { display: grid; gap: .15rem; color: #a7a9a2; font-size: .68rem; }
.dashboard-money-row span:not(:first-child)::first-line { color: #EAE9E2; }
.dashboard-location-row { display: grid; grid-template-columns: minmax(70px,.6fr) minmax(0,1fr); align-items: center; gap: .4rem .6rem; padding: .65rem .7rem; border: 1px solid #30312c; border-radius: 11px; background: #151715; }
.dashboard-location-person { color: #EAE9E2; font-size: .8rem; font-weight: 600; }
.dashboard-location-state { color: #b1b2aa; font-size: .76rem; }
.dashboard-location-state.is-current { color: #d8c17b; }
.dashboard-location-row time { grid-column: 1/-1; color: #92948e; font-size: .68rem; }
.dashboard-memory-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .55rem; }
.dashboard-memory-tile { min-width: 0; overflow: hidden; border: 1px solid #30312f; border-radius: 12px; background: #141614; }
.dashboard-memory-tile img { display: block; width: 100%; aspect-ratio: 1.15; object-fit: cover; }
.dashboard-memory-tile strong, .dashboard-memory-tile span { display: block; padding: .45rem .5rem 0; overflow: hidden; color: #EAE9E2; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-memory-tile span { padding-top: .15rem; padding-bottom: .5rem; color: #989a94; font-size: .64rem; }
.dashboard-wellness-row { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1fr); align-items: center; gap: .35rem .6rem; padding: .65rem .7rem; border: 1px solid #30312c; border-radius: 11px; background: #151715; }
.dashboard-wellness-row span { color: #aeb0a9; font-size: .76rem; }
.dashboard-wellness-row strong { color: #EAE9E2; font-size: .82rem; font-weight: 550; }
.dashboard-wellness-row time { grid-column: 1/-1; color: #92948e; font-size: .68rem; }
.dashboard-assistant .dashboard-card-content > p { margin: .2rem 0 .5rem; color: #b1b2aa; font-size: .84rem; }
.dashboard-assistant .stage7-link { justify-self: start; }
.dashboard-search-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .7rem; }
.dashboard-search-form .stage7-field { min-width: 0; }
.dashboard-search-form .primary-button { min-height: 43px; }
.dashboard-search-results { display: grid; gap: .5rem; }
.dashboard-search-result { display: grid; grid-template-columns: 100px minmax(0,1fr) auto; align-items: center; gap: .55rem; padding: .6rem .7rem; border: 1px solid #30312f; border-radius: 10px; background: #151715; }
.dashboard-search-result span, .dashboard-search-result time { color: #C5A253; font-size: .68rem; }
.dashboard-search-result strong { overflow: hidden; color: #EAE9E2; font-size: .78rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-signature { display: grid; justify-items: center; gap: .2rem; padding: 1.2rem 1rem; border: 1px solid #4b422d; border-radius: 17px; background: linear-gradient(110deg,#191a17,#211f19,#151715); text-align: center; }
.dashboard-signature img { width: 85px; margin-bottom: .25rem; filter: drop-shadow(0 0 14px #C5A2533a); }
.dashboard-signature p { margin: 0; color: #E0C577; font: 1.05rem Georgia,"Times New Roman",serif; letter-spacing: .1em; }
.dashboard-signature span { color: #a5a79f; font-size: .75rem; }
@media (max-width: 1080px) {
  .dashboard-quick-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dashboard-memory-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .dashboard-view { gap: 1rem; }
  .dashboard-hero { min-height: 355px; grid-template-columns: minmax(0,1fr); gap: .7rem; padding: 1.25rem; }
  .dashboard-hero-mark { position: absolute; top: 1rem; right: .9rem; width: 76px; opacity: .68; }
  .dashboard-hero-copy { max-width: 85%; }
  .dashboard-hero-copy h2 { font-size: clamp(1.8rem,8vw,2.5rem); }
  .dashboard-hero-copy p { font-size: .84rem; }
  .dashboard-couple { margin-top: .4rem; }
  .dashboard-hero-actions { grid-column: auto; }
  .dashboard-profile-strip { gap: .65rem; padding: .7rem; }
  .dashboard-profile-button { padding: .55rem .65rem; font-size: .68rem; }
  .dashboard-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
  .dashboard-quick-link { min-height: 66px; padding: .55rem; }
  .dashboard-quick-link .stage7-link-label { font-size: .72rem; }
  .dashboard-grid { grid-template-columns: minmax(0,1fr); gap: .65rem; }
  .dashboard-memory-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-search-result { grid-template-columns: 82px minmax(0,1fr); }
  .dashboard-search-result time { grid-column: 2; }
  .dashboard-money-row { grid-template-columns: 42px repeat(2,minmax(0,1fr)); }
}
.nav-item{position:relative}.nav-badge{position:absolute;top:2px;right:8px;min-width:18px;padding:2px 5px;border:1px solid #090a09;border-radius:99px;background:#c5a253;color:#090a09;font:700 .65rem/1.2 system-ui;text-align:center}
.stage7-chart-card{padding:1rem;margin:.8rem 0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#202120,#131413)}.stage7-chart-card h3{margin:0 0 .8rem;color:var(--gold-bright);font:500 1rem Georgia,serif}.stage7-chart-card svg{display:block;width:100%;height:auto;overflow:visible}.stage7-chart-bar{fill:#c5a253;opacity:.82}.stage7-chart-label,.stage7-chart-value{fill:#ece8dc;font:12px system-ui,sans-serif}.stage7-chart-value{fill:#c5a253}.stage7-muted{color:var(--muted-light);font-size:.85rem}
.memory-photo img[role=button]{cursor:zoom-in}.memory-lightbox{max-width:min(96vw,1200px);max-height:94vh;padding:1rem;border:1px solid var(--line-gold);border-radius:16px;background:#11110f;color:var(--text)}.memory-lightbox::backdrop{background:#050504e8}.memory-lightbox>img{display:block;max-width:92vw;max-height:80vh;object-fit:contain;margin:.8rem auto 0}.memory-lightbox>button{margin-left:auto}
.calendar-panel{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#202120,#131413)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}.calendar-toolbar h3{margin:0;color:var(--gold-bright);font:500 1.05rem Georgia,serif;text-transform:capitalize}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{padding:.3rem;text-align:center;color:var(--muted);font-size:.72rem}.calendar-day{min-height:74px;padding:.3rem;border:1px solid var(--line);border-radius:8px;background:#11110f}.calendar-day.outside-month{opacity:.45}.calendar-day-number{display:block;margin-bottom:.2rem;color:var(--gold-bright);font-size:.8rem}.calendar-event-chip,.calendar-event-more{display:block;overflow:hidden;margin-top:2px;padding:1px 4px;border-radius:4px;background:#302a1e;color:var(--text);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.calendar-event-more{background:transparent;color:var(--muted-light)}@media(max-width:600px){.calendar-panel{padding:.55rem}.calendar-month-grid{gap:2px}.calendar-day{min-height:52px;padding:.2rem}.calendar-event-chip,.calendar-event-more{font-size:.55rem}.calendar-toolbar .secondary-button{padding:.45rem;font-size:.7rem}}
.home-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin:0 0 .5rem}.home-calendar-head h3{margin:0;color:var(--gold-bright);font:500 .94rem Georgia,serif;text-transform:capitalize}.home-calendar-arrow{width:28px;height:28px;padding:0;border:1px solid var(--line-gold);border-radius:50%;background:#1b1a16;color:var(--gold-bright);cursor:pointer}.home-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.home-calendar-weekday,.home-calendar-day{display:grid;place-items:center;min-height:26px;color:var(--muted-light);font-size:.68rem}.home-calendar-weekday{color:var(--muted);font-size:.6rem}.home-calendar-day{position:relative;border-radius:7px;background:#11110f}.home-calendar-day.outside{opacity:.38}.home-calendar-day.today{outline:1px solid var(--gold);color:var(--gold-bright)}.home-calendar-day.has-events:after{position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:var(--gold);content:""}
.mood-emoji-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.45rem;margin-top:.65rem}.mood-emoji-choice{display:grid;justify-items:center;gap:.2rem;min-height:74px;padding:.5rem .3rem;border:1px solid var(--line);border-radius:12px;background:#171715;color:var(--text);font-size:.69rem;cursor:pointer;transition:transform .16s,border-color .16s,background .16s}.mood-emoji-choice> :first-child{font-size:1.65rem}.mood-emoji-choice:hover{transform:translateY(-2px);border-color:var(--gold)}.mood-emoji-choice[aria-pressed=true]{border-color:var(--gold);background:#302a1e;box-shadow:0 0 0 1px #c5a25344}.mood-history-panel,.water-daily-panel{display:grid;gap:.8rem;margin:.9rem 0;padding:1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#202120,#131413)}.mood-history-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.mood-history-panel h3{margin:0 0 .5rem;color:var(--gold-bright);font:500 .95rem Georgia,serif}.mood-history-panel section{min-width:0}.mood-history-bars{display:grid;gap:.35rem}.mood-history-row{display:grid;grid-template-columns:minmax(68px,100px) 1fr 22px;align-items:center;gap:.45rem;font-size:.72rem}.mood-history-row i{height:8px;border-radius:9px;background:var(--gold);box-shadow:0 0 12px #c5a25330}.mood-history-row strong{color:var(--gold-bright)}.water-daily-panel{grid-template-columns:76px 1fr auto;align-items:center}.water-cup{position:relative;width:54px;height:72px;overflow:hidden;border:2px solid #d8c994;border-radius:5px 5px 15px 15px;background:#11110f}.water-cup-fill{position:absolute;right:0;bottom:0;left:0;background:linear-gradient(#65b8c5,#35889a);transition:height .45s ease}.water-daily-panel>div:nth-child(2){display:grid;gap:.15rem}.water-daily-panel strong{color:var(--gold-bright);font:500 1.5rem Georgia,serif}.water-daily-panel>div:nth-child(2) span{color:var(--muted-light);font-size:.78rem}.water-goal-control{width:120px;margin:0}.water-goal-control input{margin-top:.25rem}.water-daily-meta{grid-column:1/-1;color:var(--muted);font-size:.72rem}@media(max-width:620px){.mood-history-panel{grid-template-columns:1fr}.water-daily-panel{grid-template-columns:60px 1fr}.water-goal-control{grid-column:2;width:100%}}
.stage7-chart-income{fill:#c5a253}.stage7-chart-expense{fill:#777875}.stage7-chart-card .stage7-muted{margin:.35rem 0 0}
.location-map .location-leaflet{height:min(58vh,520px);min-height:320px;border:1px solid #4a4535;border-radius:12px;overflow:hidden;background:#171815}.location-leaflet .leaflet-tile{filter:grayscale(.78) brightness(.7) sepia(.16)}.location-leaflet .leaflet-control-attribution{background:#11110fd9;color:#dedbd1;font-size:10px}.location-leaflet .leaflet-control-attribution a{color:#e2c775}.location-leaflet .leaflet-popup-content-wrapper,.location-leaflet .leaflet-popup-tip{background:#1b1b18;color:#f0eee8}.location-leaflet .leaflet-popup-content{display:grid;gap:.2rem}.location-leaflet .leaflet-bar a{background:#1c1c19;color:#e6d398;border-color:#55503e}@media(max-width:640px){.location-map .location-leaflet{height:54vh;min-height:280px}}
.memory-photos{display:block;columns:3 170px;column-gap:12px}.memory-photo{display:inline-grid;width:100%;margin:0 0 12px;break-inside:avoid}.memory-photo img{aspect-ratio:auto;max-height:360px;object-fit:cover}.memory-lightbox-controls{display:flex;justify-content:space-between;gap:.5rem}
.calendar-week-list{display:grid;gap:.55rem}.calendar-week-day{padding:.7rem;border:1px solid var(--line);border-radius:11px;background:#11110f}.calendar-week-day>.calendar-day-number{padding:0;border:0;background:transparent;color:var(--gold-bright);font:500 .9rem Georgia,serif;text-align:left;cursor:pointer}.calendar-week-event{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:.6rem;align-items:center;margin-top:.5rem;padding:.55rem .65rem;border-left:2px solid var(--gold);border-radius:5px;background:#1b1b18}.calendar-week-event time,.calendar-week-event span{color:var(--muted-light);font-size:.75rem}.calendar-week-event strong{overflow-wrap:anywhere;color:var(--text);font-size:.84rem}.memory-lightbox>.stage6-meta{max-width:85vw;margin:.6rem auto 0;color:var(--muted-light)}
@media(max-width:600px){.calendar-week-event{grid-template-columns:65px minmax(0,1fr);gap:.35rem}.calendar-week-event span{grid-column:2}}
.water-daily-panel{display:block}.water-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.water-user-card{display:grid;grid-template-columns:60px minmax(0,1fr);gap:.7rem;align-items:center;min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:13px;background:#11110f}.water-user-card.own{border-color:#71603b}.water-cup{display:grid;align-items:end;justify-items:stretch;width:48px;height:68px;padding:0;overflow:hidden;border:2px solid #d8c994;border-radius:5px 5px 13px 13px;background:#090a09;cursor:pointer}.water-cup:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.water-cup.empty{border-color:#777875;cursor:default}.water-user-card.unavailable{opacity:.75}.water-user-copy{display:grid;gap:.15rem;min-width:0}.water-user-copy strong{color:var(--gold-bright);font:500 1rem Georgia,serif}.water-user-copy span{color:var(--muted-light);font-size:.73rem}.water-user-card .water-goal-control{grid-column:1/-1;width:100%;font-size:.72rem}.water-user-card .water-goal-control input{width:100%;min-height:35px;padding:.4rem;border:1px solid var(--line);border-radius:8px;background:#111;color:var(--text)}.water-daily-panel>.water-daily-meta{margin:.6rem 0 0;color:var(--muted);font-size:.7rem}@media(max-width:520px){.water-user-grid{grid-template-columns:1fr}}
.ai-space-tabs{display:flex;gap:.45rem;margin:0 0 .9rem;padding:.35rem;border:1px solid var(--line);border-radius:14px;background:#11110f}.ai-space-tabs button{flex:1;min-width:0;padding:.65rem .8rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted-light);font:600 .78rem system-ui;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.ai-space-tabs button.active,.ai-space-tabs button.shared-space-tab{border-color:#71603b;background:#242119;color:var(--gold-bright)}.ai-space-tabs button:disabled{opacity:.45;cursor:not-allowed}.ai-space-tabs button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.ai-space-tabs button:hover:not(:disabled){background:#29271f;color:#fff}.ai-history.hidden{display:none}.ai-shell.ai-shared-space{grid-template-columns:minmax(0,1fr)}/* Refinamiento de tercera pasada */
.dashboard-hero{min-height:245px;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:clamp(1.25rem,3vw,2.4rem)}
.dashboard-hero-copy{align-self:start;max-width:620px;padding-top:.6rem}
.dashboard-hero-copy h2{max-width:11ch;font-size:clamp(1.8rem,4vw,3.25rem);line-height:1.02;letter-spacing:-.035em}
.dashboard-hero-copy p,.dashboard-hero-actions{display:none}
.dashboard-hero-mark{width:86px;align-self:start}
.dashboard-couple{grid-column:2;grid-row:1/3;align-self:end;gap:.7rem}
.dashboard-profile-copy .dashboard-overline{color:var(--gold)}
.dashboard-section-title{display:flex;align-items:center;gap:.8rem;margin:.15rem 0 .6rem}
.dashboard-section-title h2,.dashboard-section-title p{display:none}
.dashboard-section-title .dashboard-overline{margin:0;color:var(--gold-bright);font-size:.65rem;letter-spacing:.17em}
.dashboard-signature{grid-template-columns:auto auto;align-items:center;gap:.6rem;padding:.55rem 1rem}
.dashboard-signature img{width:42px;margin:0}.dashboard-signature p{font-size:.86rem}.dashboard-signature span{display:none}
.dashboard-chart-filters{display:flex;justify-content:flex-end;gap:.45rem;margin:1rem 0 .4rem}
.dashboard-chart-filters select{min-height:34px;padding:.35rem .65rem;border:1px solid var(--line-gold);border-radius:9px;background:#171715;color:var(--text);font-size:.72rem}
.dashboard-line-chart{min-width:0}.trading-chart{margin:.45rem 0 1rem;padding:.9rem .7rem}
.trading-chart h3{margin:0 0 .4rem;color:var(--gold-bright);font:500 .93rem Georgia,serif}
.trading-chart svg{display:block;width:100%;height:auto;overflow:visible}
.trading-grid-line{stroke:#3a3932;stroke-width:1;stroke-dasharray:3 5}.trading-axis{stroke:#77756a;stroke-width:1}
.trading-income,.trading-expenses,.trading-balance{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:trading-draw 1s ease forwards}
.trading-income{stroke:#d7bd72}.trading-expenses{stroke:#b77e70}.trading-balance{stroke:#88b7ad}
.trading-income-dot{fill:#d7bd72}.trading-expenses-dot{fill:#b77e70}.trading-balance-dot{fill:#88b7ad}
.trading-legend{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:.2rem .2rem 0;color:var(--muted-light);font-size:.67rem}
.trading-legend span:before{display:inline-block;width:8px;height:8px;margin-right:.35rem;border-radius:50%;background:currentColor;content:""}
.trading-income-key{color:#d7bd72}.trading-expenses-key{color:#b77e70}.trading-balance-key{color:#88b7ad}
@keyframes trading-draw{to{stroke-dashoffset:0}}
.dashboard-location-map{height:180px;min-height:150px;margin:.7rem 0 0;overflow:hidden;border:1px solid var(--line-gold);border-radius:12px;background:#171815}
.dashboard-location-map .leaflet-tile{filter:grayscale(.78) brightness(.7) sepia(.16)}
.dashboard-location-map .leaflet-control-attribution{background:#11110fd9;color:#dedbd1;font-size:9px}.dashboard-location-map .leaflet-control-attribution a{color:#e2c775}
.dashboard-location-map .leaflet-control-zoom a{background:#1c1c19;color:#e6d398;border-color:#55503e}
.stage5-view:has(.water-daily-panel) .stage5-form{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.stage5-view:has(.water-daily-panel) .stage5-field:has(#stage5Amount),.stage5-view:has(.water-daily-panel) .stage5-field:has(#stage5DateTime),.stage5-view:has(.water-daily-panel) .water-quick-button,.stage5-view:has(.water-daily-panel) #stage5Form>.primary-button{display:none}
.water-user-grid{gap:.9rem}.water-user-card{min-height:175px;grid-template-columns:104px minmax(0,1fr);gap:.8rem;padding:1rem;border-radius:17px;background:radial-gradient(circle at 20% 20%,#253035,#151715 65%)}
.water-cup{width:76px;height:112px;border:2px solid #c9bb8d;border-radius:10px 10px 23px 23px;background:linear-gradient(90deg,#ffffff08,#ffffff02);box-shadow:inset 6px 0 12px #fff1,0 10px 28px #0005}
.water-cup:after{position:absolute;top:0;right:0;left:0;height:9px;border:2px solid #c9bb8d;border-top:0;border-radius:0 0 8px 8px;content:""}
.water-cup-fill{background:linear-gradient(180deg,#91d7e2,#44a3ba 55%,#28778d);box-shadow:0 -4px 14px #9ce6ef66;transition:height .65s cubic-bezier(.2,.75,.2,1)}
.water-user-card.own .water-cup-fill{animation:water-shimmer 2.8s ease-in-out infinite alternate}
@keyframes water-shimmer{from{filter:saturate(.9) brightness(.9)}to{filter:saturate(1.2) brightness(1.1)}}
.water-user-copy strong{font-size:1.05rem;letter-spacing:.08em}.water-user-copy span{font-size:.74rem}
.water-user-card .water-goal-control{padding-top:.5rem;border-top:1px solid #ffffff12}.stage5-view:has(.water-daily-panel) #stage5List{display:none}
.stage5-view:has(.mood-history-panel) .stage5-field.mood-selector{display:block;padding:1rem;border:1px solid var(--line);border-radius:17px;background:radial-gradient(ellipse at 50% 0,#29251a,#171715 70%)}
.mood-selector>select{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mood-selector>.mood-emoji-grid{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:.55rem;margin:.15rem 0 0}
.mood-emoji-choice{min-height:72px;border-radius:12px;background:linear-gradient(150deg,#20211d,#141513);font-size:.69rem}
.mood-emoji-choice> :first-child{font-size:1.65rem;line-height:1.15;filter:drop-shadow(0 3px 8px #0007)}
.mood-emoji-choice[aria-pressed=true]{transform:translateY(-3px) scale(1.025);animation:mood-pick .24s ease-out}
@keyframes mood-pick{50%{transform:translateY(-5px) scale(1.07)}}
.stage5-view:has(.mood-history-panel) .stage5-field:has(#stage5DateTime),.stage5-view:has(.mood-history-panel) #stage5List{display:none}
.mood-history-panel{margin-top:1rem}
.stage7-thread{min-height:48vh;max-height:65vh;display:flex;flex-direction:column;gap:.65rem;overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:18px;background:radial-gradient(ellipse at 50% 0,#25231c,#121311 68%)}
.stage7-message{width:min(80%,600px);padding:.75rem .9rem;border:1px solid #37362e;border-radius:16px;background:#1b1c19;box-shadow:0 8px 24px #0002;animation:message-arrive .2s ease-out}
.stage7-message.mine{align-self:flex-end;border-color:#685936;background:linear-gradient(140deg,#302a1e,#1e1d19)}.stage7-message.theirs{align-self:flex-start}
.stage7-message>p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.stage7-message-meta{display:flex;justify-content:flex-end;gap:.65rem;margin-top:.35rem;color:var(--muted);font-size:.65rem}
@keyframes message-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.stage7-composer:has(textarea[aria-label="Mensaje"]){position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:.7rem;border:1px solid var(--line-gold);border-radius:15px;background:#171715f2;backdrop-filter:blur(12px)}
.stage7-composer:has(textarea[aria-label="Mensaje"]) textarea{min-height:48px;max-height:140px;resize:vertical;border:0;background:transparent}.stage7-composer:has(textarea[aria-label="Mensaje"]) .primary-button{min-width:90px}
.stage7-view:has(.stage7-thread){min-height:calc(100vh - 160px)}.stage7-view:has(.stage7-thread) .stage7-toolbar{margin-bottom:.45rem}
.stage7-entries{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.stage7-entry{position:relative;padding:clamp(1rem,2vw,1.5rem);border-radius:16px;background:linear-gradient(150deg,#1f201c,#151614);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.stage7-entry:nth-child(4n+1){grid-row:span 2;background:linear-gradient(150deg,#27241d,#171815)}.stage7-entry:hover{transform:translateY(-3px);border-color:#75623b;box-shadow:0 18px 38px #0004}
.stage7-entry-head{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.7rem}.stage7-entry>h3{margin:.65rem 0;color:var(--gold-bright);font:500 1.25rem Georgia,serif}.stage7-entry-content{font:1rem/1.75 Georgia,"Times New Roman",serif;white-space:pre-wrap}
.stage7-photo-grid{columns:2;column-gap:.65rem;margin-top:.75rem}.stage7-photo-grid figure{display:inline-block;width:100%;margin:0 0 .65rem;break-inside:avoid;overflow:hidden;border-radius:11px;background:#10110f}
.stage7-photo-grid img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;transition:transform .35s ease}.stage7-photo-grid figure:hover img{transform:scale(1.025)}
.memory-photos{columns:3 220px;column-gap:.8rem}.memory-photo{display:inline-block;width:100%;margin:0 0 .8rem;break-inside:avoid;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#151613;transition:transform .2s ease,border-color .2s ease}
.memory-photo:hover{transform:translateY(-3px);border-color:var(--gold)}.memory-photo img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;transition:filter .2s ease}.memory-photo:hover img{filter:saturate(1.08)}.memory-photo>p{padding:0 .8rem .7rem}
.ai-context-selector,.ai-context-grid{display:none!important}
.diary-month-nav{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-width:min(100%,250px);padding:.35rem;border:1px solid #4a4435;border-radius:12px;background:#11110f}.diary-month-caption{min-width:9rem;color:var(--gold-bright);font:500 .9rem Georgia,serif;text-align:center;text-transform:capitalize}.diary-month-nav .secondary-button{width:34px;height:34px;padding:0;border-radius:50%;font-size:1.25rem}
.stage7-message-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.45rem;color:#dedbd1;font-size:.7rem}.stage7-message-avatar{width:24px;height:24px;display:grid;place-items:center;border:1px solid #71603b;border-radius:50%;background:#29251c;color:var(--gold-bright);font:600 .7rem Georgia,serif}.stage7-message-author{font-weight:600;letter-spacing:.04em}
.stage5-view:has(.water-daily-panel) .stage5-actions,.stage5-view:has(.water-daily-panel) .stage5-filter-bar{display:none!important}.stage5-view:has(.water-daily-panel) .stage5-form{display:block;min-height:0;padding:0;border:0;background:transparent}.stage5-view:has(.water-daily-panel) .stage5-form:empty{display:none}
.stage5-view:has(#stage5Type) .stage5-form{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1.1rem;border-color:#51472f;background:radial-gradient(ellipse at 100% 0,#30291b,#181916 58%)}.stage5-view:has(#stage5Type) .stage5-form:before{grid-column:1/-1;content:"Una pausa para disfrutar";color:var(--gold-bright);font:500 1.1rem Georgia,serif}.stage5-view:has(#stage5Type) .stage5-form .stage5-actions{grid-column:1/-1}.stage5-view:has(#stage5Type) #stage5List{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.stage5-view:has(#stage5Type) #stage5List .journal-entry{min-width:0;border-left:2px solid #78663b;background:linear-gradient(145deg,#22221d,#151614);transition:transform .2s ease,border-color .2s ease}.stage5-view:has(#stage5Type) #stage5List .journal-entry:hover{transform:translateY(-2px);border-color:var(--gold)}
.dashboard-map-notice{margin:.5rem;padding:.35rem .55rem;border:1px solid #5a4d31;border-radius:8px;background:#11110fe8;color:#e5d8b6;font:600 .65rem system-ui}.dashboard-location-map .leaflet-popup-content-wrapper,.dashboard-location-map .leaflet-popup-tip{background:#1b1b18;color:#f0eee8}.dashboard-location-map .leaflet-popup-content{font-size:.75rem}
.chat-live-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;width:100%}.chat-live-controls .secondary-button{min-height:38px;padding:.45rem .7rem}.chat-call-status,.chat-presence-status,.chat-recording-status{color:var(--muted-light);font-size:.68rem}.chat-presence-status{color:var(--gold-bright);font-style:italic}.chat-call-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,170px);gap:.5rem;overflow:hidden;padding:.5rem;border:1px solid var(--line-gold);border-radius:14px;background:#11110f}.chat-call-stage[hidden]{display:none}.chat-call-stage video{width:100%;max-height:48vh;min-height:130px;object-fit:cover;border-radius:10px;background:#080908}.chat-call-stage audio{grid-column:1/-1;width:100%}.chat-composer-tools{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.chat-composer-tools .secondary-button{min-height:38px;padding:.45rem .75rem}.chat-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.stage7-attachment{display:grid;gap:.45rem;min-width:0;max-width:min(70vw,480px);margin:.25rem 0}.stage7-attachment img{display:block;max-width:100%;max-height:55vh;object-fit:contain;border-radius:12px;cursor:zoom-in}.stage7-attachment video{display:block;width:min(100%,480px);max-height:55vh;border-radius:12px;background:#080908}.stage7-attachment audio{width:min(100%,420px)}.stage7-attachment a{color:var(--gold-bright);overflow-wrap:anywhere}.stage7-attachment-caption{margin:.2rem 0;color:var(--text);white-space:pre-wrap}.stage7-attachment-name{color:var(--muted);font-size:.63rem}
@media(max-width:620px){.diary-month-nav{width:100%}.stage7-toolbar:has(.diary-month-nav){display:grid;grid-template-columns:1fr}.stage5-view:has(#stage5Type) .stage5-form,.stage5-view:has(#stage5Type) #stage5List{grid-template-columns:1fr}}
@media(max-width:620px){.chat-live-controls{align-items:stretch}.chat-live-controls button{flex:1}.chat-call-status,.chat-presence-status{width:100%}.chat-call-stage{grid-template-columns:1fr}.chat-call-stage video{max-height:40vh}.stage7-attachment{max-width:88vw}.chat-composer-tools{position:sticky;bottom:0;background:#171715f2}}
@media(max-width:720px){.dashboard-hero{min-height:220px;grid-template-columns:1fr;gap:.5rem}.dashboard-hero-copy{max-width:76%}.dashboard-hero-copy h2{font-size:clamp(1.8rem,8vw,2.5rem)}.dashboard-hero-mark{position:absolute;right:1rem;top:1rem;width:56px}.dashboard-couple{grid-column:1;grid-row:auto;justify-self:start;margin-top:.4rem}.trading-chart{padding:.7rem .35rem}.trading-chart .stage7-chart-label{font-size:8px}.dashboard-location-map{height:165px}.mood-history-panel{grid-template-columns:1fr}.water-user-card{min-height:150px;grid-template-columns:82px minmax(0,1fr);padding:.8rem}.water-cup{width:63px;height:94px}.stage7-entries{grid-template-columns:1fr;gap:.7rem}.stage7-entry:nth-child(4n+1){grid-row:auto}.stage7-thread{min-height:48vh;max-height:62vh;padding:.65rem}.stage7-message{width:min(90%,600px)}.stage7-composer:has(textarea[aria-label="Mensaje"]){grid-template-columns:minmax(0,1fr) auto;padding:.45rem}.stage7-composer:has(textarea[aria-label="Mensaje"]) .primary-button{min-width:72px;padding:.55rem}.stage7-photo-grid{columns:2}}
/* App installable: safe areas, touch targets and compact mobile viewport. */
@media(max-width:860px){
  html{min-height:100%;overscroll-behavior-y:contain}
  body{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
  .app-shell{min-height:100dvh}
  .page-wrap{min-height:calc(100dvh - 59px);padding:clamp(1rem,4vw,1.5rem) clamp(.8rem,4vw,1.4rem) calc(96px + env(safe-area-inset-bottom))}
  .mobile-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom));touch-action:pan-x}
  .mobile-nav .nav-item{min-height:56px;min-width:70px;flex-basis:70px}
  .topbar{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
  .icon-button,.secondary-button,.primary-button,.text-button{min-height:42px}
  .stage7-view,.stage6-view,.stage5-view{width:100%;max-width:100%}
  .dashboard-grid,.stage7-entries,.stage6-grid{min-width:0}
  input,select,textarea{font-size:16px!important}
}
@media(max-width:420px){
  .topbar{gap:10px}.current-date{font-size:10px}
  .home-hero{min-height:190px;padding:1.15rem}
  .dashboard-location-map{height:190px}
  .dashboard-card{padding:.85rem}
  .dashboard-chart-filters{justify-content:stretch}.dashboard-chart-filters select{flex:1;min-width:0}
  .ai-space-tabs button{padding:.6rem .3rem;font-size:.72rem}
  .stage7-photo-grid{columns:1}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Rediseño integral: una misma superficie cálida y legible en todos los módulos. */
:root{--bg:#090a09;--surface:#151614;--surface-raised:#1c1d1a;--line:#30312d;--gold:#c5a253;--gold-bright:#e2ca88;--text:#f3f0e8;--muted:#a5a49d}
body{background:radial-gradient(ellipse at 72% -18%,rgba(177,145,72,.09),transparent 38%),var(--bg)}
button,input,textarea,select{font:inherit}
:focus-visible{outline:2px solid var(--gold-bright)!important;outline-offset:3px}
.page-wrap{padding-top:clamp(24px,4vw,48px)}
.module-content{gap:clamp(14px,2vw,22px)}
.dashboard-welcome{margin:0 0 .35rem;color:#e2ca88;font-size:.86rem;letter-spacing:.045em}
.dashboard-hero{overflow:hidden;isolation:isolate}
.dashboard-hero:after{position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(9,10,9,.16),rgba(9,10,9,.62));content:"";pointer-events:none}
.dashboard-hero-copy{z-index:1}
.dashboard-card,.stage6-card,.stage7-entry,.journal-entry,.stage5-view,.stage6-view,.stage7-view,.profile-panel,.activation-panel{border-color:rgba(210,205,186,.12);box-shadow:0 14px 40px rgba(0,0,0,.13)}
.dashboard-card-head h3,.stage6-card h3,.stage7-heading h2,.stage6-heading h2,.stage5-heading h2,.journal-view>h2{letter-spacing:-.015em}
.stage6-form,.stage7-composer,.stage5-form,.journal-form{gap:.8rem}
.stage6-field input,.stage6-field textarea,.stage6-field select,.stage7-field input,.stage7-field textarea,.stage7-field select,.stage5-form input,.stage5-form textarea,.stage5-form select,.journal-form input,.journal-form textarea,dialog input,dialog textarea{min-height:46px;border-color:#3b3c37;border-radius:12px;background:#10110f;color:var(--text)}
.stage6-field textarea,.stage7-field textarea,.stage5-form textarea,.journal-form textarea,dialog textarea{min-height:96px}
.stage6-card,.stage7-entry,.journal-entry{transition:transform .18s ease,border-color .18s ease,background .18s ease}
.stage6-card:hover,.stage7-entry:hover,.journal-entry:hover{border-color:rgba(197,162,83,.4);transform:translateY(-1px)}
.primary-button,.secondary-button,.text-button,.icon-button{transition:transform .16s ease,border-color .16s ease,background .16s ease,filter .16s ease}
.primary-button:active,.secondary-button:active,.icon-button:active{transform:scale(.98)}
.settings-status:empty,.stage5-status:empty,.stage6-status:empty,.stage7-status:empty{display:none}
.dashboard-grid,.dashboard-quick-grid,.stage6-grid,.stage7-link-grid{align-items:stretch}
@media(max-width:860px){
  .mobile-nav{overflow:visible;justify-content:space-around;gap:3px}
  .mobile-nav .nav-item{flex:1 1 0;min-width:0}
  .mobile-nav .nav-label{font-size:9px;letter-spacing:0}
  .mobile-nav .nav-more-toggle .nav-icon{font-family:system-ui,sans-serif;font-size:20px;font-weight:700;letter-spacing:2px}
  .mobile-more-menu[hidden]{display:none!important}
  .mobile-more-menu{position:fixed;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));left:12px;z-index:61;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;border:1px solid rgba(197,162,83,.28);border-radius:20px;background:rgba(20,21,19,.98);box-shadow:0 18px 55px rgba(0,0,0,.48);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
  .mobile-more-menu .nav-item{min-width:0;min-height:68px;display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#1a1b18;text-align:center}
  .mobile-more-menu .nav-item .nav-icon{font-size:20px}
  .mobile-more-menu .nav-item .nav-label{font-size:10px}
  .mobile-more-menu .nav-item.active{border-color:rgba(197,162,83,.48);background:#272319;color:var(--gold-bright)}
  .page-wrap{padding-top:20px}
  .dashboard-welcome{font-size:.8rem}
}
@media(max-width:360px){.mobile-more-menu{grid-template-columns:repeat(2,minmax(0,1fr));right:9px;left:9px}.mobile-nav .nav-label{font-size:8px}}

/* Navegación secundaria desplegable, con cierre por toque exterior, Escape o Atrás. */
.mobile-more-menu[hidden]{display:none!important}
@media(max-width:860px){
  .mobile-more-menu{grid-template-columns:repeat(3,minmax(0,1fr));max-height:min(58dvh,430px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-more-menu .nav-item{min-height:62px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobile-more-menu .nav-item:active{transform:scale(.97)}
  .mobile-more-menu .more-profile-item{grid-column:1/-1;min-height:52px;flex-direction:row}
  .mobile-nav .nav-more-toggle[aria-expanded=true]{border-color:rgba(197,162,83,.5);background:#28241a;color:var(--gold-bright)}
}

/* Inicio deja que la agenda y la búsqueda organicen la página, sin mosaico de módulos. */
.dashboard-view{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.1rem}
.dashboard-view>.stage7-heading,.dashboard-hero,.dashboard-profile-strip{grid-column:1/-1}
.dashboard-hero{min-height:230px;grid-template-columns:minmax(0,1fr) auto;padding:clamp(1.4rem,4vw,2.6rem);border-color:rgba(219,194,126,.23);background:linear-gradient(125deg,#201f1a 0%,#131512 56%,#252117 100%)}
.dashboard-hero-copy{max-width:560px}
.dashboard-hero-copy p.dashboard-welcome{display:block;margin:.5rem 0;color:#e2ca88;font-size:.88rem;letter-spacing:.05em}
.dashboard-hero-copy h2{max-width:14ch;font-size:clamp(2rem,5vw,3.5rem)}
.dashboard-hero-mark{width:clamp(70px,12vw,132px);opacity:.92}
.dashboard-profile-strip{min-height:72px;border-radius:15px;background:linear-gradient(100deg,#1b1c19,#131412)}
.dashboard-agenda-panel,.dashboard-search-panel{min-width:0;padding:clamp(1rem,2.4vw,1.5rem);border:1px solid rgba(210,205,186,.13);border-radius:20px;background:linear-gradient(150deg,#191a17,#111210);box-shadow:0 16px 45px #0003}
.dashboard-agenda-intro,.dashboard-search-intro{margin-bottom:.85rem}
.dashboard-agenda-intro h2,.dashboard-search-intro h2{margin:.35rem 0 0;color:var(--text);font:400 clamp(1.35rem,2.6vw,1.8rem)/1.15 Georgia,serif}
.dashboard-agenda-panel{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;gap:0 1.3rem}
.dashboard-agenda-intro{grid-column:1/-1}
.dashboard-agenda-content{min-width:0;padding:1rem;border:1px solid #ffffff0e;border-radius:15px;background:#0d0e0c}
.dashboard-agenda-content .home-calendar-head{margin-bottom:.7rem}
.dashboard-agenda-content .home-calendar-day{min-height:33px;border-radius:9px;background:#171815}
.dashboard-agenda-content .home-calendar-day.has-events:after{bottom:4px;width:5px;height:5px;box-shadow:0 0 8px #c5a25399}
.dashboard-agenda-list{display:grid;align-content:start;gap:.55rem}
.dashboard-agenda-row{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr);align-items:center;gap:.7rem;padding:.8rem .9rem;border:1px solid #ffffff0e;border-left:2px solid #8d7746;border-radius:12px;background:#1b1c19}
.dashboard-agenda-row time{color:#c7b77e;font-size:.78rem}
.dashboard-agenda-row strong{overflow-wrap:anywhere;color:#edeae1;font-size:.9rem;font-weight:550}
.dashboard-agenda-panel .dashboard-empty{align-self:start;padding:1rem;border:1px dashed #ffffff20;border-radius:12px;color:var(--muted)}
.dashboard-search-panel{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);align-items:start;gap:0 1.5rem}
.dashboard-search-intro{grid-row:1/3}
.dashboard-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem;padding:.8rem;border:1px solid #ffffff10;border-radius:14px;background:#10110f}
.dashboard-search-form .stage7-field{min-width:0}
.dashboard-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.65rem}
.dashboard-search-result{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem .65rem;min-width:0;padding:.7rem .8rem;border:1px solid #ffffff0e;border-radius:11px;background:#191a17}
.dashboard-search-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-search-result time{grid-column:2;color:var(--muted);font-size:.72rem}

/* Jerarquía propia para las pantallas de cada espacio. */
.stage5-view,.stage6-view,.stage7-view{max-width:1120px;gap:1rem}
.stage5-heading,.stage6-heading,.stage7-heading{min-height:62px;margin-bottom:.15rem;padding:0 0 .8rem;border-bottom:1px solid #ffffff14}
.stage5-heading h2,.stage6-heading h2,.stage7-heading h2{color:#f0e8d2;font-size:clamp(1.45rem,2.7vw,2rem)}
.stage5-tabs,.stage6-tabs,.stage7-toolbar,.ai-space-tabs{flex-wrap:wrap;align-items:center;gap:.45rem;padding:.45rem;border:1px solid #ffffff0e;border-radius:14px;background:#111210}
.stage5-tab{width:auto;min-width:42px;height:38px;padding:0 .75rem;border-radius:11px}
.stage5-form,.stage6-form,.stage7-composer{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.7rem;padding:1rem;border:1px solid #ffffff12;border-radius:16px;background:linear-gradient(150deg,#1b1c19,#131412)}
.stage5-field,.stage6-field,.stage7-field{min-width:0;gap:.35rem;color:#c9c6bc;font-size:.76rem;letter-spacing:0}
.stage5-field input,.stage5-field select,.stage5-field textarea,.stage6-field input,.stage6-field textarea,.stage6-field select,.stage7-field input,.stage7-field textarea,.stage7-field select{min-width:0;min-height:42px;padding:.6rem .72rem;border:1px solid #3b3c37;border-radius:10px;background:#0e0f0d}
.stage5-actions,.stage6-form>.primary-button,.stage7-composer>.primary-button{grid-column:1/-1;justify-content:flex-end}
.stage5-view .journal-list,.stage7-entries,.stage6-albums,.stage6-invitations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem}
.stage5-view .journal-entry,.stage7-entry{min-width:0;padding:1rem 1.05rem;border:1px solid #ffffff12;border-radius:15px;background:linear-gradient(145deg,#1b1c19,#121311)}
.stage6-albums .stage6-card{display:grid;align-content:start;gap:.65rem;padding:1rem;border-radius:16px;background:linear-gradient(145deg,#1d1e1b,#121311)}
.stage6-albums .memory-photos{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.55rem}
.stage6-tabs{margin:.25rem 0 .75rem}
.stage6-body>.stage6-grid:not(.stage6-albums):not(.stage6-invitations){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.8rem}
.stage6-location-states .stage6-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .8rem}
.location-intro{max-width:820px;margin:.15rem 0 .5rem;padding:.85rem 1rem;border-left:2px solid #8d7746;border-radius:0 12px 12px 0;background:#151613;line-height:1.55}
.location-controls{margin:.2rem 0 .55rem}
.location-map{min-height:0;padding:0;border:0;background:transparent}
.location-map .location-leaflet{height:min(62vh,560px);min-height:330px;border:1px solid #ffffff18;border-radius:18px}
.stage7-view:has(.stage7-thread) .chat-contact-header{padding:1rem 1.1rem;border:1px solid #ffffff12;border-radius:15px;background:linear-gradient(100deg,#20211d,#141512)}
.stage7-view:has(.stage7-thread) .stage7-toolbar{display:flex;align-items:center}
.stage7-view:has(.stage7-thread) .stage7-composer{grid-template-columns:minmax(0,1fr);padding:.8rem;border-radius:16px}
.stage7-view:has(.stage7-thread) .stage7-composer textarea{min-height:58px;max-height:120px}
.stage7-view:has(.stage7-thread) .stage7-thread{min-height:340px;max-height:58vh;padding:1rem;border:1px solid #ffffff0d;border-radius:18px;background:radial-gradient(ellipse at 50% 0,#1b1c18,#111210 65%)}
.stage7-message{padding:.8rem 1rem;border-radius:18px 18px 5px 18px}
.stage7-message.theirs{border-radius:18px 18px 18px 5px;background:#20211e}
.stage7-view:has(.stage7-toolbar):not(:has(.stage7-thread))>.stage7-entries{grid-template-columns:minmax(0,1fr)}
.stage7-view:has(.stage7-toolbar):not(:has(.stage7-thread))>.stage7-entries>.stage7-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}
.ai-shell{min-height:clamp(480px,70vh,720px);border-color:#ffffff16;border-radius:20px;background:#121310}
.ai-history{max-height:720px;background:#171815}
.ai-conversation{padding:.5rem;border-radius:12px}
.ai-workspace{min-height:0}
.ai-chat-log{min-height:240px;max-height:52vh}
.ai-composer{padding:.8rem;background:#171815}
.ai-composer textarea{min-height:56px;max-height:130px}
.profile-dialog{border:1px solid #ffffff1c;border-radius:22px;background:#151613;box-shadow:0 30px 90px #0009}
.settings-tabs{padding:.35rem;border-radius:13px;background:#10110f}
.settings-tab.active{border-radius:10px;background:#29251b}
.settings-view{display:grid;gap:.6rem}

@media(max-width:760px){
  .dashboard-view{gap:.8rem}
  .dashboard-hero{min-height:205px;padding:1.2rem;grid-template-columns:minmax(0,1fr) auto}
  .dashboard-hero-copy{max-width:72%;padding-top:.2rem}
  .dashboard-hero-copy p.dashboard-welcome{display:block}
  .dashboard-hero-mark{width:58px;align-self:start}
  .dashboard-couple{grid-column:1/-1;justify-self:start}
  .dashboard-agenda-panel{grid-template-columns:minmax(0,1fr);gap:.8rem}
  .dashboard-agenda-intro{grid-column:1}
  .dashboard-search-panel{grid-template-columns:minmax(0,1fr);gap:.55rem}
  .dashboard-search-intro{grid-row:auto}
  .dashboard-search-results{grid-template-columns:minmax(0,1fr)}
  .stage5-form,.stage6-form,.stage7-composer{grid-template-columns:repeat(2,minmax(0,1fr));padding:.8rem}
  .stage5-view .journal-list,.stage7-entries,.stage6-albums,.stage6-invitations,.stage6-body>.stage6-grid:not(.stage6-albums):not(.stage6-invitations){grid-template-columns:minmax(0,1fr)}
  .ai-shell{grid-template-columns:minmax(0,1fr);min-height:0}
  .ai-history{max-height:210px;border-right:0;border-bottom:1px solid #ffffff14}
  .ai-conversations{max-height:150px}
  .ai-workspace{min-height:420px}
  .ai-chat-log{min-height:240px;max-height:45vh}
}
@media(max-width:420px){
  .dashboard-hero{min-height:188px}
  .dashboard-hero-copy h2{font-size:1.75rem}
  .dashboard-agenda-row{grid-template-columns:minmax(0,1fr);gap:.25rem}
  .stage5-form,.stage6-form,.stage7-composer{grid-template-columns:minmax(0,1fr)}
  .stage5-actions,.stage6-form>.primary-button,.stage7-composer>.primary-button{grid-column:1}
  .mobile-more-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Tipografía de marca y tarjetas de bienestar del panel principal. */
.brand-name{font-family:"Avenir Next","Segoe UI",sans-serif;font-size:15px;font-weight:600;letter-spacing:.18em}
.dashboard-finance-period{display:grid;gap:.35rem;margin:.45rem 0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:12px;background:#11110f}
.dashboard-finance-period h4{margin:0;color:var(--gold-bright);font:500 .88rem "Avenir Next","Segoe UI",sans-serif}
.dashboard-finance-period .dashboard-money-row{margin:0;padding:.2rem 0;border:0;background:transparent}
.dashboard-water-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.dashboard-water-person{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;padding:.65rem;border:1px solid var(--line);border-radius:12px;background:#11110f;color:inherit;text-align:left}
button.dashboard-water-person{cursor:pointer}button.dashboard-water-person:hover{border-color:var(--gold)}
.dashboard-water-person.own{border-color:#71603b}
.dashboard-water-cup{position:relative;display:block;width:34px;height:48px;overflow:hidden;border:2px solid #c9bb8d;border-radius:5px 5px 11px 11px;background:#090a09}
.dashboard-water-fill{position:absolute;right:0;bottom:0;left:0;background:linear-gradient(#91d7e2,#28778d);transition:height .4s}
.dashboard-water-copy{display:grid;gap:.1rem;min-width:0}.dashboard-water-copy strong{color:var(--gold-bright);font-size:.76rem}.dashboard-water-copy>span{color:var(--muted);font-size:.68rem}
.dashboard-wellness-row{align-items:center}.dashboard-wellness-row strong{font-size:.8rem;line-height:1.3}
.mood-emoji-choice>.mood-emoji-icon{font-size:1.65rem!important;line-height:1.1}.mood-emoji-choice>span:last-child{font-size:.68rem;line-height:1.2}
.stage7-toolbar .chat-presence-status{align-self:center;min-height:1em}
.chat-new-messages{justify-self:center;min-height:36px;padding:.4rem .85rem;border-color:#75633b;border-radius:999px;background:#28251d;color:var(--gold-bright);font-size:.72rem}
.chat-new-messages[hidden]{display:none}
.chat-contact-header{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:15px;background:linear-gradient(120deg,#20211d,#151614)}
.chat-contact-header .stage7-message-avatar{width:40px;height:40px;font-size:1rem}
.chat-contact-identity{display:grid;gap:.05rem}.chat-contact-identity strong{color:var(--gold-bright);font:500 1rem "Avenir Next","Segoe UI",sans-serif}.chat-contact-identity span{color:var(--muted);font-size:.7rem}
.stage7-view:has(.diary-month-nav) .stage7-composer{border-color:#51472f;background:linear-gradient(145deg,#20211d,#151614)}
.stage7-view:has(.diary-month-nav) .diary-month-nav{margin-left:auto}
.stage7-view:has(.diary-month-nav) .stage7-entries{align-items:start}
.stage7-thread{overscroll-behavior:contain;scroll-behavior:smooth}
@media(max-width:420px){.dashboard-water-grid{gap:.35rem}.dashboard-water-person{grid-template-columns:32px minmax(0,1fr);gap:.35rem;padding:.45rem}.dashboard-water-cup{width:28px;height:40px}}

/* ==========================================================
   NOSOTROS∞ · ADAPTACIÓN MÓVIL INTEGRAL
   Mantiene intactas las reglas de escritorio y los selectores
   usados por app.js, stage6.js y stage7.js.
   ========================================================== */

@media (max-width: 860px) {
  html, body {
    width: 100%;
    min-width: 320px;
    min-height: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
  }

  body {
    min-height: 100dvh;
    padding-bottom: env(safe-area-inset-bottom);
    -webkit-text-size-adjust: 100%;
  }

  .app-shell {
    display: block;
    width: 100%;
    min-height: 100dvh;
    overflow-x: clip;
  }

  /* En teléfono la navegación lateral desaparece por completo. */
  .sidebar {
    display: none !important;
  }

  .workspace {
    width: 100%;
    min-width: 0;
    min-height: 100dvh;
    margin: 0 !important;
    padding: 0;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    width: 100%;
    height: 56px;
    justify-content: space-between;
    gap: 10px;
    padding: 0 max(14px, env(safe-area-inset-left)) 0 max(14px, env(safe-area-inset-right));
    border-bottom: 1px solid #34342e;
    background: rgba(12, 13, 12, .96);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .topbar-brand {
    display: flex;
    min-width: 0;
  }

  .current-date {
    overflow: hidden;
    max-width: 52vw;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-wrap {
    width: 100%;
    min-width: 0;
    min-height: calc(100dvh - 56px);
    margin: 0;
    padding: 18px 14px calc(100px + env(safe-area-inset-bottom));
  }

  .module-content,
  .stage5-view,
  .stage6-view,
  .stage7-view,
  .dashboard-view {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .module-content {
    gap: 14px;
  }

  /* Navegación inferior propia de la experiencia móvil. */
  .mobile-nav {
    position: fixed;
    z-index: 60;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    gap: 2px;
    width: 100%;
    min-height: 66px;
    padding: 7px max(8px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));
    border-top: 1px solid #39372f;
    background: rgba(15, 16, 15, .97);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .28);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .mobile-nav::-webkit-scrollbar {
    display: none;
  }

  .mobile-nav .nav-item {
    position: relative;
    display: flex;
    flex: 1 0 58px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 58px;
    min-height: 50px;
    padding: 5px 3px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #aaa99f;
    text-align: center;
  }

  .mobile-nav .nav-item.active {
    border-color: #51472f;
    background: #242117;
    color: var(--gold-bright);
  }

  .mobile-nav .nav-item.active::before {
    top: auto;
    right: 24%;
    bottom: -5px;
    left: 24%;
    width: auto;
    height: 2px;
    border-radius: 2px;
  }

  .mobile-nav .nav-icon {
    width: auto;
    height: 21px;
    border: 0;
    background: transparent;
    font-size: 19px;
    line-height: 1;
  }

  .mobile-nav .nav-label {
    max-width: 100%;
    overflow: hidden;
    font-size: 9px;
    line-height: 1.15;
    text-overflow: ellipsis;
  }

  .mobile-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    border: 1px solid #51472f;
    border-radius: 11px;
    background: #1b1a16;
    color: var(--gold-bright);
    font-size: 18px;
  }

  .welcome-row {
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
  }

  .welcome-row h1 {
    font-size: clamp(25px, 7vw, 32px);
    line-height: 1.15;
  }

  .welcome-subtitle {
    font-size: 11px;
  }

  .welcome-ornament {
    display: none;
  }

  .home-hero {
    min-height: 190px;
    padding: 22px 20px;
    border-radius: 17px;
  }

  .hero-copy {
    max-width: 78%;
  }

  .hero-copy h2 {
    font-size: clamp(21px, 6vw, 27px);
    line-height: 1.2;
  }

  .hero-copy > p:last-child {
    font-size: 11px;
  }

  .hero-art {
    right: -28px;
    width: 135px;
    height: 135px;
    opacity: .45;
  }

  .profile-panel {
    padding: 16px;
    border-radius: 16px;
  }

  .module-grid,
  .dashboard-grid,
  .dashboard-quick-grid,
  .dashboard-memory-gallery,
  .stage6-grid,
  .stage7-entries {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0;
  }

  .module-card {
    min-height: 66px;
  }

  .dashboard-water-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-search-result {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .dashboard-search-result strong {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .ai-shell {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    border-radius: 15px;
  }

  .ai-history {
    min-height: 0;
    max-height: 190px;
    border-right: 0;
    border-bottom: 1px solid #38362f;
  }

  .ai-conversations {
    max-height: 125px;
  }

  .ai-workspace {
    min-height: 0;
  }

  .ai-chat-log {
    min-height: 280px;
    max-height: 52dvh;
    padding: 12px;
  }

  .ai-composer {
    position: sticky;
    bottom: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px;
  }

  .ai-composer textarea {
    min-height: 54px;
    font-size: 16px;
  }

  .stage7-thread {
    width: 100%;
    min-height: 45dvh;
    max-height: 58dvh;
    padding: 10px;
  }

  .stage7-message {
    max-width: 90%;
  }

  .stage7-entry {
    min-width: 0;
  }

  .stage7-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    columns: initial;
  }

  .stage7-attachment {
    max-width: 100%;
  }

  .stage7-attachment img,
  .stage7-attachment video {
    max-width: 100%;
  }

  .stage7-composer,
  .stage7-toolbar,
  .stage7-actions,
  .chat-live-controls {
    flex-wrap: wrap;
  }

  .stage7-composer input,
  .stage7-composer textarea,
  .stage7-field input,
  .stage7-field select,
  .stage7-field textarea {
    min-width: 0;
    max-width: 100%;
    font-size: 16px;
  }

  .settings-tabs {
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .profile-dialog {
    width: min(100% - 20px, 560px);
    max-width: 560px;
    max-height: calc(100dvh - 24px - env(safe-area-inset-top));
    margin: auto;
    overflow: auto;
  }

  .dialog-shell {
    max-height: inherit;
    overflow: auto;
  }

  .workspace-footer {
    padding-bottom: 12px;
  }

  .icon-button,
  .primary-button,
  .secondary-button,
  .text-button,
  button,
  select {
    touch-action: manipulation;
  }

  .icon-button,
  .primary-button,
  .secondary-button,
  .text-button {
    min-height: 44px;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  img,
  video,
  canvas,
  svg {
    max-width: 100%;
  }

  .leaflet-container {
    width: 100%;
    max-width: 100%;
  }
}

/* Teléfonos compactos: una columna y menos ruido visual. */
@media (max-width: 480px) {
  .page-wrap {
    padding-right: 11px;
    padding-left: 11px;
  }

  .topbar {
    height: 53px;
  }

  .topbar-brand .brand-name {
    font-size: 11px;
    letter-spacing: .1em;
  }

  .topbar-brand .brand-symbol {
    width: 30px;
    height: 27px;
  }

  .home-hero {
    min-height: 178px;
    padding: 18px 16px;
  }

  .hero-copy {
    max-width: 86%;
  }

  .profile-main {
    align-items: flex-start;
  }

  .dashboard-water-grid {
    gap: 7px;
  }

  .dashboard-water-person {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 6px;
    padding: 7px;
  }

  .dashboard-water-cup {
    width: 27px;
    height: 39px;
  }

  .stage7-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stage7-thread {
    min-height: 42dvh;
    padding: 7px 2px;
  }

  .ai-chat-log {
    min-height: 250px;
  }

  .access-view {
    min-height: 100dvh;
    padding: 18px 12px;
  }

  .access-card {
    padding: 28px 20px 22px;
    border-radius: 18px;
  }

  .brand-centered .brand-symbol {
    width: 46px;
  }

  .brand-centered .brand-name {
    font-size: 18px;
  }

  .access-caption {
    font-size: 8px;
    letter-spacing: .12em;
  }
}

/* Pantallas muy angostas: evita que las tarjetas fuercen scroll lateral. */
@media (max-width: 360px) {
  .page-wrap {
    padding-right: 9px;
    padding-left: 9px;
  }

  .mobile-nav .nav-item {
    flex-basis: 52px;
    min-width: 52px;
  }

  .mobile-nav .nav-label {
    font-size: 8px;
  }

  .dashboard-water-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .user-choice {
    gap: 7px;
  }

  .user-choice-button {
    min-height: 66px;
    gap: 6px;
    font-size: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* NOSOTROS · composición premium para módulos, formularios y paneles reales */
:root{--nos-bg:#080909;--nos-panel:#121311;--nos-panel-hi:#191a17;--nos-gold:#d8b65f;--nos-gold-soft:#a98d4d;--nos-line:rgba(217,183,99,.2);--nos-ink:#f4f0e6;--nos-muted:#aaa79b}
.dashboard-view{max-width:1080px;margin-inline:auto;gap:1.1rem}
.dashboard-hero{position:relative;min-height:clamp(250px,36vw,390px);display:flex;align-items:flex-end;overflow:hidden;padding:clamp(22px,5vw,52px);border:1px solid #a78a4a55;border-radius:28px;background:radial-gradient(ellipse at 55% 72%,#73552255,transparent 38%),linear-gradient(135deg,#1b1b18,#090a09 72%);box-shadow:0 25px 75px #0009,inset 0 0 50px #d5b55a0a}
.dashboard-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080909e8 0%,#08090982 48%,transparent 100%),linear-gradient(0deg,#090a09 0%,transparent 70%);pointer-events:none}
.dashboard-hero-cover{position:absolute;inset:0;opacity:.32}.dashboard-hero-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.68)}.dashboard-hero-copy,.dashboard-couple,.dashboard-hero-mark{z-index:1}.dashboard-hero-copy h2{max-width:600px;margin:.45rem 0;font-family:Georgia,serif;font-weight:500;font-size:clamp(1.9rem,5vw,3.8rem);letter-spacing:-.035em}.dashboard-welcome{color:#e6ca83;font-size:1.05rem}.dashboard-overline{font-size:.68rem;letter-spacing:.2em;color:#d2b56c}.dashboard-hero-mark{position:absolute;right:clamp(18px,5vw,60px);top:22px;width:clamp(50px,9vw,88px);opacity:.85;filter:drop-shadow(0 0 18px #d8b65f66)}.dashboard-couple{position:absolute;right:clamp(20px,5vw,56px);bottom:28px;display:flex;align-items:center;gap:10px}.dashboard-person{display:grid;justify-items:center;gap:5px;font-size:.7rem}.dashboard-avatar{width:42px;height:42px;border:1px solid var(--nos-gold);border-radius:50%;overflow:hidden;background:#211e16;display:grid;place-items:center;color:var(--nos-gold)}.dashboard-person .dashboard-avatar{width:clamp(46px,7vw,68px);height:clamp(46px,7vw,68px)}.dashboard-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-couple-symbol{font-size:1.8rem;color:var(--nos-gold);text-shadow:0 0 18px #d8b65f88}
.dashboard-profile-strip,.dashboard-agenda-panel,.dashboard-search-panel{border:1px solid var(--nos-line);border-radius:21px;background:linear-gradient(145deg,#191a17,#10110f);box-shadow:0 12px 35px #0005}.dashboard-profile-strip{display:flex;align-items:center;gap:12px;padding:14px 18px}.dashboard-profile-copy{flex:1}.dashboard-profile-copy strong{display:block;margin-top:3px}.dashboard-profile-button{border-color:var(--nos-line)}.dashboard-agenda-panel,.dashboard-search-panel{padding:clamp(16px,3vw,26px)}.dashboard-agenda-intro h2,.dashboard-search-intro h2{margin:.35rem 0 1rem;font:500 clamp(1.35rem,3vw,1.9rem) Georgia,serif}.dashboard-agenda-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:18px}.dashboard-agenda-list{display:grid;align-content:start;gap:8px}.dashboard-agenda-row{display:grid;grid-template-columns:minmax(100px,.45fr) 1fr;align-items:center;gap:10px;padding:12px;border:1px solid #ffffff12;border-radius:14px;background:#ffffff05}.dashboard-agenda-row time{color:#dcc37e;font-size:.83rem}.dashboard-search-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.dashboard-search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:12px}.dashboard-search-result{display:grid;gap:5px;padding:12px;border:1px solid #ffffff12;border-radius:13px;background:#090a09}.dashboard-search-result span,.dashboard-search-result time{color:var(--nos-muted);font-size:.75rem}
.mobile-more-menu{grid-template-columns:1fr!important;gap:6px!important;padding:12px!important;border-color:#b89a53!important;background:linear-gradient(150deg,#1b1b18f7,#080909fc)!important}.mobile-more-menu:before{content:"MÁS ESPACIOS";padding:5px 9px 9px;color:#dfc77f;font:600 .7rem system-ui;letter-spacing:.18em}.mobile-more-menu .nav-item{min-height:50px!important;flex-direction:row!important;justify-content:flex-start!important;padding:0 14px!important;text-align:left!important;border-radius:13px!important}.mobile-more-menu .nav-icon{width:28px;text-align:center;color:#e2c574}.mobile-more-menu .nav-label{font-size:13px!important}.mobile-nav .nav-item{touch-action:manipulation}.mobile-nav .nav-item.active{color:#f4d478;text-shadow:0 0 15px #d8b65f77}
.stage5-tabs,.stage6-tabs,.stage7-toolbar,.ai-space-tabs{gap:7px!important;padding:7px!important;border-color:var(--nos-line)!important;background:#0c0d0c!important}.stage5-tab{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:7px 13px!important;border-radius:12px!important}.stage5-tab span{font-size:.76rem}.stage5-tab.active{background:linear-gradient(135deg,#493b1b,#211d13)!important;box-shadow:inset 0 0 0 1px #b8954b55,0 5px 18px #0005}.stage5-form,.stage6-form,.stage7-composer{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px!important;padding:15px!important;border:1px solid var(--nos-line)!important;border-radius:18px!important;background:linear-gradient(145deg,#171815,#10110f)!important}.stage5-field,.stage6-field,.stage7-field{min-width:0}.stage5-form button[type=submit],.stage6-form button[type=submit],.stage7-composer button[type=submit]{justify-self:start;align-self:end;min-height:42px}.stage5-form textarea,.stage6-form textarea,.stage7-composer textarea{min-height:76px}.stage6-contribution{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))!important;padding:12px!important}.stage6-contribution button{justify-self:start}
.stage6-view,.stage7-view{max-width:1080px;margin-inline:auto}.stage6-body{display:grid;gap:14px}.stage6-heading{padding:4px 2px 10px;border-bottom:1px solid var(--nos-line)}.stage6-heading h2,.stage7-view>header h2{font:500 clamp(1.7rem,4vw,2.45rem) Georgia,serif;letter-spacing:-.025em}.stage6-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px}.stage6-card{padding:16px!important;border-color:#ffffff16!important;border-radius:18px!important;background:linear-gradient(145deg,#191a17,#10110f)!important}.stage6-card h3{font:500 1.12rem Georgia,serif}.stage6-meta{color:var(--nos-muted);line-height:1.5}.stage6-goal-card{display:grid;gap:11px;position:relative;overflow:hidden}.stage6-goal-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#d7b35c,transparent)}.savings-ownership,.savings-metric-label,.savings-progress-label{color:#d8bd73;font-size:.78rem;letter-spacing:.04em}.savings-metrics{display:grid;gap:5px}.savings-metrics strong{font:500 clamp(1.35rem,4vw,1.85rem) Georgia,serif}.savings-remaining{color:#c6c1b5;font-size:.84rem}.savings-progress{width:100%;height:9px;accent-color:#d9b85f}.stage6-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid #ffffff12}.stage6-history-row p{margin:0;font-size:.85rem}.stage6-history-actions{display:flex;gap:5px;flex-wrap:wrap}.stage6-edit-dialog,.stage7-edit-dialog{width:min(92vw,560px);max-height:88dvh;overflow:auto;padding:22px;border:1px solid #c4a45188;border-radius:20px;color:var(--nos-ink);background:linear-gradient(145deg,#1b1c19,#090a09);box-shadow:0 25px 90px #000c}.stage6-edit-dialog::backdrop,.stage7-edit-dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.stage6-edit-dialog h2,.stage7-edit-dialog h2{font:500 1.45rem Georgia,serif;color:#e4ca83}.stage6-edit-form button,.stage7-edit-finance button{min-height:42px}
.stage7-finance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}.stage7-finance-total{display:grid;gap:7px;padding:17px;border:1px solid var(--nos-line);border-radius:17px;background:radial-gradient(ellipse at top right,#b5903c20,transparent 60%),linear-gradient(145deg,#191a17,#10110f)}.stage7-finance-total span,.stage7-finance-total small{color:var(--nos-muted);font-size:.78rem}.stage7-finance-total strong{font:500 clamp(1.5rem,4vw,2rem) Georgia,serif;color:#efd88d}.stage7-shared-balances{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid #ffffff12;border-radius:15px;background:#10110f}.stage7-shared-balances h3{width:100%;margin:0;font-size:.82rem;color:#d5c185}.stage7-entry{transition:transform .2s,border-color .2s,background .2s}.stage7-entry:hover,.stage6-card:hover{transform:translateY(-2px);border-color:#b89a5355!important}.stage7-edit-finance{margin-top:14px}.stage7-chart-card,.stage7-chart-card svg{max-width:100%}.stage7-view:has(.stage7-toolbar):not(:has(.stage7-thread))>.stage7-entries{gap:12px}
.stage7-edit-dialog .stage7-composer{box-shadow:none}.chat-contact-header{display:flex;align-items:center;gap:12px;margin:0 auto 10px;padding:12px 16px;max-width:850px;border:1px solid var(--nos-line);border-radius:17px;background:linear-gradient(120deg,#1a1a17,#0f100e)}.chat-contact-header .stage7-message-avatar{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--nos-gold);border-radius:50%;color:var(--nos-gold)}.chat-contact-identity{display:grid;gap:3px}.chat-contact-identity span{font-size:.78rem;color:#92b887}.stage7-view:has(.stage7-thread) .stage7-toolbar{padding:9px!important}.ai-shell{border:1px solid var(--nos-line);border-radius:21px;background:linear-gradient(145deg,#141512,#090a09);overflow:hidden}.ai-chat-head,.ai-composer{background:#10110f}.ai-model-mark{color:#e0c16f;text-shadow:0 0 24px #d9b85f}.ai-bubble.assistant{border-color:#8a713644;background:linear-gradient(140deg,#252218,#171713)}.ai-suggestions{display:flex;gap:7px;flex-wrap:wrap}.ai-suggestions button{border-radius:999px}
.location-map{overflow:hidden;border:1px solid var(--nos-line);border-radius:20px;box-shadow:0 18px 45px #0007}.location-states{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}.memory-photo{overflow:hidden;border:1px solid #ffffff14;border-radius:14px;background:#0b0c0b}.memory-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.memory-photo p{padding:0 9px}.memory-lightbox{width:min(94vw,1000px);max-height:92dvh;padding:10px;border:1px solid var(--nos-line);border-radius:18px;background:#090a09;color:var(--nos-ink)}.memory-lightbox>img{display:block;max-width:100%;max-height:75dvh;margin:auto;object-fit:contain}.memory-lightbox-controls{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}
@media(max-width:650px){.dashboard-hero{min-height:300px;border-radius:20px}.dashboard-couple{right:16px;bottom:16px}.dashboard-agenda-content{grid-template-columns:1fr}.dashboard-agenda-row{grid-template-columns:1fr;gap:4px}.dashboard-search-form{grid-template-columns:1fr}.dashboard-profile-strip{padding:12px}.dashboard-profile-button{max-width:48%;font-size:.75rem}.location-states{grid-template-columns:1fr}.stage6-history-row{align-items:flex-start;flex-direction:column}.stage6-history-actions{width:100%}.stage6-history-actions button{flex:1}.stage7-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.stage7-toolbar>*{min-width:0}.stage7-toolbar input,.stage7-toolbar select{width:100%}.stage7-entry{padding:14px}.stage7-finance-total{padding:14px}.ai-shell{min-height:65dvh}.ai-workspace{min-width:0}}

/* Ajustes de estructura y capas de navegación para Android WebView. */
@media(max-width:860px){
  body>#mobileMoreMenu{position:fixed!important;z-index:1000!important;right:12px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;left:12px!important;top:auto!important;width:auto!important;max-height:min(62dvh,480px)!important;overflow:auto!important;overscroll-behavior:contain;display:grid!important;grid-template-columns:1fr!important;pointer-events:auto!important}
  body>#mobileMoreMenu[hidden]{display:none!important}
}
.stage5-view{display:grid;gap:14px}
.stage5-heading{align-items:flex-end;flex-wrap:wrap;min-height:0;padding:3px 0 14px}
.stage5-kicker{margin:0 0 5px;color:#d2b56c;font-size:.65rem;font-weight:700;letter-spacing:.2em}
.stage5-heading h2{font:500 clamp(1.7rem,4vw,2.5rem) Georgia,serif;color:#f0e8d2}
.stage5-intro{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(217,183,99,.2);border-radius:16px;background:linear-gradient(110deg,#242117,#121311 70%)}
.stage5-intro>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #a98d4d77;border-radius:13px;color:#e2c574;font-size:1.15rem;background:#28241a}
.stage5-intro p{margin:0;color:#ded9cc}.stage5-intro time{color:#c4b98e;font-size:.75rem;text-align:right;text-transform:capitalize}
.stage5-tabs{display:flex;flex-wrap:nowrap;gap:5px;padding:5px;border:1px solid #ffffff12;border-radius:15px;background:#10110f}
.stage5-tab{width:auto;height:auto;min-width:100px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;border:1px solid transparent;border-radius:11px;color:#b9b6ab;background:transparent}
.stage5-tab.active{color:#f3d77f;border-color:#aa8d4a66;background:linear-gradient(135deg,#3c321b,#201d14);box-shadow:0 5px 17px #0006}
.agenda-view .calendar-panel{margin:0;padding:clamp(12px,2vw,20px);border-color:#9e804344;background:radial-gradient(ellipse at 50% 0,#30291b,#131411 65%);box-shadow:0 16px 38px #0005}
.agenda-view .calendar-toolbar{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid #ffffff12}
.agenda-view .calendar-toolbar h3{text-align:center;font:500 1.15rem Georgia,serif;text-transform:capitalize}
.agenda-view .calendar-grid{gap:5px;margin-top:12px}
.agenda-view .calendar-day{min-height:76px;padding:7px;border:1px solid #ffffff0d;border-radius:11px;background:#0b0c0b;transition:background .18s,border-color .18s}
.agenda-view .calendar-day:hover,.agenda-view .calendar-day:focus-visible{border-color:#ac8e4d88;background:#211f18}
.agenda-view .calendar-day-number{color:#dfc578}.agenda-view .calendar-event-chip{display:block;max-width:100%;margin-top:4px;padding:3px 5px;overflow:hidden;border-radius:6px;background:#74602b55;color:#eee0b0;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}
.agenda-view .stage5-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;border-color:#ffffff15;background:linear-gradient(145deg,#1a1b18,#10110f)}
.agenda-view .stage5-form>.stage5-field:has(textarea),.agenda-view .stage5-form>.stage5-field:has(input[type=checkbox]){grid-column:1/-1}
.agenda-view .stage5-filter-bar{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));padding:10px}
.agenda-view .journal-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:10px}
.agenda-view .journal-entry{padding:14px;border-left:2px solid #a88c4b66}
.wellness-view .stage5-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr));padding:14px}
.wellness-view .journal-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.wellness-view .journal-entry{padding:14px}
.wellness-view:has(.water-daily-panel) .stage5-intro{border-color:#76b4c833;background:linear-gradient(110deg,#142329,#121311 72%)}
.wellness-view:has(.water-daily-panel) .water-daily-panel{padding:clamp(14px,3vw,22px);border:1px solid #5da6b533;border-radius:20px;background:radial-gradient(ellipse at 20% 0,#17405044,transparent 55%),linear-gradient(145deg,#171b1a,#0e100f)}
.wellness-view:has(.water-daily-panel) .water-user-grid{gap:12px}.wellness-view:has(.water-daily-panel) .water-user-card{padding:15px;border-radius:16px;background:#111513}
.wellness-view:has(#stage5Type) .stage5-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;border-radius:19px}
.wellness-view:has(.mood-history-panel) .stage5-intro{border-color:#a783bd33;background:linear-gradient(110deg,#241b29,#121311 72%)}
.stage7-view:has(.stage7-thread){display:flex;flex-direction:column;gap:10px;max-width:900px;min-height:calc(100dvh - 180px);padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.stage7-view:has(.stage7-thread) .chat-contact-header{order:0;padding:13px 17px;border-color:#c4a4514d;border-radius:17px;background:radial-gradient(ellipse at right,#5e4a2026,transparent 45%),linear-gradient(120deg,#1b1c19,#10110f)}
.stage7-view:has(.stage7-thread) .stage7-toolbar{order:1;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent}
.stage7-view:has(.stage7-thread) .chat-call-stage{order:2}
.stage7-view:has(.stage7-thread) .chat-new-messages{order:3;align-self:center}
.stage7-view:has(.stage7-thread) .stage7-thread{order:4;flex:1;min-height:45dvh;max-height:calc(100dvh - 370px);padding:clamp(12px,3vw,22px);border:1px solid #ffffff12;border-radius:19px;background:radial-gradient(ellipse at 50% 0,#24231d,#10110f 65%);scrollbar-color:#6d5b32 #111}
.stage7-view:has(.stage7-thread) .stage7-message{max-width:min(78%,620px);padding:11px 14px;border-radius:17px 17px 17px 5px;background:linear-gradient(145deg,#22231f,#191a17);box-shadow:0 6px 20px #0004}
.stage7-view:has(.stage7-thread) .stage7-message.mine{border-color:#856a3355;border-radius:17px 17px 5px 17px;background:linear-gradient(145deg,#3b301c,#241f15)}
.stage7-view:has(.stage7-thread) .stage7-composer{order:5;position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:4;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px;border:1px solid #b18f4a66;border-radius:18px;background:rgba(20,21,18,.97);box-shadow:0 10px 30px #0008;backdrop-filter:blur(16px)}
.stage7-view:has(.stage7-thread) .stage7-composer .stage7-field{grid-column:1/-1;margin:0}
.stage7-view:has(.stage7-thread) .stage7-composer textarea{min-height:56px;max-height:140px;resize:vertical;border:0;background:#111210}
.stage7-view:has(.stage7-thread) .chat-composer-tools{grid-column:1/-1;padding-top:3px}
@media(max-width:650px){.stage5-heading{align-items:stretch}.stage5-heading>div{width:100%}.stage5-tabs{width:100%}.stage5-tab{flex:1;min-width:0;padding:8px 6px;font-size:.75rem}.stage5-tab span{font-size:.7rem}.stage5-intro{grid-template-columns:auto 1fr;gap:8px;padding:11px}.stage5-intro time{grid-column:2;text-align:left}.agenda-view .calendar-toolbar{grid-template-columns:1fr 1fr}.agenda-view .calendar-toolbar h3{grid-column:1/-1;grid-row:1}.agenda-view .calendar-toolbar button{min-width:0;padding:.5rem}.agenda-view .calendar-day{min-height:52px;padding:4px}.agenda-view .calendar-event-chip{font-size:.58rem}.agenda-view .stage5-form{grid-template-columns:1fr}.agenda-view .stage5-form>.stage5-field{grid-column:1/-1}.stage7-view:has(.stage7-thread){min-height:calc(100dvh - 150px)}.stage7-view:has(.stage7-thread) .stage7-thread{min-height:38dvh;max-height:52dvh}.stage7-view:has(.stage7-thread) .stage7-message{max-width:88%}}

/* Composición inspirada en el póster: módulos con identidad propia y datos reales. */
.stage6-kicker{margin:0 0 5px;color:#d5b56b;font-size:.64rem;font-weight:700;letter-spacing:.2em}
.stage6-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #d8b65f2b}
.stage6-heading h2{margin:0;color:#f3ecd9;font:500 clamp(1.65rem,4vw,2.4rem) Georgia,serif}
.stage6-heading-mark{color:#d8b65f;font:italic 2.8rem Georgia,serif;text-shadow:0 0 22px #d8b65f44}
.stage6-body:has(.stage6-albums){gap:14px}
.stage6-body:has(.stage6-albums)>.memory-create-form{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;align-items:end;padding:13px}
.stage6-body:has(.stage6-albums)>.memory-create-form>.primary-button{grid-column:auto}
.memory-tabs{display:flex;gap:5px;width:max-content;max-width:100%;padding:5px;border:1px solid #ffffff12;border-radius:13px;background:#10110f}
.memory-tabs .secondary-button{min-height:39px;border-color:transparent;background:transparent;color:#c9c4b7}
.memory-tabs .secondary-button.active{border-color:#b4934f66;background:linear-gradient(130deg,#44371b,#201d14);color:#f0d47f}
.stage6-albums{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));align-items:start}
.stage6-albums>.stage6-card{overflow:hidden;padding:14px}
.stage6-albums>.stage6-card>h3{font-size:1.2rem}
.memory-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.memory-photo{position:relative;border-color:#d2b66b26;border-radius:13px;background:#0c0d0b}
.memory-photo img{aspect-ratio:1.2;cursor:zoom-in;transition:transform .35s ease}
.memory-photo:hover img{transform:scale(1.035)}
.memory-photo p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.72rem}
.memory-timeline{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px}
.memory-timeline-item{display:grid;gap:5px;overflow:hidden;padding:9px;border:1px solid #d2b66b26;border-radius:16px;background:linear-gradient(145deg,#1b1c19,#10110f);box-shadow:0 12px 28px #0005}
.memory-timeline-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:11px}
.memory-timeline-item time{margin-top:3px;color:#dbc275;font-size:.7rem;text-transform:capitalize}
.memory-timeline-item strong{font:500 1rem Georgia,serif}.memory-timeline-item p{margin:0;font-size:.74rem}
.stage6-body:has(.location-map){display:flex;flex-direction:column;gap:12px}
.stage6-body:has(.location-map)>.location-intro{order:0;margin:0;padding:2px 2px 8px;line-height:1.5}
.stage6-body:has(.location-map)>.location-map{order:1;height:clamp(290px,48vh,520px);margin:0;border:1px solid #d4b45a55;border-radius:20px;box-shadow:0 18px 46px #0008}
.stage6-body:has(.location-map)>.location-states{order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.stage6-body:has(.location-map)>.location-controls{order:3;justify-content:flex-end}
.stage6-body:has(.location-map)>.location-status{order:4;margin:0;color:#d9c990;font-size:.78rem}
.location-states .stage6-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:3px 10px;min-height:70px;padding:12px;border-radius:15px}
.location-states .stage6-card:before{content:"";grid-row:1/3;width:36px;height:36px;border:1px solid #b6974c77;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c5a25344,#141512 70%)}
.location-states .stage6-card h3{grid-column:2;margin:0;font:500 .95rem Georgia,serif;color:#edda9b}
.location-states .stage6-card p{grid-column:2;margin:0;font-size:.7rem;line-height:1.35}
.stage6-body:has(.stage6-goal-card){gap:14px}
.stage6-body:has(.stage6-goal-card)>.stage6-grid:not(.stage6-invitations):not(.stage6-form){grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.stage6-goal-card{min-height:235px;padding:17px!important;border-color:#bd9d4b44!important;background:radial-gradient(ellipse at 100% 0,#aa833122,transparent 45%),linear-gradient(145deg,#1b1c19,#10110f)!important}
.stage6-goal-card>h3{font:500 1.25rem Georgia,serif!important;color:#f0dfaa}
.stage6-goal-card .savings-progress{height:10px;border-radius:10px;overflow:hidden}
.stage6-goal-card .secondary-button,.stage6-goal-card .danger-button{min-height:36px;padding:7px 11px;font-size:.75rem}
.stage6-view[data-module="economía"] .stage6-heading-mark{font-size:2rem}
.location-map .location-leaflet{height:100%;min-height:100%;filter:saturate(.7) contrast(1.03)}
.location-map-empty{max-width:220px;padding:10px;border:1px solid #b89a5355;border-radius:12px;background:#11120fee;color:#e7ddb9;font-size:.75rem}
.mobile-more-menu .nav-item:after{content:"›";margin-left:auto;color:#dfc06b;font-size:1.3rem;line-height:1}
.mobile-more-menu .more-profile-item:after{content:""}
.stage6-albums[hidden],.memory-timeline[hidden]{display:none!important}
.memory-timeline-item time{font-variant-numeric:tabular-nums}
.agenda-events-view .calendar-panel{display:none!important}
.agenda-events-view .journal-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.agenda-events-view .journal-entry{position:relative;min-height:116px;padding:15px 16px 15px 19px;border-left:2px solid #d3b15c77;background:radial-gradient(ellipse at top right,#aa843022,transparent 48%),linear-gradient(145deg,#1b1c19,#10110f)}
.agenda-events-view .journal-entry:before{position:absolute;top:17px;left:-6px;width:10px;height:10px;border:2px solid #e3c773;border-radius:50%;background:#151613;content:""}
.agenda-events-view .journal-entry header{display:flex;justify-content:space-between;color:#dfc579;font-size:.73rem}
.agenda-events-view .journal-entry h3{margin:.45rem 0;font:500 1.08rem Georgia,serif;color:#f0e3b4}
.agenda-view .calendar-week-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}
.agenda-view .calendar-week-day{padding:12px;border:1px solid #ffffff14;border-radius:13px;background:#111210}
.agenda-view .calendar-week-day>button{color:#e0c574;text-align:left;text-transform:capitalize}
.agenda-view .calendar-week-event{display:grid;gap:3px;margin-top:7px;padding:9px;border-left:2px solid #b08d43;border-radius:0 9px 9px 0;background:#211e16}
.agenda-view .calendar-week-event time{color:#c8b77f;font-size:.7rem}.agenda-view .calendar-week-event strong{font-size:.82rem}
.wellness-view .stage5-form{position:relative;align-items:end;border-color:#ffffff15}
.wellness-view .stage5-form:before{grid-column:1/-1;color:#e1c876;font-size:.82rem;font-weight:600;letter-spacing:.04em}
.wellness-view:has(#stage5Type) .stage5-form:before{content:"Registrar una comida"}
.wellness-view:has(#stage5Mood) .stage5-form:before{content:"Registrar cómo te sentís"}
.wellness-view .water-daily-panel{order:0}.wellness-view .stage5-form:has(.water-quick-button){order:1}
.location-map .leaflet-container{font:inherit}.location-map .leaflet-control-attribution{font-size:9px}
.dashboard-view .dashboard-person .dashboard-avatar{box-shadow:0 0 20px #d6b45844}
.dashboard-view .dashboard-agenda-row{position:relative;padding:13px 14px 13px 16px;border-left:2px solid #c6a55366;background:linear-gradient(110deg,#232117,#121311 68%)}
.dashboard-view .dashboard-agenda-row strong{font:500 1rem Georgia,serif}
.stage7-view:has(.stage7-thread) .stage7-composer .primary-button{min-height:42px;padding-inline:18px;border-radius:13px}
@media(max-width:620px){.agenda-view .calendar-week-list{grid-template-columns:1fr}.agenda-events-view .journal-entry{min-height:0}.stage6-body:has(.location-map)>.location-map{height:320px}}
.dashboard-view .dashboard-agenda-panel{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0 0,#b28d3c18,transparent 48%),linear-gradient(145deg,#191a17,#10110f)}
.dashboard-view .dashboard-agenda-panel:before{position:absolute;top:0;left:22px;width:1px;height:32px;background:linear-gradient(#d7b55c,transparent);content:""}
.dashboard-view .dashboard-search-panel{background:linear-gradient(145deg,#161714,#0c0d0c)}
.stage7-view:has(.stage7-thread) .chat-contact-identity strong{font:500 1.08rem Georgia,serif}
.stage7-view:has(.stage7-thread) .stage7-message-meta{color:#b2aa93;font-size:.68rem}
.stage7-view:has(.stage7-thread) .chat-live-controls .secondary-button{min-height:38px;border-radius:999px}
.stage7-view:has(.stage7-thread) .chat-attach-button,.stage7-view:has(.stage7-thread) .chat-record-button{border-radius:999px}
.stage7-view:has(.stage7-thread) .chat-call-stage{grid-template-columns:minmax(0,1fr) minmax(90px,145px);background:#0b0c0b}
.stage7-view:has(.stage7-thread) .chat-call-stage video{max-height:36vh}
.ai-chat-head{position:relative}.ai-model-mark{display:grid;place-items:center;border:1px solid #d2ae5844;border-radius:50%;box-shadow:0 0 28px #d2ae5824}.ai-empty>span{display:grid;place-items:center;width:96px;height:96px;margin:auto;border:1px solid #d4b45a77;border-radius:50%;background:radial-gradient(circle,#d0a74544,#211c11 68%);font:italic 3.7rem Georgia,serif;color:#f4d77d;box-shadow:0 0 44px #c59c3a44}
.stage7-finance-summary{margin-bottom:2px}.stage7-chart-card{overflow:hidden;border:1px solid #d1ad5730;background:radial-gradient(ellipse at top right,#a4802d16,transparent 50%),linear-gradient(145deg,#191a17,#10110f)}
.stage7-entry{border-color:#ffffff14;background:linear-gradient(145deg,#1b1c19,#111210)}
@media(max-width:620px){.stage6-body:has(.location-map)>.location-states{grid-template-columns:1fr}.stage6-body:has(.stage6-albums)>.memory-create-form{grid-template-columns:1fr}.memory-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.stage6-goal-card{min-height:0}.mobile-more-menu .nav-item{min-height:50px!important}}

/* Composición de pantallas: portada íntima, controles compactos y paneles propios por módulo. */
.dashboard-view{gap:12px!important;padding-top:0!important}
.dashboard-view>.stage7-heading{display:none}
.dashboard-view .dashboard-hero{min-height:250px;grid-row:1;border-radius:23px;background:#090a09}
.dashboard-view .dashboard-hero-copy h2{max-width:15ch;font-size:clamp(1.8rem,4vw,3rem)}
.dashboard-view .dashboard-agenda-panel{grid-row:2;padding:16px;border-radius:19px}
.dashboard-view .dashboard-agenda-intro h2{margin:.2rem 0 .8rem;font-size:1.2rem}
.dashboard-date-card{display:flex;align-items:center;gap:12px;margin:0 0 11px;padding:11px 13px;border:1px solid #d0ae5544;border-radius:13px;background:linear-gradient(105deg,#282419,#151613)}
.dashboard-date-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d5b35c66;border-radius:10px;color:#f0d079;font-size:1.1rem}
.dashboard-date-copy{display:grid;gap:2px;min-width:0}.dashboard-date-copy .dashboard-overline{font-size:.58rem}.dashboard-date-copy strong{overflow:hidden;color:#eee8d8;font:500 .9rem Georgia,serif;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}
.dashboard-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 10px}
.dashboard-metric{display:flex;align-items:center;gap:9px;min-width:0;min-height:62px;padding:9px;border:1px solid #c4a14a44;border-radius:13px;background:radial-gradient(ellipse at 0 0,#a6813020,transparent 70%),linear-gradient(145deg,#1d1d19,#10110f)}
.dashboard-metric-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid #d4b25855;border-radius:9px;color:#e5c768;font-size:1.05rem}
.dashboard-metric-copy{display:grid;min-width:0;gap:1px}.dashboard-metric-copy>span{color:#d4c9a5;font-size:.65rem}.dashboard-metric-copy strong{overflow:hidden;color:#f0d47d;font:500 .94rem Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.dashboard-metric-copy small{overflow:hidden;color:#8f8d83;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}
.dashboard-agenda-list{display:grid;gap:7px}.dashboard-agenda-row{min-height:49px;grid-template-columns:minmax(95px,.42fr) 1fr;padding:10px 12px;border:1px solid #ffffff12;border-left:2px solid #c7a64f;border-radius:12px;background:linear-gradient(100deg,#201e18,#111210)}
.dashboard-search-panel{padding:0!important;overflow:hidden}.dashboard-search-intro{display:flex;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;list-style:none}.dashboard-search-intro::-webkit-details-marker{display:none}.dashboard-search-intro:after{content:"＋";margin-left:auto;color:#e0c574}.dashboard-search-panel[open] .dashboard-search-intro:after{content:"−"}.dashboard-search-intro h2{margin:0!important;font:500 .95rem Georgia,serif!important}.dashboard-search-icon{color:#dfc574;font-size:1.25rem}.dashboard-search-form,.dashboard-search-results{margin:0 15px 14px}
.stage7-view:has(.stage7-thread){max-width:820px;gap:9px;padding-top:0!important}
.stage7-view:has(.stage7-thread)>.stage7-heading{margin:0;padding:4px 2px 10px;border:0}
.stage7-view:has(.stage7-thread) .chat-contact-header{margin:0;padding:11px 13px;border-radius:15px}
.stage7-view:has(.stage7-thread) .stage7-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px;padding:0!important}
.stage7-view:has(.stage7-thread) .stage7-toolbar>.stage7-field{min-width:0;margin:0}
.stage7-view:has(.stage7-thread) .chat-live-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.stage7-view:has(.stage7-thread) .chat-live-controls .secondary-button{min-height:35px;padding:7px 10px;font-size:.72rem}
.stage7-view:has(.stage7-thread) .chat-call-status{flex-basis:100%;font-size:.68rem}
.stage7-view:has(.stage7-thread) .stage7-thread{width:100%;max-width:none;min-height:42dvh;max-height:calc(100dvh - 365px);border-radius:16px}
.stage7-view:has(.stage7-thread) .stage7-composer{bottom:calc(67px + env(safe-area-inset-bottom));}
.stage5-view{gap:10px!important;padding-top:0!important}
.stage5-heading{display:grid!important;grid-template-columns:1fr;gap:9px!important}
.stage5-heading>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.stage5-kicker{font-size:.58rem!important}.stage5-heading h2{font-size:1.75rem!important}
.stage5-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:5px;padding:4px;border-radius:999px}
.stage5-tab{min-width:0!important;min-height:40px!important;flex-direction:row!important;gap:5px!important;padding:6px 8px!important;border-radius:999px!important;font-size:.72rem}
.stage5-intro{padding:10px 12px!important;border-radius:13px!important}.stage5-intro>span{width:31px!important;height:31px!important;border-radius:50%!important}
.wellness-view:has(.water-daily-panel) .stage5-intro{display:none}
.wellness-view .water-daily-panel{padding:12px!important;border-radius:17px!important}
.wellness-view .water-user-grid{grid-template-columns:1fr!important;gap:8px!important}
.wellness-view .water-user-card{min-height:110px;grid-template-columns:78px minmax(0,1fr)!important;gap:10px;padding:11px!important;border:1px solid #d6b55a22!important;border-radius:14px!important}
.wellness-view:has(#stage5Type) .stage5-form,.wellness-view:has(.mood-history-panel) .stage5-form{gap:8px!important;padding:12px!important;border-radius:15px!important}
.agenda-view .stage5-intro{margin-top:0}
.agenda-view .calendar-panel{padding:12px!important;border-radius:16px!important}
.agenda-view .calendar-day{min-height:58px!important}
.agenda-view .stage5-filter-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;padding:8px!important;border:1px solid #ffffff10;border-radius:13px;background:#111210}
.agenda-view .stage5-form{gap:8px!important;padding:12px!important;border-radius:15px!important}
.agenda-events-view .stage5-intro{display:none}
.agenda-events-view .journal-list{gap:8px!important}
.agenda-events-view .journal-entry{min-height:70px!important;padding:12px!important;border-radius:13px!important}
.stage6-view{gap:10px!important;padding-top:0!important}
.stage6-heading{padding:4px 2px 10px!important}
.stage6-body{gap:10px!important}
.stage6-body:has(.location-map)>.stage6-meta{padding:10px 12px;border:1px solid #ffffff12;border-radius:13px;background:#131411;font-size:.72rem}
.stage6-body:has(.location-map)>.location-map{height:clamp(250px,45dvh,390px)!important;border:1px solid #d3b25755;border-radius:17px;overflow:hidden}
.stage6-body:has(.stage6-albums)>.memory-tabs{grid-row:1}
.stage6-body:has(.stage6-albums)>.stage6-grid:not(.stage6-invitations){grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.stage6-body:has(.stage6-albums) .stage6-card{min-height:120px;overflow:hidden;border-radius:14px!important}
.stage6-body:has(.stage6-albums) .stage6-card h3{font-size:1rem}
.stage6-body:has(.stage6-albums) .memory-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.stage6-body:has(.stage6-albums) .memory-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stage6-body:has(.stage6-albums) .memory-timeline-item{padding:8px;border-radius:12px}
.stage6-body:has(.stage6-albums)>.memory-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:11px;border-radius:15px}
.stage6-body:has(.stage6-grid.savings-goals){gap:10px}
.savings-goals{grid-template-columns:1fr!important;gap:10px!important}
.stage6-goal-card{min-height:0!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px!important;padding:14px!important;border-radius:16px!important}
.stage6-goal-card>h3,.stage6-goal-card>.stage6-meta{grid-column:1/-1;margin:0}
.stage6-goal-card .savings-metrics{grid-column:1/-1;gap:3px}
.stage6-goal-card .savings-metrics strong{font-size:1.45rem}
.stage6-goal-card .savings-remaining{font-size:.72rem}
.stage6-goal-card .savings-progress,.stage6-goal-card .savings-progress-label{grid-column:1/-1}
.stage6-goal-card .stage6-contribution{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:7px;padding:9px;border:1px solid #ffffff12;border-radius:12px;background:#10110f}
.stage6-goal-card .stage6-history-row{grid-column:1/-1}
.stage6-body:has(.savings-goals)>.savings-charts{grid-template-columns:1fr!important}
.stage7-view:has(.stage7-finance-summary){gap:10px!important;padding-top:0!important}
.stage7-view:has(.stage7-finance-summary)>.stage7-heading{margin:0;padding-bottom:8px}
.stage7-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.stage7-finance-total{min-height:86px;padding:12px!important;border-radius:14px!important}
.stage7-finance-total strong{font-size:1.25rem!important}
.stage7-chart-card{padding:12px!important;border-radius:15px!important}
.stage7-view:has(.stage7-finance-summary) .stage7-toolbar{gap:7px;padding:10px!important}
.stage7-view:has(.stage7-finance-summary) .stage7-entries{gap:8px!important}
.mobile-more-menu{max-height:min(70dvh,520px)!important}
@media(max-width:650px){
  .dashboard-view .dashboard-hero{min-height:215px!important;padding:18px!important;border-radius:19px!important}
  .dashboard-view .dashboard-hero-copy{max-width:65%!important}
  .dashboard-view .dashboard-hero-copy h2{font-size:1.65rem!important}
  .dashboard-view .dashboard-couple{right:12px!important;bottom:12px!important;gap:5px!important}
  .dashboard-view .dashboard-person{font-size:.58rem!important}
  .dashboard-view .dashboard-person .dashboard-avatar{width:43px!important;height:43px!important}
  .dashboard-view .dashboard-couple-symbol{font-size:1.25rem!important}
  .dashboard-view .dashboard-agenda-panel{padding:12px!important}
  .dashboard-view .dashboard-agenda-row{grid-template-columns:1fr!important;gap:2px!important}
  .stage7-view:has(.stage7-thread){min-height:calc(100dvh - 150px)!important}
  .stage7-view:has(.stage7-thread) .stage7-toolbar{grid-template-columns:1fr!important}
  .stage7-view:has(.stage7-thread) .stage7-toolbar>.stage7-field{display:grid!important;min-width:0}
  .stage7-view:has(.stage7-thread) .chat-live-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .stage7-view:has(.stage7-thread) .chat-live-controls .chat-call-status{grid-column:1/-1}
  .stage7-view:has(.stage7-thread) .stage7-thread{min-height:40dvh!important;max-height:calc(100dvh - 360px)!important}
  .stage5-heading{grid-template-columns:1fr!important}
  .stage5-heading>div{width:100%}
  .agenda-view .calendar-day{min-height:44px!important}
  .agenda-view .calendar-event-chip{display:none!important}
  .agenda-view .journal-list{grid-template-columns:1fr!important}
  .stage6-body:has(.location-map)>.location-map{height:300px!important}
  .stage6-body:has(.stage6-albums)>.stage6-grid:not(.stage6-invitations){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stage6-body:has(.stage6-albums) .stage6-card{min-height:104px;padding:10px!important}
  .stage6-body:has(.stage6-albums)>.memory-create-form{grid-template-columns:1fr!important}
  .stage7-finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mobile-more-menu .nav-item{min-height:48px!important}
}

