/* Our Journey: comprehensive visual system, preserving existing workflows and permissions. */
:root{--oj-heart:#85c2e9;--oj-heart-line:#5e96ae;--oj-heart-surface:#1a2944;--oj-heart-surface-2:#20363f}
body[data-oj-area] main.container{width:min(100%,1180px);min-width:0}
body[data-oj-area] main.container :is(h1,h2,h3,p,span,a,label,button){overflow-wrap:break-word}
body[data-oj-area] main.container :is(.panel,.card,.tile,.feature-card,.stat-card,.oj-feature-card,.oj-owner-tile,.oj-home-feature,.oj-dashboard-shortcut,.oj-v52-grid>a,.oj-v53-next>a){min-width:0;border-radius:22px;border:1px solid #517c8e;background-color:#172941;box-shadow:0 10px 28px #03091824}
body[data-oj-area] main.container :is(.panel,.card,.tile,.feature-card,.stat-card,.oj-feature-card,.oj-owner-tile,.oj-home-feature,.oj-dashboard-shortcut,.oj-v52-grid>a,.oj-v53-next>a):focus-within{border-color:#7fc2df}
body[data-oj-area] main.container :is(.oj-owner-grid,.oj-feature-grid,.oj-v52-grid,.oj-v53-next,.oj-mem-tabs,.oj-tools-grid,.oj-quick-actions,.oj-home-feature-grid)>a{position:relative;min-width:0;border:1px solid #59889c;border-radius:19px;background:linear-gradient(140deg,#1b304b,#272340);text-decoration:none;color:#f6edff;transition:border-color .15s,background .15s}
body[data-oj-area] main.container :is(.oj-owner-grid,.oj-feature-grid,.oj-v52-grid,.oj-v53-next,.oj-mem-tabs,.oj-tools-grid,.oj-quick-actions,.oj-home-feature-grid)>a:hover{border-color:#82c7e4;background:linear-gradient(140deg,#302b54,#25424e)}
body[data-oj-area] main.container :is(.btn,.button,button[type=submit],input[type=submit]){border-radius:15px;min-height:44px;max-width:100%;white-space:normal}
body[data-oj-area] main.container :is(.btn.primary,button.primary,button[type=submit],input[type=submit]){background:linear-gradient(115deg,#37a8d9,#5ca3d1);border:1px solid #7cbeda;color:white;font-weight:750}
body[data-oj-area] main.container :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){max-width:100%;min-width:0;border-radius:14px;border:1px solid #536383;background-color:#0a1b30;color:#f5f0ff}
body[data-oj-area] main.container :is(input,select,textarea,button,a):focus-visible{outline:3px solid #89d1f0;outline-offset:3px}
body[data-oj-area] main.container :is(.tabs,.tab-list,.oj-v52-tabs,.oj-mem-tabs,.oj-section-nav){display:flex;flex-wrap:wrap;gap:10px;min-width:0}
body[data-oj-area] main.container :is(.tabs,.tab-list,.oj-v52-tabs,.oj-mem-tabs,.oj-section-nav) a{border:1px solid #578498;border-radius:15px;padding:12px 15px;background:#202943;color:#f2e8ff;text-decoration:none;min-width:0}
body[data-oj-area] main.container :is(.tabs,.tab-list,.oj-v52-tabs,.oj-mem-tabs,.oj-section-nav) a:is([aria-current=page],.active){background:linear-gradient(120deg,#3395bf,#5191ba);border-color:#81c6e3;color:white}
body[data-oj-area] main.container :is(.table-wrap,.oj-table-wrap){overflow-x:auto;max-width:100%}
body[data-oj-area] main.container :is(.notice,.alert,.empty-state){border-radius:17px;padding:15px}
body[data-oj-area] main.container :is(.kicker,.eyebrow){color:#84c1e8;letter-spacing:.12em;font-weight:800}
body[data-oj-area] main.container :is(.oj-owner-section,.oj-dashboard-section,.oj-mem-section,.oj-vault-section)>h2{display:flex;align-items:center;gap:10px}
body[data-oj-area] main.container :is(.oj-owner-section,.oj-dashboard-section,.oj-mem-section,.oj-vault-section)>h2:before{content:'♡';color:#85c3ea;font-weight:400}
body[data-oj-area] .oj-v3-mobile-nav a[aria-current=page]{color:#8bcbf4}
/* Dedicated groups: cards, navigation and actions receive coordinated treatments. */
body[data-oj-page=dashboard] :is(.oj-home-collections,.oj-dashboard-shortcuts,.oj-dashboard-section,.oj-home-story){border-radius:25px;border-color:#6194aa}
body[data-oj-page=dashboard] .oj-home-feature-grid>a{min-height:150px}
body[data-oj-page=connections] .oj-connect .hero{display:block;min-width:0;background:radial-gradient(circle at 90% 0%,#4b99ba55,transparent 58%),linear-gradient(135deg,#192d47,#1e3843)}
body[data-oj-page=connections] .oj-connect :is(.tile,.panel,.card){border-color:#6092a8}
body[data-oj-page=connections] .oj-connect :is(.feed-card,.post,.status-card){background:linear-gradient(140deg,#192e49,#2b2446);border:1px solid #5a8ea4;border-radius:20px;padding:18px}
body[data-oj-page=memories] :is(.oj-mem-tabs a,.oj-vault-tile,.oj-vault-card){border-radius:22px;border-color:#689fb7}
body[data-oj-page=memories] :is(.oj-vault-hero,.oj-mem-hero){background:radial-gradient(circle at 85% 0%,#4995b653,transparent 65%),linear-gradient(140deg,#182b44,#2a2044);border-radius:27px}
body[data-oj-page=memories] :is(.oj-photo-card,.oj-album-card,.oj-memory-card){border:1px solid #6498af;border-radius:23px;overflow:hidden}
body[data-oj-page=memories] :is(.oj-photo-card,.oj-album-card) img{display:block;max-width:100%;height:auto;border-radius:16px}
body[data-oj-page=journey_timeline] :is(.timeline-card,.milestone,.oj-timeline-entry){border-left:3px solid #65b6d9;border-radius:17px;background:#192b45}
body[data-oj-page=messages] :is(.thread,.conversation,.message-card){border-radius:19px;border-color:#578498}
body[data-oj-page=bills] :is(.oj-bill-row,.bill-card){border-radius:19px;border-color:#5e90a5}
body[data-oj-page=expenses] :is(.expense-card,.expense-row){border-radius:18px;border-color:#5e90a5}
body[data-oj-page=goals] :is(.goal-card,.goal-row){border-radius:20px;border-color:#5e90a5}
body[data-oj-page=income] :is(.income-card,.income-row){border-radius:20px;border-color:#5e90a5}
body[data-oj-page=family_hub] :is(.family-card,.family-tile){border-radius:22px;border-color:#689fb7}
body[data-oj-page=owner_operations] :is(.oj-owner-featured,.oj-owner-intro){border:1px solid #67a2bb;border-radius:26px;background:radial-gradient(circle at 95% 0%,#509bbb4b,transparent 55%),linear-gradient(140deg,#182c47,#203b46)}
body[data-oj-page=owner_operations] .oj-owner-grid>a{border-radius:21px;min-height:146px}
body[data-oj-area=admin] :is(.admin-card,.admin-tile,.oj-owner-tile){border:1px solid #5d8ea3;border-radius:21px;background:linear-gradient(140deg,#1b2c47,#28223f)}
body[data-oj-area=admin] :is(.admin-nav,.admin-grid,.oj-owner-grid)>a{border-radius:19px}
/* Accessibility and narrow screens; preserve existing 2-column tiles where readable. */
@media(max-width:640px){body[data-oj-area] main.container{padding-left:12px;padding-right:12px}body[data-oj-area] main.container :is(.oj-owner-grid,.oj-v52-grid,.oj-home-feature-grid){grid-template-columns:repeat(2,minmax(0,1fr))}body[data-oj-area] main.container :is(.oj-owner-grid,.oj-v52-grid,.oj-home-feature-grid)>a{padding:14px;min-height:128px}body[data-oj-area] main.container :is(.tabs,.tab-list,.oj-section-nav)>a{flex:1 1 140px;text-align:center}}
@media(max-width:360px){body[data-oj-area] main.container :is(.oj-owner-grid,.oj-v52-grid,.oj-home-feature-grid){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body[data-oj-area] main.container a{transition:none!important}}
